setSelectedCompanyId(company.id)}
+ onSelect={() => {
+ setSelectedCompanyId(company.id);
+ if (isInstanceRoute) {
+ navigate(`/${company.issuePrefix}/dashboard`);
+ }
+ }}
/>
))}
diff --git a/ui/src/components/InstanceSidebar.tsx b/ui/src/components/InstanceSidebar.tsx
new file mode 100644
index 00000000..ac933aa1
--- /dev/null
+++ b/ui/src/components/InstanceSidebar.tsx
@@ -0,0 +1,21 @@
+import { Clock3, Settings } from "lucide-react";
+import { SidebarNavItem } from "./SidebarNavItem";
+
+export function InstanceSidebar() {
+ return (
+
+ );
+}
diff --git a/ui/src/components/Layout.tsx b/ui/src/components/Layout.tsx
index e12e6717..12cc6f88 100644
--- a/ui/src/components/Layout.tsx
+++ b/ui/src/components/Layout.tsx
@@ -1,9 +1,10 @@
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { useQuery } from "@tanstack/react-query";
-import { BookOpen, Moon, Sun } from "lucide-react";
-import { Outlet, useLocation, useNavigate, useParams } from "@/lib/router";
+import { BookOpen, Moon, Settings, Sun } from "lucide-react";
+import { Link, Outlet, useLocation, useNavigate, useParams } from "@/lib/router";
import { CompanyRail } from "./CompanyRail";
import { Sidebar } from "./Sidebar";
+import { InstanceSidebar } from "./InstanceSidebar";
import { SidebarNavItem } from "./SidebarNavItem";
import { BreadcrumbBar } from "./BreadcrumbBar";
import { PropertiesPanel } from "./PropertiesPanel";
@@ -42,6 +43,7 @@ export function Layout() {
const { companyPrefix } = useParams<{ companyPrefix: string }>();
const navigate = useNavigate();
const location = useLocation();
+ const isInstanceSettingsRoute = location.pathname.startsWith("/instance/");
const onboardingTriggered = useRef(false);
const lastMainScrollTop = useRef(0);
const [mobileNavVisible, setMobileNavVisible] = useState(true);
@@ -242,7 +244,7 @@ export function Layout() {
>
-
+ {isInstanceSettingsRoute ? : }
@@ -252,6 +254,18 @@ export function Layout() {
icon={BookOpen}
className="flex-1 min-w-0"
/>
+
@@ -287,6 +301,18 @@ export function Layout() {
icon={BookOpen}
className="flex-1 min-w-0"
/>
+