Skip to main content

Router configuration

File: src/router.js
  • Mode: History (clean URLs, requires server-side fallback)
  • Code splitting: Every route is lazy-loaded with Webpack chunk names
  • Scroll behavior: Smooth scroll to hash anchors, remembers saved position

Route metadata

Every route has two metadata flags:

All routes

Marketing pages (no Header/Footer)

Marketing pages (with Header/Footer)

Registration flow (backend workflow)

All under /s/:id — the :id is the tutor’s username or ID.

Booking management (backend workflow)

Dashboard (admin)

Catch-all

SEO configuration

robots.txt

All /s/ paths (tutor profiles, user accounts) are blocked from crawling. Marketing pages are open.

sitemap.xml

16 URLs indexed with priority weighting:

Dynamic noindex

The router’s beforeEach guard injects/removes <meta name="robots" content="noindex"> based on the route’s noindex metadata flag. Pages like FAQs, Library, Legal pages, and Links are noindexed.
No auth guards on routes — authentication is handled at the component level when making API calls.