Reusable product display components for the shop storefront.
Provides product card and pagination components shared between the main catalog page and category pages.
Summary
Functions
Renders a product card with image, title, price, and optional category badge.
Renders a "load more" button + page links for product grids.
Compact "browse / cart" bar for storefront pages.
Functions
Renders a product card with image, title, price, and optional category badge.
Attributes
product(:map) (required)currency(:any) (required)language(:string) - Defaults to"en".filter_qs(:string) - Defaults to"".show_category(:boolean) - Defaults tofalse.
Renders a "load more" button + page links for product grids.
Attributes
page(:integer) (required)total_pages(:integer) (required)total_products(:integer) (required)per_page(:integer) (required)base_path(:string) (required)active_filters(:map) - Defaults to%{}.enabled_filters(:list) - Defaults to[].
Compact "browse / cart" bar for storefront pages.
The storefront used to ship its own top-level layout carrying a cart
link, a language switcher and a home link. Rendering inside the HOST's
layout is the right call — the shop should look like the site — but a
host whose header has no cart link would leave a shopper with no way
back to their cart. This is the replacement: in-content (so it composes
with any host chrome rather than competing with it), server-rendered,
and switchable off via shop_show_cart_bar by hosts that carry their
own.
Attributes
language(:string) (required)cart_count(:integer) - Defaults to0.class(:string) - Defaults to"".