e77588deb8
- Settings key-value table in Prisma with migration - getSettings() / getSetting() helpers in lib/settings.ts - Admin UI at /admin/settings with 6 sections: General, Notifications, Student profile, Legal docs, Curator permissions, Code injection - saveSettings() server action with admin-only guard - Maintenance mode: non-admin users redirected to /maintenance page - schoolName propagated to page metadata and all email templates - headCode / bodyCode injected into root layout <head> and <body> Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
23 lines
631 B
TypeScript
23 lines
631 B
TypeScript
import { getSettings } from "@/lib/settings";
|
||
import { SettingsForm } from "@/components/admin/settings-form";
|
||
|
||
export const metadata = { title: "Настройки платформы" };
|
||
|
||
export default async function SettingsPage() {
|
||
const settings = await getSettings();
|
||
|
||
return (
|
||
<div className="p-8 max-w-2xl">
|
||
<div className="mb-6">
|
||
<h1
|
||
className="text-xs font-bold uppercase tracking-widest"
|
||
style={{ color: "var(--muted-foreground)" }}
|
||
>
|
||
Настройки платформы
|
||
</h1>
|
||
</div>
|
||
<SettingsForm initial={settings} />
|
||
</div>
|
||
);
|
||
}
|