Skip to content

Admin Dashboard

The admin section provides platform-wide management tools. It is restricted to users with role === "admin" in their profile record. Non-admin users attempting to access any /admin route are redirected to /feed.

RouteFileDescription
/admin(app)/admin/+page.svelteAdmin dashboard overview
/admin/users(app)/admin/users/+page.svelteUser management
/admin/posts(app)/admin/posts/+page.sveltePost moderation
/admin/products(app)/admin/products/+page.svelteProduct moderation
/admin/jobs(app)/admin/jobs/+page.svelteJob listing moderation
/admin/ads(app)/admin/ads/+page.svelteAd campaign management
/admin/categories(app)/admin/categories/+page.svelteCategory management
/admin/blacklist(app)/admin/blacklist/+page.svelteBlacklisted words/terms
/admin/reports(app)/admin/reports/+page.svelteUser reports and flagged content

All routes require admin role (authentication + onboarding + profile.role === "admin").

The admin section has its own +layout.svelte and +layout.server.ts at (app)/admin/. The layout adds an admin-specific sidebar with navigation links to each sub-page, nested inside the standard app shell.

The guard in hooks.server.ts checks admin routes in two steps:

  1. isProtectedRoute(path) returns true for anything starting with /admin — requires authentication.
  2. isAdminRoute(path) triggers an additional database query to verify profile.role === "admin". If the role check fails, the user is redirected to /feed.

The admin home page shows platform-level statistics and activity summaries — total users, recent signups, pending reports, active ads, and content counts.

User management interface:

  • Search and filter users by name, email, role, or status
  • View user profiles and activity
  • Suspend, ban, or delete accounts
  • Change user roles (e.g., promote to admin)

Post moderation tools:

  • Browse all posts with filtering by status and flags
  • Remove or hide posts that violate guidelines
  • View reported posts with report reasons

Product moderation:

  • Review submitted products
  • Approve or reject product listings
  • Remove products that violate policies

Job posting moderation:

  • Review submitted job listings
  • Approve or reject postings
  • Flag or remove inappropriate listings

Platform ad management:

  • Review ad campaigns
  • Approve or reject ad submissions
  • Monitor ad performance and spending

Global category management for organizing posts, products, jobs, and other content types. Admins can create, edit, reorder, and delete categories.

Manage blacklisted words and phrases that are automatically filtered from user-generated content. This works alongside the Honeycomb moderation filters for community-level filtering.

Review user-submitted reports for content violations:

  • View report details (reporter, reported content, reason)
  • Take action (warn, remove content, suspend user)
  • Mark reports as resolved