/* global React */ const { useState: useS, useEffect: useE, useMemo: useM } = React; /* ============================= HOME ============================= */ function HomePage({ nav }) { const D = window.PT_DATA; const latestSitting = D.SITTINGS[D.SITTINGS.length - 1]; const featured = D.SPEECHES.find(s => s.sittingId === latestSitting.id && s.topics.some(t => t.slug === 'corruption')) || D.SPEECHES.find(s => s.sittingId === latestSitting.id); const todaySpeeches = D.SPEECHES.filter(s => s.sittingId === latestSitting.id).slice(0, 6); const mostActive = D.TOP_MPS.slice(0, 5); const topTopics = [...D.TOPICS].sort((a, b) => b.count - a.count); return (
Every speech from every MP in every sitting, summarised, tagged, and searchable. Built on the official Hansard. Find your MP, follow the issues you care about, and read what was actually said.
| Date | Session | Speeches | Top topics |
|---|---|---|---|
| {fmtDate(s.date)} | {s.session} | {s.speechCount} |
{top.map(t => t && {t.short})}
|