mirror of
https://github.com/YuzuZensai/Termix.git
synced 2026-09-13 18:58:52 +00:00
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import React from "react"
|
|
|
|
import {Homepage} from "@/apps/Homepage/Homepage.tsx"
|
|
import {SSH} from "@/apps/SSH/Terminal/SSH.tsx"
|
|
import {SSHTunnel} from "@/apps/SSH/Tunnel/SSHTunnel.tsx";
|
|
import {ConfigEditor} from "@/apps/SSH/Config Editor/ConfigEditor.tsx";
|
|
import {SSHManager} from "@/apps/SSH/Manager/SSHManager.tsx"
|
|
|
|
function App() {
|
|
const [view, setView] = React.useState<string>("homepage")
|
|
|
|
const renderActiveView = () => {
|
|
switch (view) {
|
|
case "homepage":
|
|
return <Homepage
|
|
onSelectView={setView}
|
|
/>
|
|
case "ssh_manager":
|
|
return <SSHManager
|
|
onSelectView={setView}
|
|
/>
|
|
case "terminal":
|
|
return <SSH
|
|
onSelectView={setView}
|
|
/>
|
|
case "tunnel":
|
|
return <SSHTunnel
|
|
onSelectView={setView}
|
|
/>
|
|
case "config_editor":
|
|
return <ConfigEditor
|
|
onSelectView={setView}
|
|
/>
|
|
}
|
|
}
|
|
|
|
return (
|
|
<div className="flex min-h-svh w-full">
|
|
<main className="flex-1 w-full">
|
|
{renderActiveView()}
|
|
</main>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
export default App |