diff --git a/src/App.tsx b/src/App.tsx index d0d4606e..7381b0d4 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,14 +1,15 @@ -import React, { useState, useEffect } from "react" -import { LeftSidebar } from "@/ui/Navigation/LeftSidebar.tsx" -import { Homepage } from "@/ui/Homepage/Homepage.tsx" -import { Terminal } from "@/ui/SSH/Terminal/Terminal.tsx" -import { SSHTunnel } from "@/ui/SSH/Tunnel/SSHTunnel.tsx" -import { ConfigEditor } from "@/ui/SSH/Config Editor/ConfigEditor.tsx" -import { SSHManager } from "@/ui/SSH/Manager/SSHManager.tsx" +import React, {useState, useEffect} from "react" +import {LeftSidebar} from "@/ui/Navigation/LeftSidebar.tsx" +import {Homepage} from "@/ui/Homepage/Homepage.tsx" +import {Terminal} from "@/ui/SSH/Terminal/Terminal.tsx" +import {SSHTunnel} from "@/ui/SSH/Tunnel/SSHTunnel.tsx" +import {ConfigEditor} from "@/ui/SSH/Config Editor/ConfigEditor.tsx" +import {SSHManager} from "@/ui/SSH/Manager/SSHManager.tsx" import axios from "axios" +import {TopNavbar} from "@/ui/Navigation/TopNavbar.tsx"; const apiBase = import.meta.env.DEV ? "http://localhost:8081/users" : "/users"; -const API = axios.create({ baseURL: apiBase }); +const API = axios.create({baseURL: apiBase}); function getCookie(name: string) { return document.cookie.split('; ').reduce((r, v) => { @@ -51,12 +52,12 @@ function App() { setAuthLoading(false); } } - + checkAuth() const handleStorageChange = () => checkAuth() window.addEventListener('storage', handleStorageChange) - + return () => window.removeEventListener('storage', handleStorageChange) }, []) @@ -71,38 +72,41 @@ function App() { } return ( - - {mountedViews.has("homepage") && ( -
- -
- )} - {mountedViews.has("ssh_manager") && ( -
- -
- )} - {mountedViews.has("terminal") && ( -
- -
- )} - {mountedViews.has("tunnel") && ( -
- -
- )} - {mountedViews.has("config_editor") && ( -
- -
- )} -
+
+ + {mountedViews.has("homepage") && ( +
+ +
+ )} + {mountedViews.has("ssh_manager") && ( +
+ +
+ )} + {mountedViews.has("terminal") && ( +
+ +
+ )} + {mountedViews.has("tunnel") && ( +
+ +
+ )} + {mountedViews.has("config_editor") && ( +
+ +
+ )} + +
+
) } diff --git a/src/ui/Navigation/TopNavbar.tsx b/src/ui/Navigation/TopNavbar.tsx new file mode 100644 index 00000000..235f7d1f --- /dev/null +++ b/src/ui/Navigation/TopNavbar.tsx @@ -0,0 +1,19 @@ +import React from "react"; +import { useSidebar } from "@/components/ui/sidebar"; + +export function TopNavbar(): React.ReactElement { + const { state } = useSidebar(); + + return ( +
+ +
+ ) +} \ No newline at end of file diff --git a/src/ui/SSH/Manager/SSHManager.tsx b/src/ui/SSH/Manager/SSHManager.tsx index 7c3348f3..3209f11b 100644 --- a/src/ui/SSH/Manager/SSHManager.tsx +++ b/src/ui/SSH/Manager/SSHManager.tsx @@ -58,7 +58,7 @@ export function SSHManager({onSelectView}: ConfigEditorProps): React.ReactElemen