diff --git a/frontends/analytics/src/components/Sidebar.tsx b/frontends/analytics/src/components/Sidebar.tsx index 15b519012f..a3890cf884 100644 --- a/frontends/analytics/src/components/Sidebar.tsx +++ b/frontends/analytics/src/components/Sidebar.tsx @@ -4,7 +4,7 @@ import { UserContext } from "../contexts/UserAuthContext"; import { DatasetAndUsage } from "shared/types"; import { usePathname } from "../hooks/usePathname"; import { useBetterNav } from "../utils/useBetterNav"; -import { Select } from "shared/ui"; +import { Select, Tooltip } from "shared/ui"; import { AiOutlineLineChart, AiOutlineTable, @@ -50,15 +50,48 @@ const navbarRoutes = [ }, ]; +const dashboardURL = import.meta.env.VITE_DASHBOARD_URL as string; +const searchUrl = import.meta.env.VITE_SEARCH_UI_URL as string; +const chatUrl = import.meta.env.VITE_CHAT_UI_URL as string; + export const Sidebar = (props: NavbarProps) => { const userContext = useContext(UserContext); const orgContext = useContext(OrgContext); + const domainNavbarRoutes = createMemo(() => { + const domainNavbarRoutes = [ + { + href: `${dashboardURL}/dashboard/dataset/${props.selectedDataset + ?.dataset.id}/start?org=${orgContext.selectedOrg().id}`, + label: "Dashboard", + icon: TbLayoutDashboard, + }, + { + href: "https://docs.trieve.ai/api-reference/", + label: "API Docs", + icon: AiOutlineApi, + }, + { + href: `${searchUrl}?organization=${ + orgContext.selectedOrg().id + }&dataset=${props.selectedDataset?.dataset.id}`, + label: "Search Playground", + icon: HiOutlineMagnifyingGlass, + }, + { + href: `${chatUrl}?organization=${ + orgContext.selectedOrg().id + }&dataset=${props.selectedDataset?.dataset.id}`, + label: "Chat Playground", + icon: IoChatboxOutline, + }, + ]; + return domainNavbarRoutes; + }); + const pathname = usePathname(); const navigate = useBetterNav(); - const dashboardURL = import.meta.env.VITE_DASHBOARD_URL as string; - const logOut = () => { void fetch(`${apiHost}/auth?redirect_uri=${window.origin}`, { method: "DELETE", @@ -76,118 +109,122 @@ export const Sidebar = (props: NavbarProps) => { }); }; - //Construct a7b64c7f-01ad-43b2-aaaf-c78192ca3d72/start?org=ca34dafa-7826-41b4-9953-cd58617834f1 - const orgDatasetParams = createMemo(() => { - const orgId = orgContext?.selectedOrg().id; - const datasetId = props.selectedDataset?.dataset.id; - let params = ""; - if (datasetId) params += datasetId; - if (orgId && datasetId) params += `/start?org=${orgId}`; - return params; - }); - return ( -