33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
// Path: Frontend/src/theme/presets.ts
|
|
|
|
import type { ThemeDefinition } from "./schema";
|
|
|
|
export const themePresetMetas = [
|
|
{
|
|
id: "moku-default",
|
|
name: "Moku Default",
|
|
description: "The baseline Moku theme preset, matching the original shell styling tokens.",
|
|
path: "/themes/moku-default.json",
|
|
},
|
|
{
|
|
id: "moku-midnight",
|
|
name: "Moku Midnight",
|
|
description: "The active warm, low-light Moku theme preset inspired by the Midnight Discord palette direction.",
|
|
path: "/themes/moku-midnight.json",
|
|
},
|
|
] as const satisfies readonly (Pick<ThemeDefinition, "id" | "name" | "description"> & { path: string })[];
|
|
|
|
export const defaultThemePresetPath = "/themes/moku-midnight.json";
|
|
|
|
export const defaultThemePresetMeta = {
|
|
id: "moku-midnight",
|
|
name: "Moku Midnight",
|
|
description: "The active warm, low-light Moku theme preset inspired by the Midnight Discord palette direction.",
|
|
} satisfies Pick<ThemeDefinition, "id" | "name" | "description">;
|
|
|
|
export const resolveThemePresetPath = (presetId: string): string | null => {
|
|
const match = themePresetMetas.find((preset) => preset.id === presetId);
|
|
|
|
return match?.path ?? null;
|
|
};
|