1 звезда на GitHub = 1 новый компонент.

Поставить звезду
Готовые шаблоны

Интернет-магазин

Полноценный доступный интернет-магазин: главная, каталог, карточка товара, корзина и оформление заказа.

Nova Store — готовый к продакшену шаблон интернет-магазина на Astro. Пять страниц используют общую корзину, которая сохраняется в браузере, каталог фильтруется мгновенно без бэкенда, а оформление заказа проверяет данные, считает доставку, налог и промокоды и подтверждает заказ. Каждый блок — компонент библиотеки: используйте весь магазин или только нужные части.

4 страниц32 компонентов0 deps

Живой просмотр

Страницы

Каждая страница — настоящий интерактивный предпросмотр, корзина общая для всех.

Главная магазина

Hero с избранным товаром, гарантии, категории, хиты продаж, баннер, новинки и рассылка.

app/page.tsx

Страница категории

Каталог с хлебными крошками, чипами категорий, фильтрами, счётчиком результатов и сортировкой.

app/shop/page.tsx

Карточка товара

Галерея, блок покупки с выбором цвета, размера и количества, отзывы и похожие товары.

app/product/[slug]/page.tsx

Оформление заказа

Оформление заказа в режиме фокуса: шаги, контакты, доставка, оплата и итог заказа.

app/checkout/page.tsx

Что внутри

  • Сохраняемая корзина с панелью и живым счётчиком
  • Мгновенные фильтры: категория, цена, цвет, рейтинг, наличие
  • Оформление заказа с доставкой, налогом и промокодами
  • Без runtime-зависимостей, WCAG AA, mobile-first
  • Иллюстрации товаров в комплекте — изображения не нужны
  • Светлая и тёмная тема с переключателем
  • Живые уведомления: корзина, обратный отсчёт, малый остаток и недавние покупки

Установка и использование

  1. Установите пакет

    bash
    npm install react-component-kit-ui
  2. Создайте по маршруту для каждой страницы шаблона

    app/page.tsx

    tsx
    import { StoreHomePage } from 'react-component-kit-ui/templates/ecommerce';
    
    export default function Page() {
      return <StoreHomePage />;
    }

    app/shop/page.tsx

    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

    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

    tsx
    import { StoreCheckoutPage } from 'react-component-kit-ui/templates/ecommerce';
    
    export default function Page() {
      return <StoreCheckoutPage />;
    }
  3. Подключите свой каталог, валюту и маршруты

    Возьмите демо-магазин за основу и замените нужное. Товары принимают реальное фото или одну из 16 встроенных иллюстраций.

    tsx
    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/' }} />;
    }

Новые e-commerce компоненты 22

Созданы для этого шаблона и доступны в библиотеке по отдельности.

Компонент

Promo Bar

Тонкая панель объявлений с ротацией сообщений, паузой при наведении и кнопкой закрытия.

Компонент

Cart Drawer

Выезжающая корзина с количеством, удалением, прогрессом до бесплатной доставки и итогом. Доступное модальное окно.

Компонент

Store Hero

Hero магазина с градиентным заголовком, кнопками, цифрами доверия и парящим избранным товаром.

Компонент

Trust Badges

Ряд гарантий магазина — доставка, возврат, безопасная оплата и поддержка — в виде карточек, строки или с разделителями.

Компонент

Store Product Card

Карточка товара с иллюстрацией или фото, бейджем, рейтингом, цветами, старой ценой, избранным и кнопкой «в корзину».

Компонент

Product Grid

Адаптивная сетка карточек товаров с пустым состоянием — цель для FilterSidebar и ProductToolbar.

Компонент

Filter Sidebar

Фильтры по категории, цене, цвету, рейтингу и наличию, мгновенно фильтрующие и сортирующие ProductGrid с синхронизацией URL.

Компонент

Product Toolbar

Заголовок каталога с живым счётчиком результатов и сортировкой (ModernSelect), связанной с FilterSidebar.

Компонент

Product Gallery

Просмотр изображений товара с большим окном и миниатюрами с клавиатурной навигацией; без фото создаёт иллюстрированные ракурсы.

Компонент

Variant Picker

Выбор цвета или размера как нативная группа радиокнопок, синхронизированная с кнопкой «в корзину».

Компонент

Product Buy Box

Блок покупки на странице товара: цена, скидка, цвет и размер, количество, «в корзину», «купить сейчас» и раскрывающиеся детали.

Компонент

Order Summary

Боковая сводка заказа с товарами, промокодами, доставкой, налогом и живым итогом по выбранному способу доставки.

Компонент

Checkout Form

Оформление заказа на одной странице — контакты, доставка, способ доставки и оплата — с автозаполнением, проверкой и анимированным подтверждением.

Компонент

Product Media

Изображение товара: реальное фото или цветной фон с одной из 16 линейных иллюстраций товаров.

Компонент

Product Rating

Рейтинг звёздами только для чтения с дробной заливкой, значением и числом отзывов и единой доступной подписью.

Компонент

Cart Toast

Живые всплывающие уведомления: «Добавлено в корзину» с кнопкой корзины и любые свои сообщения через событие ack:notify.

Компонент

Countdown Banner

Живой обратный отсчёт распродажи — дни, часы, минуты, секунды, кнопка и состояние «завершено»; фиксированная дата или срок для каждого посетителя.

Компонент

Stock Indicator

Уведомление о малом остатке со шкалой и живым счётчиком просматривающих товар.

Компонент

Cart Store

Состояние корзины без фреймворков для всех компонентов магазина: хранение в localStorage, синхронизация вкладок, кнопки «в корзину» и формат цен.

Повторно используемые компоненты

Существующие компоненты, из которых собран шаблон.