Appearance
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: term selector, Needs attention alerts (scholarships, failed payments, pending offline orders, failed syncs, LGL match reviews), summary tiles, class fill for the term (rows open the class editor; the below-minimum line opens a filtered Classes list), term-to-date and weekly revenue, membership expiration widget; used by admin.
/admin/inventory — Real-time capacity across products (classes, events, memberships): enrolled, available, waitlist, status; used by admin.
/admin/import — Import / Export Classes: download the class export, or upload a CSV or Excel file for bulk class import (exports carry a UTF-8 BOM and the importer strips it); used by admin.
/admin/feedback — Feedback queue from the in-app widget, grouped New / Reviewed / Fixed, with Create Issue; shows a warning when more than 500 submissions exist; 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 — People (Member 360): search anyone by name or email, list users, create accounts, filters; used by admin.
/admin/users/[id] — Member 360 person view: profile, billing, current membership and membership history, class enrollments, event and club registrations, family members and their activity, payments (with offline order due dates and references), a Permissions card for staff accounts, password reset, delete; used by admin (super_admin for role and permission changes).
/admin/memberships — List memberships with filters (status, level, expiring); Export CSV downloads the filtered list with contact details (name, email, phone, level, status, dates); 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; Export CSV / Export filtered CSV downloads what is shown (including a Refund Reason column). Paid orders that were not fully set up carry a Needs attention badge. Checkout carts abandoned for over 24 hours are cancelled automatically and appear under Status = Cancelled; used by admin.
/admin/payments/offline — Record offline membership: cash, check, or comp (waived) membership or renewal entered by staff; used by admin.
/admin/payments/offline-pending — Pending offline payments: pay-in-office and check orders waiting to be confirmed; used by admin.
/admin/payments/[id] — Payment detail: line items, Stripe IDs, LGL sync jobs; used by admin. For offline orders, also confirm, cancel, extend the deadline, or reinstate an expired order; those four actions are super_admin only.
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/donations/annual-summary — Calendar-year giving summary: preview donor and gift counts, then send; used by admin.
/admin/donations/pledges — Open Give-page pledges (pay by check) not yet paid or marked uncollected: donor, amount, date pledged, days open, reference; used by admin. Confirming the check is super_admin only, from the payment detail page.
/admin/donations/recurring — List recurring donors: amount, frequency, current tier, next charge, status; used by admin (read) / super_admin (cancel/undo).
/admin/donations/recurring/[id] — Recurring donor detail: charge history, linked member/membership, dunning/grace state, audit trail. Cancel and undo the gift's future billing (period-end only) are super_admin only.
/admin/coupons — Create and manage coupons (including subsidy-style codes); used by admin.
/admin/scholarship-requests — Review subsidized membership applications (approve/deny; statuses include Redeemed, with Reissue link for an unpaid redeemed request); used by admin to view; approve, deny, and reissue are super_admin only.
/admin/instructors — List instructors with search, semester and active/inactive filters, sorting, an inline class list per instructor, and Export CSV of the filtered list; 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 the sent email log (receipts, staff alerts, daily digest; campaigns hidden unless Transactionals only is unticked), see Undeliverable addresses (bounces and spam complaints), and resend; used by admin.
/admin/email-log/[id] — One logged email: subject, recipient, status, body, 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/system/lgl-reviews — LGL Matching Review: people whose LGL record could not be matched automatically, each needing a decision; used by admin.
Admin — reports
/admin/reports/revenue — Revenue report: financial summary by period and product type, with CSV exports; used by admin.
/admin/reports/refunds — Refunds ledger of all issued and confirmed refunds; used by admin.
/admin/reports/activity — Activity Log: system and staff actions with the name of who did each one; 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/checkout — Checkout Availability: Disable checkout switch that stops every member purchase (paid, free, or coupon-covered) and the message members see instead; used by super_admin. /admin/settings/giving — Giving Availability toggle (hides the public Give page and the admin Giving sidebar when off); used by super_admin.
/admin/settings/offline-payments — Offline payment options (check, in-office): hold days, org name, mailing and office addresses, contact email, and the two Give-page pledge switches (allow pledges, donor reminders); 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/reports/activity(sidebar: Activity Log)./admin/logsredirects there for old bookmarks. - New event —
/admin/events/new/editopens the event editor in create mode (not/admin/events/new). - New product —
/admin/products/newuses the same editor as/admin/products/[id]withid=new.