From 4e9778f7d6d6bb18eababdfc1bc70ee0e6a59ca2 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Wed, 10 Jul 2024 11:03:36 +0200 Subject: [PATCH] UI: improve open clan from directory & list machines --- clanModules/matrix-synapse/default.nix | 1 - pkgs/webview-ui/app/mock.ts | 2 +- pkgs/webview-ui/app/src/App.tsx | 12 ++-- pkgs/webview-ui/app/src/Config.tsx | 14 +++-- pkgs/webview-ui/app/src/Sidebar.tsx | 2 +- .../app/src/components/MachineListItem.tsx | 58 +++++++++---------- pkgs/webview-ui/app/src/index.tsx | 32 +++++----- pkgs/webview-ui/app/src/layout/header.tsx | 23 +++++--- .../app/src/routes/blockdevices/view.tsx | 2 +- pkgs/webview-ui/app/src/routes/hosts/view.tsx | 2 +- .../app/src/routes/machines/view.tsx | 20 +++++-- 11 files changed, 95 insertions(+), 73 deletions(-) diff --git a/clanModules/matrix-synapse/default.nix b/clanModules/matrix-synapse/default.nix index 399813e1d..5540f7bc6 100644 --- a/clanModules/matrix-synapse/default.nix +++ b/clanModules/matrix-synapse/default.nix @@ -16,7 +16,6 @@ let > $out/config.json < ${pkgs.element-web}/config.json ln -s $out/config.json $out/config.${nginx-vhost}.json ''; - in # FIXME: This was taken from upstream. Drop this when our patch is upstream { diff --git a/pkgs/webview-ui/app/mock.ts b/pkgs/webview-ui/app/mock.ts index be8094cb7..bc4da6259 100644 --- a/pkgs/webview-ui/app/mock.ts +++ b/pkgs/webview-ui/app/mock.ts @@ -15,7 +15,7 @@ const getFakeResponse = (method: OperationNames, data: any) => { if (method === "open_file") { return { status: "success", - data: "/path/to/clan", + data: "/home/johannes/git/clan-core", op_key, }; } diff --git a/pkgs/webview-ui/app/src/App.tsx b/pkgs/webview-ui/app/src/App.tsx index 9ec712508..4c15d3627 100644 --- a/pkgs/webview-ui/app/src/App.tsx +++ b/pkgs/webview-ui/app/src/App.tsx @@ -4,17 +4,13 @@ import { Layout } from "./layout/layout"; import { Route, Router } from "./Routes"; import { Toaster } from "solid-toast"; -// Global state +// Some global state const [route, setRoute] = createSignal("machines"); - -const [currClanURI, setCurrClanURI] = createSignal( - "/home/johannes/git/testing/xd" -); - -export { currClanURI, setCurrClanURI }; - export { route, setRoute }; +const [currClanURI, setCurrClanURI] = createSignal(null); +export { currClanURI, setCurrClanURI }; + const App: Component = () => { return [ , diff --git a/pkgs/webview-ui/app/src/Config.tsx b/pkgs/webview-ui/app/src/Config.tsx index 0966f3ad0..e73629381 100644 --- a/pkgs/webview-ui/app/src/Config.tsx +++ b/pkgs/webview-ui/app/src/Config.tsx @@ -26,12 +26,16 @@ export const makeMachineContext = () => { { loading, machines }, { getMachines: () => { + const clan_dir = currClanURI(); + + if (clan_dir) { + setLoading(true); + pyApi.list_machines.dispatch({ + debug: true, + flake_url: clan_dir, + }); + } // When the gtk function sends its data the loading state will be set to false - setLoading(true); - pyApi.list_machines.dispatch({ - debug: true, - flake_url: currClanURI(), - }); }, }, ] as const; diff --git a/pkgs/webview-ui/app/src/Sidebar.tsx b/pkgs/webview-ui/app/src/Sidebar.tsx index c39389d32..28deabea1 100644 --- a/pkgs/webview-ui/app/src/Sidebar.tsx +++ b/pkgs/webview-ui/app/src/Sidebar.tsx @@ -9,7 +9,7 @@ export const Sidebar = (props: SidebarProps) => { const { route, setRoute } = props; return (