Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
81929f3
feat: scaffold 2026 US Midterms dashboard infrastructure
aseckin May 5, 2026
3a30c9c
feat: wire midterms hub to real project 32840 data + Labor Hub design
aseckin May 5, 2026
e4644f8
Merge branch 'main' into 2026-midterms
aseckin May 5, 2026
d1f100b
feat: midterms hub UI/UX polish + dark mode + i18n
aseckin May 6, 2026
480d36d
Merge branch 'main' into 2026-midterms
aseckin May 14, 2026
4cd9e95
fix: address PR feedback on midterms hub
aseckin May 14, 2026
5263940
feat: round-2 midterms hub design refinements
aseckin May 14, 2026
0500af7
feat: chamber control polish + mobile tooltip + map shift
aseckin May 14, 2026
7a1e5e7
feat: refine chamber + consequences visuals
aseckin May 14, 2026
6583a8e
feat: column hover + horizontal headers + pink split bars
aseckin May 14, 2026
bbae901
feat: alternating dem/rep dashed border on split-control bars
aseckin May 14, 2026
b6e6095
fix: uncontested map tiles match page background
aseckin May 14, 2026
62f1e88
feat: horizontal rep→dem gradient for split-control bars
aseckin May 14, 2026
6e763b9
fix: gradient bar fill now uses same opacity as solid bars
aseckin May 14, 2026
6679fd7
Revert "fix: uncontested map tiles match page background"
aseckin May 14, 2026
2fabb4a
fix: PR feedback — a11y label on map states + escape OG theme param
aseckin May 14, 2026
973be96
Merge branch 'main' into 2026-midterms
aseckin May 15, 2026
ef0feec
feat: round-6 midterms polish + PR a11y feedback
aseckin May 15, 2026
680f8d4
fix: instant bar hover + cell vertical padding hoverable
aseckin May 15, 2026
f12aba1
fix: dark-mode bar hover keeps border color constant
aseckin May 15, 2026
17e4f20
fix(deps): override d3-color to ^3.1.0 to clear Snyk ReDoS finding
aseckin May 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 35 additions & 4 deletions front_end/bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

53 changes: 53 additions & 0 deletions front_end/declarations/react-simple-maps.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
declare module "react-simple-maps" {
import * as React from "react";

export interface ComposableMapProps extends React.SVGProps<SVGSVGElement> {
projection?:
| string
| ((opts: { width: number; height: number }) => unknown);
projectionConfig?: Record<string, unknown>;
width?: number;
height?: number;
children?: React.ReactNode;
}
export const ComposableMap: React.FC<ComposableMapProps>;

export interface GeographyType {
rsmKey: string;
id?: string | number;
type?: string;
properties?: Record<string, unknown>;
geometry?: unknown;
}

export interface GeographiesProps {
geography: string | object;
parseGeographies?: (geos: GeographyType[]) => GeographyType[];
children: (props: {
geographies: GeographyType[];
projection: unknown;
path: unknown;
}) => React.ReactNode;
}
export const Geographies: React.FC<GeographiesProps>;

export interface GeographyProps
extends Omit<React.SVGProps<SVGPathElement>, "style"> {
geography: GeographyType;
style?: {
default?: React.CSSProperties;
hover?: React.CSSProperties;
pressed?: React.CSSProperties;
};
onMouseEnter?: (e: React.MouseEvent<SVGPathElement>) => void;
onMouseLeave?: (e: React.MouseEvent<SVGPathElement>) => void;
onClick?: (e: React.MouseEvent<SVGPathElement>) => void;
}
export const Geography: React.FC<GeographyProps>;

export interface MarkerProps extends React.SVGProps<SVGGElement> {
coordinates: [number, number];
children?: React.ReactNode;
}
export const Marker: React.FC<MarkerProps>;
}
1 change: 1 addition & 0 deletions front_end/global.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ declare module "@tanstack/table-core" {
className: string;
}
}

57 changes: 56 additions & 1 deletion front_end/messages/cs.json
Original file line number Diff line number Diff line change
Expand Up @@ -2200,5 +2200,60 @@
"whyTrustMetaculusLessNoiseTitle": "Méně šumu, více pravdy",
"whyTrustMetaculusLessNoise": "Předpovědi Metaculus, poháněné davem, prořezávají šum tím, že zakládají každou předpověď na transparentních důkazech, odpovědném skóre a desetiletí doložené přesnosti. Metaculus vybavuje politiky, výzkumníky, novináře a korporátní organizace předpověďmi založenými na důkazech, které poskytují jasný, kvantifikovatelný vhled do nejkritičtějších nejistot světa. Prozkoumejte naši nabídku <servicesLink>Business řešení</servicesLink> a zjistěte, jak může Metaculus zlepšit rozhodování vaší organizace.",
"publishTimeLockedDescription": "Čas publikace nelze po vytvoření změnit.",
"thousandsOfOpenQuestions": "20 000+ otevřených otázek"
"thousandsOfOpenQuestions": "20 000+ otevřených otázek",
"midtermsHubMetaTitle": "Mezičasové volby USA 2026 | Metaculus",
"midtermsHubMetaDescription": "Předpovědi komunity Metaculus v reálném čase k mezičasovým volbám USA v roce 2026.",
"midtermsHubChamberCurrent": "Aktuálně:",
"midtermsHubChamberForecast": "Předpověď:",
"midtermsHubChamberTooltipBody": "{party} potřebují <b>o {count} mandátů více</b> pro získání {chamber}; předpovídači tomu dávají <b>{pct}% šanci</b>.",
"midtermsHubChamberTooltipDisclaimer": "Klikněte pro zobrazení předpovědní otázky",
"midtermsHubPartyDemocrats": "Demokraté",
"midtermsHubPartyRepublicans": "Republikáni",
"midtermsHubChamberSenate": "Senát",
"midtermsHubChamberHouse": "Sněmovna reprezentantů",
"midtermsHubChamberGovernor": "Guvernér",
"midtermsHubChamberControl": "Kontrola komory",
"midtermsHubCongressForecast": "Kontrola Kongresu",
"midtermsHubOutcomeRepRep": "Senát Rep / Sněmovna Rep",
"midtermsHubOutcomeRepDem": "Senát Rep / Sněmovna Dem",
"midtermsHubOutcomeDemRep": "Senát Dem / Sněmovna Rep",
"midtermsHubOutcomeDemDem": "Senát Dem / Sněmovna Dem",
"midtermsHubCongressSummary": "Aktuální názory předpovídačů na kontrolu Kongresu jsou zachyceny v pravděpodobnostech uvedených výše.",
"midtermsHubThingsToWatch": "Co sledovat",
"midtermsHubVoterTurnout": "Předpověď volební účasti",
"midtermsHubTurnoutContext": "Vyšší účast u mezičasových voleb historicky souvisela se silnějšími výsledky demokratů.",
"midtermsHubElectionIntegrity": "Sledování integrity voleb",
"midtermsHubIntegrityContext": "Cyklus 2026 zahrnuje spory o překreslování volebních obvodů uprostřed dekády a probíhající soudní spory o pravidla hlasování v několika státech.",
"midtermsHubElectoralConsequences": "Volební důsledky",
"midtermsHubConsequenceQuestion": "Otázka",
"midtermsHubConsequenceIfRep": "při Republikánském Kongresu",
"midtermsHubConsequenceIfDem": "při Demokratickém Kongresu",
"midtermsHubConsequenceHeaderRepTitle": "Republikánský Kongres",
"midtermsHubConsequenceHeaderRepSubtitle": "Pokud má GOP většinu",
"midtermsHubConsequenceHeaderDemTitle": "Demokratický Kongres",
"midtermsHubConsequenceHeaderDemSubtitle": "Pokud mají Demokraté většinu",
"midtermsHubConsequenceClimate": "Bude před rokem 2028 přijata významná federální klimatická legislativa?",
"midtermsHubConsequenceMinWage": "Bude před rokem 2028 zvýšena federální minimální mzda?",
"midtermsHubConsequenceImmigration": "Bude před rokem 2028 přijat významný zákon o imigrační reformě?",
"midtermsHubConsequenceShutdown": "Dojde před rokem 2028 k uzavření vlády na více než 14 dní?",
"midtermsHubCommunityInsights": "Pohledy komunity",
"midtermsHubScrollLeft": "Posunout poznatky doleva",
"midtermsHubScrollRight": "Posunout poznatky doprava",
"midtermsHubDemocrat": "Demokraté",
"midtermsHubRepublican": "Republikáni",
"midtermsHubNotContested": "Bez voleb",
"midtermsHubDemPct": "{pct}% demokraté",
"midtermsHubRepPct": "{pct}% republikáni",
"midtermsHubNoForecast": "Bez předpovědi",
"midtermsHubFooterDisclaimer": "Bez vazby na jakoukoli politickou stranu.",
"midtermsHubHeroTitleLine1": "Mezičasové volby",
"midtermsHubHeroTitleLine2": "USA 2026",
"midtermsHubHeroSubtitle": "Předpovědi komunity Metaculus o sporných závodech a politikách, které utvářejí.",
"midtermsHubHeroSubtitleMobile": "Předpovědi komunity Metaculus v reálném čase.",
"midtermsHubThingsToWatchSubtitle": "Ukazatele, které stojí za sledování v průběhu cyklu.",
"midtermsHubConsequencesSubtitle": "Jak se předpovídané politické výsledky mění v závislosti na tom, která strana ovládá Kongres.",
"midtermsHubUpdatedRealtime": "Aktualizováno v reálném čase",
"midtermsHubMetaculusUser": "Uživatel Metaculus",
"midtermsHubComingSoon": "Již brzy",
"midtermsHubClickToView": "Kliknutím zobrazíte celou otázku"
}
Loading
Loading