Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
2e2de7a
feat: lobbying explorer Phase 1 foundation
nesanders Jul 7, 2026
65e87cc
feat: lobbying bills browse page and bill card fixes
nesanders Jul 7, 2026
24d92fb
feat: add lobbying firms and clients browse/detail pages
nesanders Jul 7, 2026
03a12bd
fix: filter sentinel and empty clients from clients browse page
nesanders Jul 7, 2026
96393e5
feat: lobbying overview page with stats, chart, and attribution fix
nesanders Jul 8, 2026
d6e2977
feat: add attribution to all lobbying pages and seed stats script
nesanders Jul 9, 2026
748f507
fix: add lobbyingMeta read rule and move Lobbying after Testimony in nav
nesanders Jul 9, 2026
a918d88
feat: add pagination, subnav, sortable headers, and bill filings deta…
nesanders Jul 9, 2026
efce9f9
fix: i18n all hardcoded strings in lobbying explorer; add mobile resp…
nesanders Jul 9, 2026
6b806da
fix: add archive.py to Dockerfile — was missing from COPY, causing Mo…
nesanders Jul 15, 2026
80901b9
perf: skip already-completed years in backfill to speed up resume
nesanders Jul 16, 2026
aa24b76
feat: lobbying overview chart improvements and stats pipeline
nesanders Jul 20, 2026
9abda4a
fix: improve bill detail page in lobbying explorer
nesanders Jul 20, 2026
eaa0322
feat(lobbying): UI polish pass — position colors, sticky nav, accessi…
nesanders Jul 22, 2026
472fcc8
feat(lobbying): sortable filings column, explainer text, overview pag…
nesanders Jul 23, 2026
2e898ce
Merge upstream/main — resolve Navbar and common.json conflicts
nesanders Jul 23, 2026
f574eb8
perf(lobbying): replace per-court filings scan with pre-computed bill…
nesanders Jul 23, 2026
acc8744
feat(lobbying): rework bills index — multiselect sessions, title/clie…
nesanders Jul 23, 2026
1f5619d
fix(lobbying): weekly-scraper cursor & stats reliability at current d…
nesanders Aug 23, 2026
2d12bb5
fix(lobbying): remove permanent completedYears gate from backfill mode
nesanders Aug 23, 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
10 changes: 10 additions & 0 deletions components/Navbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import {
NavbarLinkAiTools,
NavbarLinkEffective,
NavbarLinkHearings,
NavbarLinkLobbying,
NavbarLinkProcess,
NavbarLinkWhyUse,
NavbarLinkEditProfile,
Expand Down Expand Up @@ -80,6 +81,9 @@ const MobileNav: React.FC<React.PropsWithChildren<unknown>> = () => {
<NavbarLinkHearings handleClick={closeNav} />
) : null}
<NavbarLinkTestimony handleClick={closeNav} />
{flags().lobbyingTable ? (
<NavbarLinkLobbying handleClick={closeNav} />
) : null}
{authenticated ? <NavbarLinkNewsfeed handleClick={closeNav} /> : <></>}
<NavDropdown className={"navLink-primary"} title={t("about")}>
<NavbarLinkGoals handleClick={closeNav} />
Expand Down Expand Up @@ -235,6 +239,12 @@ const DesktopNav: React.FC<React.PropsWithChildren<unknown>> = () => {
<NavbarLinkTestimony />
</div>

{flags().lobbyingTable ? (
<div className={`align-self-center`}>
<NavbarLinkLobbying />
</div>
) : null}

{authenticated ? (
<div className="align-self-center">
<NavbarLinkNewsfeed />
Expand Down
21 changes: 21 additions & 0 deletions components/NavbarComponents.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,27 @@ export const NavbarLinkBills: React.FC<
)
}

export const NavbarLinkLobbying: React.FC<
React.PropsWithChildren<{
handleClick?: any
other?: any
}>
> = ({ handleClick, other }) => {
const isMobile = useMediaQuery("(max-width: 768px)")
const { t } = useTranslation(["common", "auth"])
return (
<Nav.Item onClick={handleClick}>
<NavLink
className={isMobile ? "navLink-primary" : DESKTOP_NAV_ITEM_CLASS}
href="/lobbying"
{...other}
>
{t("navigation.lobbying")}
</NavLink>
</Nav.Item>
)
}

export const NavbarLinkBallotQuestions: React.FC<
React.PropsWithChildren<{
handleClick?: any
Expand Down
8 changes: 6 additions & 2 deletions components/bill/BillDetails.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { Banner } from "../shared/StyledSharedComponents"
import { BillNumber, Styled } from "./BillNumber"
import { BillTestimonies } from "./BillTestimonies"
import BillTrackerConnectedView from "./BillTracker"
import { LobbyingTable } from "./LobbyingTable"
import { LobbyingBillCard } from "components/lobbying/LobbyingBillCard"
import { Committees, Hearing, Sponsors } from "./SponsorsAndCommittees"
import { Status } from "./Status"
import { Summary } from "./Summary"
Expand Down Expand Up @@ -99,7 +99,11 @@ export const BillDetails = ({ bill }: BillProps) => {

<BillTestimonies bill={bill} className="mt-4" />
{flags.lobbyingTable && (
<LobbyingTable bill={bill} className="mt-4 pb-1" />
<LobbyingBillCard
court={bill.court}
billId={bill.id}
className="mt-4 pb-1"
/>
)}
</Col>
<Col md={4}>
Expand Down
Loading
Loading