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.
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:
- The active vehicle updates in shared state.
- Any collection grid on the page refetches and re-filters.
- Any product verdict on the page re-renders.
- 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.
Support is answered by the people who wrote this code — not a ticket queue.