Bugfixes
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
import { createContext, useContext, useState, useMemo, useRef } from "react";
|
||||
import JSZip from "jszip";
|
||||
import { INITIAL_DATA } from "../constants/index.js";
|
||||
import { migrateData } from "../utils/storage.js";
|
||||
import { STANDAARD_THEMA } from "../constants/themas.js";
|
||||
import { migrateData, loadFromStorage, saveToStorage } from "../utils/storage.js";
|
||||
import { useTheme } from "../hooks/useTheme.js";
|
||||
|
||||
const AppContext = createContext(null);
|
||||
@@ -34,7 +35,22 @@ export function AppProvider({ children }) {
|
||||
};
|
||||
|
||||
// ── UI ────────────────────────────────────────────────────────
|
||||
const [darkMode, setDarkMode] = useState(true);
|
||||
// Weergavevoorkeuren overleven een herlaad. Ze stonden eerder alleen in
|
||||
// state, dus na een refresh stond je weer in het donker.
|
||||
const [darkMode, setDarkModeRaw] = useState(() => loadFromStorage("darkMode") ?? true);
|
||||
const [thema, setThemaRaw] = useState(() => loadFromStorage("thema") ?? STANDAARD_THEMA);
|
||||
|
||||
const setDarkMode = (v) => {
|
||||
const n = typeof v === "function" ? v(darkMode) : v;
|
||||
saveToStorage("darkMode", n);
|
||||
setDarkModeRaw(n);
|
||||
};
|
||||
|
||||
const setThema = (id) => {
|
||||
saveToStorage("thema", id);
|
||||
setThemaRaw(id);
|
||||
};
|
||||
|
||||
const [locked, setLocked] = useState(false);
|
||||
const [tab, setTab] = useState(0);
|
||||
const [menuOpen, setMenuOpen] = useState(false);
|
||||
@@ -87,7 +103,7 @@ export function AppProvider({ children }) {
|
||||
const setUsers = (u) => { localStorage.setItem("wbjw_users", JSON.stringify(u)); setUsersRaw(u); };
|
||||
|
||||
// ── Thema ─────────────────────────────────────────────────────
|
||||
const T = useTheme(darkMode);
|
||||
const T = useTheme(thema, darkMode);
|
||||
|
||||
// ── Afgeleide waarden ─────────────────────────────────────────
|
||||
const ev = data.eigenVermogen;
|
||||
@@ -199,6 +215,7 @@ export function AppProvider({ children }) {
|
||||
loggedIn, currentUser, login, logout, loading, updateProfile, changePassword,
|
||||
avatar, setAvatar,
|
||||
darkMode, setDarkMode,
|
||||
thema, setThema,
|
||||
locked, setLocked,
|
||||
tab, setTab,
|
||||
menuOpen, setMenuOpen,
|
||||
|
||||
Reference in New Issue
Block a user