Routing & Pages
Route Structure
Section titled “Route Structure”PinTeach uses TanStack Router with lazy-loaded routes. All routes are defined in apps/app/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