# 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](frontend-src/static/_app/admin-content-editor.html) - **Backup (for USE_FRONTEND_BACKUP=true):** [frontend-backup/_app/admin-content-editor.html](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: 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: ```bash cd frontend-src npm run build # Copies files from frontend-src/static/_app/ to frontend/_app/ ``` ### When using frontend-backup (Docker): ```bash 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](CONTENT-MANAGEMENT.md) for detailed documentation.