2.7 KiB
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!
- Source (for frontend-src builds): frontend-src/static/_app/admin-content-editor.html
- Backup (for USE_FRONTEND_BACKUP=true): frontend-backup/_app/admin-content-editor.html
- Active (auto-generated):
frontend/_app/admin-content-editor.html(copied during build - DO NOT EDIT)
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:
- A standalone HTML page (no build required)
- Uses vanilla JavaScript (no framework dependencies)
- Authenticates using existing JWT cookies
- 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:
- Edit the source Svelte file in
frontend-src/src/routes/admin/+page.svelte - Add a link/button to
/_app/admin-content-editor.html - 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 contentPOST /api/admin/site-content- Create/update itemPOST /api/admin/site-content/bulk- Bulk updateDELETE /api/admin/site-content/:key- Delete itemPOST /api/admin/site-content/initialize- Load defaults
See CONTENT-MANAGEMENT.md for detailed documentation.