multica/apps/web/features
Naiyuan Qing 3bd504fe5f feat(web): SEO optimization and auth flow improvements for landing pages
- Split landing pages into Server/Client Components to enable Next.js metadata exports
- Add robots.ts, sitemap.ts, JSON-LD structured data, OpenGraph and viewport config
- Fix i18n hydration mismatch: detect locale server-side via cookie/Accept-Language header
- Replace localStorage with cookie for locale persistence (SSR-readable)
- Dynamic <html lang> based on locale cookie
- Optimize images with next/image (avif/webp formats, quality config)
- Add /homepage route as always-visible landing page (no auth redirect)
- Auth-aware CTA buttons: show "Dashboard"/"进入工作台" for logged-in users
- Login page redirects authenticated users to dashboard
- Unify logout/401 redirect to "/" instead of "/login"
- Fix title template to avoid double "Multica" suffix on homepage

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:54:11 +08:00
..
auth perf(web): parallelize auth init and non-blocking dashboard layout (#220) 2026-03-31 16:19:02 +08:00
inbox feat(realtime): WS invalidation + refetch pattern, inbox bugfixes, UI polish 2026-03-29 13:49:40 +08:00
issues Merge pull request #247 from multica-ai/fix/issue-mention-rendering 2026-04-01 13:06:27 +08:00
landing feat(web): SEO optimization and auth flow improvements for landing pages 2026-04-01 16:54:11 +08:00
modals fix(ui): show avatar images in assignee dropdowns 2026-04-01 03:50:47 +08:00
my-issues feat(web): add My Issues page with grouped filters 2026-03-31 12:53:21 +08:00
navigation feat(ui): route persistence, sidebar active fix, header spacing 2026-03-26 10:57:32 +08:00
realtime merge: resolve conflicts with main 2026-03-31 16:25:20 +08:00
runtimes revert(runtimes): remove runtime delete functionality 2026-03-29 17:05:36 +08:00
skills feat(realtime): WS invalidation + refetch pattern, inbox bugfixes, UI polish 2026-03-29 13:49:40 +08:00
workspace feat(upload): add file upload UI — avatar, editor paste/drop, attachments 2026-03-31 15:17:54 +08:00