Control states — “Watch a legislator” & “Opt into a topic”

Every control, every state, with the meaning-cued indicators that tell the user *why* a bill floated. These are the pieces of §5B / §10 of the design spec, shown in isolation for the build lane.

1 · Resolve ZIP / address → legislators

Fast path first; falls back to address or manual because a ZIP can span more than one district.

Use a full address instead →
Result states:

2 · Watch toggle (legislator)

Watches a legislator by authorship or committee membership. Optimistic update on toggle; re-ranks the personal band instantly.

Default · not watched
R. RiuSenate D-08 · R · Health
Not watched
Off. No effect on ranking.
Checked · watching
M. SchiavoAssembly D-14 · D · Resources & Water
Watching
On. Bills float to top. Green bar.
Focus
T. VegaAssembly D-14 · D
Not watched
2px focus ring visible.
Disabled · off-rolodex
(term-end)Not on current roster
Unavailable
Past legislator; locked out.

3 · Topic opt-in chip

Opt into a subject-matter tag (from the LLM lane). Count shows how many bills carry it. Toggling re-ranks.

Off
Not followed. No effect.
On (followed)
Followed. Bills float up.
Focus
Keyboard target.
Unavailable · no tags yet
LLM lane warming; not offered yet.

4 · “Why this here” indicators (the float reason)

The left bar + chip tell the user why a bill floated — a trust requirement, not decoration.

AB 28 — Waste standards
Schiavo · Resources & Water · 9:30am
● Your legislator · Topic: Waste
Why is this here? →
SB 795 — Health program
Riu · Health · 10:00am
● Topic: Health
Why is this here? →
green bar = watched-legislator match blue bar = opted-in-topic match color never the only signal — each pair carries text too
wireframe · 03 watch / opt-in controls