No description
Find a file
Jonathan Hvid 39996ab93e feat(pulse): council marquee auto-scrolls all 7 members across the page
Council section gets a proper carousel — a horizontal marquee that
moves continuously across the page, listing every cab member in turn
rather than a fixed-size grid.

Implementation:
- Members rendered twice in a single flex track; CSS keyframe translates
  from translateX(0) to translateX(-50%) over 40s+ (duration scales with
  member count via the --marquee-duration inline custom prop, capped at
  6 sec per member or 28 sec minimum). At -50% the first copy is fully
  offscreen and the second copy occupies the visible window seamlessly;
  the loop resets without a visible jump.
- aria-hidden on the duplicated copies so screen readers don't double-
  announce.
- mask-image fades both edges so members slide in and out softly rather
  than clipping at the container edge.
- Paused on hover so a reader can stop and parse a tile.
- prefers-reduced-motion: animation off and the strip becomes a quietly
  scrollable horizontal list — keyboard / trackpad users can pan
  manually instead of relying on the animation.

Seed adds 3 more cab members for a total of 7 (Mads Lindberg, Camilla
Storm, Frederik Lund) with backdated cab_joined_date so member_numbers
allocate 5/6/7. Each gets title + pull_quote + focus_tags consistent
with the existing four. Tenure spread is now 3 → 24 weeks across the
seven members so /members renders meaningfully varied 'member since'
dates.

The previous 4-tile grid + 5th-tile-as-link case is gone; the marquee
loops the full set so no truncation is needed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 11:21:53 +02:00
.claude style: drop eyebrows + body italics across editorial pages 2026-05-12 09:52:29 +02:00
content feat: database schema, migrations, and seed data 2026-04-18 22:43:16 +02:00
design chore: add Innofounder logo to public, wire to home page 2026-04-19 20:36:54 +02:00
migrations feat(db): roadmap_items gains 'considering' + 'in_beta' rename, --on-ink tokens 2026-05-12 10:46:39 +02:00
public chore: add Innofounder logo to public, wire to home page 2026-04-19 20:36:54 +02:00
scripts feat(pulse): council marquee auto-scrolls all 7 members across the page 2026-05-12 11:21:53 +02:00
src feat(pulse): council marquee auto-scrolls all 7 members across the page 2026-05-12 11:21:53 +02:00
tests feat(pulse): two-column greeting + tenure-milestone copy 2026-05-12 10:48:50 +02:00
.env.example feat: database schema, migrations, and seed data 2026-04-18 22:43:16 +02:00
.gitignore wip: scaffold and index before style-guide 2026-04-18 16:09:49 +02:00
astro.config.mjs feat: database schema, migrations, and seed data 2026-04-18 22:43:16 +02:00
CLAUDE.md wip: scaffold and index before style-guide 2026-04-18 16:09:49 +02:00
DECISIONS.md docs: document decisions D-15 through D-18 2026-04-19 20:32:09 +02:00
HANDOVER.md docs: HANDOVER.md — build summary and next steps 2026-04-18 22:54:48 +02:00
KNOWN_ISSUES.md feat(db): add migration 0003 for council portal schema 2026-05-11 14:39:07 +02:00
package.json chore(demo): seed-demo.js + utc fix for last_seen_at 2026-05-11 15:04:11 +02:00
pnpm-lock.yaml feat: database schema, migrations, and seed data 2026-04-18 22:43:16 +02:00
SPEC.md wip: scaffold and index before style-guide 2026-04-18 16:09:49 +02:00
todo.md docs: capture deferred home-page features in todo.md 2026-05-11 17:04:40 +02:00
tsconfig.json wip: scaffold and index before style-guide 2026-04-18 16:09:49 +02:00
vitest.config.ts test: vitest suite — pulse status, vote uniqueness, home route 2026-05-11 14:45:55 +02:00