From 5ad4654c55b809f4137ffeb9640c2a5f3a71a972 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Meyer?= Date: Thu, 27 Jul 2023 17:14:18 +0200 Subject: [PATCH] feat(poc): changes for new design --- app/product/[...handle]/page.tsx | 6 +- .../(collection)/[...collection]/page.tsx | 19 +++-- app/search/page.tsx | 16 ++-- components/collection/pagination.tsx | 14 ++-- components/grid/tile.tsx | 3 +- components/icons/logo.tsx | 26 +++--- components/layout/footer-menu.tsx | 32 ++++--- components/layout/footer.tsx | 84 +++++-------------- components/layout/navbar/index.tsx | 10 +-- components/logo-square.tsx | 2 + components/opengraph-image.tsx | 2 +- components/product/gallery.tsx | 2 +- components/product/product-description.tsx | 14 ++-- 13 files changed, 106 insertions(+), 124 deletions(-) diff --git a/app/product/[...handle]/page.tsx b/app/product/[...handle]/page.tsx index e29b6b705..dec1d895f 100644 --- a/app/product/[...handle]/page.tsx +++ b/app/product/[...handle]/page.tsx @@ -8,7 +8,7 @@ import { Gallery } from 'components/product/gallery'; import { ProductDescription } from 'components/product/product-description'; import { HIDDEN_PRODUCT_TAG } from 'lib/constants'; import { getProduct, getProductRecommendations } from 'lib/shopware'; -import { Image } from 'lib/shopify/types'; +import { Image } from 'lib/shopware/types'; import Link from 'next/link'; export const runtime = 'edge'; @@ -132,8 +132,8 @@ async function RelatedProducts({ id }: { id: string }) { currencyCode: product.priceRange.maxVariantPrice.currencyCode }} src={product.featuredImage?.url} - width={600} - height={600} + width={500} + height={500} /> ); diff --git a/app/search/(collection)/[...collection]/page.tsx b/app/search/(collection)/[...collection]/page.tsx index a86346b1f..43c7272d9 100644 --- a/app/search/(collection)/[...collection]/page.tsx +++ b/app/search/(collection)/[...collection]/page.tsx @@ -58,13 +58,18 @@ export default async function CategoryPage({ - + {total > limit ? ( + + ) : null}
diff --git a/app/search/page.tsx b/app/search/page.tsx index 992806e69..ae3fb916b 100644 --- a/app/search/page.tsx +++ b/app/search/page.tsx @@ -25,7 +25,7 @@ export default async function SearchPage({ return ( <> {searchValue && products.length === 0 ? ( -
+

{'There are no products that match '} "{searchValue}" @@ -33,20 +33,22 @@ export default async function SearchPage({

) : null} {products.length > 0 ? ( -
-
+
+
{searchValue ? ( -

+

{`Showing ${products.length} ${resultsText} for `} "{searchValue}"

) : null} -

Good place to add other suggest search terms ;)

+

+ Good place to add other suggested search terms ;) +

- + -
+
diff --git a/components/collection/pagination.tsx b/components/collection/pagination.tsx index bfd8aec31..57f079ca0 100644 --- a/components/collection/pagination.tsx +++ b/components/collection/pagination.tsx @@ -1,6 +1,8 @@ 'use client'; import ReactPaginate from 'react-paginate'; +import { ArrowLeftIcon } from '@heroicons/react/24/outline'; +import { ArrowRightIcon } from '@heroicons/react/24/outline'; import { createUrl } from 'lib/utils'; import { usePathname, useSearchParams, useRouter } from 'next/navigation'; @@ -52,18 +54,18 @@ export default function Pagination({ initialPage={currentPage} pageCount={pageCount} breakLabel="..." - nextLabel=">>" - previousLabel="<<" + nextLabel= + previousLabel= renderOnZeroPageCount={null} containerClassName="inline sm:flex text-base h-10 mx-auto" activeClassName="active" - pageClassName="m-2 sm:m-0 sm:mx-2 text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white [&.active]:bg-gray-100" + pageClassName="m-2 sm:m-0 sm:mx-2 text-gray-500 bg-white border rounded-lg border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white [&.active]:bg-gray-100" pageLinkClassName="flex items-center justify-center px-4 h-10 ml-0 leading-tight" - previousClassName="m-2 sm:m-0 sm:mx-2 text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white [&.disabled]:hidden" + previousClassName="m-2 sm:m-0 sm:mx-2 text-gray-500 bg-white border rounded-lg border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white [&.disabled]:hidden" previousLinkClassName="flex items-center justify-center px-4 h-10 ml-0 leading-tight" - nextClassName="m-2 sm:m-0 sm:mx-2 text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white [&.disabled]:hidden" + nextClassName="m-2 sm:m-0 sm:mx-2 text-gray-500 bg-white border rounded-lg border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white [&.disabled]:hidden" nextLinkClassName="flex items-center justify-center px-4 h-10 ml-0 leading-tight" - breakClassName="m-2 sm:m-0 sm:mx-2 text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white" + breakClassName="m-2 sm:m-0 sm:mx-2 text-gray-500 bg-white border rounded-lg border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white" breakLinkClassName="flex items-center justify-center px-4 h-10 ml-0 leading-tight" /> diff --git a/components/grid/tile.tsx b/components/grid/tile.tsx index 783a919b1..3bd9da080 100644 --- a/components/grid/tile.tsx +++ b/components/grid/tile.tsx @@ -33,7 +33,8 @@ export function GridTileImage({ diff --git a/components/icons/logo.tsx b/components/icons/logo.tsx index 46fa02464..4edce3245 100644 --- a/components/icons/logo.tsx +++ b/components/icons/logo.tsx @@ -1,16 +1,18 @@ -import clsx from 'clsx'; +import Image from 'next/image'; -export default function LogoIcon(props: React.ComponentProps<'svg'>) { +export type ImageProps = { + width?: number | string; + height?: number | string; + className?: string; +}; + +export default function LogoIcon(props: ImageProps) { return ( - - - - + Shopware Composable Frontends Logo ); } diff --git a/components/layout/footer-menu.tsx b/components/layout/footer-menu.tsx index 696f61fc0..22be798be 100644 --- a/components/layout/footer-menu.tsx +++ b/components/layout/footer-menu.tsx @@ -1,7 +1,7 @@ 'use client'; import clsx from 'clsx'; -import { Menu } from 'lib/shopify/types'; +import { Menu } from 'lib/shopware/types'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; import { useEffect, useState } from 'react'; @@ -15,7 +15,7 @@ const FooterMenuItem = ({ item }: { item: Menu }) => { }, [pathname, item.path]); return ( -
  • +
  • { export default function FooterMenu({ menu }: { menu: Menu[] }) { if (!menu.length) return null; - return ( -