From c0b68f9e5bd9ba6455d664d787c94d6bc0e88814 Mon Sep 17 00:00:00 2001 From: Arvid Norlin Date: Thu, 11 Apr 2024 13:44:04 +0200 Subject: [PATCH] refactor: Extract Sidebar Link to component --- .../(live)/(protected)/my-pages/layout.tsx | 9 ++---- components/MyPages/Sidebar/index.tsx | 19 +++--------- components/TempDesignSystem/Link/index.tsx | 29 +++++++++++++++++ .../TempDesignSystem/Link/link.module.css | 31 +++++++++++++++++++ components/TempDesignSystem/Link/link.ts | 9 ++++++ components/TempDesignSystem/Link/variants.ts | 26 ++++++++++++++++ types/requests/myPages/navigation.ts | 1 - 7 files changed, 102 insertions(+), 22 deletions(-) create mode 100644 components/TempDesignSystem/Link/index.tsx create mode 100644 components/TempDesignSystem/Link/link.module.css create mode 100644 components/TempDesignSystem/Link/link.ts create mode 100644 components/TempDesignSystem/Link/variants.ts diff --git a/app/[lang]/(live)/(protected)/my-pages/layout.tsx b/app/[lang]/(live)/(protected)/my-pages/layout.tsx index 76f346e5e..41c11dbfb 100644 --- a/app/[lang]/(live)/(protected)/my-pages/layout.tsx +++ b/app/[lang]/(live)/(protected)/my-pages/layout.tsx @@ -30,16 +30,11 @@ function getURL(node: PageLink) { function mapMenuItems(navigationItems: NavigationItem[]) { return navigationItems.map(({ item }): MenuItem => { const { node } = item.pageConnection.edges[0] - const { - title, - system: { uid }, - } = node return { - title, - uid, + uid: node.system.uid, url: getURL(node), - linkText: item.link_text, + linkText: item.link_text || node.title, subItems: item.sub_items ? mapMenuItems(item.sub_items) : null, } }) diff --git a/components/MyPages/Sidebar/index.tsx b/components/MyPages/Sidebar/index.tsx index 2a10f7307..be9c8e42e 100644 --- a/components/MyPages/Sidebar/index.tsx +++ b/components/MyPages/Sidebar/index.tsx @@ -1,38 +1,29 @@ "use client" import { LogOut } from "react-feather" -import Link from "next/link" +import Link from "../../TempDesignSystem/Link" import styles from "./sidebar.module.css" import { SidebarProps } from "@/types/requests/myPages/navigation" -import { usePathname } from "next/navigation" import { Fragment } from "react" export default function Sidebar({ menuItems }: SidebarProps) { - const currentPageSlug = `/${usePathname() - .split("/") - .filter((v) => v) - .at(-1)}` - return (