Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/app/layout.tsx
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,8 +13,8 @@ const geistMono = Geist_Mono({
});

export const metadata: Metadata = {
title: "Create Next App",
description: "Generated by create next app",
title: "Furniture Studio | Crafting Timeless Furniture",
description: "Discover handcrafted, sustainable furniture that transforms spaces. Where artisanal craftsmanship meets modern design.",
};

export default function RootLayout({
Expand Down
226 changes: 225 additions & 1 deletion src/app/page.tsx
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,227 @@
import { Button } from "@/components/ui/button";
import { Card, CardContent, CardDescription, CardTitle } from "@/components/ui/card";
import Image from "next/image";

export default function Home() {
return (<div className={'h-screen'}></div>);
return (
<main className="min-h-screen">
{/* Hero Section */}
<section className="relative h-[80vh] w-full flex items-center justify-center">
<div className="absolute inset-0 z-0">
<Image
src="/hero-furniture.jpg"
alt="Modern furniture in a minimalist living room"
fill
priority
className="object-cover brightness-95"
/>
</div>
<div className="absolute inset-0 bg-black/40 z-10" />
<div className="relative z-20 text-center px-4 max-w-3xl mx-auto">
<h1 className="text-5xl md:text-6xl font-semibold text-white mb-6">Crafting Timeless Furniture</h1>
<p className="text-lg md:text-xl text-white/90 mb-8">
Where artisanal craftsmanship meets modern design. Discover furniture that transforms spaces.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button size="lg">Explore Collection</Button>
<Button variant="outline" size="lg" className="bg-transparent text-white border-white hover:bg-white/20 hover:text-white">
Book Consultation
</Button>
</div>
</div>
</section>

{/* Featured Collections */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<div className="text-center mb-16">
<h2 className="text-3xl md:text-4xl font-semibold mb-4">Our Collections</h2>
<p className="text-muted-foreground max-w-2xl mx-auto">
Each piece is a testament to our unwavering commitment to quality, sustainability, and timeless design.
</p>
</div>

<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
title: "Scandinavian Collection",
description: "Minimalist designs with clean lines and natural materials",
image: "/scandinavian-collection.jpg"
},
{
title: "Mid-Century Modern",
description: "Iconic pieces inspired by the golden era of furniture design",
image: "/mid-century-collection.jpg"
},
{
title: "Contemporary Luxury",
description: "Bold statement pieces for the modern connoisseur",
image: "/contemporary-collection.jpg"
},
].map((collection, i) => (
<Card key={i} className="overflow-hidden border-0 shadow-md">
<div className="relative h-64 w-full">
<Image
src={collection.image}
alt={collection.title}
fill
className="object-cover"
/>
</div>
<CardContent className="pt-6">
<CardTitle className="text-xl mb-2">{collection.title}</CardTitle>
<CardDescription>{collection.description}</CardDescription>
<Button variant="link" className="p-0 h-auto mt-4">
View Collection
</Button>
</CardContent>
</Card>
))}
</div>
</section>

{/* About Section */}
<section className="py-20 bg-secondary">
<div className="max-w-7xl mx-auto px-4 grid md:grid-cols-2 gap-10 items-center">
<div className="relative h-[500px]">
<Image
src="/workshop.jpg"
alt="Our furniture craftsmen at work"
fill
className="object-cover rounded-lg"
/>
</div>
<div>
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Craftsmanship in Every Detail</h2>
<p className="text-muted-foreground mb-6">
For over two decades, our studio has been dedicated to the art of furniture making.
Every piece is handcrafted by our skilled artisans using traditional techniques
passed down through generations, combined with modern innovation.
</p>
<p className="text-muted-foreground mb-8">
We believe that furniture should be more than functional—it should tell a story,
evoke emotion, and stand the test of time. That's why we source only the finest
sustainable materials and pay meticulous attention to every detail.
</p>
<Button>Our Story</Button>
</div>
</div>
</section>

{/* Testimonials */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<h2 className="text-3xl md:text-4xl font-semibold text-center mb-16">What Our Clients Say</h2>

<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
quote: "The attention to detail and quality of craftsmanship exceeded our expectations. Our custom dining table has become the centerpiece of our home.",
author: "Sarah & Michael",
location: "New York"
},
{
quote: "Working with this studio was a pleasure from start to finish. They truly understood our vision and created pieces that perfectly complement our space.",
author: "James Wilson",
location: "Los Angeles"
},
{
quote: "The sustainable practices and ethical sourcing of materials was what initially drew us to the studio, but the exceptional quality of their work is why we keep coming back.",
author: "Emma Thompson",
location: "Chicago"
},
].map((testimonial, i) => (
<Card key={i} className="p-8">
<svg className="h-10 w-10 text-muted-foreground mb-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z" />
</svg>
<p className="mb-6 text-lg">{testimonial.quote}</p>
<div>
<p className="font-medium">{testimonial.author}</p>
<p className="text-sm text-muted-foreground">{testimonial.location}</p>
</div>
</Card>
))}
</div>
</section>

{/* Contact CTA */}
<section className="py-20 px-4 bg-primary text-primary-foreground">
<div className="max-w-4xl mx-auto text-center">
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Ready to Transform Your Space?</h2>
<p className="text-primary-foreground/90 mb-8 max-w-2xl mx-auto">
Whether you're looking for a statement piece or an entire collection, our team is ready to bring your vision to life.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button variant="outline" size="lg" className="bg-transparent border-primary-foreground text-primary-foreground hover:bg-primary-foreground/20 hover:text-primary-foreground">
Book a Consultation
</Button>
<Button variant="secondary" size="lg">
Visit Our Showroom
</Button>
</div>
</div>
</section>

{/* Footer */}
<footer className="bg-card px-4 py-16">
<div className="max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-10">
<div>
<h3 className="text-xl font-semibold mb-4">Furniture Studio</h3>
<p className="text-muted-foreground">
Crafting exceptional furniture since 2002. Dedicated to quality, sustainability, and timeless design.
</p>
</div>

<div>
<h4 className="font-medium mb-4">Collections</h4>
<ul className="space-y-3">
{["Scandinavian", "Mid-Century Modern", "Contemporary", "Custom Designs"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Information</h4>
<ul className="space-y-3">
{["About Us", "Sustainability", "Process", "Testimonials", "FAQ"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Contact</h4>
<address className="not-italic text-muted-foreground">
<p>123 Atelier Street</p>
<p>Design District</p>
<p>New York, NY 10001</p>
<p className="mt-4">hello@furniturestudio.com</p>
<p>+1 (555) 123-4567</p>
</address>
</div>
</div>

<div className="max-w-7xl mx-auto mt-16 pt-8 border-t flex flex-col md:flex-row justify-between items-center gap-4">
<p className="text-sm text-muted-foreground">
© {new Date().getFullYear()} Furniture Studio. All rights reserved.
</p>
<div className="flex gap-6">
{["Terms", "Privacy", "Cookies"].map((item, i) => (
<Button key={i} variant="link" className="p-0 h-auto text-sm text-muted-foreground hover:text-foreground">
{item}
</Button>
))}
</div>
</div>
</footer>
</main>
);
}
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/app/layout.tsx
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,8 +13,8 @@ const geistMono = Geist_Mono({
});

export const metadata: Metadata = {
title: "Create Next App",
description: "Generated by create next app",
title: "Furniture Studio | Crafting Timeless Furniture",
description: "Discover handcrafted, sustainable furniture that transforms spaces. Where artisanal craftsmanship meets modern design.",
};

export default function RootLayout({
Expand Down
226 changes: 225 additions & 1 deletion src/app/page.tsx
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,227 @@
import { Button } from "@/components/ui/button";
import { Card, CardContent, CardDescription, CardTitle } from "@/components/ui/card";
import Image from "next/image";

export default function Home() {
return (<div className={'h-screen'}></div>);
return (
<main className="min-h-screen">
{/* Hero Section */}
<section className="relative h-[80vh] w-full flex items-center justify-center">
<div className="absolute inset-0 z-0">
<Image
src="/hero-furniture.jpg"
alt="Modern furniture in a minimalist living room"
fill
priority
className="object-cover brightness-95"
/>
</div>
<div className="absolute inset-0 bg-black/40 z-10" />
<div className="relative z-20 text-center px-4 max-w-3xl mx-auto">
<h1 className="text-5xl md:text-6xl font-semibold text-white mb-6">Crafting Timeless Furniture</h1>
<p className="text-lg md:text-xl text-white/90 mb-8">
Where artisanal craftsmanship meets modern design. Discover furniture that transforms spaces.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button size="lg">Explore Collection</Button>
<Button variant="outline" size="lg" className="bg-transparent text-white border-white hover:bg-white/20 hover:text-white">
Book Consultation
</Button>
</div>
</div>
</section>

{/* Featured Collections */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<div className="text-center mb-16">
<h2 className="text-3xl md:text-4xl font-semibold mb-4">Our Collections</h2>
<p className="text-muted-foreground max-w-2xl mx-auto">
Each piece is a testament to our unwavering commitment to quality, sustainability, and timeless design.
</p>
</div>

<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
title: "Scandinavian Collection",
description: "Minimalist designs with clean lines and natural materials",
image: "/scandinavian-collection.jpg"
},
{
title: "Mid-Century Modern",
description: "Iconic pieces inspired by the golden era of furniture design",
image: "/mid-century-collection.jpg"
},
{
title: "Contemporary Luxury",
description: "Bold statement pieces for the modern connoisseur",
image: "/contemporary-collection.jpg"
},
].map((collection, i) => (
<Card key={i} className="overflow-hidden border-0 shadow-md">
<div className="relative h-64 w-full">
<Image
src={collection.image}
alt={collection.title}
fill
className="object-cover"
/>
</div>
<CardContent className="pt-6">
<CardTitle className="text-xl mb-2">{collection.title}</CardTitle>
<CardDescription>{collection.description}</CardDescription>
<Button variant="link" className="p-0 h-auto mt-4">
View Collection
</Button>
</CardContent>
</Card>
))}
</div>
</section>

{/* About Section */}
<section className="py-20 bg-secondary">
<div className="max-w-7xl mx-auto px-4 grid md:grid-cols-2 gap-10 items-center">
<div className="relative h-[500px]">
<Image
src="/workshop.jpg"
alt="Our furniture craftsmen at work"
fill
className="object-cover rounded-lg"
/>
</div>
<div>
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Craftsmanship in Every Detail</h2>
<p className="text-muted-foreground mb-6">
For over two decades, our studio has been dedicated to the art of furniture making.
Every piece is handcrafted by our skilled artisans using traditional techniques
passed down through generations, combined with modern innovation.
</p>
<p className="text-muted-foreground mb-8">
We believe that furniture should be more than functional—it should tell a story,
evoke emotion, and stand the test of time. That's why we source only the finest
sustainable materials and pay meticulous attention to every detail.
</p>
<Button>Our Story</Button>
</div>
</div>
</section>

{/* Testimonials */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<h2 className="text-3xl md:text-4xl font-semibold text-center mb-16">What Our Clients Say</h2>

<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
quote: "The attention to detail and quality of craftsmanship exceeded our expectations. Our custom dining table has become the centerpiece of our home.",
author: "Sarah & Michael",
location: "New York"
},
{
quote: "Working with this studio was a pleasure from start to finish. They truly understood our vision and created pieces that perfectly complement our space.",
author: "James Wilson",
location: "Los Angeles"
},
{
quote: "The sustainable practices and ethical sourcing of materials was what initially drew us to the studio, but the exceptional quality of their work is why we keep coming back.",
author: "Emma Thompson",
location: "Chicago"
},
].map((testimonial, i) => (
<Card key={i} className="p-8">
<svg className="h-10 w-10 text-muted-foreground mb-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z" />
</svg>
<p className="mb-6 text-lg">{testimonial.quote}</p>
<div>
<p className="font-medium">{testimonial.author}</p>
<p className="text-sm text-muted-foreground">{testimonial.location}</p>
</div>
</Card>
))}
</div>
</section>

{/* Contact CTA */}
<section className="py-20 px-4 bg-primary text-primary-foreground">
<div className="max-w-4xl mx-auto text-center">
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Ready to Transform Your Space?</h2>
<p className="text-primary-foreground/90 mb-8 max-w-2xl mx-auto">
Whether you're looking for a statement piece or an entire collection, our team is ready to bring your vision to life.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button variant="outline" size="lg" className="bg-transparent border-primary-foreground text-primary-foreground hover:bg-primary-foreground/20 hover:text-primary-foreground">
Book a Consultation
</Button>
<Button variant="secondary" size="lg">
Visit Our Showroom
</Button>
</div>
</div>
</section>

{/* Footer */}
<footer className="bg-card px-4 py-16">
<div className="max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-10">
<div>
<h3 className="text-xl font-semibold mb-4">Furniture Studio</h3>
<p className="text-muted-foreground">
Crafting exceptional furniture since 2002. Dedicated to quality, sustainability, and timeless design.
</p>
</div>

<div>
<h4 className="font-medium mb-4">Collections</h4>
<ul className="space-y-3">
{["Scandinavian", "Mid-Century Modern", "Contemporary", "Custom Designs"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Information</h4>
<ul className="space-y-3">
{["About Us", "Sustainability", "Process", "Testimonials", "FAQ"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Contact</h4>
<address className="not-italic text-muted-foreground">
<p>123 Atelier Street</p>
<p>Design District</p>
<p>New York, NY 10001</p>
<p className="mt-4">hello@furniturestudio.com</p>
<p>+1 (555) 123-4567</p>
</address>
</div>
</div>

<div className="max-w-7xl mx-auto mt-16 pt-8 border-t flex flex-col md:flex-row justify-between items-center gap-4">
<p className="text-sm text-muted-foreground">
© {new Date().getFullYear()} Furniture Studio. All rights reserved.
</p>
<div className="flex gap-6">
{["Terms", "Privacy", "Cookies"].map((item, i) => (
<Button key={i} variant="link" className="p-0 h-auto text-sm text-muted-foreground hover:text-foreground">
{item}
</Button>
))}
</div>
</div>
</footer>
</main>
);
}
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/app/layout.tsx
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,8 +13,8 @@ const geistMono = Geist_Mono({
});

export const metadata: Metadata = {
title: "Create Next App",
description: "Generated by create next app",
title: "Furniture Studio | Crafting Timeless Furniture",
description: "Discover handcrafted, sustainable furniture that transforms spaces. Where artisanal craftsmanship meets modern design.",
};

export default function RootLayout({
Expand Down
226 changes: 225 additions & 1 deletion src/app/page.tsx
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,227 @@
import { Button } from "@/components/ui/button";
import { Card, CardContent, CardDescription, CardTitle } from "@/components/ui/card";
import Image from "next/image";

export default function Home() {
return (<div className={'h-screen'}></div>);
return (
<main className="min-h-screen">
{/* Hero Section */}
<section className="relative h-[80vh] w-full flex items-center justify-center">
<div className="absolute inset-0 z-0">
<Image
src="/hero-furniture.jpg"
alt="Modern furniture in a minimalist living room"
fill
priority
className="object-cover brightness-95"
/>
</div>
<div className="absolute inset-0 bg-black/40 z-10" />
<div className="relative z-20 text-center px-4 max-w-3xl mx-auto">
<h1 className="text-5xl md:text-6xl font-semibold text-white mb-6">Crafting Timeless Furniture</h1>
<p className="text-lg md:text-xl text-white/90 mb-8">
Where artisanal craftsmanship meets modern design. Discover furniture that transforms spaces.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button size="lg">Explore Collection</Button>
<Button variant="outline" size="lg" className="bg-transparent text-white border-white hover:bg-white/20 hover:text-white">
Book Consultation
</Button>
</div>
</div>
</section>

{/* Featured Collections */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<div className="text-center mb-16">
<h2 className="text-3xl md:text-4xl font-semibold mb-4">Our Collections</h2>
<p className="text-muted-foreground max-w-2xl mx-auto">
Each piece is a testament to our unwavering commitment to quality, sustainability, and timeless design.
</p>
</div>

<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
title: "Scandinavian Collection",
description: "Minimalist designs with clean lines and natural materials",
image: "/scandinavian-collection.jpg"
},
{
title: "Mid-Century Modern",
description: "Iconic pieces inspired by the golden era of furniture design",
image: "/mid-century-collection.jpg"
},
{
title: "Contemporary Luxury",
description: "Bold statement pieces for the modern connoisseur",
image: "/contemporary-collection.jpg"
},
].map((collection, i) => (
<Card key={i} className="overflow-hidden border-0 shadow-md">
<div className="relative h-64 w-full">
<Image
src={collection.image}
alt={collection.title}
fill
className="object-cover"
/>
</div>
<CardContent className="pt-6">
<CardTitle className="text-xl mb-2">{collection.title}</CardTitle>
<CardDescription>{collection.description}</CardDescription>
<Button variant="link" className="p-0 h-auto mt-4">
View Collection
</Button>
</CardContent>
</Card>
))}
</div>
</section>

{/* About Section */}
<section className="py-20 bg-secondary">
<div className="max-w-7xl mx-auto px-4 grid md:grid-cols-2 gap-10 items-center">
<div className="relative h-[500px]">
<Image
src="/workshop.jpg"
alt="Our furniture craftsmen at work"
fill
className="object-cover rounded-lg"
/>
</div>
<div>
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Craftsmanship in Every Detail</h2>
<p className="text-muted-foreground mb-6">
For over two decades, our studio has been dedicated to the art of furniture making.
Every piece is handcrafted by our skilled artisans using traditional techniques
passed down through generations, combined with modern innovation.
</p>
<p className="text-muted-foreground mb-8">
We believe that furniture should be more than functional—it should tell a story,
evoke emotion, and stand the test of time. That's why we source only the finest
sustainable materials and pay meticulous attention to every detail.
</p>
<Button>Our Story</Button>
</div>
</div>
</section>

{/* Testimonials */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<h2 className="text-3xl md:text-4xl font-semibold text-center mb-16">What Our Clients Say</h2>

<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
quote: "The attention to detail and quality of craftsmanship exceeded our expectations. Our custom dining table has become the centerpiece of our home.",
author: "Sarah & Michael",
location: "New York"
},
{
quote: "Working with this studio was a pleasure from start to finish. They truly understood our vision and created pieces that perfectly complement our space.",
author: "James Wilson",
location: "Los Angeles"
},
{
quote: "The sustainable practices and ethical sourcing of materials was what initially drew us to the studio, but the exceptional quality of their work is why we keep coming back.",
author: "Emma Thompson",
location: "Chicago"
},
].map((testimonial, i) => (
<Card key={i} className="p-8">
<svg className="h-10 w-10 text-muted-foreground mb-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z" />
</svg>
<p className="mb-6 text-lg">{testimonial.quote}</p>
<div>
<p className="font-medium">{testimonial.author}</p>
<p className="text-sm text-muted-foreground">{testimonial.location}</p>
</div>
</Card>
))}
</div>
</section>

{/* Contact CTA */}
<section className="py-20 px-4 bg-primary text-primary-foreground">
<div className="max-w-4xl mx-auto text-center">
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Ready to Transform Your Space?</h2>
<p className="text-primary-foreground/90 mb-8 max-w-2xl mx-auto">
Whether you're looking for a statement piece or an entire collection, our team is ready to bring your vision to life.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button variant="outline" size="lg" className="bg-transparent border-primary-foreground text-primary-foreground hover:bg-primary-foreground/20 hover:text-primary-foreground">
Book a Consultation
</Button>
<Button variant="secondary" size="lg">
Visit Our Showroom
</Button>
</div>
</div>
</section>

{/* Footer */}
<footer className="bg-card px-4 py-16">
<div className="max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-10">
<div>
<h3 className="text-xl font-semibold mb-4">Furniture Studio</h3>
<p className="text-muted-foreground">
Crafting exceptional furniture since 2002. Dedicated to quality, sustainability, and timeless design.
</p>
</div>

<div>
<h4 className="font-medium mb-4">Collections</h4>
<ul className="space-y-3">
{["Scandinavian", "Mid-Century Modern", "Contemporary", "Custom Designs"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Information</h4>
<ul className="space-y-3">
{["About Us", "Sustainability", "Process", "Testimonials", "FAQ"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Contact</h4>
<address className="not-italic text-muted-foreground">
<p>123 Atelier Street</p>
<p>Design District</p>
<p>New York, NY 10001</p>
<p className="mt-4">hello@furniturestudio.com</p>
<p>+1 (555) 123-4567</p>
</address>
</div>
</div>

<div className="max-w-7xl mx-auto mt-16 pt-8 border-t flex flex-col md:flex-row justify-between items-center gap-4">
<p className="text-sm text-muted-foreground">
© {new Date().getFullYear()} Furniture Studio. All rights reserved.
</p>
<div className="flex gap-6">
{["Terms", "Privacy", "Cookies"].map((item, i) => (
<Button key={i} variant="link" className="p-0 h-auto text-sm text-muted-foreground hover:text-foreground">
{item}
</Button>
))}
</div>
</div>
</footer>
</main>
);
}
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/app/layout.tsx
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,8 +13,8 @@ const geistMono = Geist_Mono({
});

export const metadata: Metadata = {
title: "Create Next App",
description: "Generated by create next app",
title: "Furniture Studio | Crafting Timeless Furniture",
description: "Discover handcrafted, sustainable furniture that transforms spaces. Where artisanal craftsmanship meets modern design.",
};

export default function RootLayout({
Expand Down
226 changes: 225 additions & 1 deletion src/app/page.tsx
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,227 @@
import { Button } from "@/components/ui/button";
import { Card, CardContent, CardDescription, CardTitle } from "@/components/ui/card";
import Image from "next/image";

export default function Home() {
return (<div className={'h-screen'}></div>);
return (
<main className="min-h-screen">
{/* Hero Section */}
<section className="relative h-[80vh] w-full flex items-center justify-center">
<div className="absolute inset-0 z-0">
<Image
src="/hero-furniture.jpg"
alt="Modern furniture in a minimalist living room"
fill
priority
className="object-cover brightness-95"
/>
</div>
<div className="absolute inset-0 bg-black/40 z-10" />
<div className="relative z-20 text-center px-4 max-w-3xl mx-auto">
<h1 className="text-5xl md:text-6xl font-semibold text-white mb-6">Crafting Timeless Furniture</h1>
<p className="text-lg md:text-xl text-white/90 mb-8">
Where artisanal craftsmanship meets modern design. Discover furniture that transforms spaces.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button size="lg">Explore Collection</Button>
<Button variant="outline" size="lg" className="bg-transparent text-white border-white hover:bg-white/20 hover:text-white">
Book Consultation
</Button>
</div>
</div>
</section>

{/* Featured Collections */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<div className="text-center mb-16">
<h2 className="text-3xl md:text-4xl font-semibold mb-4">Our Collections</h2>
<p className="text-muted-foreground max-w-2xl mx-auto">
Each piece is a testament to our unwavering commitment to quality, sustainability, and timeless design.
</p>
</div>

<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
title: "Scandinavian Collection",
description: "Minimalist designs with clean lines and natural materials",
image: "/scandinavian-collection.jpg"
},
{
title: "Mid-Century Modern",
description: "Iconic pieces inspired by the golden era of furniture design",
image: "/mid-century-collection.jpg"
},
{
title: "Contemporary Luxury",
description: "Bold statement pieces for the modern connoisseur",
image: "/contemporary-collection.jpg"
},
].map((collection, i) => (
<Card key={i} className="overflow-hidden border-0 shadow-md">
<div className="relative h-64 w-full">
<Image
src={collection.image}
alt={collection.title}
fill
className="object-cover"
/>
</div>
<CardContent className="pt-6">
<CardTitle className="text-xl mb-2">{collection.title}</CardTitle>
<CardDescription>{collection.description}</CardDescription>
<Button variant="link" className="p-0 h-auto mt-4">
View Collection
</Button>
</CardContent>
</Card>
))}
</div>
</section>

{/* About Section */}
<section className="py-20 bg-secondary">
<div className="max-w-7xl mx-auto px-4 grid md:grid-cols-2 gap-10 items-center">
<div className="relative h-[500px]">
<Image
src="/workshop.jpg"
alt="Our furniture craftsmen at work"
fill
className="object-cover rounded-lg"
/>
</div>
<div>
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Craftsmanship in Every Detail</h2>
<p className="text-muted-foreground mb-6">
For over two decades, our studio has been dedicated to the art of furniture making.
Every piece is handcrafted by our skilled artisans using traditional techniques
passed down through generations, combined with modern innovation.
</p>
<p className="text-muted-foreground mb-8">
We believe that furniture should be more than functional—it should tell a story,
evoke emotion, and stand the test of time. That's why we source only the finest
sustainable materials and pay meticulous attention to every detail.
</p>
<Button>Our Story</Button>
</div>
</div>
</section>

{/* Testimonials */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<h2 className="text-3xl md:text-4xl font-semibold text-center mb-16">What Our Clients Say</h2>

<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
quote: "The attention to detail and quality of craftsmanship exceeded our expectations. Our custom dining table has become the centerpiece of our home.",
author: "Sarah & Michael",
location: "New York"
},
{
quote: "Working with this studio was a pleasure from start to finish. They truly understood our vision and created pieces that perfectly complement our space.",
author: "James Wilson",
location: "Los Angeles"
},
{
quote: "The sustainable practices and ethical sourcing of materials was what initially drew us to the studio, but the exceptional quality of their work is why we keep coming back.",
author: "Emma Thompson",
location: "Chicago"
},
].map((testimonial, i) => (
<Card key={i} className="p-8">
<svg className="h-10 w-10 text-muted-foreground mb-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z" />
</svg>
<p className="mb-6 text-lg">{testimonial.quote}</p>
<div>
<p className="font-medium">{testimonial.author}</p>
<p className="text-sm text-muted-foreground">{testimonial.location}</p>
</div>
</Card>
))}
</div>
</section>

{/* Contact CTA */}
<section className="py-20 px-4 bg-primary text-primary-foreground">
<div className="max-w-4xl mx-auto text-center">
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Ready to Transform Your Space?</h2>
<p className="text-primary-foreground/90 mb-8 max-w-2xl mx-auto">
Whether you're looking for a statement piece or an entire collection, our team is ready to bring your vision to life.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button variant="outline" size="lg" className="bg-transparent border-primary-foreground text-primary-foreground hover:bg-primary-foreground/20 hover:text-primary-foreground">
Book a Consultation
</Button>
<Button variant="secondary" size="lg">
Visit Our Showroom
</Button>
</div>
</div>
</section>

{/* Footer */}
<footer className="bg-card px-4 py-16">
<div className="max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-10">
<div>
<h3 className="text-xl font-semibold mb-4">Furniture Studio</h3>
<p className="text-muted-foreground">
Crafting exceptional furniture since 2002. Dedicated to quality, sustainability, and timeless design.
</p>
</div>

<div>
<h4 className="font-medium mb-4">Collections</h4>
<ul className="space-y-3">
{["Scandinavian", "Mid-Century Modern", "Contemporary", "Custom Designs"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Information</h4>
<ul className="space-y-3">
{["About Us", "Sustainability", "Process", "Testimonials", "FAQ"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Contact</h4>
<address className="not-italic text-muted-foreground">
<p>123 Atelier Street</p>
<p>Design District</p>
<p>New York, NY 10001</p>
<p className="mt-4">hello@furniturestudio.com</p>
<p>+1 (555) 123-4567</p>
</address>
</div>
</div>

<div className="max-w-7xl mx-auto mt-16 pt-8 border-t flex flex-col md:flex-row justify-between items-center gap-4">
<p className="text-sm text-muted-foreground">
© {new Date().getFullYear()} Furniture Studio. All rights reserved.
</p>
<div className="flex gap-6">
{["Terms", "Privacy", "Cookies"].map((item, i) => (
<Button key={i} variant="link" className="p-0 h-auto text-sm text-muted-foreground hover:text-foreground">
{item}
</Button>
))}
</div>
</div>
</footer>
</main>
);
}
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/app/layout.tsx
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,8 +13,8 @@ const geistMono = Geist_Mono({
});

export const metadata: Metadata = {
title: "Create Next App",
description: "Generated by create next app",
title: "Furniture Studio | Crafting Timeless Furniture",
description: "Discover handcrafted, sustainable furniture that transforms spaces. Where artisanal craftsmanship meets modern design.",
};

export default function RootLayout({
Expand Down
226 changes: 225 additions & 1 deletion src/app/page.tsx
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,227 @@
import { Button } from "@/components/ui/button";
import { Card, CardContent, CardDescription, CardTitle } from "@/components/ui/card";
import Image from "next/image";

export default function Home() {
return (<div className={'h-screen'}></div>);
return (
<main className="min-h-screen">
{/* Hero Section */}
<section className="relative h-[80vh] w-full flex items-center justify-center">
<div className="absolute inset-0 z-0">
<Image
src="/hero-furniture.jpg"
alt="Modern furniture in a minimalist living room"
fill
priority
className="object-cover brightness-95"
/>
</div>
<div className="absolute inset-0 bg-black/40 z-10" />
<div className="relative z-20 text-center px-4 max-w-3xl mx-auto">
<h1 className="text-5xl md:text-6xl font-semibold text-white mb-6">Crafting Timeless Furniture</h1>
<p className="text-lg md:text-xl text-white/90 mb-8">
Where artisanal craftsmanship meets modern design. Discover furniture that transforms spaces.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button size="lg">Explore Collection</Button>
<Button variant="outline" size="lg" className="bg-transparent text-white border-white hover:bg-white/20 hover:text-white">
Book Consultation
</Button>
</div>
</div>
</section>

{/* Featured Collections */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<div className="text-center mb-16">
<h2 className="text-3xl md:text-4xl font-semibold mb-4">Our Collections</h2>
<p className="text-muted-foreground max-w-2xl mx-auto">
Each piece is a testament to our unwavering commitment to quality, sustainability, and timeless design.
</p>
</div>

<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
title: "Scandinavian Collection",
description: "Minimalist designs with clean lines and natural materials",
image: "/scandinavian-collection.jpg"
},
{
title: "Mid-Century Modern",
description: "Iconic pieces inspired by the golden era of furniture design",
image: "/mid-century-collection.jpg"
},
{
title: "Contemporary Luxury",
description: "Bold statement pieces for the modern connoisseur",
image: "/contemporary-collection.jpg"
},
].map((collection, i) => (
<Card key={i} className="overflow-hidden border-0 shadow-md">
<div className="relative h-64 w-full">
<Image
src={collection.image}
alt={collection.title}
fill
className="object-cover"
/>
</div>
<CardContent className="pt-6">
<CardTitle className="text-xl mb-2">{collection.title}</CardTitle>
<CardDescription>{collection.description}</CardDescription>
<Button variant="link" className="p-0 h-auto mt-4">
View Collection
</Button>
</CardContent>
</Card>
))}
</div>
</section>

{/* About Section */}
<section className="py-20 bg-secondary">
<div className="max-w-7xl mx-auto px-4 grid md:grid-cols-2 gap-10 items-center">
<div className="relative h-[500px]">
<Image
src="/workshop.jpg"
alt="Our furniture craftsmen at work"
fill
className="object-cover rounded-lg"
/>
</div>
<div>
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Craftsmanship in Every Detail</h2>
<p className="text-muted-foreground mb-6">
For over two decades, our studio has been dedicated to the art of furniture making.
Every piece is handcrafted by our skilled artisans using traditional techniques
passed down through generations, combined with modern innovation.
</p>
<p className="text-muted-foreground mb-8">
We believe that furniture should be more than functional—it should tell a story,
evoke emotion, and stand the test of time. That's why we source only the finest
sustainable materials and pay meticulous attention to every detail.
</p>
<Button>Our Story</Button>
</div>
</div>
</section>

{/* Testimonials */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<h2 className="text-3xl md:text-4xl font-semibold text-center mb-16">What Our Clients Say</h2>

<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
quote: "The attention to detail and quality of craftsmanship exceeded our expectations. Our custom dining table has become the centerpiece of our home.",
author: "Sarah & Michael",
location: "New York"
},
{
quote: "Working with this studio was a pleasure from start to finish. They truly understood our vision and created pieces that perfectly complement our space.",
author: "James Wilson",
location: "Los Angeles"
},
{
quote: "The sustainable practices and ethical sourcing of materials was what initially drew us to the studio, but the exceptional quality of their work is why we keep coming back.",
author: "Emma Thompson",
location: "Chicago"
},
].map((testimonial, i) => (
<Card key={i} className="p-8">
<svg className="h-10 w-10 text-muted-foreground mb-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z" />
</svg>
<p className="mb-6 text-lg">{testimonial.quote}</p>
<div>
<p className="font-medium">{testimonial.author}</p>
<p className="text-sm text-muted-foreground">{testimonial.location}</p>
</div>
</Card>
))}
</div>
</section>

{/* Contact CTA */}
<section className="py-20 px-4 bg-primary text-primary-foreground">
<div className="max-w-4xl mx-auto text-center">
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Ready to Transform Your Space?</h2>
<p className="text-primary-foreground/90 mb-8 max-w-2xl mx-auto">
Whether you're looking for a statement piece or an entire collection, our team is ready to bring your vision to life.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button variant="outline" size="lg" className="bg-transparent border-primary-foreground text-primary-foreground hover:bg-primary-foreground/20 hover:text-primary-foreground">
Book a Consultation
</Button>
<Button variant="secondary" size="lg">
Visit Our Showroom
</Button>
</div>
</div>
</section>

{/* Footer */}
<footer className="bg-card px-4 py-16">
<div className="max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-10">
<div>
<h3 className="text-xl font-semibold mb-4">Furniture Studio</h3>
<p className="text-muted-foreground">
Crafting exceptional furniture since 2002. Dedicated to quality, sustainability, and timeless design.
</p>
</div>

<div>
<h4 className="font-medium mb-4">Collections</h4>
<ul className="space-y-3">
{["Scandinavian", "Mid-Century Modern", "Contemporary", "Custom Designs"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Information</h4>
<ul className="space-y-3">
{["About Us", "Sustainability", "Process", "Testimonials", "FAQ"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Contact</h4>
<address className="not-italic text-muted-foreground">
<p>123 Atelier Street</p>
<p>Design District</p>
<p>New York, NY 10001</p>
<p className="mt-4">hello@furniturestudio.com</p>
<p>+1 (555) 123-4567</p>
</address>
</div>
</div>

<div className="max-w-7xl mx-auto mt-16 pt-8 border-t flex flex-col md:flex-row justify-between items-center gap-4">
<p className="text-sm text-muted-foreground">
© {new Date().getFullYear()} Furniture Studio. All rights reserved.
</p>
<div className="flex gap-6">
{["Terms", "Privacy", "Cookies"].map((item, i) => (
<Button key={i} variant="link" className="p-0 h-auto text-sm text-muted-foreground hover:text-foreground">
{item}
</Button>
))}
</div>
</div>
</footer>
</main>
);
}
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/app/layout.tsx
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,8 +13,8 @@ const geistMono = Geist_Mono({
});

export const metadata: Metadata = {
title: "Create Next App",
description: "Generated by create next app",
title: "Furniture Studio | Crafting Timeless Furniture",
description: "Discover handcrafted, sustainable furniture that transforms spaces. Where artisanal craftsmanship meets modern design.",
};

export default function RootLayout({
Expand Down
226 changes: 225 additions & 1 deletion src/app/page.tsx
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,227 @@
import { Button } from "@/components/ui/button";
import { Card, CardContent, CardDescription, CardTitle } from "@/components/ui/card";
import Image from "next/image";

export default function Home() {
return (<div className={'h-screen'}></div>);
return (
<main className="min-h-screen">
{/* Hero Section */}
<section className="relative h-[80vh] w-full flex items-center justify-center">
<div className="absolute inset-0 z-0">
<Image
src="/hero-furniture.jpg"
alt="Modern furniture in a minimalist living room"
fill
priority
className="object-cover brightness-95"
/>
</div>
<div className="absolute inset-0 bg-black/40 z-10" />
<div className="relative z-20 text-center px-4 max-w-3xl mx-auto">
<h1 className="text-5xl md:text-6xl font-semibold text-white mb-6">Crafting Timeless Furniture</h1>
<p className="text-lg md:text-xl text-white/90 mb-8">
Where artisanal craftsmanship meets modern design. Discover furniture that transforms spaces.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button size="lg">Explore Collection</Button>
<Button variant="outline" size="lg" className="bg-transparent text-white border-white hover:bg-white/20 hover:text-white">
Book Consultation
</Button>
</div>
</div>
</section>

{/* Featured Collections */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<div className="text-center mb-16">
<h2 className="text-3xl md:text-4xl font-semibold mb-4">Our Collections</h2>
<p className="text-muted-foreground max-w-2xl mx-auto">
Each piece is a testament to our unwavering commitment to quality, sustainability, and timeless design.
</p>
</div>

<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
title: "Scandinavian Collection",
description: "Minimalist designs with clean lines and natural materials",
image: "/scandinavian-collection.jpg"
},
{
title: "Mid-Century Modern",
description: "Iconic pieces inspired by the golden era of furniture design",
image: "/mid-century-collection.jpg"
},
{
title: "Contemporary Luxury",
description: "Bold statement pieces for the modern connoisseur",
image: "/contemporary-collection.jpg"
},
].map((collection, i) => (
<Card key={i} className="overflow-hidden border-0 shadow-md">
<div className="relative h-64 w-full">
<Image
src={collection.image}
alt={collection.title}
fill
className="object-cover"
/>
</div>
<CardContent className="pt-6">
<CardTitle className="text-xl mb-2">{collection.title}</CardTitle>
<CardDescription>{collection.description}</CardDescription>
<Button variant="link" className="p-0 h-auto mt-4">
View Collection
</Button>
</CardContent>
</Card>
))}
</div>
</section>

{/* About Section */}
<section className="py-20 bg-secondary">
<div className="max-w-7xl mx-auto px-4 grid md:grid-cols-2 gap-10 items-center">
<div className="relative h-[500px]">
<Image
src="/workshop.jpg"
alt="Our furniture craftsmen at work"
fill
className="object-cover rounded-lg"
/>
</div>
<div>
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Craftsmanship in Every Detail</h2>
<p className="text-muted-foreground mb-6">
For over two decades, our studio has been dedicated to the art of furniture making.
Every piece is handcrafted by our skilled artisans using traditional techniques
passed down through generations, combined with modern innovation.
</p>
<p className="text-muted-foreground mb-8">
We believe that furniture should be more than functional—it should tell a story,
evoke emotion, and stand the test of time. That's why we source only the finest
sustainable materials and pay meticulous attention to every detail.
</p>
<Button>Our Story</Button>
</div>
</div>
</section>

{/* Testimonials */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<h2 className="text-3xl md:text-4xl font-semibold text-center mb-16">What Our Clients Say</h2>

<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
quote: "The attention to detail and quality of craftsmanship exceeded our expectations. Our custom dining table has become the centerpiece of our home.",
author: "Sarah & Michael",
location: "New York"
},
{
quote: "Working with this studio was a pleasure from start to finish. They truly understood our vision and created pieces that perfectly complement our space.",
author: "James Wilson",
location: "Los Angeles"
},
{
quote: "The sustainable practices and ethical sourcing of materials was what initially drew us to the studio, but the exceptional quality of their work is why we keep coming back.",
author: "Emma Thompson",
location: "Chicago"
},
].map((testimonial, i) => (
<Card key={i} className="p-8">
<svg className="h-10 w-10 text-muted-foreground mb-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z" />
</svg>
<p className="mb-6 text-lg">{testimonial.quote}</p>
<div>
<p className="font-medium">{testimonial.author}</p>
<p className="text-sm text-muted-foreground">{testimonial.location}</p>
</div>
</Card>
))}
</div>
</section>

{/* Contact CTA */}
<section className="py-20 px-4 bg-primary text-primary-foreground">
<div className="max-w-4xl mx-auto text-center">
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Ready to Transform Your Space?</h2>
<p className="text-primary-foreground/90 mb-8 max-w-2xl mx-auto">
Whether you're looking for a statement piece or an entire collection, our team is ready to bring your vision to life.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button variant="outline" size="lg" className="bg-transparent border-primary-foreground text-primary-foreground hover:bg-primary-foreground/20 hover:text-primary-foreground">
Book a Consultation
</Button>
<Button variant="secondary" size="lg">
Visit Our Showroom
</Button>
</div>
</div>
</section>

{/* Footer */}
<footer className="bg-card px-4 py-16">
<div className="max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-10">
<div>
<h3 className="text-xl font-semibold mb-4">Furniture Studio</h3>
<p className="text-muted-foreground">
Crafting exceptional furniture since 2002. Dedicated to quality, sustainability, and timeless design.
</p>
</div>

<div>
<h4 className="font-medium mb-4">Collections</h4>
<ul className="space-y-3">
{["Scandinavian", "Mid-Century Modern", "Contemporary", "Custom Designs"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Information</h4>
<ul className="space-y-3">
{["About Us", "Sustainability", "Process", "Testimonials", "FAQ"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Contact</h4>
<address className="not-italic text-muted-foreground">
<p>123 Atelier Street</p>
<p>Design District</p>
<p>New York, NY 10001</p>
<p className="mt-4">hello@furniturestudio.com</p>
<p>+1 (555) 123-4567</p>
</address>
</div>
</div>

<div className="max-w-7xl mx-auto mt-16 pt-8 border-t flex flex-col md:flex-row justify-between items-center gap-4">
<p className="text-sm text-muted-foreground">
© {new Date().getFullYear()} Furniture Studio. All rights reserved.
</p>
<div className="flex gap-6">
{["Terms", "Privacy", "Cookies"].map((item, i) => (
<Button key={i} variant="link" className="p-0 h-auto text-sm text-muted-foreground hover:text-foreground">
{item}
</Button>
))}
</div>
</div>
</footer>
</main>
);
}
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/app/layout.tsx
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,8 +13,8 @@ const geistMono = Geist_Mono({
});

export const metadata: Metadata = {
title: "Create Next App",
description: "Generated by create next app",
title: "Furniture Studio | Crafting Timeless Furniture",
description: "Discover handcrafted, sustainable furniture that transforms spaces. Where artisanal craftsmanship meets modern design.",
};

export default function RootLayout({
Expand Down
226 changes: 225 additions & 1 deletion src/app/page.tsx
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,227 @@
import { Button } from "@/components/ui/button";
import { Card, CardContent, CardDescription, CardTitle } from "@/components/ui/card";
import Image from "next/image";

export default function Home() {
return (<div className={'h-screen'}></div>);
return (
<main className="min-h-screen">
{/* Hero Section */}
<section className="relative h-[80vh] w-full flex items-center justify-center">
<div className="absolute inset-0 z-0">
<Image
src="/hero-furniture.jpg"
alt="Modern furniture in a minimalist living room"
fill
priority
className="object-cover brightness-95"
/>
</div>
<div className="absolute inset-0 bg-black/40 z-10" />
<div className="relative z-20 text-center px-4 max-w-3xl mx-auto">
<h1 className="text-5xl md:text-6xl font-semibold text-white mb-6">Crafting Timeless Furniture</h1>
<p className="text-lg md:text-xl text-white/90 mb-8">
Where artisanal craftsmanship meets modern design. Discover furniture that transforms spaces.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button size="lg">Explore Collection</Button>
<Button variant="outline" size="lg" className="bg-transparent text-white border-white hover:bg-white/20 hover:text-white">
Book Consultation
</Button>
</div>
</div>
</section>

{/* Featured Collections */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<div className="text-center mb-16">
<h2 className="text-3xl md:text-4xl font-semibold mb-4">Our Collections</h2>
<p className="text-muted-foreground max-w-2xl mx-auto">
Each piece is a testament to our unwavering commitment to quality, sustainability, and timeless design.
</p>
</div>

<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
title: "Scandinavian Collection",
description: "Minimalist designs with clean lines and natural materials",
image: "/scandinavian-collection.jpg"
},
{
title: "Mid-Century Modern",
description: "Iconic pieces inspired by the golden era of furniture design",
image: "/mid-century-collection.jpg"
},
{
title: "Contemporary Luxury",
description: "Bold statement pieces for the modern connoisseur",
image: "/contemporary-collection.jpg"
},
].map((collection, i) => (
<Card key={i} className="overflow-hidden border-0 shadow-md">
<div className="relative h-64 w-full">
<Image
src={collection.image}
alt={collection.title}
fill
className="object-cover"
/>
</div>
<CardContent className="pt-6">
<CardTitle className="text-xl mb-2">{collection.title}</CardTitle>
<CardDescription>{collection.description}</CardDescription>
<Button variant="link" className="p-0 h-auto mt-4">
View Collection
</Button>
</CardContent>
</Card>
))}
</div>
</section>

{/* About Section */}
<section className="py-20 bg-secondary">
<div className="max-w-7xl mx-auto px-4 grid md:grid-cols-2 gap-10 items-center">
<div className="relative h-[500px]">
<Image
src="/workshop.jpg"
alt="Our furniture craftsmen at work"
fill
className="object-cover rounded-lg"
/>
</div>
<div>
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Craftsmanship in Every Detail</h2>
<p className="text-muted-foreground mb-6">
For over two decades, our studio has been dedicated to the art of furniture making.
Every piece is handcrafted by our skilled artisans using traditional techniques
passed down through generations, combined with modern innovation.
</p>
<p className="text-muted-foreground mb-8">
We believe that furniture should be more than functional—it should tell a story,
evoke emotion, and stand the test of time. That's why we source only the finest
sustainable materials and pay meticulous attention to every detail.
</p>
<Button>Our Story</Button>
</div>
</div>
</section>

{/* Testimonials */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<h2 className="text-3xl md:text-4xl font-semibold text-center mb-16">What Our Clients Say</h2>

<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
quote: "The attention to detail and quality of craftsmanship exceeded our expectations. Our custom dining table has become the centerpiece of our home.",
author: "Sarah & Michael",
location: "New York"
},
{
quote: "Working with this studio was a pleasure from start to finish. They truly understood our vision and created pieces that perfectly complement our space.",
author: "James Wilson",
location: "Los Angeles"
},
{
quote: "The sustainable practices and ethical sourcing of materials was what initially drew us to the studio, but the exceptional quality of their work is why we keep coming back.",
author: "Emma Thompson",
location: "Chicago"
},
].map((testimonial, i) => (
<Card key={i} className="p-8">
<svg className="h-10 w-10 text-muted-foreground mb-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z" />
</svg>
<p className="mb-6 text-lg">{testimonial.quote}</p>
<div>
<p className="font-medium">{testimonial.author}</p>
<p className="text-sm text-muted-foreground">{testimonial.location}</p>
</div>
</Card>
))}
</div>
</section>

{/* Contact CTA */}
<section className="py-20 px-4 bg-primary text-primary-foreground">
<div className="max-w-4xl mx-auto text-center">
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Ready to Transform Your Space?</h2>
<p className="text-primary-foreground/90 mb-8 max-w-2xl mx-auto">
Whether you're looking for a statement piece or an entire collection, our team is ready to bring your vision to life.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button variant="outline" size="lg" className="bg-transparent border-primary-foreground text-primary-foreground hover:bg-primary-foreground/20 hover:text-primary-foreground">
Book a Consultation
</Button>
<Button variant="secondary" size="lg">
Visit Our Showroom
</Button>
</div>
</div>
</section>

{/* Footer */}
<footer className="bg-card px-4 py-16">
<div className="max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-10">
<div>
<h3 className="text-xl font-semibold mb-4">Furniture Studio</h3>
<p className="text-muted-foreground">
Crafting exceptional furniture since 2002. Dedicated to quality, sustainability, and timeless design.
</p>
</div>

<div>
<h4 className="font-medium mb-4">Collections</h4>
<ul className="space-y-3">
{["Scandinavian", "Mid-Century Modern", "Contemporary", "Custom Designs"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Information</h4>
<ul className="space-y-3">
{["About Us", "Sustainability", "Process", "Testimonials", "FAQ"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Contact</h4>
<address className="not-italic text-muted-foreground">
<p>123 Atelier Street</p>
<p>Design District</p>
<p>New York, NY 10001</p>
<p className="mt-4">hello@furniturestudio.com</p>
<p>+1 (555) 123-4567</p>
</address>
</div>
</div>

<div className="max-w-7xl mx-auto mt-16 pt-8 border-t flex flex-col md:flex-row justify-between items-center gap-4">
<p className="text-sm text-muted-foreground">
© {new Date().getFullYear()} Furniture Studio. All rights reserved.
</p>
<div className="flex gap-6">
{["Terms", "Privacy", "Cookies"].map((item, i) => (
<Button key={i} variant="link" className="p-0 h-auto text-sm text-muted-foreground hover:text-foreground">
{item}
</Button>
))}
</div>
</div>
</footer>
</main>
);
}
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/app/layout.tsx
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,8 +13,8 @@ const geistMono = Geist_Mono({
});

export const metadata: Metadata = {
title: "Create Next App",
description: "Generated by create next app",
title: "Furniture Studio | Crafting Timeless Furniture",
description: "Discover handcrafted, sustainable furniture that transforms spaces. Where artisanal craftsmanship meets modern design.",
};

export default function RootLayout({
Expand Down
226 changes: 225 additions & 1 deletion src/app/page.tsx
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,227 @@
import { Button } from "@/components/ui/button";
import { Card, CardContent, CardDescription, CardTitle } from "@/components/ui/card";
import Image from "next/image";

export default function Home() {
return (<div className={'h-screen'}></div>);
return (
<main className="min-h-screen">
{/* Hero Section */}
<section className="relative h-[80vh] w-full flex items-center justify-center">
<div className="absolute inset-0 z-0">
<Image
src="/hero-furniture.jpg"
alt="Modern furniture in a minimalist living room"
fill
priority
className="object-cover brightness-95"
/>
</div>
<div className="absolute inset-0 bg-black/40 z-10" />
<div className="relative z-20 text-center px-4 max-w-3xl mx-auto">
<h1 className="text-5xl md:text-6xl font-semibold text-white mb-6">Crafting Timeless Furniture</h1>
<p className="text-lg md:text-xl text-white/90 mb-8">
Where artisanal craftsmanship meets modern design. Discover furniture that transforms spaces.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button size="lg">Explore Collection</Button>
<Button variant="outline" size="lg" className="bg-transparent text-white border-white hover:bg-white/20 hover:text-white">
Book Consultation
</Button>
</div>
</div>
</section>

{/* Featured Collections */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<div className="text-center mb-16">
<h2 className="text-3xl md:text-4xl font-semibold mb-4">Our Collections</h2>
<p className="text-muted-foreground max-w-2xl mx-auto">
Each piece is a testament to our unwavering commitment to quality, sustainability, and timeless design.
</p>
</div>

<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
title: "Scandinavian Collection",
description: "Minimalist designs with clean lines and natural materials",
image: "/scandinavian-collection.jpg"
},
{
title: "Mid-Century Modern",
description: "Iconic pieces inspired by the golden era of furniture design",
image: "/mid-century-collection.jpg"
},
{
title: "Contemporary Luxury",
description: "Bold statement pieces for the modern connoisseur",
image: "/contemporary-collection.jpg"
},
].map((collection, i) => (
<Card key={i} className="overflow-hidden border-0 shadow-md">
<div className="relative h-64 w-full">
<Image
src={collection.image}
alt={collection.title}
fill
className="object-cover"
/>
</div>
<CardContent className="pt-6">
<CardTitle className="text-xl mb-2">{collection.title}</CardTitle>
<CardDescription>{collection.description}</CardDescription>
<Button variant="link" className="p-0 h-auto mt-4">
View Collection
</Button>
</CardContent>
</Card>
))}
</div>
</section>

{/* About Section */}
<section className="py-20 bg-secondary">
<div className="max-w-7xl mx-auto px-4 grid md:grid-cols-2 gap-10 items-center">
<div className="relative h-[500px]">
<Image
src="/workshop.jpg"
alt="Our furniture craftsmen at work"
fill
className="object-cover rounded-lg"
/>
</div>
<div>
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Craftsmanship in Every Detail</h2>
<p className="text-muted-foreground mb-6">
For over two decades, our studio has been dedicated to the art of furniture making.
Every piece is handcrafted by our skilled artisans using traditional techniques
passed down through generations, combined with modern innovation.
</p>
<p className="text-muted-foreground mb-8">
We believe that furniture should be more than functional—it should tell a story,
evoke emotion, and stand the test of time. That's why we source only the finest
sustainable materials and pay meticulous attention to every detail.
</p>
<Button>Our Story</Button>
</div>
</div>
</section>

{/* Testimonials */}
<section className="py-20 px-4 max-w-7xl mx-auto">
<h2 className="text-3xl md:text-4xl font-semibold text-center mb-16">What Our Clients Say</h2>

<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
{[
{
quote: "The attention to detail and quality of craftsmanship exceeded our expectations. Our custom dining table has become the centerpiece of our home.",
author: "Sarah & Michael",
location: "New York"
},
{
quote: "Working with this studio was a pleasure from start to finish. They truly understood our vision and created pieces that perfectly complement our space.",
author: "James Wilson",
location: "Los Angeles"
},
{
quote: "The sustainable practices and ethical sourcing of materials was what initially drew us to the studio, but the exceptional quality of their work is why we keep coming back.",
author: "Emma Thompson",
location: "Chicago"
},
].map((testimonial, i) => (
<Card key={i} className="p-8">
<svg className="h-10 w-10 text-muted-foreground mb-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z" />
</svg>
<p className="mb-6 text-lg">{testimonial.quote}</p>
<div>
<p className="font-medium">{testimonial.author}</p>
<p className="text-sm text-muted-foreground">{testimonial.location}</p>
</div>
</Card>
))}
</div>
</section>

{/* Contact CTA */}
<section className="py-20 px-4 bg-primary text-primary-foreground">
<div className="max-w-4xl mx-auto text-center">
<h2 className="text-3xl md:text-4xl font-semibold mb-6">Ready to Transform Your Space?</h2>
<p className="text-primary-foreground/90 mb-8 max-w-2xl mx-auto">
Whether you're looking for a statement piece or an entire collection, our team is ready to bring your vision to life.
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<Button variant="outline" size="lg" className="bg-transparent border-primary-foreground text-primary-foreground hover:bg-primary-foreground/20 hover:text-primary-foreground">
Book a Consultation
</Button>
<Button variant="secondary" size="lg">
Visit Our Showroom
</Button>
</div>
</div>
</section>

{/* Footer */}
<footer className="bg-card px-4 py-16">
<div className="max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-10">
<div>
<h3 className="text-xl font-semibold mb-4">Furniture Studio</h3>
<p className="text-muted-foreground">
Crafting exceptional furniture since 2002. Dedicated to quality, sustainability, and timeless design.
</p>
</div>

<div>
<h4 className="font-medium mb-4">Collections</h4>
<ul className="space-y-3">
{["Scandinavian", "Mid-Century Modern", "Contemporary", "Custom Designs"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Information</h4>
<ul className="space-y-3">
{["About Us", "Sustainability", "Process", "Testimonials", "FAQ"].map((item, i) => (
<li key={i}>
<Button variant="link" className="p-0 h-auto text-muted-foreground hover:text-foreground">
{item}
</Button>
</li>
))}
</ul>
</div>

<div>
<h4 className="font-medium mb-4">Contact</h4>
<address className="not-italic text-muted-foreground">
<p>123 Atelier Street</p>
<p>Design District</p>
<p>New York, NY 10001</p>
<p className="mt-4">hello@furniturestudio.com</p>
<p>+1 (555) 123-4567</p>
</address>
</div>
</div>

<div className="max-w-7xl mx-auto mt-16 pt-8 border-t flex flex-col md:flex-row justify-between items-center gap-4">
<p className="text-sm text-muted-foreground">
© {new Date().getFullYear()} Furniture Studio. All rights reserved.
</p>
<div className="flex gap-6">
{["Terms", "Privacy", "Cookies"].map((item, i) => (
<Button key={i} variant="link" className="p-0 h-auto text-sm text-muted-foreground hover:text-foreground">
{item}
</Button>
))}
</div>
</div>
</footer>
</main>
);
}