Commit Graph
31 Commits
Author SHA1 Message Date
Hermes Agent 4690eca75c feat: landing page, 404 pages, auth redirect + merge remote
- LandingHero: service intro + search input for unauthenticated users
- App.tsx/routing: logged-in users auto-redirect to My Links
- 404 pages: styled with login prompt + alias-based redirect
- Worker: getLinkById API for link detail page (LINK_BY_ID_*_QUERY)
- Private redirect: pass alias to 404/login pages for redirect flow
- Tests: update assertions for new 404 page text
2026-06-21 09:00:18 +10:00
Hermes Agent 4370ef4383 feat: landing page, link detail, 404 pages, auth redirect
- LandingHero: hero section with Heygo service intro + search input
- App.tsx: logged-in users auto-redirect to My Links
- LinkDetailPage: click-based stats/history toggle (hidden by default)
- 404 pages: styled with login prompt for private links
- Private redirect: pass alias to 404/login pages for redirect flow
- Mobile responsive: prevent text overflow on small screens
2026-06-21 08:43:26 +10:00
junv b6212d8b3e Add link search 2026-06-20 22:08:52 +10:00
junv 10f4b530c4 Update UI 2026-06-20 21:53:16 +10:00
junv 45d6debfe5 update UI 2026-06-20 21:49:44 +10:00
junv 425a91c347 Update 2026-06-20 21:40:24 +10:00
junv 7cfe499be4 Add notification 2026-06-20 21:07:56 +10:00
junv 21436ab98e Add logout 2026-06-20 20:18:58 +10:00
junv 3f9af56060 add sign in 2026-06-20 20:16:20 +10:00
junv 6c898fe1f0 update dev env 2026-06-20 20:06:10 +10:00
junv 02367ad1b8 update logic 2026-06-20 17:40:20 +10:00
junv d49d0e8e04 update copy links 2026-06-20 17:27:56 +10:00
junv 91b16aba53 make view activity works! 2026-06-20 17:14:51 +10:00
junv cb73e17261 Update UI 2026-06-20 16:10:20 +10:00
Hermes Agent aac1decc71 fix: support LAN access in local dev with wildcard host matching
- PUBLIC_HOST/PRIVATE_HOST='*' matches any hostname (localhost, LAN IPs)
- Public route falls through to private on 404 (shared host in local dev)
- If both return 404, keep original public 404 response
- APP_BASE_URL updated to http://localhost:8787 for local dev
2026-06-20 15:42:21 +10:00
Hermes Agent b357e8aa80 feat: redesign nav — home shows public links, user menu with dropdown
- Remove Public Directory tab; public links now show on home page
- Rename Private Links to My Links
- Add right-aligned user menu with hover dropdown (Profile, Settings, Admin, Logout)
- Show admin badge next to username when role=admin
- Show Sign In button when not logged in
- Admin tab only visible to admins
- New GET /api/auth/me endpoint returns current user from session
- useCurrentUser hook for auth state in React
- CSS-only hover dropdown with fade-in animation
- Placeholder pages for Profile and Settings
2026-06-20 15:09:19 +10:00
Hermes Agent fd647bcc2e feat: add dev-only login for local admin access without OAuth
- POST /api/auth/dev-login creates/finds user, promotes to admin, sets session cookie
- POST /api/auth/dev-logout clears session cookie
- Dev login page at #/dev-login in the SPA
- Fix: getSessionCookieAttributes omits Secure over HTTP (local dev fix)
- Guarded: only works when PUBLIC_HOST=localhost, returns 403 otherwise
- Justfile: dev-admin and dev-logout commands
- README: local admin login instructions
2026-06-20 14:55:28 +10:00
Hermes Agent e4fbbaec14 feat: add terraform IaC, dev/prod environments, and multi-host worker support
- Terraform configs for D1 databases, KV namespaces, Worker custom domains
- wrangler.dev.jsonc and wrangler.prod.jsonc for environment-specific deployments
- Worker code refactored to use env vars for host checking (PUBLIC_HOST, PRIVATE_HOST)
- Configurable app URLs and cookie domain via env vars
- Deploy and migrate npm scripts for dev/prod
- Updated all tests with new env fixtures
- Deployment guide in README
2026-06-20 14:26:56 +10:00
Hermes Agent d9298239c9 feat: add promotion review APIs 2026-06-20 12:58:56 +10:00
Hermes Agent 7f939bef89 fix: harden link API validation and conflicts 2026-06-20 12:28:46 +10:00
Hermes Agent 0e93faab2d feat: add link CRUD APIs 2026-06-20 12:14:51 +10:00
Hermes Agent 57e77f3e3c fix: mark private host reserved responses no-store 2026-06-20 12:04:19 +10:00
Hermes Agent ebf365dfc9 fix: prevent caching private shortlink responses 2026-06-20 11:56:28 +10:00
Hermes Agent 0af13191df feat: resolve private shortlink redirects 2026-06-20 11:12:21 +10:00
Hermes Agent 10158e1f51 feat: add session guard 2026-06-20 10:58:32 +10:00
Hermes Agent f7a6b239f6 docs: record auth provider decision for workers 2026-06-20 10:51:48 +10:00
Hermes Agent d45091a7c3 feat: resolve public shortlink redirects 2026-06-20 10:39:53 +10:00
Hermes Agent 4f598225b5 fix: reuse path parameters for repeated templates 2026-06-20 10:31:22 +10:00
Hermes Agent 70cc8f5b4a feat: resolve parameterized shortlink URLs 2026-06-20 10:25:34 +10:00
Hermes Agent 0e3e80539e feat: validate shortlink aliases 2026-06-20 10:16:13 +10:00
Hermes Agent 32913619f4 feat: scaffold cloudflare shortlinks app 2026-06-20 09:57:13 +10:00