import { ChangeEventHandler, useEffect, useState } from "react"; import { SettingsManager } from "../../../../features/settings/settingsManager"; import styles from "../Settings.module.css"; import utilStyles from "../../../../styles/utils.module.css"; import { useVirtualRoot } from "../../../../hooks/virtual-drive/virtualRootContext"; import { useSettingsManager } from "../../../../hooks/settings/settingsManagerContext"; import { WALLPAPERS_PATH } from "../../../../config/apps/settings.config"; import { useWindowedModal } from "../../../../hooks/modals/windowedModal"; import { Button } from "../../../_utils/button/Button"; import { FileSelector } from "../../../modals/file-selector/FileSelector"; import { SELECTOR_MODE } from "../../../../config/apps/fileExplorer.config"; import { DEFAULT_FILE_SELECTOR_SIZE } from "../../../../config/modals.config"; import { IMAGE_FORMATS } from "../../../../config/apps/mediaViewer.config"; import { VirtualFile } from "../../../../features/virtual-drive/file"; import { VirtualFolder } from "../../../../features/virtual-drive/folder/virtualFolder"; import { THEMES } from "../../../../config/themes.config"; export function AppearanceSettings() { const virtualRoot = useVirtualRoot(); const settingsManager = useSettingsManager(); const [theme, setTheme] = useState(0); const [wallpaper, setWallpaper] = useState(null); const desktopSettings = settingsManager?.getSettings(SettingsManager.VIRTUAL_PATHS.desktop); const themeSettings = settingsManager?.getSettings(SettingsManager.VIRTUAL_PATHS.theme); const { openWindowedModal } = useWindowedModal(); useEffect(() => { void desktopSettings?.get("wallpaper", setWallpaper); void themeSettings?.get("theme", (value: string) => { setTheme(parseInt(value)); }); }, [desktopSettings, themeSettings]); const onWallpaperChange = (event: Event) => { const value = (event.target as HTMLInputElement).value; void desktopSettings?.set("wallpaper", value); }; const onThemeChange = (event: Event) => { const value = (event.target as HTMLInputElement).value; void themeSettings?.set("theme", value); }; return (<>

Theme

Wallpaper

{(virtualRoot?.navigate(WALLPAPERS_PATH) as VirtualFolder)?.getFiles()?.map(({ id, source }) => )}
); }