Skip to main content

Screens and navigation

Use this map when adding or editing screens. App.tsx is the source of truth for URL definitions.

Common screens

URLScreenMain use
/HomeApp entry point
/videosVideo libraryRegistration, search, and tag organization
/videos/:idVideo detailsPlayback, transcript, and PLOG review/editing
/videos/coursesCourse listCreating and selecting courses
/videos/courses/:idCourse detailsOrganizing videos, chat, sharing, and analytics
/settingsSettingsProfile, external API keys, and related settings
/pricingPricingReviewing and changing plans
/adminAdministrationUsers, quotas, and reindexing
/share/:tokenShared courseAccessing a shared course
/course-invitations/:tokenInvitationReviewing a course invitation

:id and :token are placeholders for actual IDs and tokens.

This is an overview of common navigation. Each screen and the API check login status and access to the target data.

Authentication screens

URLPurpose
/login / /signupLogin / account registration
/signup/check-email / /verify-emailWaiting for email verification / handling the verification link
/forgot-password / /reset-passwordPassword reset
/change-emailEmail change confirmation
/consentAuthorizing external client access

In the VideoQ app, Japanese generally has no prefix and English uses /en/.... Requests to /ja/... are replaced with the canonical Japanese URL. The documentation site uses a separate convention: English at / and Japanese at /ja/.

Choosing a layout

  • AppRouteLayout: Ordinary screens share a header; some detail layouts omit the footer.
  • AuthRouteLayout: Authentication-related screens, such as login, registration, and invitations.
  • Shared courses: A dedicated screen layout.

Implement only the page body without duplicating the shared header. Handle loading and error displays within the body as well.

Related: Change the frontend, Tests and verification commands.