Add routeable lesson URLs for bootcamp pages

Implement deep linking to individual lessons with URL pattern:
- Route: /bootcamp/{product-slug}/{lessonId}
- lessonId parameter is optional for backward compatibility
- When no lessonId provided, defaults to first lesson
- Clicking lessons updates URL without page reload
- URL parameter drives lesson selection on page load

Changes:
- Update App.tsx route to accept optional :lessonId parameter
- Add lessonId extraction in Bootcamp.tsx useParams
- Implement handleSelectLesson to update URL on lesson click
- Update lesson selection logic to read from URL parameter
- Fallback to first lesson if lessonId not found

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
dwindown
2025-12-31 12:47:42 +07:00
parent a9ad84eb23
commit 9e76d07cc2
2 changed files with 23 additions and 4 deletions

View File

@@ -57,7 +57,7 @@ const App = () => (
<Route path="/products/:slug" element={<ProductDetail />} />
<Route path="/checkout" element={<Checkout />} />
<Route path="/events" element={<Events />} />
<Route path="/bootcamp/:slug" element={<Bootcamp />} />
<Route path="/bootcamp/:slug/:lessonId?" element={<Bootcamp />} />
<Route path="/webinar/:slug" element={<WebinarRecording />} />
<Route path="/consulting" element={<ConsultingBooking />} />
<Route path="/calendar" element={<CalendarPage />} />