Merge version_2 into main #1
81
src/app/menu/page.tsx
Normal file
81
src/app/menu/page.tsx
Normal file
@@ -0,0 +1,81 @@
|
||||
"use client";
|
||||
|
||||
import React, { useState } from "react";
|
||||
import ReactLenis from "lenis/react";
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
|
||||
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
|
||||
import ProductCardThree from "@/components/sections/product/ProductCardThree";
|
||||
|
||||
const ALL_PASTA = [
|
||||
{ id: "p1", category: "Klasyki", name: "Tagliatelle al Tartufo", price: "48 zł", imageSrc: "http://img.b2bpic.net/free-photo/low-angle-pasta-with-vegetables_23-2148584799.jpg" },
|
||||
{ id: "p2", category: "Klasyki", name: "Spaghetti Carbonara", price: "42 zł", imageSrc: "http://img.b2bpic.net/free-photo/pasta-carbonara_23-2148496734.jpg" },
|
||||
{ id: "p3", category: "Wegańskie", name: "Ravioli Ricotta e Spinaci", price: "45 zł", imageSrc: "http://img.b2bpic.net/free-photo/making-pasta_23-2147985276.jpg" },
|
||||
{ id: "p4", category: "Wegańskie", name: "Penne Arrabbiata", price: "38 zł", imageSrc: "http://img.b2bpic.net/free-photo/penne-arrabbiata_23-2148584824.jpg" },
|
||||
{ id: "p5", category: "Owoce Morza", name: "Linguine ai Frutti di Mare", price: "58 zł", imageSrc: "http://img.b2bpic.net/free-photo/seafood-pasta_23-2148584796.jpg" }
|
||||
];
|
||||
|
||||
const CATEGORIES = ["Wszystkie", "Klasyki", "Wegańskie", "Owoce Morza"];
|
||||
|
||||
export default function MenuPage() {
|
||||
const [activeCategory, setActiveCategory] = useState("Wszystkie");
|
||||
|
||||
const filteredProducts = activeCategory === "Wszystkie"
|
||||
? ALL_PASTA
|
||||
: ALL_PASTA.filter(p => p.category === activeCategory);
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="icon-arrow"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="soft"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="floatingGradient"
|
||||
cardStyle="glass-elevated"
|
||||
primaryButtonStyle="shadow"
|
||||
secondaryButtonStyle="layered"
|
||||
headingFontWeight="semibold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="Fresca Pasta Bar"
|
||||
navItems={[
|
||||
{ name: "Strona główna", id: "/" },
|
||||
{ name: "Menu", id: "/menu" }
|
||||
]}
|
||||
/>
|
||||
|
||||
<div className="pt-32 pb-20 px-6 max-w-7xl mx-auto">
|
||||
<h1 className="text-5xl font-bold mb-12 text-center">Nasze Menu</h1>
|
||||
|
||||
<div className="flex flex-wrap gap-4 justify-center mb-16">
|
||||
{CATEGORIES.map((cat) => (
|
||||
<button
|
||||
key={cat}
|
||||
onClick={() => setActiveCategory(cat)}
|
||||
className={`px-6 py-2 rounded-full transition-all border ${activeCategory === cat ? "bg-primary text-white border-primary" : "hover:bg-gray-100 border-gray-200"}`}
|
||||
>
|
||||
{cat}
|
||||
</button>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<ProductCardThree
|
||||
title=""
|
||||
products={filteredProducts}
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<FooterLogoReveal
|
||||
logoText="Fresca Pasta Bar"
|
||||
leftLink={{ text: "Polityka prywatności", href: "#" }}
|
||||
rightLink={{ text: "Kontakt", href: "/" }}
|
||||
/>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
@@ -11,7 +11,7 @@ import TestimonialCardTen from "@/components/sections/testimonial/TestimonialCar
|
||||
import FeatureCardSixteen from "@/components/sections/feature/FeatureCardSixteen";
|
||||
import ContactText from "@/components/sections/contact/ContactText";
|
||||
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
|
||||
import { Phone, MessageCircle, Sparkles } from "lucide-react";
|
||||
import { Sparkles } from "lucide-react";
|
||||
|
||||
export default function ItalianRestaurantPage() {
|
||||
return (
|
||||
@@ -51,7 +51,7 @@ export default function ItalianRestaurantPage() {
|
||||
tag="Pasta Fresca Kraków"
|
||||
tagIcon={Sparkles}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/chicken-caesar-salad-with-rose-wine_140725-412.jpg"
|
||||
imageAlt="Piękny talerz świeżej pasty z koktajlem w tle"
|
||||
imageAlt="Świeża pasta fresca w najlepszej włoskiej restauracji w Krakowie"
|
||||
buttons={[
|
||||
{ text: "Zobacz menu", href: "#menu" },
|
||||
{ text: "Rezerwuj stolik", href: "#contact" }
|
||||
@@ -71,7 +71,7 @@ export default function ItalianRestaurantPage() {
|
||||
<div id="menu" data-section="menu">
|
||||
<ProductCardOne
|
||||
title="Nasze Menu"
|
||||
description="Wybierz coś dla siebie z bogatej karty dań i autorskich koktajli."
|
||||
description="Wybierz coś dla siebie z bogatej karty dań i autorskich koktajli w naszej włoskiej restauracji."
|
||||
products={[
|
||||
{ id: "p1", name: "Tagliatelle al Tartufo", price: "48 zł", imageSrc: "http://img.b2bpic.net/free-photo/low-angle-pasta-with-vegetables_23-2148584799.jpg" },
|
||||
{ id: "p2", name: "Ravioli Ricotta e Spinaci", price: "42 zł", imageSrc: "http://img.b2bpic.net/free-photo/making-pasta_23-2147985276.jpg" },
|
||||
@@ -100,7 +100,7 @@ export default function ItalianRestaurantPage() {
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<TestimonialCardTen
|
||||
title="Co mówią o nas goście"
|
||||
description="Opinie naszych zadowolonych klientów."
|
||||
description="Opinie naszych zadowolonych klientów odwiedzających naszą włoską restaurację."
|
||||
testimonials={[
|
||||
{ id: "t1", title: "Najlepsza pasta!", quote: "Czuć tutaj prawdziwą jakość składników. To mój ulubiony punkt w Krakowie.", name: "Anna K.", role: "Klientka" },
|
||||
{ id: "t2", title: "Wspaniałe koktajle", quote: "Autorskie drinki są genialne. Idealne miejsce na wieczorne spotkanie.", name: "Marek W.", role: "Gość" }
|
||||
@@ -113,7 +113,7 @@ export default function ItalianRestaurantPage() {
|
||||
<div id="comparison" data-section="comparison">
|
||||
<FeatureCardSixteen
|
||||
title="Jakość bez kompromisów"
|
||||
description="Sprawdź, co nas wyróżnia na tle innych miejsc."
|
||||
description="Sprawdź, dlaczego nasza pasta fresca w Krakowie jest tak wyjątkowa."
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
negativeCard={{ items: ["Gotowe mrożone makarony", "Niska jakość składników"] }}
|
||||
@@ -123,7 +123,7 @@ export default function ItalianRestaurantPage() {
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactText
|
||||
text="Zarezerwuj stolik w Fresca Pasta Bar. Czekamy na Ciebie! Pon-Czw: 13-22, Pt-Sb: 13-23, Nd: 13-20."
|
||||
text="Zarezerwuj stolik w Fresca Pasta Bar - najlepszej włoskiej restauracji w Krakowie. Czekamy na Ciebie! Pon-Czw: 13-22, Pt-Sb: 13-23, Nd: 13-20."
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
buttons={[
|
||||
{ text: "Zadzwoń teraz", href: "tel:+48123456789" },
|
||||
|
||||
66
src/app/reservations/page.tsx
Normal file
66
src/app/reservations/page.tsx
Normal file
@@ -0,0 +1,66 @@
|
||||
"use client";
|
||||
|
||||
import ReactLenis from "lenis/react";
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
|
||||
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
|
||||
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
|
||||
|
||||
export default function ReservationsPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="icon-arrow"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="soft"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="floatingGradient"
|
||||
cardStyle="glass-elevated"
|
||||
primaryButtonStyle="shadow"
|
||||
secondaryButtonStyle="layered"
|
||||
headingFontWeight="semibold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="Fresca Pasta Bar"
|
||||
navItems={[
|
||||
{ name: "Menu", id: "/" },
|
||||
{ name: "O nas", id: "/" },
|
||||
{ name: "Rezerwacja", id: "/reservations" },
|
||||
{ name: "Opinie", id: "/" }
|
||||
]}
|
||||
button={{ text: "Rezerwuj stolik", href: "/reservations" }}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact-form" data-section="contact-form">
|
||||
<ContactSplitForm
|
||||
title="Zarezerwuj swój stolik"
|
||||
description="Wypełnij formularz, aby zarezerwować miejsce w Fresca Pasta Bar. Skontaktujemy się w celu potwierdzenia rezerwacji."
|
||||
inputs={[
|
||||
{ name: "name", type: "text", placeholder: "Imię i nazwisko", required: true },
|
||||
{ name: "email", type: "email", placeholder: "Email", required: true },
|
||||
{ name: "date", type: "date", placeholder: "Data", required: true },
|
||||
{ name: "time", type: "time", placeholder: "Godzina", required: true },
|
||||
{ name: "guests", type: "number", placeholder: "Liczba gości", required: true }
|
||||
]}
|
||||
buttonText="Potwierdź rezerwację"
|
||||
onSubmit={(data) => console.log("Form submitted:", data)}
|
||||
useInvertedBackground={false}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/people-having-dinner-restaurant_23-2148704251.jpg"
|
||||
mediaPosition="right"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoReveal
|
||||
logoText="Fresca Pasta Bar"
|
||||
leftLink={{ text: "Polityka prywatności", href: "#" }}
|
||||
rightLink={{ text: "Kontakt", href: "/" }}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
@@ -10,15 +10,15 @@
|
||||
--accent: #ffffff;
|
||||
--background-accent: #ffffff; */
|
||||
|
||||
--background: #f5f5f5;
|
||||
--card: #ffffff;
|
||||
--foreground: #1c1c1c;
|
||||
--primary-cta: #1c1c1c;
|
||||
--background: #fdfaf6;
|
||||
--card: #f7f0e6;
|
||||
--foreground: #0a7ea3;
|
||||
--primary-cta: #ff8c00;
|
||||
--primary-cta-text: #f5f5f5;
|
||||
--secondary-cta: #ffffff;
|
||||
--secondary-cta-text: #1c1c1c;
|
||||
--accent: #e63946;
|
||||
--background-accent: #e8bea8;
|
||||
--accent: #ff8c00;
|
||||
--background-accent: #f3e5d5;
|
||||
|
||||
/* text sizing - set by ThemeProvider */
|
||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||
|
||||
Reference in New Issue
Block a user