Add public /guide route with 10-section user guide rendered as styled React components
Sticky TOC sidebar on desktop, collapsible accordion TOC on mobile
~13 desktop screenshots captured from live application stored in frontend/public/guide/
Guide link added to public nav bar (HomePage), authenticated sidebar (Layout), and mobile hamburger drawer
Old PDF user guide removed (frontend/public/docs/v2026-01-03.pdf)
GuidePage CLAUDE.md documentation for AI context
Test Plan
/guide route accessible without authentication
All 10 sections render with headings, tables, and screenshot placeholders
TOC sidebar on desktop, collapsible accordion on mobile
Guide link appears in public nav (desktop + mobile), authenticated sidebar, and hamburger drawer
Screenshots lazy-load with loading="lazy" attribute
6 integration tests passing (GuidePage.test.tsx)
Lint: 0 errors
Type-check: 0 errors
Responsive at 320px, 768px, 1920px
Fixes #203
## Summary
- Add public `/guide` route with 10-section user guide rendered as styled React components
- Sticky TOC sidebar on desktop, collapsible accordion TOC on mobile
- ~13 desktop screenshots captured from live application stored in `frontend/public/guide/`
- Guide link added to public nav bar (HomePage), authenticated sidebar (Layout), and mobile hamburger drawer
- Old PDF user guide removed (`frontend/public/docs/v2026-01-03.pdf`)
- GuidePage CLAUDE.md documentation for AI context
## Test Plan
- [x] `/guide` route accessible without authentication
- [x] All 10 sections render with headings, tables, and screenshot placeholders
- [x] TOC sidebar on desktop, collapsible accordion on mobile
- [x] Guide link appears in public nav (desktop + mobile), authenticated sidebar, and hamburger drawer
- [x] Screenshots lazy-load with `loading="lazy"` attribute
- [x] 6 integration tests passing (GuidePage.test.tsx)
- [x] Lint: 0 errors
- [x] Type-check: 0 errors
- [x] Responsive at 320px, 768px, 1920px
- Create GuidePage with responsive layout (sticky TOC sidebar desktop, collapsible accordion mobile)
- Add GuideTableOfContents with scroll-based active section tracking
- Create GuideScreenshot and GuideTable shared components
- Add guideTypes.ts with section metadata for all 10 sections
- Add lazy-loaded /guide route in App.tsx with public access
- Placeholder section components for all 10 guide sections
Co-Authored-By: Claude Opus 4.6 <[email protected]>
All 10 guide sections converted from USER-GUIDE.md to styled React
components using GuideTable and GuideScreenshot shared components.
Sections 1-5: Getting Started, Dashboard, Vehicles, Fuel Logs, Maintenance.
Sections 6-10: Gas Stations, Documents, Settings, Subscription Tiers, Mobile Experience.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Add Guide link to public nav bar (desktop + mobile) in HomePage
- Add Guide link to authenticated sidebar in Layout.tsx
- Add Guide link to HamburgerDrawer with window.location guard
- Add GuidePage integration tests (6 test scenarios)
- Remove old PDF user guide at public/docs/v2026-01-03.pdf
Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Create CLAUDE.md for GuidePage directory with architecture docs
- Create CLAUDE.md index for pages/ directory
Co-Authored-By: Claude Opus 4.6 <[email protected]>
The /guide SPA route conflicts with the static /guide/ screenshot directory.
Nginx's try_files $uri/ matches the directory and issues a 301 redirect to
/guide/ with trailing slash, bypassing SPA routing. Removing $uri/ ensures
all non-file paths fall through to index.html for client-side routing.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
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.
Fixes #203
Summary
/guideroute with 10-section user guide rendered as styled React componentsfrontend/public/guide/frontend/public/docs/v2026-01-03.pdf)Test Plan
/guideroute accessible without authenticationloading="lazy"attribute