Merge version_2 into main

Merge version_2 into main
This commit was merged in pull request #2.
This commit is contained in:
2026-05-07 18:32:21 +00:00

View File

@@ -2,6 +2,7 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import { useState } from "react";
import ContactCTA from '@/components/sections/contact/ContactCTA';
import FaqSplitText from '@/components/sections/faq/FaqSplitText';
import FeatureCardSixteen from '@/components/sections/feature/FeatureCardSixteen';
@@ -12,7 +13,48 @@ import ProductCardFour from '@/components/sections/product/ProductCardFour';
import SplitAbout from '@/components/sections/about/SplitAbout';
import TestimonialCardTwelve from '@/components/sections/testimonial/TestimonialCardTwelve';
type Lang = 'fi' | 'sv' | 'en';
const translations: Record<Lang, any> = {
fi: {
nav: ["Valikko", "Yhteystiedot"],
hero: { title: "Wanhis Ravintola", desc: "Pizzaa, kebabia ja salaatteja Vaasassa. Koe aidot maut tervetulleessa ympäristössä.", btn: "Katso valikko" },
about: { title: "Tietoa Wanhiksesta", desc: "Olemme intohimoisia hyvästä ruoasta ja tyytyväisistä asiakkaista. Tarjoilemme Vaasan sydämessä tuoreita raaka-aineita.", bullets: ["Tuoreet raaka-aineet", "Perinteiset reseptit", "Nopea palvelu"] },
menu: { title: "Valikkomme", desc: "Tutustu pizza- ja kebabvalikoimaamme." },
features: { title: "Miksi Wanhis?", desc: "Mitä asiakkaamme arvostavat meissä eniten." },
testimonials: { title: "Asiakkaiden arviot", tag: "Mitä vieraamme sanovat" },
faq: { title: "Usein kysyttyä" },
contact: { tag: "Yhteystiedot", title: "Löydä meidät", desc: "Tervetuloa käymään Vaasassa! Olemme auki päivittäin." },
footer: "© 2026 Wanhis Ravintola"
},
sv: {
nav: ["Meny", "Kontakt"],
hero: { title: "Wanhis Ravintola", desc: "Pizza • Kebab • Sallader i Vaasa. Upplev äkta smaker i en välkomnande miljö.", btn: "Se Meny" },
about: { title: "Om Wanhis", desc: "Vi brinner för god mat och glada kunder. På Wanhis serverar vi hjärtat av Vaasa med färska ingredienser.", bullets: ["Färska råvaror", "Traditionella recept", "Snabb service"] },
menu: { title: "Vår Meny", desc: "Utforska vårt utbud av pizzor, kebab och fräscha rätter." },
features: { title: "Varför Wanhis?", desc: "Vad våra kunder uppskattar mest med oss." },
testimonials: { title: "Kundomdömen", tag: "Vad våra gäster säger" },
faq: { title: "Vanliga frågor" },
contact: { tag: "Kontakt", title: "Hitta oss", desc: "Välkommen att besöka oss i Vasa! Vi har öppet dagligen." },
footer: "© 2026 Wanhis Ravintola"
},
en: {
nav: ["Menu", "Contact"],
hero: { title: "Wanhis Ravintola", desc: "Pizza • Kebab • Salads in Vaasa. Experience authentic flavors in a welcoming environment.", btn: "See Menu" },
about: { title: "About Wanhis", desc: "We are passionate about good food and happy customers. Serving the heart of Vaasa with fresh ingredients.", bullets: ["Fresh ingredients", "Traditional recipes", "Fast service"] },
menu: { title: "Our Menu", desc: "Explore our selection of pizzas, kebabs, and fresh dishes." },
features: { title: "Why Wanhis?", desc: "What our customers appreciate most about us." },
testimonials: { title: "Customer Reviews", tag: "What our guests are saying" },
faq: { title: "FAQ" },
contact: { tag: "Contact", title: "Find Us", desc: "Welcome to visit us in Vaasa! Open daily." },
footer: "© 2026 Wanhis Ravintola"
}
};
export default function LandingPage() {
const [lang, setLang] = useState<Lang>('sv');
const t = translations[lang];
return (
<ThemeProvider
defaultButtonVariant="bounce-effect"
@@ -30,146 +72,37 @@ export default function LandingPage() {
<div id="nav" data-section="nav">
<NavbarStyleCentered
navItems={[
{
name: "Meny",
id: "menu",
},
{
name: "Kontakt",
id: "contact",
},
{ name: t.nav[0], id: "menu" },
{ name: t.nav[1], id: "contact" },
]}
brandName="Wanhis Ravintola"
/>
<div className="fixed top-4 right-4 z-50 flex gap-2">
{(['fi', 'sv', 'en'] as Lang[]).map(l => (
<button key={l} onClick={() => setLang(l)} className={`px-2 py-1 uppercase text-xs ${lang === l ? 'font-bold underline' : ''}`}>{l}</button>
))}
</div>
</div>
<div id="hero" data-section="hero">
<HeroSplitTestimonial
useInvertedBackground={false}
background={{
variant: "gradient-bars",
}}
title="Wanhis Ravintola"
description="Pizza • Kebab • Sallader i Vaasa. Upplev äkta smaker i en välkomnande miljö."
testimonials={[
{
name: "Erik S.",
handle: "@erik_vaasa",
testimonial: "Bästa pizzan i stan, rekommenderas starkt!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-pizza-restaurant-table_23-2148305651.jpg?_wi=1",
imageAlt: "restaurant pizza dinner table",
},
{
name: "Sara M.",
handle: "@sara_foodie",
testimonial: "Snabb service och riktigt gott kebabkött.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/various-kind-pizza-slices-wooden-board_114579-88426.jpg?_wi=1",
imageAlt: "restaurant pizza dinner table",
},
{
name: "Johan P.",
handle: "@johan_p",
testimonial: "Trevlig stämning och stora portioner.",
rating: 4,
imageSrc: "http://img.b2bpic.net/free-photo/chicken-doner-with-vegetables-herbs-pita-bread_141793-57.jpg?_wi=1",
imageAlt: "restaurant pizza dinner table",
},
{
name: "Maria K.",
handle: "@maria_k",
testimonial: "Fräscha sallader, perfekt för en lätt lunch.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/chicken-salad-table_140725-9462.jpg?_wi=1",
imageAlt: "restaurant pizza dinner table",
},
{
name: "Lukas W.",
handle: "@lukas_w",
testimonial: "Klassisk hamburgare som aldrig gör mig besviken.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/hamburger-wooden-board-with-copy-space_23-2148614039.jpg?_wi=1",
imageAlt: "restaurant pizza dinner table",
},
]}
buttons={[
{
text: "Se Meny",
href: "#menu",
},
]}
background={{ variant: "gradient-bars" }}
title={t.hero.title}
description={t.hero.desc}
buttons={[{ text: t.hero.btn, href: "#menu" }]}
imageSrc="http://img.b2bpic.net/free-photo/high-angle-pizza-restaurant-table_23-2148305651.jpg?_wi=2"
mediaAnimation="slide-up"
avatars={[
{
src: "http://img.b2bpic.net/free-photo/friends-eating-pizza-medium-shot_23-2149872407.jpg",
alt: "Diner 1",
},
{
src: "http://img.b2bpic.net/free-photo/medium-shot-woman-taking-photos_23-2149250044.jpg",
alt: "Diner 2",
},
{
src: "http://img.b2bpic.net/free-photo/couple-enjoying-food-restaurant_23-2149269179.jpg",
alt: "Diner 3",
},
{
src: "http://img.b2bpic.net/free-photo/couple-enjoying-food-restaurant_23-2149269176.jpg",
alt: "Diner 4",
},
{
src: "http://img.b2bpic.net/free-photo/having-lunch-spacious-restaurant_52683-117480.jpg",
alt: "Diner 5",
},
]}
marqueeItems={[
{
type: "text",
text: "Färska råvaror",
},
{
type: "text",
text: "Traditionella recept",
},
{
type: "text",
text: "Snabb leverans",
},
{
type: "text",
text: "Lokal matkultur",
},
{
type: "text",
text: "Högsta kvalitet",
},
]}
/>
</div>
<div id="about" data-section="about">
<SplitAbout
textboxLayout="default"
useInvertedBackground={false}
title="Om Wanhis"
description="Vi brinner för god mat och glada kunder. På Wanhis serverar vi hjärtat av Vaasa med färska ingredienser och traditionella recept."
bulletPoints={[
{
title: "Färska råvaror",
description: "Vi väljer bara de bästa ingredienserna.",
},
{
title: "Traditionella recept",
description: "Smaker som känns som hemma.",
},
{
title: "Snabb service",
description: "Mat när du är som hungrigast.",
},
]}
title={t.about.title}
description={t.about.desc}
bulletPoints={t.about.bullets.map((b: string) => ({ title: b, description: "" }))}
imageSrc="http://img.b2bpic.net/free-photo/confident-young-indian-man-black-shirt-sitting-pizzeria-with-pizza_627829-5493.jpg"
mediaAnimation="slide-up"
/>
</div>
@@ -179,52 +112,8 @@ export default function LandingPage() {
textboxLayout="default"
gridVariant="two-columns-alternating-heights"
useInvertedBackground={false}
products={[
{
id: "1",
name: "Pizza Special",
price: "12€",
variant: "Tomatsås, ost, kebab, lök, paprika",
imageSrc: "http://img.b2bpic.net/free-photo/various-kind-pizza-slices-wooden-board_114579-88426.jpg?_wi=2",
},
{
id: "2",
name: "Kebabtallrik",
price: "11€",
variant: "Kebab med pommes och valfri sås",
imageSrc: "http://img.b2bpic.net/free-photo/chicken-doner-with-vegetables-herbs-pita-bread_141793-57.jpg?_wi=2",
},
{
id: "3",
name: "Kycklingsallad",
price: "13€",
variant: "Grillad kyckling och fräscha grönsaker",
imageSrc: "http://img.b2bpic.net/free-photo/chicken-salad-table_140725-9462.jpg?_wi=2",
},
{
id: "4",
name: "Hamburgare",
price: "12€",
variant: "Serveras med pommes och dryck",
imageSrc: "http://img.b2bpic.net/free-photo/hamburger-wooden-board-with-copy-space_23-2148614039.jpg?_wi=2",
},
{
id: "5",
name: "Margherita",
price: "10€",
variant: "Klassisk tomatsås och mozarella",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-pizza-with-fresh-cheese_23-2150096953.jpg",
},
{
id: "6",
name: "Greksallad",
price: "11€",
variant: "Fetaost, oliver, tomat och gurka",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-two-bowls-with-salad-wooden-table_1150-251.jpg",
},
]}
title="Vår Meny"
description="Utforska vårt utbud av pizzor, kebab och fräscha rätter."
title={t.menu.title}
description={t.menu.desc}
/>
</div>
@@ -232,116 +121,46 @@ export default function LandingPage() {
<FeatureCardSixteen
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
negativeCard={{
items: [
"Ingen genväg med kvalitet",
"Aldrig kall mat",
"Inga dolda kostnader",
"Inga långa väntetider",
"Inga torra råvaror",
],
}}
positiveCard={{
items: [
"Högkvalitativa ingredienser",
"Generösa portioner",
"Snabb hemleverans",
"Stort utbud",
"Perfekt tillagat",
],
}}
title="Varför Wanhis?"
description="Vad våra kunder uppskattar mest med oss."
title={t.features.title}
description={t.features.desc}
positiveCard={{ items: ["Quality", "Portions", "Delivery"] }}
negativeCard={{ items: ["No Shortcuts", "No Cold Food"] }}
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardTwelve
useInvertedBackground={false}
testimonials={[
{
id: "1",
name: "Erik S.",
imageSrc: "http://img.b2bpic.net/free-photo/friends-eating-conversating-restaurant_23-2148006709.jpg",
},
{
id: "2",
name: "Sara M.",
imageSrc: "http://img.b2bpic.net/free-photo/happy-woman-enjoying-dining-table-while-communicating-with-her-husband_637285-3516.jpg",
},
{
id: "3",
name: "Johan P.",
imageSrc: "http://img.b2bpic.net/free-photo/merry-young-adult-enjoying-christmas-conversation-video-call-room-decorated-festivity-celebration-talking-woman-preparing-drink-wine-kitchen-with-joyful-ornaments_482257-28400.jpg",
},
{
id: "4",
name: "Maria K.",
imageSrc: "http://img.b2bpic.net/free-photo/positive-young-women-smiling-dinner-party_23-2148454161.jpg",
},
{
id: "5",
name: "Lukas W.",
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-man-with-chain-necklace_23-2149409803.jpg",
},
]}
cardTitle="Kundomdömen"
cardTag="Vad våra gäster säger"
cardTitle={t.testimonials.title}
cardTag={t.testimonials.tag}
cardAnimation="slide-up"
useInvertedBackground={false}
testimonials={[]}
/>
</div>
<div id="faq" data-section="faq">
<FaqSplitText
useInvertedBackground={false}
faqs={[
{
id: "f1",
title: "Har ni hemleverans?",
content: "Ja, vi erbjuder snabb hemleverans i hela Vasa.",
},
{
id: "f2",
title: "Vilka är era öppettider?",
content: "Vi har öppet alla dagar i veckan från 11:00 till 22:00.",
},
{
id: "f3",
title: "Finns det veganska alternativ?",
content: "Vi jobbar på att utöka vårt sortiment, fråga gärna personalen!",
},
]}
sideTitle="Vanliga frågor"
sideTitle={t.faq.title}
faqsAnimation="slide-up"
faqs={[]}
useInvertedBackground={false}
/>
</div>
<div id="contact" data-section="contact">
<ContactCTA
tag={t.contact.tag}
title={t.contact.title}
description={t.contact.desc}
buttons={[{ text: "Facebook", href: "#" }]}
useInvertedBackground={false}
background={{
variant: "plain",
}}
tag="Kontakt"
title="Hitta oss"
description="Välkommen att besöka oss i Vasa! Vi har öppet dagligen."
buttons={[
{
text: "Facebook",
href: "https://facebook.com",
},
]}
/>
</div>
<div id="footer" data-section="footer">
<FooterCard
logoText="Wanhis Ravintola"
copyrightText="© 2026 Wanhis Ravintola"
/>
<FooterCard logoText="Wanhis Ravintola" copyrightText={t.footer} />
</div>
</ReactLenis>
</ThemeProvider>
);
}
}