Merge version_3 into main #3

Merged
bender merged 5 commits from version_3 into main 2026-02-17 14:46:22 +00:00
5 changed files with 80 additions and 39 deletions

View File

@@ -33,6 +33,8 @@ export default function BlogPage() {
{ name: "Меню", id: "/#menu" },
{ name: "Банкети", id: "/#banquets" },
{ name: "Доставка", id: "/#delivery" },
{ name: "Блог", id: "/blog" },
{ name: "Магазин", id: "/shop" },
{ name: "Контакти", id: "/#contacts" }
]}
button={{ text: "Забронювати Столик", href: "/#contacts" }}
@@ -72,6 +74,8 @@ export default function BlogPage() {
]},
{ items: [
{ label: "Доставка", href: "/#delivery" },
{ label: "Блог", href: "/blog" },
{ label: "Магазин", href: "/shop" },
{ label: "Контакти", href: "/#contacts" },
{ label: "Забронювати Столик", href: "/#contacts" }
]}

View File

@@ -28,13 +28,16 @@ export default function LandingPage() {
<NavbarLayoutFloatingOverlay
brandName="Бандура: Серце і Зала"
navItems={[
{ name: "Філософія", id: "#philosophy" },
{ name: "Меню", id: "#menu" },
{ name: "Банкети", id: "#banquets" },
{ name: "Доставка", id: "#delivery" },
{ name: "Контакти", id: "#contacts" }
{ name: "Головна", id: "/" },
{ name: "Філософія", id: "/#philosophy" },
{ name: "Меню", id: "/#menu" },
{ name: "Банкети", id: "/#banquets" },
{ name: "Доставка", id: "/#delivery" },
{ name: "Блог", id: "/blog" },
{ name: "Магазин", id: "/shop" },
{ name: "Контакти", id: "/#contacts" }
]}
button={{ text: "Забронювати Столик", href: "#contacts" }}
button={{ text: "Забронювати Столик", href: "/#contacts" }}
className="py-4 px-6 md:px-8"
buttonClassName="bg-primary-cta text-primary-cta-foreground hover:bg-primary-cta/90 transition-colors duration-300"
buttonTextClassName="font-semibold text-lg"
@@ -47,8 +50,8 @@ export default function LandingPage() {
logoText="Бандура: Серце і Зала"
description="Де українська душа зустрічається з кулінарним мистецтвом відчуйте справжні банкети та смаки."
buttons={[
{ text: "Забронювати Столик", href: "#contacts" },
{ text: "Переглянути Меню", href: "#menu" }
{ text: "Забронювати Столик", href: "/#contacts" },
{ text: "Переглянути Меню", href: "/#menu" }
]}
background={{ variant: "plain" }}
imageSrc="https://img.b2bpic.net/free-photo/cafe-with-burning-candles-tables_140725-7784.jpg"
@@ -170,14 +173,16 @@ export default function LandingPage() {
logoText="Бандура: Серце і Зала"
columns={[
{ items: [
{ label: "Філософія", href: "#philosophy" },
{ label: "Меню", href: "#menu" },
{ label: "Банкети", href: "#banquets" }
{ label: "Філософія", href: "/#philosophy" },
{ label: "Меню", href: "/#menu" },
{ label: "Банкети", href: "/#banquets" }
]},
{ items: [
{ label: "Доставка", href: "#delivery" },
{ label: "Контакти", href: "#contacts" },
{ label: "Забронювати Столик", href: "#contacts" }
{ label: "Доставка", href: "/#delivery" },
{ label: "Блог", href: "/blog" },
{ label: "Магазин", href: "/shop" },
{ label: "Контакти", href: "/#contacts" },
{ label: "Забронювати Столик", href: "/#contacts" }
]}
]}
ariaLabel="Нижній колонтитул сайту"

View File

@@ -67,17 +67,32 @@ export default function ProductPage({ params }: ProductPageProps) {
}, [cartItems, checkout, getCheckoutItems]);
const navbarProps = {
brandName: "Бандура: Серце і Зала", navItems: [{ name: "Головна", id: "/" }],
brandName: "Бандура: Серце і Зала",
navItems: [
{ name: "Головна", id: "/" },
{ name: "Філософія", id: "/#philosophy" },
{ name: "Меню", id: "/#menu" },
{ name: "Банкети", id: "/#banquets" },
{ name: "Доставка", id: "/#delivery" },
{ name: "Блог", id: "/blog" },
{ name: "Магазин", id: "/shop" },
{ name: "Контакти", id: "/#contacts" }
],
button: { text: "Кошик", onClick: () => setCartOpen(true) },
className: "py-4 px-6 md:px-8", buttonClassName: "bg-primary-cta text-primary-cta-foreground hover:bg-primary-cta/90 transition-colors duration-300", buttonTextClassName: "font-semibold text-lg", logoOnClick: () => console.log('Logo clicked')
className: "py-4 px-6 md:px-8",
buttonClassName: "bg-primary-cta text-primary-cta-foreground hover:bg-primary-cta/90 transition-colors duration-300",
buttonTextClassName: "font-semibold text-lg",
logoOnClick: () => console.log('Logo clicked')
};
const footerProps = {
logoText: "Бандура: Серце і Зала", columns: [
logoText: "Бандура: Серце і Зала",
columns: [
{ items: [{ label: "Філософія", href: "/#philosophy" }, { label: "Меню", href: "/#menu" }, { label: "Банкети", href: "/#banquets" }] },
{ items: [{ label: "Доставка", href: "/#delivery" }, { label: "Контакти", href: "/#contacts" }, { label: "Забронювати Столик", href: "/#contacts" }] }
{ items: [{ label: "Доставка", href: "/#delivery" }, { label: "Блог", href: "/blog" }, { label: "Магазин", href: "/shop" }, { label: "Контакти", href: "/#contacts" }, { label: "Забронювати Столик", href: "/#contacts" }] }
],
ariaLabel: "Нижній колонтитул сайту", containerClassName: "py-16 md:py-24"
ariaLabel: "Нижній колонтитул сайту",
containerClassName: "py-16 md:py-24"
};
if (isLoading) {
@@ -198,7 +213,8 @@ export default function ProductPage({ params }: ProductPageProps) {
total={`$${cartTotal}`}
buttons={[
{
text: isCheckoutLoading ? "Обробка..." : "Оформити Замовлення", onClick: handleCheckout,
text: isCheckoutLoading ? "Обробка..." : "Оформити Замовлення",
onClick: handleCheckout,
},
]}
/>

View File

@@ -17,17 +17,32 @@ export default function ShopPage() {
} = useProductCatalog({ basePath: "/shop" });
const navbarProps = {
brandName: "Бандура: Серце і Зала", navItems: [{ name: "Головна", id: "/" }],
brandName: "Бандура: Серце і Зала",
navItems: [
{ name: "Головна", id: "/" },
{ name: "Філософія", id: "/#philosophy" },
{ name: "Меню", id: "/#menu" },
{ name: "Банкети", id: "/#banquets" },
{ name: "Доставка", id: "/#delivery" },
{ name: "Блог", id: "/blog" },
{ name: "Магазин", id: "/shop" },
{ name: "Контакти", id: "/#contacts" }
],
button: { text: "Кошик", onClick: () => console.log('Cart button clicked on catalog page') },
className: "py-4 px-6 md:px-8", buttonClassName: "bg-primary-cta text-primary-cta-foreground hover:bg-primary-cta/90 transition-colors duration-300", buttonTextClassName: "font-semibold text-lg", logoOnClick: () => console.log('Logo clicked')
className: "py-4 px-6 md:px-8",
buttonClassName: "bg-primary-cta text-primary-cta-foreground hover:bg-primary-cta/90 transition-colors duration-300",
buttonTextClassName: "font-semibold text-lg",
logoOnClick: () => console.log('Logo clicked')
};
const footerProps = {
logoText: "Бандура: Серце і Зала", columns: [
logoText: "Бандура: Серце і Зала",
columns: [
{ items: [{ label: "Філософія", href: "/#philosophy" }, { label: "Меню", href: "/#menu" }, { label: "Банкети", href: "/#banquets" }] },
{ items: [{ label: "Доставка", href: "/#delivery" }, { label: "Контакти", href: "/#contacts" }, { label: "Забронювати Столик", href: "/#contacts" }] }
{ items: [{ label: "Доставка", href: "/#delivery" }, { label: "Блог", href: "/blog" }, { label: "Магазин", href: "/shop" }, { label: "Контакти", href: "/#contacts" }, { label: "Забронювати Столик", href: "/#contacts" }] }
],
ariaLabel: "Нижній колонтитул сайту", containerClassName: "py-16 md:py-24"
ariaLabel: "Нижній колонтитул сайту",
containerClassName: "py-16 md:py-24"
};
if (isLoading) {
@@ -91,6 +106,7 @@ export default function ShopPage() {
</div>
<div id="footer" data-section="footer">
<FooterLogoEmphasis {...footerProps} />
}
</div>
</ReactLenis>
</ThemeProvider>

View File

@@ -2,21 +2,21 @@
/* Base units */
/* --vw is set by ThemeProvider */
/* --background: #080200;;
--card: #1a0d0b;;
--foreground: #ffe6d5;;
--primary-cta: #ffaa70;;
--secondary-cta: #170b07;;
--accent: #7b5e4a;;
--background-accent: #b8541e;; */
/* --background: #050012;;
--card: #040121;;
--foreground: #f0e6ff;;
--primary-cta: #c89bff;;
--secondary-cta: #1d123b;;
--accent: #684f7b;;
--background-accent: #65417c;; */
--background: #080200;;
--card: #1a0d0b;;
--foreground: #ffe6d5;;
--primary-cta: #ffaa70;;
--secondary-cta: #170b07;;
--accent: #7b5e4a;;
--background-accent: #b8541e;;
--background: #050012;;
--card: #040121;;
--foreground: #f0e6ff;;
--primary-cta: #c89bff;;
--secondary-cta: #1d123b;;
--accent: #684f7b;;
--background-accent: #65417c;;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);