Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 96ab4b3fd9 | |||
| 4aaf0c5e0e | |||
| 7d47676364 | |||
| bc00594653 | |||
| 09517f483a | |||
| 51399ec902 | |||
| 73b8c260d4 | |||
| 52d57e16ed | |||
| e824c62882 |
@@ -7,6 +7,7 @@ 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 { Source_Sans_3 } from "next/font/google";
|
import { Source_Sans_3 } from "next/font/google";
|
||||||
|
import { Roboto } from "next/font/google";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -18,9 +19,12 @@ export const metadata: Metadata = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const sourceSans3 = Source_Sans_3({
|
|
||||||
variable: "--font-source-sans-3",
|
|
||||||
|
const roboto = Roboto({
|
||||||
|
variable: "--font-roboto",
|
||||||
subsets: ["latin"],
|
subsets: ["latin"],
|
||||||
|
weight: ["100", "300", "400", "500", "700", "900"],
|
||||||
});
|
});
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
@@ -31,7 +35,7 @@ export default function RootLayout({
|
|||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en" suppressHydrationWarning>
|
||||||
<ServiceWrapper>
|
<ServiceWrapper>
|
||||||
<body className={`${sourceSans3.variable} antialiased`}>
|
<body className={`${roboto.variable} antialiased`}>
|
||||||
<Tag />
|
<Tag />
|
||||||
{children}
|
{children}
|
||||||
<script
|
<script
|
||||||
|
|||||||
353
src/app/page.tsx
353
src/app/page.tsx
@@ -31,111 +31,38 @@ export default function LandingPage() {
|
|||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarStyleFullscreen
|
<NavbarStyleFullscreen
|
||||||
navItems={[
|
navItems={[
|
||||||
{
|
{ name: "The Experience", id: "about" },
|
||||||
name: "The Experience",
|
{ name: "The Menu", id: "product" },
|
||||||
id: "about",
|
{ name: "Location", id: "features" },
|
||||||
},
|
{ name: "Membership", id: "pricing" },
|
||||||
{
|
{ name: "Confess", id: "contact" },
|
||||||
name: "The Menu",
|
|
||||||
id: "product",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Membership",
|
|
||||||
id: "pricing",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Confess",
|
|
||||||
id: "contact",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
brandName="THE SINNER"
|
brandName="SINNER SMASH SOCIETY"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroBillboard
|
<HeroBillboard
|
||||||
background={{
|
background={{ variant: "plain" }}
|
||||||
variant: "plain",
|
title="Sinner Smash Society"
|
||||||
}}
|
description="Lisbon's most rebellious smash burger destination. Where hedonistic taste meets the concrete jungle."
|
||||||
title="Enter the Underworld"
|
buttons={[{ text: "Order Now", href: "https://glovoapp.com" }, { text: "Reserve", href: "#contact" }]}
|
||||||
description="Lisbon's most exclusive, unapologetic supper club for those who feed on desire and shadow."
|
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CoAg7Gpp45ZgrdDE5qcmlAKPj3/uploaded-1777042791687-clkkqemp.jpg"
|
||||||
buttons={[
|
|
||||||
{
|
|
||||||
text: "Seek Entry",
|
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/beautiful-modern-decoration-inside-building-with-escalators-brussels-belgium_181624-43247.jpg"
|
|
||||||
mediaAnimation="blur-reveal"
|
mediaAnimation="blur-reveal"
|
||||||
avatars={[
|
|
||||||
{
|
|
||||||
src: "http://img.b2bpic.net/free-photo/stunning-chinese-environment-landscape_23-2151918971.jpg",
|
|
||||||
alt: "Stunning chinese environment landscape",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: "http://img.b2bpic.net/free-photo/front-view-woman-putting-lipstick_23-2149445852.jpg",
|
|
||||||
alt: "Front view woman putting on lipstick",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: "http://img.b2bpic.net/free-photo/cinematic-film-location-decor_23-2151918995.jpg",
|
|
||||||
alt: "Cinematic film location decor",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: "http://img.b2bpic.net/free-photo/unfocused-entry-disco-colors_1208-247.jpg",
|
|
||||||
alt: "Unfocused entry disco colors",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: "http://img.b2bpic.net/free-photo/elegant-black-minimal-interior-design_23-2151913265.jpg",
|
|
||||||
alt: "Elegant black minimal interior design",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
marqueeItems={[
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "DISCREET",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "UNAPOLOGETIC",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "HEDONISTIC",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "EXCLUSIVE",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "LISBON",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="about" data-section="about">
|
<div id="about" data-section="about">
|
||||||
<MetricSplitMediaAbout
|
<MetricSplitMediaAbout
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
title="A Ritual of Excess"
|
title="The Art of the Smash"
|
||||||
description="We don't serve dinner; we serve confessions. The Sinner is an editorialized dining escape where the line between pleasure and sin is blurred by candlelight and velvet."
|
description="We smash our patties at high pressure to lock in every drop of flavor. Our secret sauce is the only sin you'll want to commit."
|
||||||
metrics={[
|
metrics={[
|
||||||
{
|
{ value: "100%", title: "Angus Beef" },
|
||||||
value: "12",
|
{ value: "07", title: "Days Open" },
|
||||||
title: "Secret Seats",
|
{ value: "24h", title: "Available" },
|
||||||
},
|
|
||||||
{
|
|
||||||
value: "04",
|
|
||||||
title: "AM Closing",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: "∞",
|
|
||||||
title: "Sins Cleansed",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/hand-plate-with-fish-cooked-fish-juicy-fish-plate-delicacy-seafood-lovers_639032-339.jpg"
|
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CoAg7Gpp45ZgrdDE5qcmlAKPj3/uploaded-1777042977777-fw2yrsvi.jpg"
|
||||||
mediaAnimation="slide-up"
|
|
||||||
metricsAnimation="slide-up"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -145,39 +72,12 @@ export default function LandingPage() {
|
|||||||
textboxLayout="split"
|
textboxLayout="split"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
features={[
|
features={[
|
||||||
{
|
{ id: "1", label: "Hours", title: "Open Daily", items: ["Mon-Thu: 12:00 - 00:00", "Fri-Sun: 12:00 - 02:00"] },
|
||||||
id: "1",
|
{ id: "2", label: "Location", title: "Find Us", items: ["Rua do Sinner, 12", "Lisbon, Portugal"] },
|
||||||
label: "Vibe",
|
{ id: "3", label: "Order", title: "Delivery", items: ["Available on Glovo", "Available on Uber Eats"] },
|
||||||
title: "Neon Drenched",
|
|
||||||
items: [
|
|
||||||
"Deep charcoal palette",
|
|
||||||
"Molten orange lighting",
|
|
||||||
"Rough textures",
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "2",
|
|
||||||
label: "Ritual",
|
|
||||||
title: "Strict Privacy",
|
|
||||||
items: [
|
|
||||||
"No phones permitted",
|
|
||||||
"No photography allowed",
|
|
||||||
"Total digital silence",
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "3",
|
|
||||||
label: "Taste",
|
|
||||||
title: "Raw & Real",
|
|
||||||
items: [
|
|
||||||
"Authentic ingredients",
|
|
||||||
"Unapologetic seasoning",
|
|
||||||
"Chef's table rituals",
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="The Sinner Code"
|
title="The Sinner Society"
|
||||||
description="Rules of engagement for those daring to step inside our night-lit lair."
|
description="Find us in the heart of Lisbon for a truly unholy smash burger experience."
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -188,63 +88,11 @@ export default function LandingPage() {
|
|||||||
gridVariant="bento-grid"
|
gridVariant="bento-grid"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
products={[
|
products={[
|
||||||
{
|
{ id: "p1", brand: "Sinner", name: "The Original Sin", price: "€12", rating: 5, reviewCount: "400", imageSrc: "https://img.b2bpic.net/free-photo/delicious-burger-with-cheese_23-2148469878.jpg" },
|
||||||
id: "p1",
|
{ id: "p2", brand: "Sinner", name: "Spicy Devil", price: "€14", rating: 5, reviewCount: "250", imageSrc: "https://img.b2bpic.net/free-photo/burger-with-spicy-sauce_23-2148469878.jpg" },
|
||||||
brand: "Signature",
|
|
||||||
name: "Molten Heart",
|
|
||||||
price: "€45",
|
|
||||||
rating: 5,
|
|
||||||
reviewCount: "128",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-scoop-ice-cream-with-flowers_23-2148425550.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "p2",
|
|
||||||
brand: "Signature",
|
|
||||||
name: "Forbidden Fruit",
|
|
||||||
price: "€38",
|
|
||||||
rating: 5,
|
|
||||||
reviewCount: "92",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/lamb-chicken-burger-without-top-bun-with-mushroom-herbs-tomato-sauce_140725-8320.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "p3",
|
|
||||||
brand: "Signature",
|
|
||||||
name: "Velvet Nectar",
|
|
||||||
price: "€22",
|
|
||||||
rating: 4,
|
|
||||||
reviewCount: "210",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/cocktail-refreshment-neo-futuristic-style_23-2151370286.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "p4",
|
|
||||||
brand: "Chef's Pick",
|
|
||||||
name: "Charred Shadow",
|
|
||||||
price: "€55",
|
|
||||||
rating: 5,
|
|
||||||
reviewCount: "77",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/butcher-pepper-tied-piece-steak-meat-smoke-closeup_346278-622.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "p5",
|
|
||||||
brand: "Signature",
|
|
||||||
name: "Neon Tartare",
|
|
||||||
price: "€42",
|
|
||||||
rating: 5,
|
|
||||||
reviewCount: "54",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/sauteed-roasted-lamb-bone-served-teriyaki-sauce_114579-1895.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "p6",
|
|
||||||
brand: "Chef's Pick",
|
|
||||||
name: "Gilded Sin",
|
|
||||||
price: "€60",
|
|
||||||
rating: 5,
|
|
||||||
reviewCount: "43",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/black-rice-with-peeled-orange_23-2148469878.jpg",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="The Midnight Menu"
|
title="Our Menu"
|
||||||
description="A curated selection of our most intoxicating dishes."
|
description="The ultimate smash burger menu for those who crave the bold."
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -254,57 +102,10 @@ export default function LandingPage() {
|
|||||||
textboxLayout="split"
|
textboxLayout="split"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
plans={[
|
plans={[
|
||||||
{
|
{ id: "basic", price: "€15", name: "The Standard Feast", buttons: [{ text: "Order Glovo", href: "https://glovoapp.com" }], features: ["Double Patty", "Secret Sauce", "Extra Cheese"] },
|
||||||
id: "basic",
|
|
||||||
price: "€150",
|
|
||||||
name: "Confessional Pass",
|
|
||||||
features: [
|
|
||||||
"1 dinner entry",
|
|
||||||
"1 cocktail",
|
|
||||||
"Priority queue",
|
|
||||||
],
|
|
||||||
buttons: [
|
|
||||||
{
|
|
||||||
text: "Apply Now",
|
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "pro",
|
|
||||||
price: "€450",
|
|
||||||
name: "Sinner Tier",
|
|
||||||
features: [
|
|
||||||
"Unlimited entries",
|
|
||||||
"Chef table access",
|
|
||||||
"Priority booking",
|
|
||||||
],
|
|
||||||
buttons: [
|
|
||||||
{
|
|
||||||
text: "Apply Now",
|
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "vip",
|
|
||||||
price: "€900",
|
|
||||||
name: "Godfather Tier",
|
|
||||||
features: [
|
|
||||||
"VIP private booth",
|
|
||||||
"Full menu access",
|
|
||||||
"Concierge",
|
|
||||||
],
|
|
||||||
buttons: [
|
|
||||||
{
|
|
||||||
text: "Apply Now",
|
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Join the Inner Circle"
|
title="Membership Perks"
|
||||||
description="Membership is required for entry to the most exclusive table in Lisbon."
|
description="Unlock exclusive deals by joining the Sinner Smash Society."
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -314,44 +115,10 @@ export default function LandingPage() {
|
|||||||
textboxLayout="split"
|
textboxLayout="split"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
testimonials={[
|
testimonials={[
|
||||||
{
|
{ id: "t1", name: "Gonçalo R.", role: "Local Critic", testimonial: "The best smash burger in Lisbon, hands down.", imageSrc: "https://img.b2bpic.net/free-photo/happy-customer-eating-burger_23-2149177112.jpg" },
|
||||||
id: "t1",
|
|
||||||
name: "Elena V.",
|
|
||||||
role: "Collector",
|
|
||||||
testimonial: "The best night of my life, Lisbon will never be the same.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/spotlight-portrait-golden-hour_23-2151915110.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "t2",
|
|
||||||
name: "Marco D.",
|
|
||||||
role: "Architect",
|
|
||||||
testimonial: "Dark, moody, utterly intoxicating. The Sinner is pure art.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/young-smiling-brunette-bearded-businessman-with-glass-red-wine-happily-talking-cellphone-restaurant-outdoor_574295-1297.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "t3",
|
|
||||||
name: "Sara L.",
|
|
||||||
role: "Art Dealer",
|
|
||||||
testimonial: "Finally, a place that doesn't care for polite conversation.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/man-smoke-electronic-cigarette-vape-shop-vape-bar_639032-331.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "t4",
|
|
||||||
name: "Julian B.",
|
|
||||||
role: "Critic",
|
|
||||||
testimonial: "Irreverent, unapologetic, and delicious. My new obsession.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-working-computer-drinking-coffee_1303-27379.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "t5",
|
|
||||||
name: "Sofia R.",
|
|
||||||
role: "Designer",
|
|
||||||
testimonial: "I've never felt so alive at dinner. The vibe is unmatched.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/stylish-smiling-woman-retro-vintage-american-50-s-cafe-sitting-table_285396-10499.jpg",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Confessions from the Table"
|
title="Society Confessions"
|
||||||
description="What they whispered after the candles burned out."
|
description="What our loyal members are saying."
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -359,66 +126,32 @@ export default function LandingPage() {
|
|||||||
<SocialProofOne
|
<SocialProofOne
|
||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
names={[
|
names={["Instagram", "TikTok", "Facebook", "TripAdvisor"]}
|
||||||
"Vogue",
|
title="Join the Society"
|
||||||
"GQ Portugal",
|
description="Follow us for daily specials and exclusive drops."
|
||||||
"Condé Nast",
|
|
||||||
"Wallpaper*",
|
|
||||||
"Hypebeast",
|
|
||||||
"Eater",
|
|
||||||
"Lisbon Lifestyle",
|
|
||||||
]}
|
|
||||||
title="Seen In"
|
|
||||||
description="The press that dared to cover our secret nights."
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="contact" data-section="contact">
|
<div id="contact" data-section="contact">
|
||||||
<ContactCenter
|
<ContactCenter
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
background={{
|
background={{ variant: "plain" }}
|
||||||
variant: "plain",
|
title="Stay Updated"
|
||||||
}}
|
description="Join the society and never miss a drop."
|
||||||
title="Beg for Access"
|
tag="Newsletter"
|
||||||
description="Membership is limited. Sign up to receive a notification for the next reservation window."
|
|
||||||
tag="Entry Request"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="footer" data-section="footer">
|
<div id="footer" data-section="footer">
|
||||||
<FooterBaseCard
|
<FooterBaseCard
|
||||||
logoText="THE SINNER"
|
logoText="SINNER SMASH SOCIETY"
|
||||||
columns={[
|
columns={[
|
||||||
{
|
{ title: "Navigation", items: [{ label: "Home", href: "#" }, { label: "Menu", href: "#product" }] },
|
||||||
title: "Company",
|
{ title: "Follow Us", items: [{ label: "Instagram", href: "#" }, { label: "TikTok", href: "#" }] },
|
||||||
items: [
|
|
||||||
{
|
|
||||||
label: "About",
|
|
||||||
href: "#about",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Manifesto",
|
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Legal",
|
|
||||||
items: [
|
|
||||||
{
|
|
||||||
label: "Privacy",
|
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Terms",
|
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@ html {
|
|||||||
body {
|
body {
|
||||||
background-color: var(--background);
|
background-color: var(--background);
|
||||||
color: var(--foreground);
|
color: var(--foreground);
|
||||||
font-family: var(--font-source-sans-3), sans-serif;
|
font-family: var(--font-roboto), sans-serif;
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
overscroll-behavior: none;
|
overscroll-behavior: none;
|
||||||
@@ -24,5 +24,5 @@ h3,
|
|||||||
h4,
|
h4,
|
||||||
h5,
|
h5,
|
||||||
h6 {
|
h6 {
|
||||||
font-family: var(--font-source-sans-3), sans-serif;
|
font-family: var(--font-roboto), sans-serif;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user