diff --git a/src/frontend/src/components/headerComponent/index.tsx b/src/frontend/src/components/headerComponent/index.tsx index ed9c33759..ff48c5f79 100644 --- a/src/frontend/src/components/headerComponent/index.tsx +++ b/src/frontend/src/components/headerComponent/index.tsx @@ -190,16 +190,9 @@ export default function Header(): JSX.Element { navigate("/global-variables")} + onClick={() => navigate("/settings")} > - Global Variables - - - navigate("/shortcuts")} - > - Shortcuts + Settings {!autoLogin && ( <> diff --git a/src/frontend/src/pages/GlobalVariablesPage/index.tsx b/src/frontend/src/pages/GlobalVariablesPage/index.tsx index 4c0aec707..41e72bcc0 100644 --- a/src/frontend/src/pages/GlobalVariablesPage/index.tsx +++ b/src/frontend/src/pages/GlobalVariablesPage/index.tsx @@ -1,26 +1,30 @@ import IconComponent from "../../components/genericIconComponent"; import { Button } from "../../components/ui/button"; -import PageLayout from "../../components/pageLayout"; import TableComponent from "../../components/tableComponent"; export default function GlobalVariablesPage() { return ( - +
+
+
+

Global Variables

+

+ Manage and assign global variables to default fields. You can add + new global variables by clicking the button. +

+
+
- - } - > +
+
+
- +
); } diff --git a/src/frontend/src/pages/SettingsPage/index.tsx b/src/frontend/src/pages/SettingsPage/index.tsx new file mode 100644 index 000000000..0bf50a46e --- /dev/null +++ b/src/frontend/src/pages/SettingsPage/index.tsx @@ -0,0 +1,51 @@ +import { useEffect } from "react"; +import { Outlet } from "react-router-dom"; +import ForwardedIconComponent from "../../components/genericIconComponent"; +import PageLayout from "../../components/pageLayout"; +import SidebarNav from "../../components/sidebarComponent"; +import useFlowsManagerStore from "../../stores/flowsManagerStore"; + +export default function SettingsPage(): JSX.Element { + const pathname = location.pathname; + const setCurrentFlowId = useFlowsManagerStore( + (state) => state.setCurrentFlowId + ); + useEffect(() => { + setCurrentFlowId(""); + }, [pathname]); + + const sidebarNavItems = [ + { + title: "Global Variables", + href: "/settings/global-variables", + icon: ( + + ), + }, + { + title: "Keyboard Shortcuts", + href: "/settings/shortcuts", + icon: ( + + ), + }, + ]; + return ( + +
+ +
+ +
+
+
+ ); +} diff --git a/src/frontend/src/routes.tsx b/src/frontend/src/routes.tsx index 239a7d870..943a953b0 100644 --- a/src/frontend/src/routes.tsx +++ b/src/frontend/src/routes.tsx @@ -1,5 +1,5 @@ import { useEffect } from "react"; -import { Route, Routes, useNavigate } from "react-router-dom"; +import { Navigate, Route, Routes, useNavigate } from "react-router-dom"; import { ProtectedAdminRoute } from "./components/authAdminGuard"; import { ProtectedRoute } from "./components/authGuard"; import { ProtectedLoginRoute } from "./components/authLoginGuard"; @@ -9,15 +9,16 @@ import AdminPage from "./pages/AdminPage"; import LoginAdminPage from "./pages/AdminPage/LoginPage"; import ApiKeysPage from "./pages/ApiKeysPage"; import FlowPage from "./pages/FlowPage"; +import GlobalVariablesPage from "./pages/GlobalVariablesPage"; import HomePage from "./pages/MainPage"; import ComponentsComponent from "./pages/MainPage/components/components"; import ProfileSettingsPage from "./pages/ProfileSettingsPage"; +import SettingsPage from "./pages/SettingsPage"; import StorePage from "./pages/StorePage"; import ViewPage from "./pages/ViewPage"; import DeleteAccountPage from "./pages/deleteAccountPage"; import LoginPage from "./pages/loginPage"; import SignUp from "./pages/signUpPage"; -import GlobalVariablesPage from "./pages/GlobalVariablesPage"; const Router = () => { const navigate = useNavigate(); @@ -46,6 +47,18 @@ const Router = () => { element={} /> + + + + } + > + } /> + } /> + } /> + { } /> - - - - } - />