Add local automatic backups and Aniimo regions lists
All checks were successful
Deploy Sokko G / deploy (push) Successful in 18s

This commit is contained in:
Shinuwa 2026-09-24 09:39:33 +02:00
parent 2255de94a7
commit 0a3bb4dffd
24 changed files with 908 additions and 16 deletions

View file

@ -17,6 +17,7 @@ import { useToolboxAlerts } from "./hooks/useToolboxAlerts.js";
import { RouteContent } from "./router/RouteContent.jsx";
import { useHashRoute } from "./router/hashRouter.js";
import { normalizeCalendarData, normalizeTimerData } from "./features/toolboxes/storage/toolboxStorage.js";
import { useAutoBackup } from "./features/toolboxes/storage/useAutoBackup.js";
const ToolboxDrawer = lazy(() => import("./features/toolboxes/ToolboxPages.jsx").then((module) => ({ default: module.ToolboxDrawer })));
const DEFAULT_NOTIFICATION_DURATION_MS = 120000;
@ -34,6 +35,7 @@ function App() {
const [filters, setFilters] = useGameFilters();
const [confirmModal, setConfirmModal] = useState(null);
const [createModal, setCreateModal] = useState(null);
const [autoBackupModalOpen, setAutoBackupModalOpen] = useState(false);
const [linkModalGameId, setLinkModalGameId] = useState("");
const [drawerGameId, setDrawerGameId] = useState("");
const [image, setImage] = useState(null);
@ -42,6 +44,7 @@ function App() {
const [storageError, setStorageError] = useState("");
const handleStorageError = useCallback((message) => setStorageError(message), []);
const store = useIndexedToolboxes(handleStorageError);
const autoBackup = useAutoBackup(store);
const guideChecklistSession = useGuideChecklistSession(store);
const notify = useCallback((message, options = {}) => {
@ -148,6 +151,7 @@ function App() {
storageReady={store.ready}
toastPosition={store.toastPosition}
setToastPosition={store.setToastPosition}
onOpenAutoBackup={() => setAutoBackupModalOpen(true)}
getModuleData={store.getModuleData}
updateToolbox={actions.updateToolbox}
updateModuleData={store.updateModuleData}
@ -195,6 +199,10 @@ function App() {
toolboxes={store.toolboxes}
links={store.links}
setPendingTutorialToolboxId={setPendingTutorialToolboxId}
autoBackupModalOpen={autoBackupModalOpen}
setAutoBackupModalOpen={setAutoBackupModalOpen}
autoBackup={autoBackup}
autoBackupContent={siteContent.toolboxes.autoBackup}
/>
</Shell>
</GuideChecklistContext.Provider>