Feature: Plugin system, site search, notifications, webhooks, caching & loading states
Local Build and Deploy / deploy (push) Successful in 1m2s
Local Build and Deploy / deploy (push) Successful in 1m2s
- Plugin/module system with registry, hooks for admin nav/permissions/i18n - Example Games plugin demonstrating the plugin system - Site-wide search with Cmd+K command palette (cmdk-based) - Real-time notification system (SSE + Redis pub/sub) - Extensible webhook system with admin management UI - Caching strategy: tiered data cache (unstable_cache + Redis) - Theme import/export as JSON - Loading states (spinner/skeleton) for all public pages - Mobile responsive fixes (admin dashboard, guilds page) - Webhooks admin page under Settings hub
This commit is contained in:
1 parent
09f1bc2bd6
commit
98d2b92218
85 files changed
+1889
-7
No files matched your search
@@ -4,6 +4,7 @@ import {
|
||||
applyCustomTheme,
|
||||
applyPreset,
|
||||
deleteCustomTheme,
|
||||
importThemeJson,
|
||||
saveCustomTheme,
|
||||
saveTheme,
|
||||
} from "@/actions/admin-theme";
|
||||
@@ -520,6 +521,30 @@ export default async function AdminTheme({
|
||||
)}
|
||||
</section>
|
||||
|
||||
<section className="mt-6">
|
||||
<h2 className="admin-section-title">Import / Export</h2>
|
||||
<p className="text-xs text-[var(--admin-text-muted)] mb-3">
|
||||
Export your current theme as JSON to share or back up. Import a
|
||||
previously exported JSON file to restore a theme.
|
||||
</p>
|
||||
<div className="flex flex-wrap gap-4">
|
||||
<a href="/api/admin/theme/export" download className="btn btn-outline inline-flex items-center">
|
||||
⬇ Export theme JSON
|
||||
</a>
|
||||
<form action={importThemeJson} className="flex flex-wrap items-center gap-2">
|
||||
<textarea
|
||||
name="theme_json"
|
||||
placeholder="Paste theme JSON here..."
|
||||
className="px-3 py-2 rounded-lg border bg-[var(--admin-canvas)] text-[var(--admin-text)] text-xs w-80 h-20 resize-none"
|
||||
style={{ borderColor: "var(--admin-border)" }}
|
||||
/>
|
||||
<button type="submit" className="btn btn-primary">
|
||||
Import theme
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<form action={saveTheme}>
|
||||
<h2 className="mt-6 text-lg font-extrabold">☀ Light mode</h2>
|
||||
<p className="text-xs text-[var(--admin-text-muted)] mb-3 mt-1">
|
||||
|
||||
Reference in new issue
Block a user