13 Commits

Author SHA1 Message Date
6cbca284a6 Update src/app/page.tsx 2026-04-18 16:54:08 +00:00
d75176cd4c Update src/app/layout.tsx 2026-04-18 16:54:08 +00:00
3830b29403 Update src/app/page.tsx 2026-04-18 16:53:38 +00:00
e3a372a7e8 Update src/app/page.tsx 2026-04-18 16:53:09 +00:00
b26a5b0a97 Update src/app/page.tsx 2026-04-18 16:48:18 +00:00
33766e425e Update src/app/page.tsx 2026-04-18 16:47:50 +00:00
ecae74003f Update src/app/page.tsx 2026-04-18 16:47:23 +00:00
c99a0bfd74 Update src/app/styles/base.css 2026-04-18 16:46:57 +00:00
ef91f20c18 Update src/app/page.tsx 2026-04-18 16:46:57 +00:00
a0a4be3c01 Update src/app/layout.tsx 2026-04-18 16:46:56 +00:00
d79e6599de Merge version_1 into main
Merge version_1 into main
2026-04-18 14:23:41 +00:00
ef91506c52 Merge version_1 into main
Merge version_1 into main
2026-04-18 14:23:17 +00:00
91e30533cb Merge version_1 into main
Merge version_1 into main
2026-04-18 14:22:50 +00:00
3 changed files with 91 additions and 190 deletions

View File

@@ -7,12 +7,13 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag"; import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script"; import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Cormorant_Garamond, DM_Sans } from "next/font/google"; import { Cormorant_Garamond, DM_Sans } from "next/font/google";
import { DM_Sans } from "next/font/google";
export const metadata: Metadata = { export const metadata: Metadata = {
title: 'Way Bakery | Artisan Bakery in Kallio, Helsinki', title: 'Prime Parturi | Barber Services in Tampere',
description: 'Small-batch artisan bakery in Kallio, Helsinki. Made with flour, time, and intention.', description: 'Premium barber services in the heart of Tampere. Professional craft, relaxed atmosphere.',
openGraph: { openGraph: {
"title": "Way Bakery", "title": "Way Bakery",
"description": "Small-batch artisan bakery in Kallio, Helsinki.", "description": "Small-batch artisan bakery in Kallio, Helsinki.",
@@ -20,8 +21,10 @@ export const metadata: Metadata = {
}, },
}; };
const cormorantGaramond = Cormorant_Garamond({ variable: "--font-cormorant", subsets: ["latin"], weight: ["300", "400", "600", "700"] });
const dmSans = DM_Sans({ variable: "--font-dm-sans", subsets: ["latin"] }); const dmSans = DM_Sans({
variable: "--font-dm-sans", subsets: ["latin"],
});
export default function RootLayout({ export default function RootLayout({
children, children,
@@ -31,7 +34,7 @@ export default function RootLayout({
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body className={`${cormorantGaramond.variable} ${dmSans.variable} antialiased`}> <body className={`${dmSans.variable} antialiased`}>
<Tag /> <Tag />
{children} {children}
<script <script

View File

@@ -2,203 +2,101 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import ContactCenter from '@/components/sections/contact/ContactCenter'; import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FeatureCardTwentySeven from '@/components/sections/feature/FeatureCardTwentySeven'; import FeatureCardTwelve from '@/components/sections/feature/FeatureCardTwelve';
import HeroSplitTestimonial from '@/components/sections/hero/HeroSplitTestimonial'; import HeroSplitDualMedia from '@/components/sections/hero/HeroSplitDualMedia';
import MediaAbout from '@/components/sections/about/MediaAbout';
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple'; import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo'; import ProductCardOne from '@/components/sections/product/ProductCardOne';
import TestimonialCardThirteen from '@/components/sections/testimonial/TestimonialCardThirteen';
export default function LandingPage() { export default function LandingPage() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="text-shift" defaultButtonVariant="hover-magnetic"
defaultTextAnimation="background-highlight" defaultTextAnimation="reveal-blur"
borderRadius="soft" borderRadius="soft"
contentWidth="smallMedium" contentWidth="medium"
sizing="largeSmallSizeLargeTitles" sizing="mediumLargeSizeLargeTitles"
background="circleGradient" background="none"
cardStyle="solid" cardStyle="solid"
primaryButtonStyle="shadow" primaryButtonStyle="flat"
secondaryButtonStyle="glass" secondaryButtonStyle="solid"
headingFontWeight="extrabold" headingFontWeight="bold"
> >
<ReactLenis root> <ReactLenis root>
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarStyleApple <NavbarStyleApple
navItems={[ navItems={[
{ { name: "Home", id: "hero" },
name: "Home", id: "hero"}, { name: "Why Prime", id: "why-prime" },
{ { name: "Services", id: "services" },
name: "Bakery", id: "bakery"}, { name: "Find Us", id: "find-us" }
{ ]}
name: "Menu", id: "menu"}, brandName="Prime Parturi"
{ />
name: "Contact", id: "find-us"}, </div>
]}
brandName="Way Bakery"
/>
</div>
<div id="hero" data-section="hero"> <div id="hero" data-section="hero" style={{ backgroundColor: "#001a0a" }}>
<HeroSplitTestimonial <HeroSplitDualMedia
useInvertedBackground={false} title="Fresh cut, good vibes"
background={{ description="Premium barber services in the heart of Tampere. Professional craft, relaxed atmosphere."
variant: "plain"}} background={{ variant: "plain" }}
title="Where bread is an art form and every visit is a ritual." tag="Barber Services"
description="Small-batch bakery. Kallio, Helsinki." mediaItems={[
testimonials={[ { imageSrc: "https://img.b2bpic.net/free-photo/barber-shop-concept-with-man-getting-haircut_23-2148722916.jpg", imageAlt: "Barber shop interior" },
{ { imageSrc: "https://img.b2bpic.net/free-photo/barber-tools-table_23-2148722926.jpg", imageAlt: "Barber tools" }
name: "Small batch", handle: "Artisan", testimonial: "Made with flour, time, and intention.", rating: 5, ]}
imageSrc: "http://img.b2bpic.net/free-photo/assortment-bread-loaves-food-photography-recipe-ideas_53876-144949.jpg"}, rating={5}
{ ratingText="5-star reviews in Tampere"
name: "Local Regular", handle: "Bakery Lover", testimonial: "The best crust in the city, hands down.", rating: 5, className="text-white"
imageSrc: "http://img.b2bpic.net/free-photo/delicious-homemade-bread-table_23-2148361967.jpg"}, />
{ </div>
name: "Food Critic", handle: "Journalist", testimonial: "A quiet, masterful approach to baking.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/side-view-seeded-cob-with-sliced-white-bread-maroon-background-with-copy-space_141793-5623.jpg"},
{
name: "Coffee Enthusiast", handle: "Barista", testimonial: "Pairing their loaf with morning coffee is my daily ritual.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/front-view-sliced-bread-with-brown-sugar-cubes_23-2148695488.jpg"},
{
name: "Visitor", handle: "Tourist", testimonial: "Worth the flight from London for this sourdough.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/delicious-bread-towel_23-2148544723.jpg?_wi=1"},
]}
buttons={[
{
text: "See this week's menu →", href: "#menu"},
]}
imageSrc="http://img.b2bpic.net/free-photo/delicious-bread-towel_23-2148544723.jpg?_wi=2"
mediaAnimation="opacity"
avatars={[
{
src: "http://img.b2bpic.net/free-photo/delicious-bread-towel_23-2148544723.jpg", alt: "Small batch"},
{
src: "http://img.b2bpic.net/free-photo/close-up-focus-two-freshly-baked-diet-healthy-breads-charcoal-rye-with-figs-isolated-black-presented-rustic-wooden-table_346278-808.jpg", alt: "Local Regular"},
{
src: "http://img.b2bpic.net/free-photo/top-view-delicious-sliced-pie-with-red-berries-dark-table-cake-sweets-pie_140725-73354.jpg", alt: "Food Critic"},
{
src: "http://img.b2bpic.net/free-photo/sandwich-walnuts_23-2147717717.jpg", alt: "Coffee Enthusiast"},
{
src: "http://img.b2bpic.net/free-photo/top-view-delicious-bread-table_23-2149234900.jpg", alt: "Visitor"},
]}
marqueeItems={[
{
type: "text", text: "KALLIO"},
{
type: "text", text: "ARTISAN"},
{
type: "text", text: "SOURDOUGH"},
{
type: "text", text: "SEASONAL"},
{
type: "text", text: "RITUAL"},
]}
/>
</div>
<div id="bakery" data-section="bakery"> <div id="why-prime" data-section="why-prime" style={{ backgroundColor: "#f9f9f9" }}>
<MediaAbout <FeatureCardTwelve
useInvertedBackground={false} title="Why Prime"
title="The Bakery" description="We combine traditional techniques with a modern approach to grooming."
description="Way Bakery was born from a simple belief: that good bread takes time. We bake in small batches, with seasonal ingredients, in the neighbourhood we love. Kallio keeps us honest. \n\nOur kitchen runs on instinct and tradition, focusing on the crumb, the crust, and the quiet joy of a perfectly baked loaf. \n\nOpen TuesdaySunday, morning until sold out." features={[
imageSrc="http://img.b2bpic.net/free-photo/close-up-focus-two-freshly-baked-diet-healthy-breads-charcoal-rye-with-figs-isolated-black-presented-rustic-wooden-table_346278-808.jpg?_wi=1" { id: "1", label: "01", title: "Expert Barbers", items: ["Years of experience in professional styling"] },
/> { id: "2", label: "02", title: "Premium Quality", items: ["Only the best products for your hair and skin"] },
</div> { id: "3", label: "03", title: "Relaxed Vibe", items: ["A sanctuary for your morning ritual"] },
{ id: "4", label: "04", title: "Local Roots", items: ["Proudly serving Tampere locals"] }
]}
animationType="slide-up"
textboxLayout="split"
useInvertedBackground={false}
/>
</div>
<div id="menu" data-section="menu"> <div id="services" data-section="services" style={{ backgroundColor: "#f9f9f9" }}>
<ProductCardTwo <ProductCardOne
animationType="slide-up" title="Minimal Services"
textboxLayout="split-description" description="Clear pricing for high-quality cuts."
gridVariant="four-items-2x2-equal-grid" gridVariant="four-items-2x2-equal-grid"
useInvertedBackground={false} animationType="slide-up"
description="Our selection of handcrafted artisan goods, baked fresh daily in our small-batch kitchen." textboxLayout="default"
products={[ useInvertedBackground={false}
{ products={[
id: "p1", brand: "Pastry", name: "Laskiaispulla", price: "6€", rating: 5, { id: "1", name: "Classic Cut", price: "35€", imageSrc: "https://img.b2bpic.net/free-photo/man-getting-haircut-barbershop_23-2148722934.jpg" },
reviewCount: "Seasonal", imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-sliced-pie-with-red-berries-dark-table-cake-sweets-pie_140725-73354.jpg?_wi=1"}, { id: "2", name: "Beard Trim", price: "20€", imageSrc: "https://img.b2bpic.net/free-photo/barber-trimming-beard_23-2148722940.jpg" },
{ { id: "3", name: "Full Grooming", price: "50€", imageSrc: "https://img.b2bpic.net/free-photo/barber-cutting-hair_23-2148722936.jpg" },
id: "p2", brand: "Pastry", name: "Almond-marzipan croissant", price: "7€", rating: 5, { id: "4", name: "Kids Cut", price: "25€", imageSrc: "https://img.b2bpic.net/free-photo/barber-shop-interior_23-2148722912.jpg" }
reviewCount: "Classic", imageSrc: "http://img.b2bpic.net/free-photo/sandwich-walnuts_23-2147717717.jpg?_wi=1"}, ]}
{ />
id: "p3", brand: "Bread", name: "Sourdough loaf", price: "9€", rating: 5, </div>
reviewCount: "Daily", imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-bread-table_23-2149234900.jpg"},
{
id: "p4", brand: "Food", name: "Brunch plate", price: "19€", rating: 5,
reviewCount: "Signature", imageSrc: "http://img.b2bpic.net/free-photo/top-view-breads-as-croissant-seeded-brown-cob-bread-slices-basket-cloth-plate-grape-nectacot-pluot-wooden-background_141793-27673.jpg"},
]}
title="What we make"
/>
</div>
<div id="brunch" data-section="brunch"> <div id="find-us" data-section="find-us" style={{ backgroundColor: "#001a0a" }}>
<FeatureCardTwentySeven <ContactSplitForm
animationType="slide-up" title="Find Us"
textboxLayout="split-actions" description="Visit us in Tampere. Open daily by appointment."
useInvertedBackground={false} inputs={[
features={[ { name: "name", type: "text", placeholder: "Your Name" },
{ { name: "email", type: "email", placeholder: "Your Email" }
id: "b1", title: "Freshness", descriptions: [ ]}
"Local produce"], useInvertedBackground={false}
imageSrc: "http://img.b2bpic.net/free-photo/delicious-crispy-toasts-with-fried-egg-jam_114579-60122.jpg"}, className="text-white"
{ />
id: "b2", title: "Tradition", descriptions: [ </div>
"Old school craft"],
imageSrc: "http://img.b2bpic.net/free-photo/fried-eggs-jam-cheese-individually-sliced-bread-board-marble-surface_114579-50096.jpg"},
{
id: "b3", title: "Ritual", descriptions: [
"Weekend slow life"],
imageSrc: "http://img.b2bpic.net/free-photo/jam-bread-juice_23-2147693834.jpg"},
]}
title="Brunch, done properly."
description="Saturdays and Sundays only. A curated plate — fresh bread, soft-boiled egg, seasonal jam, cold cuts or a vegetarian option. Reserve your table."
buttons={[
{
text: "Reserve your table", href: "mailto:reserve@waybakery.fi"},
]}
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardThirteen
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
description="Hear what our regular customers say about our artisan sourdough and morning rituals."
testimonials={[
{
id: "1", name: "Regular", handle: "Customer", testimonial: "The best laskiaispullat in the city.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/bakery_23-2148011572.jpg", imageAlt: "Bakery "},
{
id: "2", name: "Regular", handle: "Customer", testimonial: "A little piece of southern Europe in Kallio.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/delicious-bread-towel_23-2148544723.jpg?_wi=3", imageAlt: "Bakery "},
{
id: "3", name: "Regular", handle: "Customer", testimonial: "The bread is always perfect. Worth the trip.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-focus-two-freshly-baked-diet-healthy-breads-charcoal-rye-with-figs-isolated-black-presented-rustic-wooden-table_346278-808.jpg?_wi=2", imageAlt: "Bakery "},
{
id: "4", name: "Regular", handle: "Customer", testimonial: "The quality here is unmatched.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-sliced-pie-with-red-berries-dark-table-cake-sweets-pie_140725-73354.jpg?_wi=2", imageAlt: "Bakery "},
{
id: "5", name: "Regular", handle: "Customer", testimonial: "True artisan work.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/sandwich-walnuts_23-2147717717.jpg?_wi=2", imageAlt: "Bakery "},
]}
showRating={false}
title="From Our Regulars"
/>
</div>
<div id="find-us" data-section="find-us">
<ContactCenter
useInvertedBackground={false}
background={{
variant: "plain"}}
tag="Visit Us"
title="Find Us"
description="Kallio, Helsinki \nTueSun 8:0015:00 or until sold out \nInstagram: @waybakery \n\nWe're a small space — come early."
/>
</div>
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }

View File

@@ -24,5 +24,5 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
font-family: var(--font-cormorant), serif; font-family: var(--font-dm-sans), serif;
} }