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