From 37a5248a6e96d34e352c977e6147e79e899433bd Mon Sep 17 00:00:00 2001 From: Prozilla Date: Sat, 5 Aug 2023 14:31:37 +0200 Subject: [PATCH] Added settings feature --- public/config/desktop.xml | 4 + src/App.jsx | 14 +- src/App.module.css | 1 - .../file-explorer/FileExplorer.jsx | 5 +- .../file-explorer/FileExplorer.module.css | 1 + .../applications/text-editor/TextEditor.jsx | 2 +- src/components/desktop/Desktop.jsx | 21 +++ src/components/desktop/Desktop.module.css | 10 ++ src/components/windows/WindowsView.jsx | 4 +- src/config/settings.js | 3 - src/features/applications/applications.js | 1 + src/features/settings/settings.js | 160 ++++++++++++++++++ src/features/utils/events.js | 49 ++++++ src/features/virtual-drive/virtual-base.js | 4 +- src/features/virtual-drive/virtual-file.js | 31 ++++ src/features/virtual-drive/virtual-folder.js | 24 +++ src/features/windows/windows.js | 11 +- src/hooks/settings/SettingsContext.js | 27 +++ src/hooks/utils/scrollWithShadows.js | 4 - src/hooks/virtual-drive/VirtualRootContext.js | 5 + 20 files changed, 361 insertions(+), 20 deletions(-) create mode 100644 public/config/desktop.xml create mode 100644 src/components/desktop/Desktop.jsx create mode 100644 src/components/desktop/Desktop.module.css delete mode 100644 src/config/settings.js create mode 100644 src/features/settings/settings.js create mode 100644 src/features/utils/events.js create mode 100644 src/hooks/settings/SettingsContext.js diff --git a/public/config/desktop.xml b/public/config/desktop.xml new file mode 100644 index 0000000..5ffb96e --- /dev/null +++ b/public/config/desktop.xml @@ -0,0 +1,4 @@ + + + /media/wallpapers/Wallpaper1.png + \ No newline at end of file diff --git a/src/App.jsx b/src/App.jsx index b6ff532..68d515d 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -3,16 +3,20 @@ import { Taskbar } from "./components/task-bar/TaskBar.jsx"; import { WindowsManagerProvider } from "./hooks/windows/WindowsManagerContext.js"; import { WindowsView } from "./components/windows/WindowsView.jsx"; import { VirtualRootProvider } from "./hooks/virtual-drive/VirtualRootContext.js"; -import { SETTINGS } from "./config/settings.js"; +import { Desktop } from "./components/desktop/Desktop.jsx"; +import { SettingsProvider } from "./hooks/settings/SettingsContext.js"; function App() { return ( -
- - -
+ +
+ + + +
+
); diff --git a/src/App.module.css b/src/App.module.css index 919d9db..41192a1 100644 --- a/src/App.module.css +++ b/src/App.module.css @@ -4,6 +4,5 @@ left: 0; width: 100%; height: 100%; - background-size: cover; text-align: center; } diff --git a/src/components/applications/file-explorer/FileExplorer.jsx b/src/components/applications/file-explorer/FileExplorer.jsx index c037695..e526ff5 100644 --- a/src/components/applications/file-explorer/FileExplorer.jsx +++ b/src/components/applications/file-explorer/FileExplorer.jsx @@ -37,6 +37,7 @@ export function FileExplorer({ startPath }) { const [currentDirectory, setCurrentDirectory] = useState(virtualRoot.navigate(startPath ?? "~")); const [path, setPath] = useState(currentDirectory.path); const windowsManager = useWindowsManager(); + const [showHidden] = useState(true); const changeDirectory = (path, absolute = false) => { const directory = absolute ? virtualRoot.navigate(path) : currentDirectory.navigate(path); @@ -107,7 +108,7 @@ export function FileExplorer({ startPath }) {
- {currentDirectory.files.map((file, index) => + {currentDirectory.getFiles(showHidden).map((file, index) => )} - {currentDirectory.subFolders.map(({ name }, index) => + {currentDirectory.getSubFolders(showHidden).map(({ name }, index) =>