Merge version_2 into main
Merge version_2 into main
This commit was merged in pull request #2.
This commit is contained in:
331
src/app/page.tsx
331
src/app/page.tsx
@@ -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>
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user