How alanbaltabai/webinar-registration works
This is a React webinar-registration website. A visitor views the webinar details and presenter, jumps to the registration form, and submits it; the home route action sends an email through EmailJS and redirects to a thank-you page. The landing page also offers a dark-mode toggle, and the router provides error and not-found views. The README documents these capabilities; sampled source confirms the route and page composition, while form, utility, layout, and several presentation implementations were not sampled.
Main entry points: First.tsx Landing route · Main.tsx Landing content · Layout.tsx Page layout · Thankyou.tsx Thank-you page
Components 22
Routing and pages
- Router setup
src/App.tsx - Page layout
src/components/Layout.tsx - Landing route
src/pages/First.tsx - Thank-you page
src/pages/Thankyou.tsx - Not-found page
src/pages/NotFound.tsx - Route error view
src/components/Error.tsx
Webinar landing
- Webinar date
src/components/Header.tsx - Landing content
src/components/Main.tsx - Webinar CTA
src/components/CTA.tsx - Webinar details
src/components/Details.tsx - Presenter profile
src/components/Author.tsx - Page footer
src/components/Footer.tsx
Registration flow
- Registration form
src/components/Form.tsx - Form inputs
src/components/form-components/Input.tsx - Submit action
src/pages/First.tsx - Email helper
src/utils.ts - Access check
src/utils.ts
Theme preference
- Theme toggle
src/components/Toggler.tsx - Theme helpers
src/utils.ts - Browser storage
Other components
- Visitor
- EmailJS
Connections 25
- Visitor → Router setup: opens site
- Router setup → Page layout: renders route
- Page layout → Landing route: renders index
- Page layout → Thank-you page: renders route
- Page layout → Not-found page: renders fallback
- Landing route → Webinar date: renders
- Landing route → Landing content: renders
- Landing route → Page footer: renders
- Landing content → Webinar CTA: renders
- Landing content → Webinar details: renders
- Landing content → Presenter profile: renders
- Landing content → Registration form: renders
- Registration form → Form inputs: renders
- Registration form → Submit action: submits to route
- Submit action → Email helper: sends email
- Email helper → EmailJS: sends message
- Submit action → Thank-you page: redirects
- Thank-you page → Access check: loads access check
- Thank-you page → Page footer: renders
- Landing route → Theme toggle: renders
- Theme toggle → Landing route: toggles theme
- Landing route → Browser storage: reads preference
- Landing route → Theme helpers: applies theme
- Theme helpers → Browser storage: updates preference
- Landing route → Route error view: handles route errors