Routing & Pages
Route Structure
Section titled “Route Structure”PinTeach uses TanStack Router with lazy-loaded routes. All routes are defined in apps/web/src/router.tsx with 30+ pages.
Public Routes
Section titled “Public Routes”| Route | Purpose |
|---|---|
/ | Landing page |
/login | Google OAuth for teachers |
/auth/student-login | Magic link flow |
/auth/verify | Magic link verification |
/$slug | Public teacher profile |
/book/$slug | Public booking page |
/services/$slug | Public services listing |
/reviews/$slug | Embeddable reviews (iframe) |
Teacher Routes
Section titled “Teacher Routes”| Route | Purpose |
|---|---|
/teacher/dashboard | KPIs, next session, smart actions |
/teacher/calendar | Week/agenda views, scheduling |
/teacher/messages | Student contact (WhatsApp/email) |
/teacher/students | CRM list, profiles, enrollments |
/teacher/payments | Transaction history, refunds |
/teacher/insights | Revenue charts, funnel, retention |
/teacher/profile | About, layout editor, analytics |
/teacher/settings | Scheduling, Stripe, Calendar, availability |
/teacher/templates | Material browser (list/grid/kanban) |
/teacher/organization | Tag management |
/teacher/services | Service management (3D picker) |
/teacher/widgets | Embeddable widget configs |
/teacher/reviews | Review dashboard (5 tabs) |
/teacher/onboarding | 4-step setup wizard |
Student Routes
Section titled “Student Routes”| Route | Purpose |
|---|---|
/student/ | Credits, upcoming sessions |
/student/book | Session booking |
/student/packages | Enrollment purchase |
Route Pattern
Section titled “Route Pattern”import { createLazyFileRoute } from '@tanstack/react-router';
export const Route = createLazyFileRoute('/teacher/sessions')({ component: SessionsPage,});
function SessionsPage() { const { t } = useTranslation(); useDocumentTitle(t('nav.sessions')); // ...}Sidebar Navigation
Section titled “Sidebar Navigation”The teacher shell uses a collapsible sidebar:
- Main: Inicio, Calendario, Mensajes, Alumnos
- Organizacion: Mi Material, Organizacion
- Negocio: Servicios, Widgets, Resenas, Pagos, Rendimiento
- Configuracion: Mi perfil, Ajustes
Keyboard Shortcuts
Section titled “Keyboard Shortcuts”12 navigation shortcuts using two-key sequences (800ms timeout):
| Shortcut | Destination |
|---|---|
g d | Dashboard |
g c | Calendar |
g s | Students |
g p | Payments |
g i | Insights |
g t | Templates |
g v | Services |
g w | Widgets |
g r | Reviews |
g f | Profile |
g x | Settings |
g m | Messages |
Plus 7 calendar-specific shortcuts (N, T, arrows, 1, 2, C).
Cmd+K: Command Palette (student search + shortcut navigation) Shift+?: Shortcut Help dialog