From 8481da2d510643365dcd19338c5308e9c3ec21ee Mon Sep 17 00:00:00 2001 From: Prozilla Date: Sun, 23 Jul 2023 20:00:02 +0200 Subject: [PATCH] Refactored src directory --- src/{App.js => App.jsx} | 8 +++---- .../terminal/{Terminal.js => Terminal.jsx} | 2 +- src/components/task-bar/AppButton.js | 20 ------------------ .../{TaskBar.js => task-bar/TaskBar.jsx} | 21 +++++++++++++++++-- .../{ => task-bar}/TaskBar.module.css | 0 .../{Window.js => windows/Window.jsx} | 2 +- .../{ => windows}/Window.module.css | 0 .../WindowsView.jsx} | 4 ++-- src/features/applications/applications.js | 2 +- .../{ => virtual-drive}/VirtualRootContext.js | 2 +- src/hooks/{ => windows}/WindowsContext.js | 0 .../{ => windows}/WindowsManagerContext.js | 2 +- src/index.js | 2 +- src/{index.css => styles/global.css} | 0 14 files changed, 31 insertions(+), 34 deletions(-) rename src/{App.js => App.jsx} (56%) rename src/components/applications/terminal/{Terminal.js => Terminal.jsx} (97%) delete mode 100644 src/components/task-bar/AppButton.js rename src/components/{TaskBar.js => task-bar/TaskBar.jsx} (60%) rename src/components/{ => task-bar}/TaskBar.module.css (100%) rename src/components/{Window.js => windows/Window.jsx} (96%) rename src/components/{ => windows}/Window.module.css (100%) rename src/components/{WindowsView.js => windows/WindowsView.jsx} (69%) rename src/hooks/{ => virtual-drive}/VirtualRootContext.js (96%) rename src/hooks/{ => windows}/WindowsContext.js (100%) rename src/hooks/{ => windows}/WindowsManagerContext.js (90%) rename src/{index.css => styles/global.css} (100%) diff --git a/src/App.js b/src/App.jsx similarity index 56% rename from src/App.js rename to src/App.jsx index b84913a..b6ff532 100644 --- a/src/App.js +++ b/src/App.jsx @@ -1,8 +1,8 @@ import styles from "./App.module.css"; -import { Taskbar } from "./components/TaskBar.js"; -import { WindowsManagerProvider } from "./hooks/WindowsManagerContext.js"; -import { WindowsView } from "./components/WindowsView.js"; -import { VirtualRootProvider } from "./hooks/VirtualRootContext.js"; +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"; function App() { diff --git a/src/components/applications/terminal/Terminal.js b/src/components/applications/terminal/Terminal.jsx similarity index 97% rename from src/components/applications/terminal/Terminal.js rename to src/components/applications/terminal/Terminal.jsx index 4ee89b5..fe1c6e6 100644 --- a/src/components/applications/terminal/Terminal.js +++ b/src/components/applications/terminal/Terminal.jsx @@ -1,6 +1,6 @@ import { useState } from "react"; import styles from "./Terminal.module.css"; -import { useVirtualRoot } from "../../../hooks/VirtualRootContext.js"; +import { useVirtualRoot } from "../../../hooks/virtual-drive/VirtualRootContext.js"; import { Command } from "../../../features/applications/terminal/commands.js"; const USERNAME = "user"; diff --git a/src/components/task-bar/AppButton.js b/src/components/task-bar/AppButton.js deleted file mode 100644 index 69bc5f6..0000000 --- a/src/components/task-bar/AppButton.js +++ /dev/null @@ -1,20 +0,0 @@ -/* eslint-disable react-hooks/exhaustive-deps */ -import { useEffect, useState } from "react"; -import { useWindows } from "../../hooks/WindowsContext.js"; -import { useWindowsManager } from "../../hooks/WindowsManagerContext.js"; -import { ReactSVG } from "react-svg"; -import styles from "../TaskBar.module.css"; - -export function AppButton({ app }) { - const [active, setActive] = useState(false); - const windows = useWindows(); - const windowsManager = useWindowsManager(); - - useEffect(() => { - setActive(windowsManager.isAppActive(app.id)); - }, [windows]); - - return (); -} \ No newline at end of file diff --git a/src/components/TaskBar.js b/src/components/task-bar/TaskBar.jsx similarity index 60% rename from src/components/TaskBar.js rename to src/components/task-bar/TaskBar.jsx index cb98ab5..198bed6 100644 --- a/src/components/TaskBar.js +++ b/src/components/task-bar/TaskBar.jsx @@ -2,8 +2,25 @@ import { useEffect, useState } from "react"; import styles from "./TaskBar.module.css"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faBatteryFull, faSearch, faVolumeHigh, faWifi } from "@fortawesome/free-solid-svg-icons"; -import ApplicationsManager from "../features/applications/applications.js"; -import { AppButton } from "./task-bar/AppButton.js"; +import ApplicationsManager from "../../features/applications/applications.js"; +import { useWindows } from "../../hooks/windows/WindowsContext.js"; +import { useWindowsManager } from "../../hooks/windows/WindowsManagerContext.js"; +import { ReactSVG } from "react-svg"; + +function AppButton({ app }) { + const [active, setActive] = useState(false); + const windows = useWindows(); + const windowsManager = useWindowsManager(); + + useEffect(() => { + setActive(windowsManager.isAppActive(app.id)); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [windows]); + + return (); +} export function Taskbar() { const [date, setDate] = useState(new Date()); diff --git a/src/components/TaskBar.module.css b/src/components/task-bar/TaskBar.module.css similarity index 100% rename from src/components/TaskBar.module.css rename to src/components/task-bar/TaskBar.module.css diff --git a/src/components/Window.js b/src/components/windows/Window.jsx similarity index 96% rename from src/components/Window.js rename to src/components/windows/Window.jsx index 27f1227..4570360 100644 --- a/src/components/Window.js +++ b/src/components/windows/Window.jsx @@ -3,7 +3,7 @@ import styles from "./Window.module.css"; import { faMinus, faXmark } from "@fortawesome/free-solid-svg-icons"; import { faSquare } from "@fortawesome/free-regular-svg-icons"; import { ReactSVG } from "react-svg"; -import { useWindowsManager } from "../hooks/WindowsManagerContext.js"; +import { useWindowsManager } from "../../hooks/windows/WindowsManagerContext.js"; import Draggable from "react-draggable"; import { useEffect, useRef, useState } from "react"; diff --git a/src/components/Window.module.css b/src/components/windows/Window.module.css similarity index 100% rename from src/components/Window.module.css rename to src/components/windows/Window.module.css diff --git a/src/components/WindowsView.js b/src/components/windows/WindowsView.jsx similarity index 69% rename from src/components/WindowsView.js rename to src/components/windows/WindowsView.jsx index a8e5c72..3286ea6 100644 --- a/src/components/WindowsView.js +++ b/src/components/windows/WindowsView.jsx @@ -1,5 +1,5 @@ -import { Window } from "./Window.js"; -import { useWindows } from "../hooks/WindowsContext.js"; +import { Window } from "./Window.jsx"; +import { useWindows } from "../../hooks/windows/WindowsContext.js"; export function WindowsView() { const windows = useWindows(); diff --git a/src/features/applications/applications.js b/src/features/applications/applications.js index 3fe9d5d..7664cba 100644 --- a/src/features/applications/applications.js +++ b/src/features/applications/applications.js @@ -1,6 +1,6 @@ /* eslint-disable eqeqeq */ import { WebView } from "../../components/applications/templates/WebView.jsx"; -import { Terminal } from "../../components/applications/terminal/Terminal.js"; +import { Terminal } from "../../components/applications/terminal/Terminal.jsx"; import Application from "./application.js"; export default class ApplicationsManager { diff --git a/src/hooks/VirtualRootContext.js b/src/hooks/virtual-drive/VirtualRootContext.js similarity index 96% rename from src/hooks/VirtualRootContext.js rename to src/hooks/virtual-drive/VirtualRootContext.js index c46fc5a..49a8371 100644 --- a/src/hooks/VirtualRootContext.js +++ b/src/hooks/virtual-drive/VirtualRootContext.js @@ -1,5 +1,5 @@ import { createContext, useContext } from "react"; -import { VirtualRoot } from "../features/virtual-drive/virtual-root.js"; +import { VirtualRoot } from "../../features/virtual-drive/virtual-root.js"; const VirtualRootContext = createContext(); diff --git a/src/hooks/WindowsContext.js b/src/hooks/windows/WindowsContext.js similarity index 100% rename from src/hooks/WindowsContext.js rename to src/hooks/windows/WindowsContext.js diff --git a/src/hooks/WindowsManagerContext.js b/src/hooks/windows/WindowsManagerContext.js similarity index 90% rename from src/hooks/WindowsManagerContext.js rename to src/hooks/windows/WindowsManagerContext.js index 3736437..1446401 100644 --- a/src/hooks/WindowsManagerContext.js +++ b/src/hooks/windows/WindowsManagerContext.js @@ -1,5 +1,5 @@ import { createContext, useContext } from "react"; -import WindowsManager from "../features/windows/windows.js"; +import WindowsManager from "../../features/windows/windows.js"; import { WindowsProvider } from "./WindowsContext.js"; const WindowsManagerContext = createContext(); diff --git a/src/index.js b/src/index.js index 9c55c99..dda47e4 100644 --- a/src/index.js +++ b/src/index.js @@ -1,6 +1,6 @@ import React from "react"; import ReactDOM from "react-dom/client"; -import "./index.css"; +import "./styles/global.css"; import App from "./App"; import reportWebVitals from "./reportWebVitals"; diff --git a/src/index.css b/src/styles/global.css similarity index 100% rename from src/index.css rename to src/styles/global.css