#15 Implement tenant-scoped localStorage for per-user UI state
#16 Create public landing page at librenot.es with feature overview and CTAs
Success Criteria
Users can log in via magic link from the frontend
All API calls include auth tokens
UI state is scoped per tenant
Landing page is live at librenot.es
Dependencies
Depends on Phase 1 (#7) for backend auth endpoints
## Overview
Adapt the Notesium frontend for multi-tenant use: add login UI, auth token handling, tenant-scoped storage, and a public landing page.
## Child Issues
- [x] #13 Add magic link login UI with email validation and error handling
- [x] #14 Add auth token handling to frontend API calls
- [x] #15 Implement tenant-scoped localStorage for per-user UI state
- [x] #16 Create public landing page at librenot.es with feature overview and CTAs
## Success Criteria
- [x] Users can log in via magic link from the frontend
- [x] All API calls include auth tokens
- [x] UI state is scoped per tenant
- [x] Landing page is live at librenot.es
## Dependencies
- Depends on Phase 1 (#7) for backend auth endpoints
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Overview
Adapt the Notesium frontend for multi-tenant use: add login UI, auth token handling, tenant-scoped storage, and a public landing page.
Child Issues
Success Criteria
Dependencies
Phase 2: Frontend Auth + Adaptationto Epic: Frontend Auth + AdaptationEpic: Frontend Auth + Adaptationto Epic: Phase 2 — Frontend Auth + Adaptation