Neue Migration 0002_labeling_notice.sql: settings.labeling_mode
("detailed"/"notice") + labeling_notice(_en/_pl). Auf der Seite
"Allergene & Zusatzstoffe" (LabelingNoticeEditor) kann zwischen der
detaillierten Auswahl je Gericht und einem editierbaren Hinweistext
umgeschaltet werden. Im Hinweismodus entfällt auf der öffentlichen
Speisekarte (Desktop + Mobile) die Legende und die Kürzel an den
Gerichten, in der Gerichte-Verwaltung wird die Chip-Auswahl beim
Bearbeiten ausgeblendet. Umschalten/Bearbeiten ist für staff und admin
freigegeben, Farben in /api/settings bleiben admin-only.
Version 1.8.0.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
23 lines
628 B
TypeScript
23 lines
628 B
TypeScript
import "server-only";
|
|
import { queryOne } from "@/lib/db";
|
|
|
|
export type LabelingMode = "detailed" | "notice";
|
|
|
|
export interface Settings {
|
|
colors: Record<string, string>;
|
|
logo_path: string | null;
|
|
favicon_path: string | null;
|
|
labeling_mode: LabelingMode;
|
|
labeling_notice: string;
|
|
labeling_notice_en: string | null;
|
|
labeling_notice_pl: string | null;
|
|
}
|
|
|
|
export async function getSettings(): Promise<Settings | null> {
|
|
return queryOne<Settings>(
|
|
`select colors, logo_path, favicon_path, labeling_mode,
|
|
labeling_notice, labeling_notice_en, labeling_notice_pl
|
|
from settings where id = 1`
|
|
);
|
|
}
|