feat(admin): items_base browser and AdminPageShell on core pages
CI / check (push) Successful in 21s
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 59s
CI / deploy (push) Failing after 9s

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
SimoandCursor committed 2026-07-30 20:41:31 +02:00
1 parent 7138ae4445
commit 98613af875
42 files changed
+2196 -698

No files matched your search

+27 -23
View File
@@ -1,5 +1,7 @@
import { Settings } from "lucide-react";
import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server";
import { AdminPageShell } from "@/components/admin/admin-page-shell";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
import { prisma } from "@/lib/prisma";
import { AdvancedSettingsPanel } from "./advanced-settings-panel";
@@ -41,29 +43,31 @@ export default async function AdminSettings() {
const documented = settings.filter((s) => !!s.comment).length;
return (
<div className="space-y-8">
<div className="admin-stat-row">
<span className="admin-stat-chip">
{t("keysInDatabase", { count: settings.length })}
</span>
<span className="admin-stat-chip">
{t("managedInForm", { count: MANAGED_SETTING_KEYS.length })}
</span>
<span className="admin-stat-chip">
{t("documented", { count: documented })}
</span>
<AdminPageShell icon={Settings} title={t("title")} subtitle={t("subtitle")}>
<div className="space-y-8">
<div className="admin-stat-row">
<span className="admin-stat-chip">
{t("keysInDatabase", { count: settings.length })}
</span>
<span className="admin-stat-chip">
{t("managedInForm", { count: MANAGED_SETTING_KEYS.length })}
</span>
<span className="admin-stat-chip">
{t("documented", { count: documented })}
</span>
</div>
<CmsSettingsForm values={values} canEdit={canEdit} />
<AdvancedSettingsPanel
settings={settings.map((s) => ({
key: s.key,
value: s.value,
comment: s.comment,
}))}
canEdit={canEdit}
/>
</div>
<CmsSettingsForm values={values} canEdit={canEdit} />
<AdvancedSettingsPanel
settings={settings.map((s) => ({
key: s.key,
value: s.value,
comment: s.comment,
}))}
canEdit={canEdit}
/>
</div>
</AdminPageShell>
);
}