refactor(frontend): restructure project layout and update API schema

Relocate frontend source code from `next-app/` to `frontend/` to align with the new project structure. This includes removing the old Next.js boilerplate files and establishing a cleaner workspace.

Additionally, updates the OpenAPI specification to include support for the `immich` widget type and its corresponding configuration schema.

- Move frontend files to `frontend/`
- Delete obsolete `next-app/` directory and its configuration
- Add `immich` widget type to `openapi.yaml`
- Update `FrontendPlan.md` with dashboard refactor and UX direction
This commit is contained in:
Tomas Dvorak
2026-05-04 12:31:34 +02:00
parent b17a06fbba
commit 17a579880f
85 changed files with 9441 additions and 947 deletions
+26
View File
@@ -0,0 +1,26 @@
export type Theme = "light" | "dark" | "casaos";
const STORAGE_KEY = "dash-theme";
export function getStoredTheme(): Theme {
if (typeof window === "undefined") return "dark";
const stored = localStorage.getItem(STORAGE_KEY);
if (stored === "light" || stored === "dark" || stored === "casaos") return stored;
return "dark";
}
export function setStoredTheme(theme: Theme) {
if (typeof window === "undefined") return;
localStorage.setItem(STORAGE_KEY, theme);
}
export function applyTheme(theme: Theme) {
if (typeof document === "undefined") return;
document.documentElement.setAttribute("data-theme", theme);
}
export const themeLabels: Record<Theme, string> = {
light: "Light",
dark: "Dark",
casaos: "CasaOS",
};