Mock 2
This commit is contained in:
parent
3e74a9de32
commit
e083afc1d5
Binary file not shown.
@ -26,6 +26,12 @@ ALLOWED_HOSTS = [
|
||||
os.getenv("HOST_FQDN", ""),
|
||||
]
|
||||
|
||||
# Ensure Django knows it's behind a reverse proxy and using HTTPS
|
||||
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
|
||||
USE_X_FORWARDED_HOST = True
|
||||
USE_X_FORWARDED_PORT = True
|
||||
SECURE_SSL_REDIRECT = True
|
||||
|
||||
CSRF_TRUSTED_ORIGINS = [
|
||||
origin for origin in [
|
||||
os.getenv("HOST_FQDN", ""),
|
||||
@ -37,14 +43,12 @@ CSRF_TRUSTED_ORIGINS = [
|
||||
for host in CSRF_TRUSTED_ORIGINS
|
||||
]
|
||||
|
||||
# Cookies must always be HTTPS-only; SameSite=Lax keeps CSRF working behind the proxy.
|
||||
# Cookies must always be HTTPS-only
|
||||
SESSION_COOKIE_SECURE = True
|
||||
CSRF_COOKIE_SECURE = True
|
||||
SESSION_COOKIE_SAMESITE = "None"
|
||||
CSRF_COOKIE_SAMESITE = "None"
|
||||
|
||||
# Quick-start development settings - unsuitable for production
|
||||
# See https://docs.djangoproject.com/en/5.2/howto/deployment/checklist/
|
||||
SESSION_COOKIE_SAMESITE = "Lax"
|
||||
CSRF_COOKIE_SAMESITE = "Lax"
|
||||
CSRF_USE_SESSIONS = True
|
||||
|
||||
# Application definition
|
||||
|
||||
@ -65,11 +69,10 @@ MIDDLEWARE = [
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
# Disable X-Frame-Options middleware to allow Flatlogic preview iframes.
|
||||
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
]
|
||||
|
||||
X_FRAME_OPTIONS = 'ALLOWALL'
|
||||
X_FRAME_OPTIONS = 'SAMEORIGIN'
|
||||
|
||||
ROOT_URLCONF = 'config.urls'
|
||||
|
||||
@ -151,8 +154,6 @@ STATIC_ROOT = BASE_DIR / 'staticfiles'
|
||||
|
||||
STATICFILES_DIRS = [
|
||||
BASE_DIR / 'static',
|
||||
BASE_DIR / 'assets',
|
||||
BASE_DIR / 'node_modules',
|
||||
]
|
||||
|
||||
# Email
|
||||
@ -180,3 +181,6 @@ if EMAIL_USE_SSL:
|
||||
# https://docs.djangoproject.com/en/5.2/ref/settings/#default-auto-field
|
||||
|
||||
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
||||
|
||||
LOGIN_REDIRECT_URL = 'home'
|
||||
LOGOUT_REDIRECT_URL = 'home'
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,6 +1,9 @@
|
||||
import os
|
||||
import time
|
||||
|
||||
# Calculate once when the module is loaded (e.g. at server start)
|
||||
DEPLOYMENT_TIMESTAMP = int(time.time())
|
||||
|
||||
def project_context(request):
|
||||
"""
|
||||
Adds project-specific environment variables to the template context globally.
|
||||
@ -8,6 +11,6 @@ def project_context(request):
|
||||
return {
|
||||
"project_description": os.getenv("PROJECT_DESCRIPTION", ""),
|
||||
"project_image_url": os.getenv("PROJECT_IMAGE_URL", ""),
|
||||
# Used for cache-busting static assets
|
||||
"deployment_timestamp": int(time.time()),
|
||||
}
|
||||
# Used for cache-busting static assets - stable until server restart
|
||||
"deployment_timestamp": DEPLOYMENT_TIMESTAMP,
|
||||
}
|
||||
0
core/management/__init__.py
Normal file
0
core/management/__init__.py
Normal file
BIN
core/management/__pycache__/__init__.cpython-311.pyc
Normal file
BIN
core/management/__pycache__/__init__.cpython-311.pyc
Normal file
Binary file not shown.
0
core/management/commands/__init__.py
Normal file
0
core/management/commands/__init__.py
Normal file
BIN
core/management/commands/__pycache__/__init__.cpython-311.pyc
Normal file
BIN
core/management/commands/__pycache__/__init__.cpython-311.pyc
Normal file
Binary file not shown.
BIN
core/management/commands/__pycache__/import_mps.cpython-311.pyc
Normal file
BIN
core/management/commands/__pycache__/import_mps.cpython-311.pyc
Normal file
Binary file not shown.
33
core/management/commands/import_mps.py
Normal file
33
core/management/commands/import_mps.py
Normal file
@ -0,0 +1,33 @@
|
||||
import csv
|
||||
from django.core.management.base import BaseCommand
|
||||
from core.models import MemberOfParliament
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = 'Import MPs from CSV'
|
||||
|
||||
def handle(self, *args, **options):
|
||||
file_path = 'mps.csv'
|
||||
try:
|
||||
with open(file_path, mode='r', encoding='utf-8') as file:
|
||||
reader = csv.DictReader(file)
|
||||
count = 0
|
||||
for row in reader:
|
||||
name = f"{row['First Name']} {row['Last Name']}"
|
||||
party = row['Political Affiliation']
|
||||
constituency = row['Constituency']
|
||||
province = row['Province / Territory']
|
||||
|
||||
MemberOfParliament.objects.update_or_create(
|
||||
name=name,
|
||||
defaults={
|
||||
'party': party,
|
||||
'constituency': constituency,
|
||||
'province': province,
|
||||
}
|
||||
)
|
||||
count += 1
|
||||
self.stdout.write(self.style.SUCCESS(f'Successfully imported {count} MPs'))
|
||||
except FileNotFoundError:
|
||||
self.stdout.write(self.style.ERROR(f'File {file_path} not found'))
|
||||
except Exception as e:
|
||||
self.stdout.write(self.style.ERROR(f'Error: {str(e)}'))
|
||||
@ -14,7 +14,7 @@
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
|
||||
{% load static %}
|
||||
<link rel="stylesheet" href="{% static 'css/custom.css' %}?v={{ current_time.timestamp }}">
|
||||
<link rel="stylesheet" href="{% static 'css/custom.css' %}?v={{ deployment_timestamp }}">
|
||||
|
||||
<style>
|
||||
:root {
|
||||
@ -70,12 +70,15 @@
|
||||
padding: 0.5rem 1.5rem;
|
||||
border-radius: 8px;
|
||||
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.btn-primary-custom:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 15px rgba(0, 255, 173, 0.3);
|
||||
background-color: #00e69b;
|
||||
color: var(--bg-dark);
|
||||
}
|
||||
</style>
|
||||
{% block head %}{% endblock %}
|
||||
@ -83,7 +86,7 @@
|
||||
<body>
|
||||
<nav class="navbar navbar-expand-lg sticky-top">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/">
|
||||
<a class="navbar-brand" href="{% url 'home' %}">
|
||||
<i class="fa-solid fa-chart-line me-2"></i>MP TRADE TRACKER
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
|
||||
@ -91,17 +94,20 @@
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarNav">
|
||||
<ul class="navbar-nav me-auto">
|
||||
<li class="nav-item"><a class="nav-link active" href="/">Dashboard</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#">MPs</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="{% url 'home' %}">Dashboard</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="{% url 'mp_list' %}">MPs</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#">Tickers</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/admin/">Admin</a></li>
|
||||
</ul>
|
||||
<div class="d-flex align-items-center">
|
||||
{% if user.is_authenticated %}
|
||||
<span class="text-muted me-3">Hello, {{ user.username }}</span>
|
||||
<a href="#" class="btn btn-outline-light btn-sm me-2">Logout</a>
|
||||
<form action="{% url 'logout' %}" method="post" class="d-inline">
|
||||
{% csrf_token %}
|
||||
<button type="submit" class="btn btn-outline-light btn-sm me-2">Logout</button>
|
||||
</form>
|
||||
{% else %}
|
||||
<a href="#" class="nav-link me-3">Login</a>
|
||||
<a href="{% url 'login' %}" class="nav-link me-3">Login</a>
|
||||
<a href="#" class="btn btn-primary-custom">Get Started</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@ -14,10 +14,10 @@
|
||||
<div class="col-lg-4 d-flex align-items-center justify-content-lg-end">
|
||||
<div class="stats-card p-4 rounded-4 w-100">
|
||||
<div class="d-flex justify-content-between mb-2">
|
||||
<span class="text-muted">Total Disclosures (30d)</span>
|
||||
<span class="text-success fw-bold">+12%</span>
|
||||
<span class="text-muted">Total Disclosures</span>
|
||||
<span class="text-success fw-bold">Live</span>
|
||||
</div>
|
||||
<h2 class="mb-0">1,284</h2>
|
||||
<h2 class="mb-0">{{ total_trades }}</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -89,6 +89,9 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="mt-4 text-center">
|
||||
<a href="{% url 'mp_list' %}" class="btn btn-dark rounded-pill px-4">View All {{ total_mps }} MPs</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -130,7 +133,7 @@
|
||||
<div class="card bg-primary-custom border-0 rounded-4 p-4 text-dark shadow-lg">
|
||||
<h3 class="h5 mb-3 fw-bold">Start Your Portfolio</h3>
|
||||
<p class="small mb-4 opacity-75">Connect your account to set alerts and follow specific MPs or tickers.</p>
|
||||
<button class="btn btn-dark w-100 rounded-3 fw-bold">Create Free Account</button>
|
||||
<a href="{% url 'login' %}" class="btn btn-dark w-100 rounded-3 fw-bold">Create Free Account</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -187,4 +190,4 @@
|
||||
.bg-blue { background-color: #3b82f6; }
|
||||
.bg-success { background-color: #10b981; }
|
||||
</style>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
70
core/templates/core/mp_list.html
Normal file
70
core/templates/core/mp_list.html
Normal file
@ -0,0 +1,70 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
|
||||
{% block title %}Members of Parliament | {{ project_name }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container py-5">
|
||||
<div class="d-flex justify-content-between align-items-end mb-5">
|
||||
<div>
|
||||
<h1 class="display-5 fw-bold mb-3">Members of Parliament</h1>
|
||||
<p class="lead text-muted mb-0">Full roster of Canadian MPs and their political affiliations.</p>
|
||||
</div>
|
||||
<div class="text-end">
|
||||
<span class="badge bg-dark px-3 py-2 rounded-pill border border-secondary">Total: {{ mps.count }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-4">
|
||||
{% for mp in mps %}
|
||||
<div class="col-md-6 col-lg-4 col-xl-3">
|
||||
<div class="card bg-card border-0 rounded-4 p-4 h-100 transition-hover">
|
||||
<div class="d-flex align-items-center mb-3">
|
||||
<div class="avatar-large me-3">{{ mp.name|slice:":1" }}</div>
|
||||
<div>
|
||||
<h3 class="h6 mb-1 fw-bold">{{ mp.name }}</h3>
|
||||
<div class="badge {% if mp.party == 'Liberal' %}bg-danger{% elif mp.party == 'Conservative' %}bg-primary{% elif mp.party == 'NDP' %}bg-warning text-dark{% else %}bg-secondary{% endif %} small">
|
||||
{{ mp.party }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-auto pt-3 border-top border-secondary border-opacity-25">
|
||||
<div class="small text-muted mb-1">Constituency</div>
|
||||
<div class="small fw-semibold">{{ mp.constituency }}</div>
|
||||
<div class="small text-muted mt-2">{{ mp.province }}</div>
|
||||
</div>
|
||||
<a href="#" class="stretched-link"></a>
|
||||
</div>
|
||||
</div>
|
||||
{% empty %}
|
||||
<div class="col-12 text-center py-5">
|
||||
<p class="text-muted">No MPs found in the database.</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.bg-card {
|
||||
background-color: var(--card-bg) !important;
|
||||
transition: transform 0.2s ease, background-color 0.2s ease;
|
||||
}
|
||||
.transition-hover:hover {
|
||||
transform: translateY(-5px);
|
||||
background-color: rgba(255, 255, 255, 0.05) !important;
|
||||
}
|
||||
.avatar-large {
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
background-color: var(--border-color);
|
||||
color: var(--accent-green);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 16px;
|
||||
font-weight: 700;
|
||||
font-size: 1.5rem;
|
||||
font-family: 'Lexend', sans-serif;
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
51
core/templates/registration/login.html
Normal file
51
core/templates/registration/login.html
Normal file
@ -0,0 +1,51 @@
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% block title %}Login | {{ project_name }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container py-5">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-5">
|
||||
<div class="card bg-card border-0 rounded-4 p-4 shadow-lg">
|
||||
<h2 class="h4 mb-4 fw-bold">Login</h2>
|
||||
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger small">
|
||||
Your username and password didn't match. Please try again.
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<form method="post" action="{% url 'login' %}">
|
||||
{% csrf_token %}
|
||||
<div class="mb-3">
|
||||
<label for="id_username" class="form-label text-muted small">Username</label>
|
||||
<input type="text" name="username" autofocus maxlength="150" required id="id_username" class="form-control bg-dark border-secondary text-white">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="id_password" class="form-label text-muted small">Password</label>
|
||||
<input type="password" name="password" required id="id_password" class="form-control bg-dark border-secondary text-white">
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary-custom w-100 mt-3 fw-bold">Login</button>
|
||||
<input type="hidden" name="next" value="{{ next }}">
|
||||
</form>
|
||||
|
||||
<div class="mt-4 text-center">
|
||||
<p class="small text-muted mb-0">Don't have an account? <a href="#" class="text-accent-green text-decoration-none">Contact Admin</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.text-accent-green { color: var(--accent-green); }
|
||||
.bg-card { background-color: var(--card-bg); }
|
||||
.form-control:focus {
|
||||
background-color: var(--bg-dark);
|
||||
border-color: var(--accent-green);
|
||||
box-shadow: 0 0 0 0.25rem rgba(0, 255, 173, 0.1);
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
@ -1,7 +1,8 @@
|
||||
from django.urls import path
|
||||
|
||||
from .views import home
|
||||
from django.urls import path, include
|
||||
from .views import home, mp_list
|
||||
|
||||
urlpatterns = [
|
||||
path("", home, name="home"),
|
||||
path("mps/", mp_list, name="mp_list"),
|
||||
path("accounts/", include("django.contrib.auth.urls")),
|
||||
]
|
||||
|
||||
@ -39,10 +39,23 @@ def home(request):
|
||||
)
|
||||
|
||||
trades = TradeDisclosure.objects.select_related('mp').order_by('-disclosure_date')[:10]
|
||||
total_trades = TradeDisclosure.objects.count()
|
||||
total_mps = MemberOfParliament.objects.count()
|
||||
|
||||
context = {
|
||||
"project_name": "Canada MP Trade Tracker",
|
||||
"trades": trades,
|
||||
"total_trades": total_trades,
|
||||
"total_mps": total_mps,
|
||||
"current_time": timezone.now(),
|
||||
}
|
||||
return render(request, "core/index.html", context)
|
||||
return render(request, "core/index.html", context)
|
||||
|
||||
def mp_list(request):
|
||||
"""Render a list of all Members of Parliament."""
|
||||
mps = MemberOfParliament.objects.all().order_by('name')
|
||||
context = {
|
||||
"project_name": "Canada MP Trade Tracker",
|
||||
"mps": mps,
|
||||
}
|
||||
return render(request, "core/mp_list.html", context)
|
||||
342
mps.csv
Normal file
342
mps.csv
Normal file
@ -0,0 +1,342 @@
|
||||
Person ID,Honorific Title,First Name,Last Name,Constituency,Province / Territory,Political Affiliation,Start Date,End Date
|
||||
89156,,Ziad,Aboultaif,Edmonton Manning,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123092,,Sima,Acan,Oakville West,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105340,,Scott,Aitchison,Parry Sound—Muskoka,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123033,,Fares,Al Soud,Mississauga Centre,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
72029,,Dan,Albas,Okanagan Lake West—South Kelowna,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
110339,Hon.,Shafqat,Ali,Brampton—Chinguacousy Park,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
25446,,Dean,Allison,Niagara West,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123675,Hon.,Rebecca,Alty,Northwest Territories,Northwest Territories,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
96081,Hon.,Anita,Anand,Oakville East,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89449,Hon.,Gary,Anandasangaree,Scarborough—Guildwood—Rouge Park,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89259,,Scott,Anderson,Vernon—Lake Country—Monashee,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
109872,,Carol,Anstey,Long Range Mountains,Newfoundland and Labrador,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
89294,,Mel,Arnold,Kamloops—Shuswap—Central Rockies,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123608,,Chak,Au,Richmond Centre—Marpole,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122753,,Tatiana,Auguste,Terrebonne,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123276,,Roman,Baber,York Centre,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123500,,Burton,Bailey,Red Deer,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
111067,,Parm,Bains,Richmond East—Steveston,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105121,,Yvan,Baker,Etobicoke Centre,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
30330,,Tony,Baldinelli,Niagara Falls—Niagara-on-the-Lake,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123214,,Karim,Bardeesy,Taiaiako'n—Parkdale—High Park,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
86261,,John,Barlow,Foothills,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
102275,,Michael,Barrett,Leeds—Grenville—Thousand Islands—Rideau Lakes,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88422,,Xavier,Barsalou-Duval,Pierre-Boucher—Les Patriotes—Verchères,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
104571,,Jaime,Battiste,Cape Breton—Canso—Antigonish,Nova Scotia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
376,,Mario,Beaulieu,La Pointe-de-l'Île,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
89236,Hon.,Terry,Beech,Burnaby North—Seymour,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
110791,Hon.,Buckley,Belanger,Desnethé—Missinippi—Churchill River,Saskatchewan,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123208,,Jim,Bélanger,Sudbury East—Manitoulin—Nickel Belt,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88567,Hon.,Rachel,Bendayan,Outremont,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88541,,Luc,Berthold,Mégantic—L'Érable—Lotbinière,Quebec,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123372,,David,Bexte,Bow River,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
25475,,James,Bezan,Selkirk—Interlake—Eastman,Manitoba,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88934,,Chris,Bittle,St. Catharines,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
104669,,Yves-François,Blanchet,Beloeil—Chambly,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
104705,,Maxime,Blanchette-Joncas,Rimouski—La Matapédia,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
59156,,Kelly,Block,Carlton Trail—Eagle Creek,Saskatchewan,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
104555,Hon.,Kody,Blois,Kings—Hants,Nova Scotia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122709,,Patrick,Bonin,Repentigny,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
123361,,Steven,Bonk,Souris—Moose Mountain,Saskatchewan,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
110706,,Kathy,Borrelli,Windsor—Tecumseh—Lakeshore,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
58775,,Alexandre,Boulerice,Rosemont—La Petite-Patrie,Quebec,NDP,2025-04-28 12:00:00 a.m.,
|
||||
88369,,Richard,Bragdon,Tobique—Mactaquac,New Brunswick,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88674,,John,Brassard,Barrie South—Innisfil,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
104977,Hon.,Élisabeth,Brière,Sherbrooke,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
110354,,Larry,Brock,Brantford—Brant South—Six Nations,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
104786,,Alexis,Brunelle-Duceppe,Lac-Saint-Jean,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
35897,,Blaine,Calkins,Ponoka—Didsbury,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
111007,,Frank,Caputo,Kamloops—Thompson—Nicola,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
28286,Right Hon.,Mark,Carney,Nepean,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
115744,,Ben,Carr,Winnipeg South Centre,Manitoba,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
71270,,Sean,Casey,Charlottetown,Prince Edward Island,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89000,Hon.,Bardish,Chagger,Waterloo,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
110649,,Adam,Chambers,Simcoe North,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88633,Hon.,François-Philippe,Champagne,Saint-Maurice—Champlain,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
104741,,Martin,Champoux,Drummond,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
123520,,Wade,Chang,Burnaby Central,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89464,Hon.,Rebecca,Chartrand,Churchill—Keewatinook Aski,Manitoba,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
110225,,Sophie,Chatel,Pontiac—Kitigan Zibi,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88953,,Shaun,Chen,Scarborough North,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122756,,Madeleine,Chenette,Thérèse-De Blainville,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122899,,Maggie,Chi,Don Valley North,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
25488,Hon.,Michael,Chong,Wellington—Halton Hills North,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
119705,,Leslie,Church,Toronto—St. Paul's,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122437,,Braedon,Clark,Sackville—Bedford—Preston,Nova Scotia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123060,,Sandra,Cobena,Newmarket—Aurora,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
110365,,Connie,Cody,Cambridge,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122369,,Paul,Connors,Avalon,Newfoundland and Labrador,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89219,,Michael,Cooper,St. Albert—Sturgeon River,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88350,,Serge,Cormier,Acadie—Bathurst,New Brunswick,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
110373,,Michael,Coteau,Scarborough—Woburn,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
49344,,Chris,d'Entremont,Acadie—Annapolis,Nova Scotia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88994,Hon.,Julie,Dabrusin,Toronto—Danforth,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
35909,,Marc,Dalton,Pitt Meadows—Maple Ridge,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
105521,,Raquel,Dancho,Kildonan—St. Paul,Manitoba,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122559,,Marianne,Dandurand,Compton—Stanstead,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122959,,John-Paul,Danko,Hamilton West—Ancaster—Dundas,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
102653,,Scot,Davidson,New Tecumseth—Gwillimbury,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
59325,,Don,Davies,Vancouver Kingsway,British Columbia,NDP,2025-04-28 12:00:00 a.m.,
|
||||
123073,,Fred,Davies,Niagara South,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122476,,Mike,Dawson,Miramichi—Grand Lake,New Brunswick,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
35315,,Claude,DeBellefeuille,Beauharnois—Salaberry—Soulanges—Huntingdon,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
88535,,Gérard,Deltell,Louis-Saint-Laurent—Akiawenhrahk,Quebec,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122988,,Kelly,DeRidder,Kitchener Centre,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122473,,Guillaume,Deschênes-Thériault,Madawaska—Restigouche,New Brunswick,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122579,,Alexis,Deschênes,Gaspésie—Les Îles-de-la-Madeleine—Listuguj,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
110124,,Caroline,Desrochers,Trois-Rivières,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
31098,,Sukh,Dhaliwal,Surrey Newton,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88453,,Anju,Dhillon,Dorval—Lachine—LaSalle,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
109915,Hon.,Lena Metlege,Diab,Halifax West,Nova Scotia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89150,,Kerry,Diotte,Edmonton Griesbach,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
89249,,Todd,Doherty,Cariboo—Prince George,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
105410,,Terry,Dowdall,Simcoe—Grey,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
89408,Hon.,Jean-Yves,Duclos,Québec Centre,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
31119,Hon.,Terry,Duguid,Winnipeg South,Manitoba,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105422,,Eric,Duncan,Stormont—Dundas—Glengarry,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88721,,Julie,Dzerowicz,Davenport,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122380,,Philip,Earle,Labrador,Newfoundland and Labrador,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89010,Hon.,Ali,Ehsassi,Willowdale,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88515,,Fayçal,El-Khoury,Laval—Les Îles,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105082,,Dave,Epp,Chatham-Kent—Leamington,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88687,Hon.,Nathaniel,Erskine-Smith,Beaches—East York,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89027,,Doug,Eyolfson,Winnipeg West,Manitoba,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
98749,,Rosemarie,Falk,Battlefords—Lloydminster—Meadow Lake,Saskatchewan,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
84672,,Ted,Falk,Provencher,Manitoba,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122443,,Jessica,Fancy,South Shore—St. Margarets,Nova Scotia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122850,,Bruce,Fanjoy,Carleton,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88478,Hon.,Greg,Fergus,Hull—Aylmer,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88323,Hon.,Darren,Fisher,Dartmouth—Cole Harbour,Nova Scotia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
71692,,Peter,Fonseca,Mississauga East—Cooksville,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
96356,Hon.,Mona,Fortier,Ottawa—Vanier—Gloucester,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88605,,Rhéal Éloi,Fortin,Rivière-du-Nord,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
88827,,Peter,Fragiskatos,London Centre,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88316,Hon.,Sean,Fraser,Central Nova,Nova Scotia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
1589,Hon.,Hedy,Fry,Vancouver Centre,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89279,Hon.,Stephen,Fuhr,Kelowna,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
110534,,Iqwinder,Gaheer,Mississauga—Malton,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
115736,Hon.,Anna,Gainey,Notre-Dame-de-Grâce—Westmount,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
1809,,Cheryl,Gallant,Algonquin—Renfrew—Pembroke,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
110189,,Jean-Denis,Garon,Mirabel,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
122911,,Vince,Gasparro,Eglinton—Lawrence,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
104806,,Marie-Hélène,Gaudreau,Laurentides—Labelle,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
87121,,Leah,Gazan,Winnipeg Centre,Manitoba,NDP,2025-04-28 12:00:00 a.m.,
|
||||
63908,,Bernard,Généreux,Côte-du-Sud—Rivière-du-Loup—Kataskomiq—Témiscouata,Quebec,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
89226,,Garnett,Genuis,Sherwood Park—Fort Saskatchewan,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88802,Hon.,Mark,Gerretsen,Kingston and the Islands,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123418,,Amanpreet,Gill,Calgary Skyview,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122825,,Amarjeet,Gill,Brampton West,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123401,,Dalwinder,Gill,Calgary McKnight,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123272,,Harb,Gill,Windsor West,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88538,,Marilène,Gill,Côte-Nord—Kawawachikamach—Nitassinan,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
123517,,Sukhman,Gill,Abbotsford—South Langley,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88938,,Marilyn,Gladu,Sarnia—Lambton—Bkejwanong,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
89407,,Joël,Godin,Portneuf—Jacques-Cartier,Quebec,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
110918,,Laila,Goodridge,Fort McMurray—Cold Lake,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88715,Hon.,Karina,Gould,Burlington,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
35397,,Jacques,Gourde,Lévis—Lotbinière,Quebec,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123653,,Wade,Grant,Vancouver Quadra,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123665,,Will,Greaves,Victoria,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122507,,Jason,Groleau,Beauce,Quebec,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122615,,Claude,Guay,LaSalle—Émard—Verdun,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123248,,Michael,Guglielmin,Vaughan—Woodbridge,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
14171,Hon.,Steven,Guilbeault,Laurier—Sainte-Marie,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122492,Hon.,Mandy,Gull-Masty,Abitibi—Baie-James—Nunavik—Eeyou,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123586,,Aaron,Gunn,North Island—Powell River,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88984,Hon.,Patty,Hajdu,Thunder Bay—Superior North,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105630,,Jasraj,Hallan,Calgary East,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
111109,,Brendan,Hanley,Yukon,Yukon,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122678,,Gabriel,Hardy,Montmorency—Charlevoix,Quebec,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123133,,Emma,Harrison,Peterborough,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
110446,,Lisa,Hepfner,Hamilton Mountain,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122419,,Alana,Hirtle,Cumberland—Colchester,Nova Scotia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123153,,Vincent,Ho,Richmond Hill South,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
59148,,Randy,Hoback,Prince Albert,Saskatchewan,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123019,Hon.,Tim,Hodgson,Markham—Thornhill,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123382,,Corey,Hogan,Calgary Confederation,Alberta,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123006,,Kurt,Holman,London—Fanshawe,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88558,,Anthony,Housefather,Mount Royal,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89020,Hon.,Ahmed,Hussen,York South—Weston—Etobicoke,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
71337,,Angelo,Iacono,Alfred-Pellan,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
111116,,Lori,Idlout,Nunavut,Nunavut,NDP,2025-04-28 12:00:00 a.m.,
|
||||
123287,,Grant,Jackson,Brandon—Souris,Manitoba,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
105229,Hon.,Helena,Jaczek,Markham—Stouffville,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105774,,Tamara,Jansen,Cloverdale—Langley City,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
89167,,Matt,Jeneroux,Edmonton Riverbend,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
118689,,Jamil,Jivani,Bowmanville—Oshawa North,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
89263,,Gord,Johns,Courtenay—Alberni,British Columbia,NDP,2025-04-28 12:00:00 a.m.,
|
||||
88384,Hon.,Mélanie,Joly,Ahuntsic-Cartierville,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122646,,Natilien,Joseph,Longueuil—Saint-Hubert,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
110502,Hon.,Arielle,Kayabaga,London West,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
104531,,Mike,Kelloway,Sydney—Glace Bay,Nova Scotia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89130,,Pat,Kelly,Calgary Crowfoot,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88849,,Iqra,Khalid,Mississauga—Erin Mills,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105052,,Arpan,Khanna,Oxford,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123552,,Jeff,Kibble,Cowichan—Malahat—Langford,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123104,,Rhonda,Kirkland,Oshawa,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123625,,Ernie,Klassen,South Surrey—White Rock,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89136,,Tom,Kmiec,Calgary Shepard,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
105863,,Helena,Konanz,Similkameen—South Okanagan—West Kootenay,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
105009,,Annie,Koutrakis,Vimy,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89080,,Michael,Kram,Regina—Wascana,Saskatchewan,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
110454,,Shelby,Kramp-Neuman,Hastings—Lennox and Addington—Tyendinaga,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
111025,,Tamara,Kronis,Nanaimo—Ladysmith,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
110441,,Ned,Kuruc,Hamilton East—Stoney Creek,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
96367,,Stephanie,Kusie,Calgary Midnapore,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
89346,,Jenny,Kwan,Vancouver East,British Columbia,NDP,2025-04-28 12:00:00 a.m.,
|
||||
35857,Hon.,Mike,Lake,Leduc—Wetaskiwin,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
92209,,Marie-France,Lalonde,Orléans,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
96350,,Emmanuella,Lambropoulos,Saint-Laurent,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
30552,Hon.,Kevin,Lamoureux,Winnipeg North,Manitoba,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
110665,,Melissa,Lantsman,Thornhill,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88601,,Linda,Lapointe,Rivière-des-Mille-Îles,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
110663,,Viviane,Lapointe,Sudbury,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
104973,,Andréanne,Larouche,Shefford,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
104957,,Patricia,Lattanzio,Saint-Léonard—Saint-Michel,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88394,,Stéphane,Lauzon,Argenteuil—La Petite-Nation,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123305,,Ginette,Lavack,St. Boniface—St. Vital,Manitoba,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122518,,Steeve,Lavoie,Beauport—Limoilou,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105291,,Philip,Lawrence,Northumberland—Clarke,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122913,,Andrew,Lawton,Elgin—St. Thomas—London South,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
1813,Hon.,Dominic,LeBlanc,Beauséjour,New Brunswick,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
58757,,Eric,Lefebvre,Richmond—Arthabaska,Quebec,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122656,,Carlos,Leitão,Marc-Aurèle-Fortin,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
104630,,Sébastien,Lemire,Abitibi—Témiscamingue,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
108395,,Branden,Leslie,Portage—Lisgar,Manitoba,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
105120,,Chris,Lewis,Essex,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88958,,Leslyn,Lewis,Haldimand—Norfolk,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88532,Hon.,Joël,Lightbound,Louis-Hébert,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
98079,,Dane,Lloyd,Parkland,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
35600,,Ben,Lobb,Huron—Bruce,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88368,Hon.,Wayne,Long,Saint John—Kennebecasis,New Brunswick,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88810,,Tim,Louis,Kitchener—Conestoga,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105088,,Michael,Ma,Markham—Unionville,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
109891,Hon.,Heath,MacDonald,Malpeque,Prince Edward Island,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122394,,Kent,MacDonald,Cardigan,Prince Edward Island,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88468,Hon.,Steven,MacKinnon,Gatineau,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123455,,Jagsharan Singh,Mahal,Edmonton Southeast,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
116022,,Shuvaloy,Majumdar,Calgary Heritage,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122788,,Chris,Malette,Bay of Quinte,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122975,,Gaétan,Malette,Kapuskasing—Timmins—Mushkegowuk,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88748,,James,Maloney,Etobicoke—Lakeshore,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123282,,Jacob,Mantle,York—Durham,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
100521,,Richard,Martel,Chicoutimi—Le Fjord,Quebec,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
2897,,Elizabeth,May,Saanich—Gulf Islands,British Columbia,Green Party,2025-04-28 12:00:00 a.m.,
|
||||
3306,,Dan,Mazier,Riding Mountain,Manitoba,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
89179,,Kelly,McCauley,Edmonton West,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
9486,Hon.,David,McGuinty,Ottawa South,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122773,,Jennifer,McKelvie,Ajax,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123415,,David,McKenzie,Calgary Signal Hill,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
59293,,Ron,McKinnon,Coquitlam—Port Coquitlam,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123556,Hon.,Jill,McKnight,Delta,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105623,,Greg,McLean,Calgary Centre,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123563,Hon.,Stephanie,McLean,Esquimalt—Saanich—Sooke,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105689,,Heather,McPherson,Edmonton Strathcona,Alberta,NDP,2025-04-28 12:00:00 a.m.,
|
||||
105186,,Eric,Melillo,Kenora—Kiiwetinoong,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122587,,Marie-Gabrielle,Ménard,Hochelaga—Rosemont-Est,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
58621,,Alexandra,Mendès,Brossard—Saint-Lambert,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
71762,,Costas,Menegakis,Aurora—Oak Ridges—Richmond Hill,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122684,Hon.,Marjorie,Michel,Papineau,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122428,,Shannon,Miedema,Halifax,Nova Scotia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88660,Hon.,Marc,Miller,Ville-Marie—Le Sud-Ouest—Île-des-Soeurs,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123144,,Giovanna,Mingarelli,Prescott—Russell—Cumberland,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
17210,Hon.,Rob,Moore,Fundy Royal,New Brunswick,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123447,,Billy,Morin,Edmonton Northwest,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
105807,,Rob,Morrison,Columbia—Kootenay—Southern Rockies,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88308,,Robert,Morrissey,Egmont,Prince Edward Island,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
94305,,Glen,Motz,Medicine Hat—Cardston—Warner,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
110415,,Dan,Muys,Flamborough—Glanbrook—Brant North,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122462,,David,Myles,Fredericton—Oromocto,New Brunswick,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
110572,,Yasir,Naqvi,Ottawa Centre,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88917,,John,Nater,Perth—Wellington,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123141,,Juanita,Nathan,Pickering—Brooklin,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123192,,Chi,Nguyen,Spadina—Harbourfront,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
72023,,Taleeb,Noormohamed,Vancouver Granville,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
104947,,Christine,Normandin,Saint-Jean,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
122668,,Bienvenu-Olivier,Ntumba,Mont-Saint-Bruno—L'Acadie,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122933,,Dominique,O'Rourke,Guelph,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
58858,Hon.,Robert,Oliphant,Don Valley West,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89171,Hon.,Eleanor,Olszewski,Edmonton Centre,Alberta,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122375,,Tom,Osborne,Cape Spear,Newfoundland and Labrador,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105559,,Jeremy,Patzer,Swift Current—Grasslands—Kindersley,Saskatchewan,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
71454,,Pierre,Paul-Hus,Charlesbourg—Haute-Saint-Charles,Quebec,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88418,,Yves,Perron,Berthier—Maskinongé,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
88364,Hon.,Ginette,Petitpas Taylor,Moncton—Dieppe,New Brunswick,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
413,,Louis,Plamondon,Bécancour—Nicolet—Saurel—Alnôbak,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
25524,Hon.,Pierre,Poilievre,Battle River—Crowfoot,Alberta,Conservative,2025-08-18 12:00:00 a.m.,
|
||||
105437,,Marcus,Powlowski,Thunder Bay—Rainy River,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122552,Hon.,Nathalie,Provost,Châteauguay—Les Jardins-de-Napierville,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122606,,Jacques,Ramsay,La Prairie—Atateken,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122946,,Aslam,Rana,Hamilton Centre,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105598,,Brad,Redekopp,Saskatoon West,Saskatchewan,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
1827,,Scott,Reid,Lanark—Frontenac,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
71902,Hon.,Michelle,Rempel Garner,Calgary Nose Hill,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
119991,,Colin,Reynolds,Elmwood—Transcona,Manitoba,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
59235,,Blake,Richards,Airdrie—Cochrane,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
105191,,Anna,Roberts,King—Vaughan,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123644,Hon.,Gregor,Robertson,Vancouver Fraserview—South Burnaby,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123081,,Pauline,Rochefort,Nipissing—Timiskaming,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88521,,Sherry,Romanado,Longueuil—Charles-LeMoyne,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105210,,Lianne,Rood,Middlesex—London,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123622,,Ellis,Ross,Skeena—Bulkley Valley,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122389,,Jonathan,Rowe,Terra Nova—The Peninsulas,Newfoundland and Labrador,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
59294,,Zoe,Royer,Port Moody—Coquitlam,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105070,,Alex,Ruff,Bruce—Grey—Owen Sound,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88698,Hon.,Ruby,Sahota,Brampton North—Caledon,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
1422,,Gurbux,Saini,Fleetwood—Port Kells,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89339,Hon.,Randeep,Sarai,Surrey Centre,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122533,,Abdelhaq,Sari,Bourassa,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
104944,,Simon-Pierre,Savard-Tremblay,Saint-Hyacinthe—Bagot—Acton,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
123583,,Jake,Sawatzky,New Westminster—Burnaby—Maillardville,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
25453,Hon.,Francis,Scarpaleggia,Lac-Saint-Louis,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
25454,Hon.,Andrew,Scheer,Regina—Qu'Appelle,Saskatchewan,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
88649,,Peter,Schiefke,Vaudreuil,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88770,,Jamie,Schmale,Haliburton—Kawartha Lakes,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
58841,,Kyle,Seeback,Dufferin—Caledon,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
1787,Hon.,Judy A.,Sgro,Humber River—Black Creek,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88944,,Terry,Sheehan,Sault Ste. Marie—Algoma,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105031,,Doug,Shipley,Barrie—Springwater—Oro-Medonte,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
105045,Hon.,Maninder,Sidhu,Brampton East,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88703,,Sonia,Sidhu,Brampton South,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
104773,,Mario,Simard,Jonquière,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
109867,,Clifford,Small,Central Newfoundland,Newfoundland and Labrador,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122801,,Amandeep,Sodhi,Brampton Centre,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123229,Hon.,Evan,Solomon,Toronto Centre,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
114349,,Charles,Sousa,Mississauga—Lakeshore,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122589,,Eric,St-Pierre,Honoré-Mercier,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88485,,Gabriel,Ste-Marie,Joliette—Manawan,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
105581,,Warren,Steinley,Regina—Lewvan,Saskatchewan,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
123513,,William,Stevenson,Yellowhead,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
71986,,Mark,Strahl,Chilliwack—Hope,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122994,,Matt,Strauss,Kitchener South—Hespeler,Ontario,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
89198,,Shannon,Stubbs,Lakeland,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
110459,Hon.,Jenna,Sudds,Kanata,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
123027,,Kristina,Tesser Derksen,Milton East—Halton Hills South,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88552,,Luc,Thériault,Montcalm,Quebec,Bloc Québécois,2025-04-28 12:00:00 a.m.,
|
||||
89200,,Rachael,Thomas,Lethbridge,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
109877,Hon.,Joanne,Thompson,St. John's East,Newfoundland and Labrador,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
84882,,Corey,Tochor,Saskatoon—University,Saskatchewan,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
110800,,Fraser,Tolmie,Moose Jaw—Lake Centre—Lanigan,Saskatchewan,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
105480,,Ryan,Turnbull,Whitby,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
30645,Hon.,Tim,Uppal,Edmonton Gateway,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
110538,Hon.,Rechie,Valdez,Mississauga—Streetsville,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105242,Hon.,Adam,van Koeverden,Burlington North—Milton West,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
105811,,Tako,Van Popta,Langley Township—Fraser Heights,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
71738,,Anita,Vandenbeld,Ottawa West—Nepean,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
110009,,Dominique,Vien,Bellechasse—Les Etchemins—Lévis,Quebec,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
89211,,Arnold,Viersen,Peace River—Westlock,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122539,,Louis,Villeneuve,Brome—Missisquoi,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89289,,Brad,Vis,Mission—Matsqui—Abbotsford,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
89098,,Cathay,Wagantall,Yorkton—Melville,Saskatchewan,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
35886,,Chris,Warkentin,Grande Prairie,Alberta,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
122637,,Tim,Watchorn,Les Pays-d'en-Haut,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89084,,Kevin,Waugh,Saskatoon South,Saskatchewan,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
105918,,Patrick,Weiler,West Vancouver—Sunshine Coast—Sea to Sky Country,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
89300,Hon.,Jonathan,Wilkinson,North Vancouver—Capilano,British Columbia,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
71323,,John,Williamson,Saint John—St. Croix,New Brunswick,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
98747,,Jean,Yip,Scarborough—Agincourt,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
88950,,Salma,Zahid,Scarborough Centre—Don Valley East,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
122925,Hon.,John,Zerucelli,Etobicoke North,Ontario,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
72035,,Bob,Zimmer,Prince George—Peace River—Northern Rockies,British Columbia,Conservative,2025-04-28 12:00:00 a.m.,
|
||||
54157,,Sameer,Zuberi,Pierrefonds—Dollard,Quebec,Liberal,2025-04-28 12:00:00 a.m.,
|
||||
|
@ -1,21 +1,59 @@
|
||||
/* Dark Mode Finance Theme Overrides */
|
||||
|
||||
:root {
|
||||
--bg-color-start: #6a11cb;
|
||||
--bg-color-end: #2575fc;
|
||||
--text-color: #ffffff;
|
||||
--card-bg-color: rgba(255, 255, 255, 0.01);
|
||||
--card-border-color: rgba(255, 255, 255, 0.1);
|
||||
--bg-dark: #0a0b0d;
|
||||
--card-bg: #1e2126;
|
||||
--accent-green: #00ffad;
|
||||
--accent-red: #ff4d4d;
|
||||
--text-main: #ffffff;
|
||||
--text-muted: #94a3b8;
|
||||
--border-color: #2d333b;
|
||||
}
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: 'Inter', sans-serif;
|
||||
background: linear-gradient(45deg, var(--bg-color-start), var(--bg-color-end));
|
||||
color: var(--text-color);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
min-height: 100vh;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
|
||||
/* Custom Scrollbar */
|
||||
::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: var(--bg-dark);
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #2d333b;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #3d444d;
|
||||
}
|
||||
|
||||
/* Table Transitions */
|
||||
.table-hover tbody tr:hover {
|
||||
color: var(--text-main);
|
||||
}
|
||||
|
||||
.badge {
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.5px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
/* Glassmorphism utility */
|
||||
.glass {
|
||||
background: rgba(30, 33, 38, 0.7);
|
||||
backdrop-filter: blur(8px);
|
||||
-webkit-backdrop-filter: blur(8px);
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
/* Button polishing */
|
||||
.btn-outline-light {
|
||||
border-color: var(--border-color);
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.btn-outline-light:hover {
|
||||
background-color: var(--border-color);
|
||||
color: var(--text-main);
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user