From 767d7fb4d34194d2295cf5c9f8cc418adb681c0f Mon Sep 17 00:00:00 2001 From: Krzysztof Wolski Date: Wed, 24 May 2023 15:59:34 +0200 Subject: [PATCH] Use breadcrumbs --- .../src/components/basic-layout.tsx | 10 +++- .../src/components/breadcrumbs.tsx | 55 ------------------- .../pages/configuration/choose-provider.tsx | 1 - .../src/pages/configuration/index.tsx | 1 - 4 files changed, 8 insertions(+), 59 deletions(-) delete mode 100644 apps/emails-and-messages/src/components/breadcrumbs.tsx diff --git a/apps/emails-and-messages/src/components/basic-layout.tsx b/apps/emails-and-messages/src/components/basic-layout.tsx index ed6dace..58e4a87 100644 --- a/apps/emails-and-messages/src/components/basic-layout.tsx +++ b/apps/emails-and-messages/src/components/basic-layout.tsx @@ -1,5 +1,5 @@ +import { Breadcrumbs } from "@saleor/apps-ui"; import { Box } from "@saleor/macaw-ui/next"; -import { Breadcrumbs } from "./breadcrumbs"; interface BasicLayoutProps { children: React.ReactNode; @@ -10,7 +10,13 @@ interface BasicLayoutProps { export const BasicLayout = ({ children, breadcrumbs, isLoading = false }: BasicLayoutProps) => { return ( - {breadcrumbs?.length && } + {breadcrumbs?.length && ( + + {breadcrumbs.map((breadcrumb) => ( + {breadcrumb.name} + ))} + + )} {children} ); diff --git a/apps/emails-and-messages/src/components/breadcrumbs.tsx b/apps/emails-and-messages/src/components/breadcrumbs.tsx deleted file mode 100644 index a202c72..0000000 --- a/apps/emails-and-messages/src/components/breadcrumbs.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { Box, Text, TextProps } from "@saleor/macaw-ui/next"; -import { TextLink } from "./text-link"; -import icon from "../public/breadcrumb-separator.svg"; -import Image from "next/image"; - -type BreadcrumbItem = { name: string; href?: string }; - -interface BreadcrumbProps extends BreadcrumbItem { - isLast?: boolean; -} - -const Breadcrumb = ({ name, href, isLast }: BreadcrumbProps) => { - const textProps: TextProps = { - variant: "hero", - display: isLast ? "block" : { mobile: "none", desktop: "block" }, - }; - - if (!!href) { - return ( - - {name} - - ); - } - return {name}; -}; - -interface BreadcrumbsProps { - items: Array; -} - -/** - * Displays breadcrumbs for the current page. - * On desktop full path is visible. On mobile only last item is shown. - */ -export const Breadcrumbs = (props: BreadcrumbsProps) => { - if (props.items.length === 0) { - return null; - } - - const items = [...props.items]; - const lastItem = items.pop()!; // can enforce the type since array is at least one element long - - return ( - - {items.map((item) => ( - - - Separator icon - - ))} - - - ); -}; diff --git a/apps/emails-and-messages/src/pages/configuration/choose-provider.tsx b/apps/emails-and-messages/src/pages/configuration/choose-provider.tsx index 729ccd6..4d79823 100644 --- a/apps/emails-and-messages/src/pages/configuration/choose-provider.tsx +++ b/apps/emails-and-messages/src/pages/configuration/choose-provider.tsx @@ -1,6 +1,5 @@ import { Box, Text } from "@saleor/macaw-ui/next"; import { NextPage } from "next"; -import { Breadcrumbs } from "../../components/breadcrumbs"; import { SectionWithDescription } from "../../components/section-with-description"; import { ProviderSelectionBox } from "../../modules/app-configuration/ui/provider-selection-box"; import { useRouter } from "next/router"; diff --git a/apps/emails-and-messages/src/pages/configuration/index.tsx b/apps/emails-and-messages/src/pages/configuration/index.tsx index 20beefb..71bb0dd 100644 --- a/apps/emails-and-messages/src/pages/configuration/index.tsx +++ b/apps/emails-and-messages/src/pages/configuration/index.tsx @@ -1,6 +1,5 @@ import { Box, Text } from "@saleor/macaw-ui/next"; import { NextPage } from "next"; -import { Breadcrumbs } from "../../components/breadcrumbs"; import { SectionWithDescription } from "../../components/section-with-description"; import { ConfigurationListItem,