From cf5f0c41eb78b4eb24d206d20bafccf2e00546ad Mon Sep 17 00:00:00 2001 From: Karmaa Date: Tue, 25 Feb 2025 00:08:38 -0600 Subject: [PATCH] Another UI overall. Shift to launchpad, removed sidebar, turned everything into components. --- src/App.jsx | 164 ++++++++++++++++++++------------ src/Launchpad.jsx | 34 +++++++ src/TabList.jsx | 60 ++++++++++++ src/Terminal.jsx | 5 +- src/images/launchpad_rocket.png | Bin 0 -> 11789 bytes src/images/termix_icon.png | Bin 0 -> 40273 bytes 6 files changed, 197 insertions(+), 66 deletions(-) create mode 100644 src/Launchpad.jsx create mode 100644 src/TabList.jsx create mode 100644 src/images/launchpad_rocket.png create mode 100644 src/images/termix_icon.png diff --git a/src/App.jsx b/src/App.jsx index b5be77a4..f412ad74 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,9 +1,13 @@ -import { useState } from "react"; +import { useState, useEffect } from "react"; import { NewTerminal } from "./Terminal.jsx"; -import AddHostModal from './AddHostModal.jsx'; -import {Button, ButtonGroup} from '@mui/joy'; -import { CssVarsProvider } from '@mui/joy'; -import theme from './theme'; +import AddHostModal from "./AddHostModal.jsx"; +import { Button } from "@mui/joy"; +import { CssVarsProvider } from "@mui/joy"; +import theme from "./theme"; +import TabList from "./TabList.jsx"; +import Launchpad from "./Launchpad.jsx"; +import TermixIcon from "./images/termix_icon.png"; +import RocketIcon from './images/launchpad_rocket.png'; function App() { const [isAddHostHidden, setIsAddHostHidden] = useState(true); @@ -15,8 +19,24 @@ function App() { ip: "", user: "", password: "", - port: 22 + port: 22, }); + const [isLaunchpadOpen, setIsLaunchpadOpen] = useState(false); + + // Toggle Launchpad when "L" key is pressed + useEffect(() => { + const handleKeyDown = (e) => { + if (e.ctrlKey && e.key === "l") { + e.preventDefault(); + setIsLaunchpadOpen((prev) => !prev); + } + }; + + window.addEventListener("keydown", handleKeyDown); + return () => { + window.removeEventListener("keydown", handleKeyDown); + }; + }, []); const handleAddHost = () => { if (form.ip && form.user && form.password && form.port) { @@ -41,7 +61,7 @@ function App() { }; const closeTab = (id) => { - const newTerminals = terminals.filter(t => t.id !== id); + const newTerminals = terminals.filter((t) => t.id !== id); setTerminals(newTerminals); if (activeTab === id) { setActiveTab(newTerminals[0]?.id || null); @@ -51,74 +71,88 @@ function App() { return (
- {/* Sidebar */} -
-
-

Termix

+
+ {/* Topbar */} +
+ {/* Left: Title */} +
+ Termix Icon +

Termix

+
+ + {/* Middle: Tabs with scroll */} +
+
+ +
+
+ + {/* Open Launchpad Button */} + + + {/* Right: Create Host Button */}
-
- - {/* Main Content Area */} -
- {/* Topbar */} -
-
- {terminals.map((terminal, index) => ( -
- {/* Tab Button Group */} - - - - - - {/* Separator (except after the last tab) */} - {index !== terminals.length - 1 && ( -
- )} -
- ))} -
-
{/* Terminal Views */}
{terminals.map((terminal) => (
@@ -126,7 +160,6 @@ function App() {
- {/* Add Host Modal */} + + {/* Launchpad Component */} + {isLaunchpadOpen && ( + setIsLaunchpadOpen(false)} /> + )}
); diff --git a/src/Launchpad.jsx b/src/Launchpad.jsx new file mode 100644 index 00000000..10b4be47 --- /dev/null +++ b/src/Launchpad.jsx @@ -0,0 +1,34 @@ +import {Button} from "@mui/joy"; +import PropTypes from 'prop-types'; + +function Launchpad({ onClose }) { + return ( +
+
+

Launchpad

+

This is your all-in-one launchpad panel.

+ +
+
+ ); +} + +Launchpad.propTypes = { + onClose: PropTypes.func.isRequired, +}; + +export default Launchpad; \ No newline at end of file diff --git a/src/TabList.jsx b/src/TabList.jsx new file mode 100644 index 00000000..79073a6b --- /dev/null +++ b/src/TabList.jsx @@ -0,0 +1,60 @@ +import {Button, ButtonGroup} from "@mui/joy"; +import PropTypes from "prop-types"; + +function TabList({ terminals, activeTab, setActiveTab, closeTab, theme }) { + return ( +
+ {terminals.map((terminal, index) => ( +
+ + + + +
+ ))} +
+ ); +} + +TabList.propTypes = { + terminals: PropTypes.array.isRequired, + activeTab: PropTypes.any, + setActiveTab: PropTypes.func.isRequired, + closeTab: PropTypes.func.isRequired, + theme: PropTypes.object.isRequired, +}; + +export default TabList; \ No newline at end of file diff --git a/src/Terminal.jsx b/src/Terminal.jsx index cbddb960..eb01d1af 100644 --- a/src/Terminal.jsx +++ b/src/Terminal.jsx @@ -36,9 +36,8 @@ export function NewTerminal({ hostConfig }) { // Resize function const resizeTerminal = () => { const terminalContainer = terminalRef.current; - const sidebarWidth = 14 * 16; // Sidebar width in pixels - const topbarHeight = 64; // Topbar height in pixels - const availableWidth = window.innerWidth - sidebarWidth; + const topbarHeight = 65; + const availableWidth = window.innerWidth; const availableHeight = window.innerHeight - topbarHeight; terminalContainer.style.width = `${availableWidth}px`; diff --git a/src/images/launchpad_rocket.png b/src/images/launchpad_rocket.png new file mode 100644 index 0000000000000000000000000000000000000000..2afda95b01fa27e3be4e585410dc4827ddfa4778 GIT binary patch literal 11789 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 literal 0 HcmV?d00001 diff --git a/src/images/termix_icon.png b/src/images/termix_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..48dbc4f336d2c4b19a7145be73e27a9f12a0ca16 GIT binary patch literal 40273 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%0DD^jJDB-(ZoBAbT?wpgb=< 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 Do57sO literal 0 HcmV?d00001