Navigation

The storefront navigation system - navbar, quick links, mobile bottom bar, and responsive layout.

The navigation system is split into a sticky top navbar for desktop and a fixed bottom bar for mobile. By default, navigation links are hardcoded. Use /vercel-shop:enable-shopify-menus to fetch menus from Shopify.

A sticky header (z-30) that composes the logo/brand link, quick links, and the cart icon. On mobile, a hamburger menu appears to the left of the logo and the quick links are hidden.

A horizontal link bar with hardcoded defaults: Shop and About. The component already accepts a Shopify-shaped MenuItem[] and renders up to three levels via an inline hover panel; the enable-shopify-menus skill swaps the data source over to a Shopify Navigation menu. Hidden on mobile (md:flex).

Mobile menu

A hamburger icon to the left of the logo, visible below the md breakpoint. Tapping it opens a Sheet sliding in from the left with the same navigation links as the desktop quick links. The sheet closes automatically when a link is tapped. By default the mobile sheet leaves breathing room below the close button and renders each link as a padded touch target instead of plain text rows. The same hardcoded links are used by default; the enable-shopify-menus skill can replace them with Shopify-powered menus.

A search icon in the navbar opens a centered modal dialog. The modal contains a search input with predictive results powered by Shopify's predictiveSearch API. When the user types, suggestion chips and matching products appear below the input. Clicking a product navigates to its page; a "View all" button navigates to the full search results page. The modal closes on navigation, Escape, or clicking outside.

Cart icon

The cart icon is a server/client component pair. The server component reads the shopify_cartId cookie and fetches the initial cart. The client component renders a quantity badge with an animation for pending additions and opens the cart overlay on click.

By default the footer renders only a copyright notice. The enable-shopify-menus skill adds Shopify-powered footer columns with headings and links.

Mobile bottom bar

A fixed bar at the bottom of the viewport. It renders only when it has children (e.g. the optional agent button).

Responsive behavior

Desktop (md and up) - full horizontal navbar with quick links and cart sheet.

Mobile (below md) - hamburger menu to the left of the logo opens a left-sliding sheet with navigation links. The cart and search icons remain in the top bar. The agent button (when enabled) lives in the fixed bottom bar.

Key files

FilePurpose
components/nav/index.tsxNavbar composition
components/nav/mobile-menu.tsxMobile hamburger sheet
components/nav/search-modal.tsxSearch icon and predictive-search modal
components/action-bar/index.tsxFixed bottom bar (agent button slot)

quick-links, cart / cart-client, and the footer components sit in their respective directories; the footer page covers footer composition.

Chat

Tip: You can open and close chat with I

0 / 1000