Home de la tienda
Hero con producto destacado, garantías, categorías, más vendidos, banner editorial, novedades y newsletter.
app/page.tsx1 estrella en GitHub = 1 componente nuevo.
Dar una estrellaUna tienda online completa y accesible: home, catálogo, ficha de producto, carrito y checkout.
Nova Store es una plantilla e-commerce lista para producción en Astro. Cinco páginas comparten un carrito que se guarda en el navegador, el catálogo filtra al instante sin backend y el checkout valida, calcula envío, impuestos y códigos promocionales y confirma el pedido. Cada bloque es un componente de la librería: puedes usar la tienda entera o solo las piezas que necesites.
Cada página es una vista previa real e interactiva: el carrito se comparte entre todas.
Hero con producto destacado, garantías, categorías, más vendidos, banner editorial, novedades y newsletter.
app/page.tsxCatálogo con migas de pan, chips de categoría, filtros fijos, contador de resultados y ordenación.
app/shop/page.tsxGalería, bloque de compra con color, talla y cantidad, resumen de reseñas y productos relacionados.
app/product/[slug]/page.tsxCheckout en modo foco con pasos, contacto, entrega, envío, pago y resumen del pedido en vivo.
app/checkout/page.tsxnpm install react-component-kit-uiapp/page.tsx
import { StoreHomePage } from 'react-component-kit-ui/templates/ecommerce';
export default function Page() {
return <StoreHomePage />;
}app/shop/page.tsx
import { StoreCategoryPage } from 'react-component-kit-ui/templates/ecommerce';
export default function Page() {
return (
<>
{/* Category links use /shop/?category=audio */}
<StoreCategoryPage />
</>
);
}app/product/[slug]/page.tsx
import { StoreProductPage, demoStore } from 'react-component-kit-ui/templates/ecommerce';
export const generateStaticParams = () => demoStore.products.map((p) => ({ slug: p.slug }));
export default async function Page({ params }: { params: Promise<{ slug: string }> }) {
const { slug } = await params;
return <StoreProductPage slug={slug} />;
}app/checkout/page.tsx
import { StoreCheckoutPage } from 'react-component-kit-ui/templates/ecommerce';
export default function Page() {
return <StoreCheckoutPage />;
}Parte de la tienda demo y reemplaza lo que necesites. Los productos aceptan una imagen real o una de las 16 ilustraciones incluidas.
import { StoreHomePage, demoStore, type StoreConfig } from 'react-component-kit-ui/templates/ecommerce';
const store: StoreConfig = {
...demoStore,
name: 'My Shop',
currency: 'EUR',
locale: 'es-ES',
cartKey: 'my-shop-cart',
products: [
{
slug: 'linen-shirt',
name: 'Linen Shirt',
price: 59,
category: 'apparel',
image: '/products/linen-shirt.webp', // or icon: 'shirt'
sizes: ['S', 'M', 'L'],
rating: 4.7,
reviews: 40,
},
],
};
export default function Page() {
return <StoreHomePage store={store} routes={{ home: '/', shop: '/shop/', product: '/product/', checkout: '/checkout/' }} />;
}Creados para esta plantilla y disponibles por separado en la librería.
Barra de navegación de tienda con desplegables de categorías, buscador, cuenta y carrito con contador en vivo; menú móvil incluido.
Barra de anuncios con mensajes rotativos, pausa al pasar el ratón y botón de cerrar recordado durante la sesión.
Carrito lateral con cantidades, eliminar, progreso hacia envío gratis y subtotal. Modal accesible con foco atrapado.
Hero de tienda con titular en degradado, CTAs, cifras de confianza y producto destacado flotante.
Cuadrícula de categorías con ilustraciones, número de productos y flecha animada.
Fila de garantías de la tienda (envío, devoluciones, pago seguro y soporte) en estilo tarjeta, en línea o dividido.
Tarjeta de producto con ilustración o foto, insignia, valoración, colores, precio anterior, favoritos y botón de añadir al carrito.
Cuadrícula responsiva de tarjetas de producto con estado vacío; es el objetivo de FilterSidebar y ProductToolbar.
Filtros de categoría, precio, color, valoración y stock que filtran y ordenan una ProductGrid al instante, sincronizados con la URL.
Cabecera de catálogo con contador de resultados en vivo y selector de orden (ModernSelect) conectado a FilterSidebar.
Visor de imágenes de producto con escenario grande y miniaturas navegables con teclado; genera vistas ilustradas si no hay fotos.
Muestras de color o tallas como grupo de radios nativo que mantiene sincronizado el botón de añadir al carrito.
Bloque de compra de la ficha: precio, ahorro, color y talla, cantidad, añadir al carrito, comprar ya y detalles desplegables.
Resumen lateral del checkout con productos, códigos promocionales, envío, impuestos y total en vivo según el método de envío.
Checkout en una página (contacto, entrega, envío y pago) con autocompletado, validación y confirmación animada.
Imagen de producto: una foto real o un fondo tintado con una de 16 ilustraciones de producto a línea.
Valoración con estrellas de solo lectura con relleno fraccionario, valor y número de reseñas, con una única etiqueta accesible.
Notificaciones apiladas en vivo: «Añadido al carrito» con acción para ver el carrito y cualquier aviso propio enviado con el evento ack:notify.
Aviso rotativo de compras recientes (prueba social) que entra y sale; se pausa al pasar el ratón y se puede cerrar durante la sesión.
Cuenta atrás en vivo para ofertas con días, horas, minutos y segundos, CTA y estado finalizado; fecha fija o plazo por visitante.
Aviso de stock bajo con barra de nivel y contador en vivo de personas viendo el producto.
Estado del carrito sin frameworks compartido por todos los componentes de tienda: persistencia en localStorage, sincronización entre pestañas, botones de añadir y formato de precios.
Componentes existentes con los que se monta la plantilla.