diff --git a/client/web/src/components/app.tsx b/client/web/src/components/app.tsx index 004bc39c5..cf06ee724 100644 --- a/client/web/src/components/app.tsx +++ b/client/web/src/components/app.tsx @@ -1,35 +1,37 @@ +import cx from "classnames" import React from "react" -import { Footer, Header, IP, State } from "src/components/legacy" -import useAuth, { AuthResponse } from "src/hooks/auth" +import LegacyClientView from "src/components/views/legacy-client-view" +import LoginClientView from "src/components/views/login-client-view" +import ReadonlyClientView from "src/components/views/readonly-client-view" +import useAuth from "src/hooks/auth" import useNodeData, { NodeData } from "src/hooks/node-data" -import { ReactComponent as ConnectedDeviceIcon } from "src/icons/connected-device.svg" -import { ReactComponent as TailscaleIcon } from "src/icons/tailscale-icon.svg" -import { ReactComponent as TailscaleLogo } from "src/icons/tailscale-logo.svg" +import ManagementClientView from "./views/management-client-view" export default function App() { - // TODO(sonia): use isPosting value from useNodeData - // to fill loading states. const { data, refreshData, updateNode } = useNodeData() - if (!data) { - // TODO(sonia): add a loading view - return
Loading...
- } - - const needsLogin = data?.Status === "NeedsLogin" || data?.Status === "NoState" - - return !needsLogin && - (data.DebugMode === "login" || data.DebugMode === "full") ? ( - - ) : ( - // Legacy client UI -
-
-
- - -
-