Refactored src directory
This commit is contained in:
parent
2ccbfd91d4
commit
8481da2d51
14 changed files with 31 additions and 34 deletions
|
|
@ -1,8 +1,8 @@
|
||||||
import styles from "./App.module.css";
|
import styles from "./App.module.css";
|
||||||
import { Taskbar } from "./components/TaskBar.js";
|
import { Taskbar } from "./components/task-bar/TaskBar.jsx";
|
||||||
import { WindowsManagerProvider } from "./hooks/WindowsManagerContext.js";
|
import { WindowsManagerProvider } from "./hooks/windows/WindowsManagerContext.js";
|
||||||
import { WindowsView } from "./components/WindowsView.js";
|
import { WindowsView } from "./components/windows/WindowsView.jsx";
|
||||||
import { VirtualRootProvider } from "./hooks/VirtualRootContext.js";
|
import { VirtualRootProvider } from "./hooks/virtual-drive/VirtualRootContext.js";
|
||||||
import { SETTINGS } from "./config/settings.js";
|
import { SETTINGS } from "./config/settings.js";
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import styles from "./Terminal.module.css";
|
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";
|
import { Command } from "../../../features/applications/terminal/commands.js";
|
||||||
|
|
||||||
const USERNAME = "user";
|
const USERNAME = "user";
|
||||||
|
|
@ -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 (<button className={active ? `${styles["App-icon"]} ${styles["Active"]}` : styles["App-icon"]} key={app.id} onClick={() => { windowsManager.open(app.id); }}>
|
|
||||||
<ReactSVG src={process.env.PUBLIC_URL + `/media/applications/icons/${app.id}.svg`}/>
|
|
||||||
</button>);
|
|
||||||
}
|
|
||||||
|
|
@ -2,8 +2,25 @@ import { useEffect, useState } from "react";
|
||||||
import styles from "./TaskBar.module.css";
|
import styles from "./TaskBar.module.css";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
import { faBatteryFull, faSearch, faVolumeHigh, faWifi } from "@fortawesome/free-solid-svg-icons";
|
import { faBatteryFull, faSearch, faVolumeHigh, faWifi } from "@fortawesome/free-solid-svg-icons";
|
||||||
import ApplicationsManager from "../features/applications/applications.js";
|
import ApplicationsManager from "../../features/applications/applications.js";
|
||||||
import { AppButton } from "./task-bar/AppButton.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 (<button className={active ? `${styles["App-icon"]} ${styles["Active"]}` : styles["App-icon"]} key={app.id} onClick={() => { windowsManager.open(app.id); }}>
|
||||||
|
<ReactSVG src={process.env.PUBLIC_URL + `/media/applications/icons/${app.id}.svg`}/>
|
||||||
|
</button>);
|
||||||
|
}
|
||||||
|
|
||||||
export function Taskbar() {
|
export function Taskbar() {
|
||||||
const [date, setDate] = useState(new Date());
|
const [date, setDate] = useState(new Date());
|
||||||
|
|
@ -3,7 +3,7 @@ import styles from "./Window.module.css";
|
||||||
import { faMinus, faXmark } from "@fortawesome/free-solid-svg-icons";
|
import { faMinus, faXmark } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { faSquare } from "@fortawesome/free-regular-svg-icons";
|
import { faSquare } from "@fortawesome/free-regular-svg-icons";
|
||||||
import { ReactSVG } from "react-svg";
|
import { ReactSVG } from "react-svg";
|
||||||
import { useWindowsManager } from "../hooks/WindowsManagerContext.js";
|
import { useWindowsManager } from "../../hooks/windows/WindowsManagerContext.js";
|
||||||
import Draggable from "react-draggable";
|
import Draggable from "react-draggable";
|
||||||
import { useEffect, useRef, useState } from "react";
|
import { useEffect, useRef, useState } from "react";
|
||||||
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { Window } from "./Window.js";
|
import { Window } from "./Window.jsx";
|
||||||
import { useWindows } from "../hooks/WindowsContext.js";
|
import { useWindows } from "../../hooks/windows/WindowsContext.js";
|
||||||
|
|
||||||
export function WindowsView() {
|
export function WindowsView() {
|
||||||
const windows = useWindows();
|
const windows = useWindows();
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* eslint-disable eqeqeq */
|
/* eslint-disable eqeqeq */
|
||||||
import { WebView } from "../../components/applications/templates/WebView.jsx";
|
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";
|
import Application from "./application.js";
|
||||||
|
|
||||||
export default class ApplicationsManager {
|
export default class ApplicationsManager {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { createContext, useContext } from "react";
|
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();
|
const VirtualRootContext = createContext();
|
||||||
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { createContext, useContext } from "react";
|
import { createContext, useContext } from "react";
|
||||||
import WindowsManager from "../features/windows/windows.js";
|
import WindowsManager from "../../features/windows/windows.js";
|
||||||
import { WindowsProvider } from "./WindowsContext.js";
|
import { WindowsProvider } from "./WindowsContext.js";
|
||||||
|
|
||||||
const WindowsManagerContext = createContext();
|
const WindowsManagerContext = createContext();
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import ReactDOM from "react-dom/client";
|
import ReactDOM from "react-dom/client";
|
||||||
import "./index.css";
|
import "./styles/global.css";
|
||||||
import App from "./App";
|
import App from "./App";
|
||||||
import reportWebVitals from "./reportWebVitals";
|
import reportWebVitals from "./reportWebVitals";
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue