Files
my_openplace/ADMIN-CONTENT-EDITOR.md
T
2025-10-02 19:27:15 -07:00

2.7 KiB

Admin Content Editor Access

Quick Access

The site content management editor is now available at:

URL: http://localhost:3000/_app/admin-content-editor.html

Or for production:

URL: https://yourdomain.com/_app/admin-content-editor.html

Requirements

  • Must be logged in as an admin user
  • User account must have role='admin' in the database
  • Valid JWT authentication cookie

Features

Edit modal content (rules, instructions, help text) Update footer links (Discord, GitHub, Instagram, etc.) Manage multiple locales (English, Chinese, etc.) Add/remove/edit individual content items Bulk save changes Initialize default content with one click

File Locations

Important: The frontend/ directory is regenerated on every build!

Which File to Edit?

  • If using frontend-src builds: Edit frontend-src/static/_app/admin-content-editor.html
  • If using frontend-backup: Edit frontend-backup/_app/admin-content-editor.html
  • Never edit files in frontend/ - they get deleted on every build!

Integration

The content editor is:

  1. A standalone HTML page (no build required)
  2. Uses vanilla JavaScript (no framework dependencies)
  3. Authenticates using existing JWT cookies
  4. Calls the site-content API endpoints

Adding to Admin Panel Navigation

Since the admin panel is a compiled SvelteKit app, to add a navigation link:

  1. Edit the source Svelte file in frontend-src/src/routes/admin/+page.svelte
  2. Add a link/button to /_app/admin-content-editor.html
  3. Rebuild the frontend: cd frontend-src && npm run build

Or simply bookmark/share the direct URL with your admin team!

Build Process

When using frontend-src:

cd frontend-src
npm run build
# Copies files from frontend-src/static/_app/ to frontend/_app/

When using frontend-backup (Docker):

docker-compose up --build -d
# With USE_FRONTEND_BACKUP=true in docker-compose.yml
# Copies files from frontend-backup/_app/ to frontend/_app/

API Endpoints Used

  • GET /api/admin/site-content - Fetch all content
  • POST /api/admin/site-content - Create/update item
  • POST /api/admin/site-content/bulk - Bulk update
  • DELETE /api/admin/site-content/:key - Delete item
  • POST /api/admin/site-content/initialize - Load defaults

See CONTENT-MANAGEMENT.md for detailed documentation.