49 Commits

Author SHA1 Message Date
cf5646bbd9 standardize design to s/w standard - fix non-standard color usage
- replace hardcoded green/red/blue colors with standard shadcn semantic colors
- use text-primary, text-secondary-foreground, text-muted-foreground instead of text-green-600/blue-600
- replace colored backgrounds with bg-secondary, bg-muted, bg-primary/5
- maintain proper contrast and accessibility with semantic color tokens
- ensure consistent black/white theme across all components
2026-03-12 18:03:06 +01:00
9800c05314 fix: standardize design to neutral black/white theme
Fixes felixfoertsch/agw#2
2026-03-12 18:03:06 +01:00
e4c7baab73 fix: resolve iOS Safari loading issues with database initialization
- Added comprehensive error handling for PGLite IndexedDB initialization
- Implemented iOS Safari detection and in-memory database fallback
- Added timeout handling to prevent infinite loading states
- Improved error boundaries with user-friendly error messages
- Enhanced migration robustness with detailed error logging
- Provides 'Retry' functionality for transient failures

Fixes iPhone app showing only spinner and TabBar without content loading
2026-03-12 17:54:39 +01:00
8a8270dbae test: verify push access for hermes 2026-03-12 17:50:32 +01:00
043900f34f bump version to 2026.03.11
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:42:42 +01:00
28f5b39e45 add robustness implementation plan: 23 tasks across 6 chunks
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:00:16 +01:00
821d7cc4ca fix spec: correct file paths for feed assembly, route files
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 12:44:43 +01:00
7702b49fc0 add robustness plan spec: production hardening + test coverage expansion
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 12:40:50 +01:00
e6a51c7999 add Abgeordnete tab with federal/state representative sections, bump to 2026.03.10.2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 17:58:18 +01:00
cd2d51ecbe replace dev section with dev mode toggle, seed/delete mock data on toggle, bump to 2026.03.10.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 17:50:04 +01:00
d9f9006d4b fix tab bar bounce on iOS overscroll, add mock legislation seed endpoint + dev button
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 17:43:09 +01:00
8240fdd916 bump version to 2026.03.10
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 17:31:04 +01:00
378459930a add vote result comparison view, wire into legislation detail page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 17:08:54 +01:00
2a81893683 extend poll-checker to link polls to legislation, send vote comparison notifications
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 17:04:23 +01:00
f1126a4a8b add upcoming votes section on home page 2026-03-10 17:02:03 +01:00
beb343cc00 add legislation detail page with vote widget, hooks, route
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 16:55:28 +01:00
3baf126a55 add legislation API client for frontend 2026-03-10 16:53:21 +01:00
a4998190c3 add PGlite CRUD for user_votes with tests 2026-03-10 16:52:11 +01:00
8422e49e78 add PGlite user_votes table for local vote caching 2026-03-10 16:51:43 +01:00
d6ff129af4 add legislation-syncer job: fetch upcoming Vorgänge from DIP API hourly
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 16:50:25 +01:00
231eb6f6bc add legislation REST endpoints, mount at /legislation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 16:48:41 +01:00
03b704e483 add legislation service with CRUD for legislation + user votes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 16:48:37 +01:00
ff1fc64ca8 add server-side DIP API client with Vorgang detail fetching
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 16:45:34 +01:00
06745c240e add drizzle schema for legislation_texts, legislation_summaries, user_votes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 16:44:07 +01:00
9a1cb3c5f5 add shared legislation types for Mein Vote feature
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 16:44:01 +01:00
053707d96a normalize project structure: src/client + src/server + src/shared
- restructure from src/ + server/ to src/client/ + src/server/ + src/shared/
- switch backend runtime from Node (tsx) to Bun
- merge server/package.json into root, remove @hono/node-server + tsx
- convert server @/ imports to relative paths
- standardize biome config (lineWidth 80, quoteStyle double)
- add CLAUDE.md, .env.example at root
- update vite.config, tsconfig, deploy.sh for new structure

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 22:55:52 +01:00
08029ee68c add feedback to all developer settings buttons
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 14:58:13 +01:00
9008c57caa add landtag feed with AW API polls, extend FeedItem for session/decision kinds
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 14:20:41 +01:00
dd2ffa1c71 bump version to 2026.03.02.6
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 23:17:28 +01:00
862f04ca88 add location pin toggle in header to switch between local/all representatives
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 23:12:21 +01:00
685f99412c simplify party collapse to two states, default to nearby-only view with "Alle anzeigen" button
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 23:05:17 +01:00
bbbe570e11 merge app-update into info section, add CalVer app version
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 22:52:09 +01:00
22bf485b76 merge push + standort into one section with switches, move unfollow buttons to dev settings
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 22:50:13 +01:00
9f691c711b add unfollow-all button in settings, follow-nearby button, collapsible party groups with 3 states
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 22:40:52 +01:00
5337214d18 sort constituency representatives matching user's city to top, show "Dein Wahlkreis" badge
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 22:05:37 +01:00
085a473047 remove confusing info box from settings location section
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 22:05:19 +01:00
51c8c9e4f6 shorten pwa short_name to AGW, fix pwa update reload fallback
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 21:50:43 +01:00
fa02c4b71f fix deploy paths, route api through /agw/api/, add htaccess rewrite rule
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 21:50:36 +01:00
fa47c4fd07 remove konsta ui, use plain tailwind + shadcn components, add safe-area css
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 21:45:41 +01:00
5c26e0458c fix polls API call, move themen back to tabbar, configure only for MdB/MdL
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 21:38:14 +01:00
3e1d542260 add themen section to landtag configure page
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 21:30:15 +01:00
7f8376e1e4 restructure app into home/bundestag/landtag/settings tabs, add DIP API for upcoming votes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 21:22:35 +01:00
0b7e902f0b add view transitions, update tests for pglite, remove dead safe-area css, update AGENTS.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 14:52:37 +01:00
765543920c add zustand stores for ephemeral ui state (search queries survive tab switches)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 14:13:52 +01:00
c96c24a250 replace localStorage with pglite for persistent data, force-add previously ignored lib/ files
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 14:05:40 +01:00
3cdcfb7266 migrate mobile components to konsta ui, fix german strings
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 13:39:59 +01:00
c780066253 restructure routes under app/, add konsta layout
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 13:23:21 +01:00
6c58b59031 add feed caching, developer settings section, fix deploy toolchain
- cache feed items in localStorage, merge fresh with cached, auto-refresh hourly
- add refresh bar with timestamp, spinning icon during background refresh
- add developer section: backend health check, test push, mass-follow buttons
- add POST /push/test endpoint for test notifications
- activate mise in deploy.sh so bun is always on $PATH

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 08:17:51 +01:00
4e3aa682ac abgeordnetenwatch PWA + backend
feature-based React PWA with Hono backend:
- feed from abgeordnetenwatch.de API (polls by topic + politician)
- follow topics, search and follow politicians
- geo-based politician discovery via Nominatim
- push notifications for new polls via web-push
- service worker with offline caching
- deploy to Uberspace 8 (systemd, PostgreSQL, web backend proxy)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 08:14:22 +01:00