85f386a496
Reiner Umzug von useState + Setter-Wrapper (persistiert in localStorage via themeMode.ts) in einen eigenen Hook. Verhaltensgleich.
19 lines
704 B
TypeScript
19 lines
704 B
TypeScript
// React-State-Wrapper um den Hell/Dunkel-Umschalter (Einstellungen →
|
|
// Darstellung). Standard Hell (styles.css); Dunkel ist Opt-in und
|
|
// persistiert in localStorage (themeMode.ts).
|
|
//
|
|
// Extrahiert aus App.tsx. Bezeichner englisch, Kommentare deutsch (CONVENTIONS.md).
|
|
|
|
import { useState } from "react";
|
|
import { getStoredThemeMode, setStoredThemeMode } from "./themeMode";
|
|
import type { ThemeMode } from "./themeMode";
|
|
|
|
export function useThemeModeState() {
|
|
const [themeMode, setThemeModeState] = useState<ThemeMode>(() => getStoredThemeMode());
|
|
const setThemeMode = (mode: ThemeMode) => {
|
|
setThemeModeState(mode);
|
|
setStoredThemeMode(mode);
|
|
};
|
|
return { themeMode, setThemeMode };
|
|
}
|