mirror of
https://github.com/vercel/commerce.git
synced 2025-05-12 12:47:50 +00:00
commit b10e930476d8bbe82f679f3ae8ed44cea733898f Merge: a2c34aa 8531476 Author: Sammii <sammii.h@icloud.com> Date: Wed Apr 24 20:05:09 2024 +0100 Merge pull request #1 from Sammii-HK/feat/restyle-store Feat/restyle store commit 85314765721447f5612cb59b7e668653606e7b7b Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 20:03:12 2024 +0100 responsive design app page carousel commit d5563a7355c2581c29ebf3f11799e1047c0c29dd Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 19:57:47 2024 +0100 updating mobile carousel tile size commit 9976d0d427ea92dab510bface5da9a4e89feabee Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 19:30:07 2024 +0100 updating combox import commit f6a365df8239d26d5feb37cf53d43632ab7c90c4 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 19:16:08 2024 +0100 styling label price commit cf89e3b0648bb07ed038f872183bd7ecea064df0 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 19:08:16 2024 +0100 styling accordians and drop downs commit 49f3776ba8894d5fd2aa6b2fea0632f73d6ae093 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 18:53:14 2024 +0100 updating search and carousel styling commit 7666a25f918a1b53a088dd9240077af5b9013712 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 18:37:29 2024 +0100 styling product description commit b8280101ad367abfe48aed4fee8ef32ed1fd5d67 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 18:18:11 2024 +0100 removing `-full` from all rounded elements commit 77480edd79327898aa2c417d34d231db1d593736 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 18:15:27 2024 +0100 styling cart component commit 3ec0c4d5679b20c66442e5002225cbefe927a13e Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 18:06:53 2024 +0100 updating styling commit efcab218934934edea629406b823fd2b2ac3d193 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 18:06:43 2024 +0100 updating carousel for correct types commit b14934af8489a6294f1c47a3a41d40d0a7565550 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 17:57:31 2024 +0100 styling tile commit 0c72e76bad994317d5e39faedfc4aade9a368fe7 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 17:56:50 2024 +0100 styling label commit ca24a30543ddfbdd345ac405b14e0541a9af1020 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 17:54:54 2024 +0100 update main app layout for dark view commit 57c1c4cac9a15c2091f652f53f7bb85a6a5b613a Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 17:52:53 2024 +0100 commenting out weight li on description content commit d2f0ac2041b04117e24db0316b470646489aca07 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 17:52:02 2024 +0100 updating carousel to new style commit 545717006d7f25f36e71b67873d01316aeeafcf9 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 17:50:55 2024 +0100 updating getAllLiveProducts to handle no param commit 0bf97ecdf69b4f7a4aa00c090e09e613fa1aba8a Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 17:50:39 2024 +0100 styling and adjusting footer & navbar commit 18200b4e848affe01ca9014bdf8ac841ce176114 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 17:50:00 2024 +0100 updating cart to bag commit 82c30cdda8d38b3111b539a34127155bb82612d5 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 17:48:32 2024 +0100 SKUs page file check commit e88a45b9d51096b3250062708d5ef1a49138258c Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 17:47:30 2024 +0100 updatibng Prose import path commit 5e81519f983e58758d865b2905f279f34afb67a4 Author: Samantha Kellow <sammii.h@icloud.com> Date: Wed Apr 24 17:45:58 2024 +0100 updating app page metadata commit 9c9a5c035b245d8811a601ba2dd134c5c5f124d7 Author: Samantha Kellow <sammii.h@icloud.com> Date: Tue Apr 23 21:25:05 2024 +0100 making borders muted commit 8a40e08e41a7fdad172e5ffaebb7f791ec66f4e5 Author: Samantha Kellow <sammii.h@icloud.com> Date: Tue Apr 23 20:37:35 2024 +0100 moving ui components to own folder 🧹
92 lines
3.3 KiB
TypeScript
92 lines
3.3 KiB
TypeScript
'use client';
|
|
|
|
import { Dialog, Transition } from '@headlessui/react';
|
|
import Link from 'next/link';
|
|
import { usePathname, useSearchParams } from 'next/navigation';
|
|
import { Fragment, useEffect, useState } from 'react';
|
|
|
|
import { Bars3Icon, XMarkIcon } from '@heroicons/react/24/outline';
|
|
import { Menu } from 'lib/shopify/types';
|
|
import Search from './search';
|
|
|
|
export default function MobileMenu({ menu }: { menu: Menu[] }) {
|
|
const pathname = usePathname();
|
|
const searchParams = useSearchParams();
|
|
const [isOpen, setIsOpen] = useState(false);
|
|
const openMobileMenu = () => setIsOpen(true);
|
|
const closeMobileMenu = () => setIsOpen(false);
|
|
|
|
useEffect(() => {
|
|
const handleResize = () => {
|
|
if (window.innerWidth > 768) {
|
|
setIsOpen(false);
|
|
}
|
|
};
|
|
window.addEventListener('resize', handleResize);
|
|
return () => window.removeEventListener('resize', handleResize);
|
|
}, [isOpen]);
|
|
|
|
useEffect(() => {
|
|
setIsOpen(false);
|
|
}, [pathname, searchParams]);
|
|
|
|
return (
|
|
<>
|
|
<button onClick={openMobileMenu} aria-label="Open mobile menu" className="md:hidden text-white">
|
|
<Bars3Icon className="h-6" />
|
|
</button>
|
|
<Transition show={isOpen}>
|
|
<Dialog onClose={closeMobileMenu} className="relative z-50">
|
|
<Transition.Child
|
|
as={Fragment}
|
|
enter="transition-all ease-in-out duration-300"
|
|
enterFrom="opacity-0 backdrop-blur-none"
|
|
enterTo="opacity-100 backdrop-blur-[.5px]"
|
|
leave="transition-all ease-in-out duration-200"
|
|
leaveFrom="opacity-100 backdrop-blur-[.5px]"
|
|
leaveTo="opacity-0 backdrop-blur-none"
|
|
>
|
|
<div className="fixed inset-0 bg-black/30" aria-hidden="true" />
|
|
</Transition.Child>
|
|
<Transition.Child
|
|
as={Fragment}
|
|
enter="transition-all ease-in-out duration-300"
|
|
enterFrom="translate-x-[-100%]"
|
|
enterTo="translate-x-0"
|
|
leave="transition-all ease-in-out duration-200"
|
|
leaveFrom="translate-x-0"
|
|
leaveTo="translate-x-[-100%]"
|
|
>
|
|
<Dialog.Panel className="fixed bottom-0 left-0 right-0 top-0 flex h-full w-full flex-col bg-neutral-800/95 pb-6 dark:bg-black">
|
|
<div className="p-4">
|
|
<button className="mb-4" onClick={closeMobileMenu} aria-label="Close mobile menu">
|
|
<XMarkIcon className="h-6" />
|
|
</button>
|
|
|
|
<div className="mb-4 w-full">
|
|
<Search />
|
|
</div>
|
|
{menu.length ? (
|
|
<ul className="flex flex-col">
|
|
{menu.map((item: Menu) => (
|
|
<li className="mb-4" key={item.title}>
|
|
<Link
|
|
href={item.path}
|
|
className="rounded-lg py-1 text-xl text-neutral-200 transition-colors hover:text-neutral-500 dark:text-white"
|
|
onClick={closeMobileMenu}
|
|
>
|
|
{item.title}
|
|
</Link>
|
|
</li>
|
|
))}
|
|
</ul>
|
|
) : null}
|
|
</div>
|
|
</Dialog.Panel>
|
|
</Transition.Child>
|
|
</Dialog>
|
|
</Transition>
|
|
</>
|
|
);
|
|
}
|