10 Commits

Author SHA1 Message Date
69e0abf844 Switch to version 1: modified src/app/styles/base.css 2026-04-18 17:00:41 +00:00
285797e44b Switch to version 1: modified src/app/page.tsx 2026-04-18 17:00:41 +00:00
3dda563544 Switch to version 1: modified src/app/layout.tsx 2026-04-18 17:00:40 +00:00
3afe42a610 Merge version_2 into main
Merge version_2 into main
2026-04-18 16:54:11 +00:00
c0b7ab0d38 Merge version_2 into main
Merge version_2 into main
2026-04-18 16:53:44 +00:00
bc2d93a41d Merge version_2 into main
Merge version_2 into main
2026-04-18 16:53:15 +00:00
cd8d525712 Merge version_2 into main
Merge version_2 into main
2026-04-18 16:48:21 +00:00
ec411ddf2b Merge version_2 into main
Merge version_2 into main
2026-04-18 16:47:53 +00:00
6cd5550275 Merge version_2 into main
Merge version_2 into main
2026-04-18 16:47:26 +00:00
75a0acde2e Merge version_2 into main
Merge version_2 into main
2026-04-18 16:47:00 +00:00
3 changed files with 190 additions and 91 deletions

View File

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

View File

@@ -2,100 +2,202 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm'; import ContactCenter from '@/components/sections/contact/ContactCenter';
import FeatureCardTwelve from '@/components/sections/feature/FeatureCardTwelve'; import FeatureCardTwentySeven from '@/components/sections/feature/FeatureCardTwentySeven';
import HeroSplitDualMedia from '@/components/sections/hero/HeroSplitDualMedia'; import HeroSplitTestimonial from '@/components/sections/hero/HeroSplitTestimonial';
import MediaAbout from '@/components/sections/about/MediaAbout';
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple'; import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import ProductCardOne from '@/components/sections/product/ProductCardOne'; import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import TestimonialCardThirteen from '@/components/sections/testimonial/TestimonialCardThirteen';
export default function LandingPage() { export default function LandingPage() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="hover-magnetic" defaultButtonVariant="text-shift"
defaultTextAnimation="reveal-blur" defaultTextAnimation="background-highlight"
borderRadius="soft" borderRadius="soft"
contentWidth="medium" contentWidth="smallMedium"
sizing="mediumLargeSizeLargeTitles" sizing="largeSmallSizeLargeTitles"
background="none" background="circleGradient"
cardStyle="solid" cardStyle="solid"
primaryButtonStyle="flat" primaryButtonStyle="shadow"
secondaryButtonStyle="solid" secondaryButtonStyle="glass"
headingFontWeight="bold" headingFontWeight="extrabold"
> >
<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: "Why Prime", id: "why-prime" }, name: "Home", id: "hero"},
{ name: "Services", id: "services" }, {
{ name: "Find Us", id: "find-us" } name: "Bakery", id: "bakery"},
]} {
brandName="Prime Parturi" name: "Menu", id: "menu"},
/> {
</div> name: "Contact", id: "find-us"},
]}
brandName="Way Bakery"
/>
</div>
<div id="hero" data-section="hero" style={{ backgroundColor: "#001a0a" }}> <div id="hero" data-section="hero">
<HeroSplitDualMedia <HeroSplitTestimonial
title="Fresh cut, good vibes" useInvertedBackground={false}
description="Premium barber services in the heart of Tampere. Professional craft, relaxed atmosphere." background={{
background={{ variant: "plain" }} variant: "plain"}}
tag="Barber Services" title="Where bread is an art form and every visit is a ritual."
mediaItems={[ description="Small-batch bakery. Kallio, Helsinki."
{ imageSrc: "https://img.b2bpic.net/free-photo/barber-shop-concept-with-man-getting-haircut_23-2148722916.jpg", imageAlt: "Barber shop interior" }, testimonials={[
{ 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,
rating={5} imageSrc: "http://img.b2bpic.net/free-photo/assortment-bread-loaves-food-photography-recipe-ideas_53876-144949.jpg"},
ratingText="5-star reviews in Tampere" {
className="text-white" name: "Local Regular", handle: "Bakery Lover", testimonial: "The best crust in the city, hands down.", rating: 5,
/> 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="why-prime" data-section="why-prime" style={{ backgroundColor: "#f9f9f9" }}> <div id="bakery" data-section="bakery">
<FeatureCardTwelve <MediaAbout
title="Why Prime" useInvertedBackground={false}
description="We combine traditional techniques with a modern approach to grooming." title="The Bakery"
features={[ 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."
{ id: "1", label: "01", title: "Expert Barbers", items: ["Years of experience in professional styling"] }, 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: "2", label: "02", title: "Premium Quality", items: ["Only the best products for your hair and skin"] }, />
{ id: "3", label: "03", title: "Relaxed Vibe", items: ["A sanctuary for your morning ritual"] }, </div>
{ id: "4", label: "04", title: "Local Roots", items: ["Proudly serving Tampere locals"] }
]}
animationType="slide-up"
textboxLayout="split"
useInvertedBackground={false}
/>
</div>
<div id="services" data-section="services" style={{ backgroundColor: "#f9f9f9" }}> <div id="menu" data-section="menu">
<ProductCardOne <ProductCardTwo
title="Minimal Services" animationType="slide-up"
description="Clear pricing for high-quality cuts." textboxLayout="split-description"
gridVariant="four-items-2x2-equal-grid" gridVariant="four-items-2x2-equal-grid"
animationType="slide-up" useInvertedBackground={false}
textboxLayout="default" description="Our selection of handcrafted artisan goods, baked fresh daily in our small-batch kitchen."
useInvertedBackground={false} products={[
products={[ {
{ id: "1", name: "Classic Cut", price: "35€", imageSrc: "https://img.b2bpic.net/free-photo/man-getting-haircut-barbershop_23-2148722934.jpg" }, id: "p1", brand: "Pastry", name: "Laskiaispulla", price: "6€", rating: 5,
{ id: "2", name: "Beard Trim", price: "20€", imageSrc: "https://img.b2bpic.net/free-photo/barber-trimming-beard_23-2148722940.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: "3", name: "Full Grooming", price: "50€", imageSrc: "https://img.b2bpic.net/free-photo/barber-cutting-hair_23-2148722936.jpg" }, {
{ id: "4", name: "Kids Cut", price: "25€", imageSrc: "https://img.b2bpic.net/free-photo/barber-shop-interior_23-2148722912.jpg" } id: "p2", brand: "Pastry", name: "Almond-marzipan croissant", price: "7€", rating: 5,
]} reviewCount: "Classic", imageSrc: "http://img.b2bpic.net/free-photo/sandwich-walnuts_23-2147717717.jpg?_wi=1"},
/> {
</div> id: "p3", brand: "Bread", name: "Sourdough loaf", price: "9€", rating: 5,
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="find-us" data-section="find-us" style={{ backgroundColor: "#001a0a" }}> <div id="brunch" data-section="brunch">
<ContactSplitForm <FeatureCardTwentySeven
title="Find Us" animationType="slide-up"
description="Visit us in Tampere. Open daily by appointment." textboxLayout="split-actions"
inputs={[ useInvertedBackground={false}
{ name: "name", type: "text", placeholder: "Your Name" }, features={[
{ name: "email", type: "email", placeholder: "Your Email" } {
]} id: "b1", title: "Freshness", descriptions: [
useInvertedBackground={false} "Local produce"],
className="text-white" imageSrc: "http://img.b2bpic.net/free-photo/delicious-crispy-toasts-with-fried-egg-jam_114579-60122.jpg"},
/> {
</div> id: "b2", title: "Tradition", descriptions: [
"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-dm-sans), serif; font-family: var(--font-cormorant), serif;
} }