Commit graph

98 commits

Author SHA1 Message Date
King Omar
5c291d29ea feat: leaderboard, milestones, email capture, postcode, flag, stats bar
- Vote state now persists on page load (user_vote in proposals query)
- Stats bar: live votes-today / citizens / proposals counts
- Leaderboard section: top 10 proposals with milestone progress bars
- Milestone system: 100→viral, 500→community, 1k→publish, 5k→minister, 10k→media
- Email capture modal after 3rd vote (postcode optional)
- Milestone email notifications via Resend (requires RESEND_API_KEY secret)
- Weekly digest cron (Monday 9am AEST) to all subscribers
- Share-as-image button opens dynamic SVG in new tab
- Flag/report button hides proposals after 5 flags
- Proposals with hidden=1 excluded from all feeds
- DB: users.email, users.postcode, proposals.flag_count, proposals.hidden,
       proposal_flags, milestone_notifications tables

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 01:07:30 +10:00
King Omar
876d0c438c fix: votes, comments and feed refresh all broken due to safeFetch misuse
safeFetch already returns parsed JSON and throws on non-2xx — callers were
treating the result as a Response object and checking .ok / .json(), which
made votes, comment votes, and comment posts silently fail every time.

Also: fetchProposals was missing cache:'no-store' so newly posted proposals
were invisible until the 24hr browser cache expired; getProposals was sending
24hr Cache-Control so Cloudflare CDN served stale data; getShareableImageUrl
had a double slash (/api//petition-svg); wrangler.toml had an invalid [pages]
stanza that caused a warning on every deploy.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 00:35:31 +10:00
Omar Najjar
92a4d3fb06 x 2025-04-30 20:02:30 +10:00
Omar Najjar
73645b029c x 2025-04-30 19:57:56 +10:00
Omar Najjar
73e02e500e x 2025-04-30 19:49:58 +10:00
Omar Najjar
927313e8da Revert "x"
This reverts commit 330bd1ff61.
2025-04-30 19:46:18 +10:00
Omar Najjar
330bd1ff61 x 2025-04-30 19:19:43 +10:00
Omar Najjar
da90747631 X 2025-04-13 04:55:51 +10:00
Omar Najjar
25e2921d74 x 2025-04-13 04:47:32 +10:00
Omar Najjar
c785511f3f x 2025-04-13 04:41:44 +10:00
Omar Najjar
1b3c0db99f x 2025-04-13 04:34:23 +10:00
Omar Najjar
ae357d2ab8 x 2025-04-13 04:16:17 +10:00
Omar Najjar
e35571fd3b x 2025-04-13 02:55:28 +10:00
Omar Najjar
95a66ea6b0 x 2025-04-13 02:27:50 +10:00
Omar Najjar
ecf43500a1 x 2025-04-13 01:54:12 +10:00
Omar Najjar
eb9f79d8a7 x 2025-04-13 01:39:56 +10:00
Omar Najjar
85101e7ddc x 2025-04-13 01:11:21 +10:00
Omar Najjar
626e635bee x 2025-04-02 22:22:26 +11:00
Omar Najjar
e38cbc75e6 x 2025-04-02 22:07:54 +11:00
Omar Najjar
62d4d8f2da x 2025-04-02 21:52:18 +11:00
Omar Najjar
d24883d4a4 x 2025-04-02 21:36:26 +11:00
Omar Najjar
0bed3f7b27 x 2025-04-02 21:27:40 +11:00
Omar Najjar
3cb78a90d8 x 2025-04-02 20:37:49 +11:00
Omar Najjar
6eae507ea6 x 2025-03-24 00:12:14 +11:00
Omar Najjar
bdc96fff27 ADDING LOGIN 2025-03-23 21:30:50 +11:00
Omar Najjar
1c1e0f8df3 x 2025-03-15 22:54:57 +11:00
Omar Najjar
2e5c99636a pwa 2025-03-15 22:35:29 +11:00
Omar Najjar
5a16edc1a2 remove 2025-03-15 15:45:05 +11:00
Omar Najjar
627db33e43 x 2025-03-15 15:38:49 +11:00
Omar Najjar
e160f3eba7 x 2025-03-15 14:54:01 +11:00
Omar Najjar
ca020174db x 2025-03-15 14:49:49 +11:00
Omar Najjar
7ffc5724f3 x test 2025-03-15 14:44:19 +11:00
Omar Najjar
7cb8bc76e7 test 2025-03-15 14:39:16 +11:00
Omar Najjar
5912a337e6 x 2025-03-15 14:29:07 +11:00
Omar Najjar
0de9791b9a meta tags seo update 2025-03-15 14:21:38 +11:00
Omar Najjar
740653043c x 2025-03-12 02:53:33 +11:00
Omar Najjar
74570a339f x 2025-03-12 02:36:56 +11:00
Omar Najjar
880647b9fd Revert "x"
This reverts commit 695cc9df6c.
2025-03-12 02:31:19 +11:00
Omar Najjar
695cc9df6c x 2025-03-12 01:49:04 +11:00
Omar Najjar
e99e31d85d x 2025-03-12 01:40:32 +11:00
Omar Najjar
49d471c918 x 2025-03-11 20:35:23 +11:00
Omar Najjar
3e9ca92304 bigger is better 2025-03-11 02:10:52 +11:00
Omar Najjar
952e483db0 x 2025-03-11 02:06:51 +11:00
Omar Najjar
56d52e3ce2 test 2025-03-11 02:05:58 +11:00
Omar Najjar
0c4f0c05ef comment out default meta for now 2025-03-11 01:59:36 +11:00
Omar Najjar
74e0e9fc7a x 2025-03-11 01:55:45 +11:00
Omar Najjar
4d838c3b86 Update index.html 2025-03-10 22:34:06 +11:00
Omar Najjar
b0396bde69 testing meta 2025-03-10 22:04:11 +11:00
Omar Najjar
29c06a72d6 testing meta sharing tags 2025-03-10 20:05:18 +11:00
Omar Najjar
fc9ae373d7 fix comment loading in proposals view modal popup 2025-03-10 19:50:11 +11:00