From b12ea362379980d24e94dc55e935de1aa0dd9768 Mon Sep 17 00:00:00 2001 From: Timur Ercan Date: Wed, 4 Jan 2023 15:04:28 +0100 Subject: [PATCH] settings nav --- apps/web/components/layout.tsx | 6 ++-- apps/web/components/settings.tsx | 34 ++++++++++++++++--- apps/web/pages/settings/account.tsx | 2 ++ .../{settings.tsx => settings/index.tsx} | 6 ++-- apps/web/pages/settings/password.tsx | 2 ++ apps/web/pages/settings/profile.tsx | 2 ++ 6 files changed, 41 insertions(+), 11 deletions(-) create mode 100644 apps/web/pages/settings/account.tsx rename apps/web/pages/{settings.tsx => settings/index.tsx} (64%) create mode 100644 apps/web/pages/settings/password.tsx create mode 100644 apps/web/pages/settings/profile.tsx diff --git a/apps/web/components/layout.tsx b/apps/web/components/layout.tsx index 44310c5f3..bc4bca5a4 100644 --- a/apps/web/components/layout.tsx +++ b/apps/web/components/layout.tsx @@ -19,9 +19,9 @@ const user = { "https://pbs.twimg.com/profile_images/1382036502390181888/4BT30oTM_400x400.jpg", }; const navigation = [ - { name: "Dashboard", href: "/dashboard", current: true }, + { name: "Dashboard", href: "/dashboard", current: false }, { name: "Documents", href: "/documents", current: false }, - { name: "Settings", href: "/settings" }, + { name: "Settings", href: "/settings", current: true }, ]; const userNavigation = [ { name: "Your Profile", href: "/settings" }, @@ -42,7 +42,7 @@ function classNames(...classes: any) { export default function Layout({ children }: any) { const router = useRouter(); navigation.forEach((element) => { - element.current = element.href == router.route; + element.current = router.route.startsWith(element.href); }); return ( diff --git a/apps/web/components/settings.tsx b/apps/web/components/settings.tsx index a9d0677d6..08b34cdf0 100644 --- a/apps/web/components/settings.tsx +++ b/apps/web/components/settings.tsx @@ -12,6 +12,8 @@ import { XMarkIcon, UsersIcon, } from "@heroicons/react/24/outline"; +import { useRouter } from "next/router"; +import Link from "next/link"; const user = { name: "Debbie Lewis", @@ -22,9 +24,24 @@ const user = { }; const subNavigation = [ - { name: "Profile", href: "#", icon: UserCircleIcon, current: true }, - { name: "Password", href: "#", icon: KeyIcon, current: false }, - { name: "Account", href: "#", icon: CogIcon, current: false }, + { + name: "Profile", + href: "/settings/profile", + icon: UserCircleIcon, + current: true, + }, + { + name: "Password", + href: "/settings/password", + icon: KeyIcon, + current: false, + }, + { + name: "Account", + href: "/settings/account", + icon: CogIcon, + current: false, + }, ]; function classNames(...classes: any) { @@ -37,6 +54,13 @@ export default function Setttings() { const [allowCommenting, setAllowCommenting] = useState(true); const [allowMentions, setAllowMentions] = useState(true); + const router = useRouter(); + console.log(router.route); + + subNavigation.forEach((element) => { + element.current = element.href == router.route; + }); + return (
@@ -52,7 +76,7 @@ export default function Setttings() { diff --git a/apps/web/pages/settings/account.tsx b/apps/web/pages/settings/account.tsx new file mode 100644 index 000000000..e593d261a --- /dev/null +++ b/apps/web/pages/settings/account.tsx @@ -0,0 +1,2 @@ +import SettingsPage from "."; +export default SettingsPage; diff --git a/apps/web/pages/settings.tsx b/apps/web/pages/settings/index.tsx similarity index 64% rename from apps/web/pages/settings.tsx rename to apps/web/pages/settings/index.tsx index 87da14667..044e8c1f1 100644 --- a/apps/web/pages/settings.tsx +++ b/apps/web/pages/settings/index.tsx @@ -1,7 +1,7 @@ import type { ReactElement } from "react"; -import Layout from "../components/layout"; -import Settings from "../components/settings"; -import type { NextPageWithLayout } from "./_app"; +import Layout from "../../components/layout"; +import Settings from "../../components/settings"; +import type { NextPageWithLayout } from "../_app"; const SettingsPage: NextPageWithLayout = () => { return ; diff --git a/apps/web/pages/settings/password.tsx b/apps/web/pages/settings/password.tsx new file mode 100644 index 000000000..e593d261a --- /dev/null +++ b/apps/web/pages/settings/password.tsx @@ -0,0 +1,2 @@ +import SettingsPage from "."; +export default SettingsPage; diff --git a/apps/web/pages/settings/profile.tsx b/apps/web/pages/settings/profile.tsx new file mode 100644 index 000000000..e593d261a --- /dev/null +++ b/apps/web/pages/settings/profile.tsx @@ -0,0 +1,2 @@ +import SettingsPage from "."; +export default SettingsPage;