Skip to content

Admin App — Page Reference

One-sentence description of each route backed by a page.tsx under admin/app/, and who uses it (admin, super_admin, instructor, or public). Plain text only.

Next.js route groups (auth) and (dashboard) do not appear in URLs; paths below are what users see in the browser.

Last refreshed from the admin app source tree (all **/page.tsx files).


Public / auth (unauthenticated)

/ — Public home: sign-in form; authenticated users are redirected to /admin or /instructor by auth routing; used by public (staff before login).

/login — Staff login page; used by public.

/reset-password — Request or complete password reset (email flow + token from link); used by public.

/auth/reset-password — Alternate password-reset entry (same flow, different path); used by public.

/auth/claim — Set password and claim an account using a token from email (Turnstile-supported); used by public.


Instructor

/instructor — Instructor dashboard listing assigned classes (active vs past); used by instructor.

/instructor/profile — View and edit the signed-in instructor’s profile; used by instructor.

/instructor/classes/[id] — Class detail for an assigned class: roster, enrollments, co-instructors; used by instructor.

/instructor/messaging — Compose and send messages to a class roster and view recent sends; used by instructor.


Admin — overview & operations

/admin — Dashboard: user/membership/sync stats, reconciliation alerts, membership expiration widget, quick links; used by admin.

/admin/inventory — Real-time capacity across products (classes, events, memberships): enrolled, available, waitlist, status; used by admin.

/admin/import — Upload CSV for bulk data import; used by admin.

/admin/import/history — List past import jobs and inspect results; used by admin.


Admin — catalog (classes, events, products, semesters)

/admin/classes — List and bulk-manage class products; used by admin (instructors typically use /instructor).

/admin/classes/new — Create a new class (reuses class editor in “new” mode); used by admin.

/admin/classes/[id] — Full class editor: schedule (including Length in weeks), pricing (fixed per-session model, no member %), instructors, media, visibility, enrollments; used by admin.

/admin/events — List and bulk-manage events and conversation clubs; used by admin.

/admin/events/[id] — Event product hub: instances, roster modal, links to edit; used by admin.

/admin/events/[id]/edit — Full event editor: recurrence, instances, media, visibility; used by admin.

/admin/events/import — Import conversation clubs from CSV (preview + create); used by admin.

/admin/products — List all sellable products with filters and stats; used by admin.

/admin/products/[id] — Unified product editor (type-specific fields, pricing, sync); used by admin.

/admin/products/[id]/emails — Per-product transactional email overrides (subjects, bodies, CC/BCC); used by admin.

/admin/products/[id]/recurring — Manage recurring instances (dates, capacity/price overrides) for a product; used by admin.

/admin/products/templates — List reusable product templates; used by admin.

/admin/products/templates/new — Create a new product template; used by admin.

/admin/membership-levels — List membership tier products; used by admin.

/admin/membership-levels/new — Create a new membership level (reuses level editor); used by admin.

/admin/membership-levels/[id] — Edit a membership tier (pricing, copy, LGL-related fields); used by admin.

/admin/semesters — List semesters and open create/copy flows; used by admin.

/admin/semesters/[id] — Edit semester dates, registration windows, and terms; used by admin.


Admin — members, memberships, enrollments, registrations, payments

/admin/members — Redirects to /admin/memberships; used by admin.

/admin/users — Search and list users, create accounts, filters; used by admin.

/admin/users/[id] — User detail: profile, billing, membership, staff role/permissions (super_admin for role panel), password reset, delete; used by admin (super_admin for role changes).

/admin/memberships — List memberships with filters (status, level, expiring); used by admin.

/admin/memberships/create — Create a membership for a selected user; used by admin.

/admin/memberships/expired — List expired memberships with renewal follow-up filters; used by admin.

/admin/memberships/[id] — Membership detail: status, renewal, LGL sync actions; used by admin.

/admin/memberships/[id]/edit — Edit membership fields (level, dates, subsidy, family slots); used by admin.

/admin/enrollments — List class/event enrollments with filters; used by admin (API may scope instructor access).

/admin/enrollments/[id] — Enrollment detail and cancellation; used by admin.

/admin/registrations — List event registrations with check-in oriented filters; used by admin.

/admin/registrations/[id] — Registration detail: attendee, instance, check-in, cancel; used by admin.

/admin/payments — List and filter payments; used by admin.

/admin/payments/[id] — Payment detail: line items, Stripe IDs, LGL sync jobs; used by admin.


Admin — donations, coupons, scholarships, instructors, media

/admin/donations — List donation products and stats; used by admin.

/admin/donations/new — Create a donation product (reuses donation editor); used by admin.

/admin/donations/[id] — Edit donation product (amounts, LGL fund, copy); used by admin.

/admin/coupons — Create and manage coupons (including subsidy-style codes); used by admin.

/admin/scholarship-requests — Review subsidized membership applications (approve/deny); used by admin.

/admin/instructors — List instructors, search, see class counts; used by admin.

/admin/media — Media library: upload, folders, tags, pick assets; used by admin.


Admin — email & messaging

/admin/emails — List global email templates; used by admin.

/admin/emails/[id] — Edit a template (subject/body, variables, admin recipients); used by admin.

/admin/email-log — Search sent email log and resend; used by admin.

/admin/messaging/campaigns — List message campaigns and stats; used by admin.

/admin/messaging/campaigns/[id] — Campaign detail and recipient activity; used by admin.

/admin/messaging/campaigns/[id]/edit — Edit campaign content, audience, schedule; used by admin.

/admin/messaging/new — Create a new campaign from scratch; used by admin.


Admin — sync & system

/admin/sync — Sync job queue (LGL/WordPress), filters, retry failed jobs, links to LGL and WordPress sync tools; used by admin.

/admin/sync/lgl — LGL sync hub: pending payments, user sync, test-mode aware operations; used by admin.

/admin/sync/wordpress — Targeted WordPress user sync (e.g. by email or WP user ID); used by admin.

/admin/sync/wordpress-events — Preview and import events from WordPress into products; used by admin.

/admin/system — System & integration health: LGL/WordPress cards, queue summary, DB counts, quick actions including clear cache; used by admin (super_admin for sensitive ops via API).

/admin/system/lgl — Deep LGL sync and constituent/payment tooling (large hub UI); used by admin.

/admin/system/wordpress — WordPress migration center: preview/import events and related migration actions; used by admin.

/admin/system/queue — Background sync job queue with filters (status, target); used by admin.


Admin — settings

/admin/settings — Settings hub with sidebar accordion groups (Payments, Integrations, Communications, Site); used by super_admin (and admin where API allows).

/admin/settings/stripe — Stripe API keys and webhook secret configuration; used by super_admin.

/admin/settings/fees — Processing fee pass-through toggle and rate (percent + fixed cents); used by super_admin.

/admin/settings/offline-payments — Offline payment options (check, in-office): hold days, org name, mailing and office addresses, contact email; used by super_admin.

/admin/settings/lgl — LGL API key and configuration; used by super_admin.

/admin/settings/embed — Embed code snippets for the website calendar widget (script tag + iframe); used by super_admin.

/admin/settings/renewal-reminders — Renewal reminder timing thresholds (days before expiry, standard vs beta preset); used by super_admin.

/admin/settings/emails — Email/SMTP configuration; used by super_admin.

/admin/settings/notifications — Per-staff notification preferences for memberships, events, classes, scholarships, and daily digest; used by super_admin.

/admin/settings/data-import — Links to bulk data import tools (CSV import, WordPress import); used by super_admin.

/admin/settings/assets — Global assets / branding configuration; used by super_admin.

/admin/settings/roles — Staff roles and permissions management; used by super_admin.


Admin — testing (non-production or guarded)

/admin/testing — Testing suite hub: test mode toggle and links to tools; used by admin.

/admin/testing/time-machine — Fast-forward or rewind simulated dates for testing; used by admin.

/admin/testing/reset — Database backup, reset, and seed workflows; used by admin.

/admin/testing/cleanup — Remove test data with scoped cleanup actions; used by admin.

/admin/testing/scenarios/memberships — Create predefined membership test scenarios; used by admin.


Sync vs System

Sync (/admin/sync) — Focuses on sync jobs: list LGL and WordPress queue items, filter by status, retry failures, and jump into LGL or WordPress sync UIs. Use when you are working job-by-job or kicking off sync flows.

System (/admin/system) — Focuses on health and navigation: connection/config status for LGL and WordPress, high-level queue counts, database totals, quick links (LGL hub, WP migration, queue), and clear cache. Use for an at-a-glance operational picture and shortcuts.

In short: Sync = job list and sync actions; System = status overview plus integration hubs and maintenance.


Known UI vs routes

  • Audit logs — Canonical UI: /admin/logs ((dashboard)/admin/logs/page.tsx). Sidebar and System dashboard link here. /admin/system/logs redirects to /admin/logs for old bookmarks.
  • New event/admin/events/new/edit opens the event editor in create mode (not /admin/events/new).
  • New product/admin/products/new uses the same editor as /admin/products/[id] with id=new.

Maintained by 21 Ads Media