Static SPA dashboard for Triad moderation and administration.
- Vanilla JS (Preact only if needed)
- Tailwind CSS (CDN)
- i18n via JSON locale files
- Mock API for development
- Deployed to Gitlab Pages on push to main
Open index.html in a browser. No build step required.
To use the mock API (default), set nothing — it's enabled automatically when API_URL is not configured.
To connect to a real API:
// In config.js
window.TRIAD_CONFIG = { API_URL: "https://api.yourapp.com/api/v1" };All configuration is injected via config.js:
API_URL— backend API base URLSOCIAL_AUTH_ENABLED— enable/disable social login buttons (default: false)
In production, config.js is generated by CI from GitHub Secrets.
Automatic via GitHub Actions on push to main → deploys to Gitlab Pages.
Required GitHub Secrets:
R2_ACCOUNT_IDR2_ACCESS_KEY_IDR2_SECRET_ACCESS_KEYR2_BUCKETAPI_URLSOCIAL_AUTH_ENABLED(true/false)
Locale files in /locales/. Detected from navigator.language, overridable via UI selector.
Supported: en, es.