Storefront widgets

Persistent vehicle bar

Carrying the vehicle across the whole store.

Once a vehicle is chosen, the bar keeps it visible everywhere. It is the widget that makes the rest of the store feel like it remembers the shopper.

Behaviour#

The bar appears only when a vehicle is active, showing the full YMMS with two actions:

Change
opens the shared vehicle selector in place. No navigation; the current page re-answers for the new vehicle.
Clear
deselects the active vehicle. The garage is untouched.

Below 768px it collapses to a compact pill so it never eats the viewport on a phone. It can sit under the header or fixed to the bottom of the screen — bottom tends to win on mobile, where it sits near the thumb.

Clear never wipes the garage

Clearing removes the active selection only. Deleting saved vehicles is a separate, explicit action inside the garage. Nothing on the storefront wipes a customer's saved vehicles in one click, by design.

Placement#

An app embed, not a section block — enable it under Theme editor → App embeds. That is what lets it render on every template, including ones you didn't think about, without adding a block to each.

Settings#

  • Position: below header, or fixed bottom
  • Background and text colour, with automatic contrast correction
  • Whether to show the fitment count for the current page ("248 products fit")
  • Copy for both actions

Interaction with the other widgets#

The bar is the primary way a shopper corrects a mistake. When they change vehicle from the bar:

  1. The active vehicle updates in shared state.
  2. Any collection grid on the page refetches and re-filters.
  3. Any product verdict on the page re-renders.
  4. The cart badge re-verifies in the background.

This is the single canonical treatment — there are no layout variants — because a persistent element that changes shape between templates reads as a bug.

Still stuck?

Support is answered by the people who wrote this code — not a ticket queue.

Contact support