6 Commits

Author SHA1 Message Date
98a9b96d02 Update src/app/catalog/page.tsx 2026-04-09 09:59:02 +00:00
c7558dbf73 Update src/app/book/[id]/page.tsx 2026-04-09 09:59:01 +00:00
6e00060249 Update src/app/styles/variables.css 2026-04-09 09:58:35 +00:00
a5f0ed9e13 Update src/app/page.tsx 2026-04-09 09:58:34 +00:00
6c5c74dd8c Add src/app/catalog/page.tsx 2026-04-09 09:58:34 +00:00
134e048849 Add src/app/book/[id]/page.tsx 2026-04-09 09:58:33 +00:00
4 changed files with 93 additions and 152 deletions

View File

@@ -0,0 +1,25 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
export default function BookPage({ params }: { params: { id: string } }) {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="medium"
sizing="medium"
background="circleGradient"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="normal"
>
<ReactLenis root>
<div>Book Page for {params.id}</div>
</ReactLenis>
</ThemeProvider>
);
}

44
src/app/catalog/page.tsx Normal file
View File

@@ -0,0 +1,44 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import ProductCardOne from '@/components/sections/product/ProductCardOne';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
export default function CatalogPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="medium"
sizing="medium"
background="circleGradient"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="normal"
>
<ReactLenis root>
<NavbarStyleApple navItems={[{name: "Главная", id: "/"}, {name: "Каталог", id: "/catalog"}]} brandName="StoryBooks" />
<div className="pt-24">
<ProductCardOne
animationType="slide-up"
textboxLayout="split"
gridVariant="three-columns-all-equal-width"
useInvertedBackground={false}
title="Каталог всех книг"
description="Откройте для себя наш уникальный ассортимент книг, отобранных специально для вас."
products={[
{ id: "p1", name: "Путь к вершине", price: "990 ₽", imageSrc: "http://img.b2bpic.net/free-photo/cheerful-woman-with-book-sitting-forest_23-2147883262.jpg", onProductClick: () => window.location.href = '/book/p1' },
{ id: "p2", name: "Сквозь тернии", price: "1200 ₽", imageSrc: "http://img.b2bpic.net/free-photo/coffee-stack-books_23-2147711705.jpg", onProductClick: () => window.location.href = '/book/p2' },
{ id: "p3", name: "Бизнес с душой", price: "1500 ₽", imageSrc: "http://img.b2bpic.net/free-vector/collection-poster-flyer-brochure-annual-report-cover-layout-design-template_206725-321.jpg", onProductClick: () => window.location.href = '/book/p3' }
]}
/>
</div>
<FooterBaseCard logoText="StoryBooks" columns={[{ title: "Меню", items: [{ label: "Главная", href: "/" }, { label: "Каталог", href: "/catalog" }] }]} />
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -30,21 +30,13 @@ export default function LandingPage() {
<NavbarStyleApple
navItems={[
{
name: "Главная",
id: "hero",
},
name: "Главная", id: "hero"},
{
name: "Каталог",
id: "catalog",
},
name: "Каталог", id: "/catalog"},
{
name: "О проекте",
id: "about",
},
name: "О проекте", id: "about"},
{
name: "Отзывы",
id: "testimonials",
},
name: "Отзывы", id: "testimonials"},
]}
brandName="StoryBooks"
/>
@@ -53,41 +45,26 @@ export default function LandingPage() {
<div id="hero" data-section="hero">
<HeroBillboardCarousel
background={{
variant: "gradient-bars",
}}
variant: "gradient-bars"}}
title="Истории, которые меняют жизнь"
description="Реальные люди. Реальные истории. Настоящие эмоции."
buttons={[
{
text: "Смотреть книги",
href: "#catalog",
},
text: "Смотреть книги", href: "/catalog"},
]}
mediaItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/home-cozy-interior-room-with-books-dried-flowers-vase_169016-4248.jpg",
imageAlt: "Reading atmosphere",
},
imageSrc: "http://img.b2bpic.net/free-photo/home-cozy-interior-room-with-books-dried-flowers-vase_169016-4248.jpg", imageAlt: "Reading atmosphere"},
{
imageSrc: "http://img.b2bpic.net/free-photo/anonymous-female-reading-near-window_23-2147896700.jpg",
imageAlt: "Inspired reader",
},
imageSrc: "http://img.b2bpic.net/free-photo/anonymous-female-reading-near-window_23-2147896700.jpg", imageAlt: "Inspired reader"},
{
imageSrc: "http://img.b2bpic.net/free-photo/close-up-positive-woman-holding-book_23-2148464492.jpg",
imageAlt: "Book details",
},
imageSrc: "http://img.b2bpic.net/free-photo/close-up-positive-woman-holding-book_23-2148464492.jpg", imageAlt: "Book details"},
{
imageSrc: "http://img.b2bpic.net/free-photo/urban-portrait-young-man-with-orange-hair_23-2149122915.jpg",
imageAlt: "Authentic lifestyle",
},
imageSrc: "http://img.b2bpic.net/free-photo/urban-portrait-young-man-with-orange-hair_23-2149122915.jpg", imageAlt: "Authentic lifestyle"},
{
imageSrc: "http://img.b2bpic.net/free-photo/square-book-office-mockup_23-2151731936.jpg",
imageAlt: "Story cover",
},
imageSrc: "http://img.b2bpic.net/free-vector/collection-poster-flyer-brochure-annual-report-cover-layout-design-template_206725-321.jpg", imageAlt: "Story cover"},
{
imageSrc: "http://img.b2bpic.net/free-photo/long-shot-woman-hiking-with-flask_23-2148922255.jpg",
imageAlt: "Inspirational portrait",
},
imageSrc: "http://img.b2bpic.net/free-photo/long-shot-woman-hiking-with-flask_23-2148922255.jpg", imageAlt: "Inspirational portrait"},
]}
/>
</div>
@@ -99,48 +76,9 @@ export default function LandingPage() {
gridVariant="three-columns-all-equal-width"
useInvertedBackground={false}
products={[
{
id: "p1",
name: "Путь к вершине",
price: "990 ₽",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-woman-with-book-sitting-forest_23-2147883262.jpg",
imageAlt: "Book cover minimal elegant",
},
{
id: "p2",
name: "Сквозь тернии",
price: "1200 ₽",
imageSrc: "http://img.b2bpic.net/free-photo/coffee-stack-books_23-2147711705.jpg",
imageAlt: "Minimal book cover design",
},
{
id: "p3",
name: "Бизнес с душой",
price: "1500 ₽",
imageSrc: "http://img.b2bpic.net/free-vector/collection-poster-flyer-brochure-annual-report-cover-layout-design-template_206725-321.jpg",
imageAlt: "Book cover creative layout",
},
{
id: "p4",
name: "Жизнь в моменте",
price: "850 ₽",
imageSrc: "http://img.b2bpic.net/free-vector/new-year-2021-party-poster-template_52683-52506.jpg",
imageAlt: "Book cover modern typography",
},
{
id: "p5",
name: "Тень и свет",
price: "1100 ₽",
imageSrc: "http://img.b2bpic.net/free-photo/creative-arrangement-with-different-books_23-2148851028.jpg",
imageAlt: "Book cover artistic concept",
},
{
id: "p6",
name: "Секреты успеха",
price: "1350 ₽",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=d1swx0",
imageAlt: "Book cover unique design",
},
{ id: "p1", name: "Путь к вершине", price: "990 ₽", imageSrc: "http://img.b2bpic.net/free-photo/cheerful-woman-with-book-sitting-forest_23-2147883262.jpg", onProductClick: () => window.location.href = '/book/p1' },
{ id: "p2", name: "Сквозь тернии", price: "1200 ₽", imageSrc: "http://img.b2bpic.net/free-photo/coffee-stack-books_23-2147711705.jpg", onProductClick: () => window.location.href = '/book/p2' },
{ id: "p3", name: "Бизнес с душой", price: "1500 ₽", imageSrc: "http://img.b2bpic.net/free-vector/collection-poster-flyer-brochure-annual-report-cover-layout-design-template_206725-321.jpg", onProductClick: () => window.location.href = '/book/p3' },
]}
title="Каталог книг"
description="Откройте для себя судьбы, которые вдохновляют."
@@ -168,26 +106,7 @@ export default function LandingPage() {
rating={5}
author="Марина В., предприниматель"
avatars={[
{
src: "http://img.b2bpic.net/free-photo/young-beautiful-girl-reading-sitting-cafe_176420-5902.jpg",
alt: "Happy reader portrait natural",
},
{
src: "http://img.b2bpic.net/free-photo/high-angle-beautiful-woman-reading-outside_23-2148396355.jpg",
alt: "Young reader smiling candid",
},
{
src: "http://img.b2bpic.net/free-photo/front-view-smiley-woman-posing-indoors_23-2149745617.jpg",
alt: "Person reading book side profile",
},
{
src: "http://img.b2bpic.net/free-photo/young-attractive-woman-reading-book-concept-learning-selfdevelopment_169016-65952.jpg",
alt: "Reader smiling holding book",
},
{
src: "http://img.b2bpic.net/free-photo/interested-teenage-girl-reading-book-emotion-concept_169016-65399.jpg",
alt: "Reading enthusiast portrait bright",
},
{ src: "http://img.b2bpic.net/free-photo/young-beautiful-girl-reading-sitting-cafe_176420-5902.jpg", alt: "Happy reader portrait natural" },
]}
ratingAnimation="slide-up"
avatarsAnimation="slide-up"
@@ -198,21 +117,7 @@ export default function LandingPage() {
<FaqSplitText
useInvertedBackground={false}
faqs={[
{
id: "f1",
title: "Как оформить заказ?",
content: "Выберите книгу, добавьте её в корзину и следуйте инструкциям в корзине.",
},
{
id: "f2",
title: "Есть ли доставка?",
content: "Да, мы осуществляем доставку по всему миру.",
},
{
id: "f3",
title: "Можно ли вернуть книгу?",
content: "Да, если книга повреждена или не соответствует описанию.",
},
{ id: "f1", title: "Как оформить заказ?", content: "Выберите книгу, добавьте её в корзину и следуйте инструкциям в корзине." },
]}
sideTitle="Часто задаваемые вопросы"
faqsAnimation="blur-reveal"
@@ -223,40 +128,7 @@ export default function LandingPage() {
<FooterBaseCard
logoText="StoryBooks"
columns={[
{
title: "Меню",
items: [
{
label: "Главная",
href: "#hero",
},
{
label: "Каталог",
href: "#catalog",
},
{
label: "О нас",
href: "#about",
},
],
},
{
title: "Поддержка",
items: [
{
label: "Контакты",
href: "#",
},
{
label: "FAQ",
href: "#",
},
{
label: "Возврат",
href: "#",
},
],
},
{ title: "Меню", items: [{ label: "Главная", href: "/" }, { label: "Каталог", href: "/catalog" }] },
]}
/>
</div>

View File

@@ -10,14 +10,14 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #f5f4ef;
--card: #dad6cd;
--foreground: #2a2928;
--primary-cta: #2a2928;
--background: #fbf8f5;
--card: #f3eee9;
--foreground: #4a3f36;
--primary-cta: #a67c52;
--primary-cta-text: #f5f4ef;
--secondary-cta: #ecebea;
--secondary-cta: #e8e1da;
--secondary-cta-text: #2a2928;
--accent: #ffffff;
--accent: #d4c5b9;
--background-accent: #c6b180;
/* text sizing - set by ThemeProvider */