Compare commits
24 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8176f7e34b | |||
| da02cecf3f | |||
| 86485209fe | |||
| 16994037ac | |||
| 298468e961 | |||
| 960a3f7556 | |||
| 2a39520935 | |||
| 48be37197e | |||
| dd9d7f5421 | |||
| 7ece695655 | |||
| 976fd5eb4d | |||
| 98945b0369 | |||
| d0446c5801 | |||
| 767a9455e4 | |||
| b798dccf7c | |||
| 10890fe4a4 | |||
| a5349871ad | |||
| 7c2e6604ec | |||
| 5628eb3f37 | |||
| 03e33dd565 | |||
| 2275d45d8f | |||
| aa712b6af8 | |||
| 88900b4d61 | |||
| 253f490064 |
@@ -1,48 +1,23 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Poppins } from "next/font/google";
|
import { Inter } from "next/font/google";
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
import "./styles/variables.css";
|
||||||
import Tag from "@/tag/Tag";
|
import "./styles/base.css";
|
||||||
|
|
||||||
const poppins = Poppins({
|
const inter = Inter({ subsets: ["latin"] });
|
||||||
variable: "--font-poppins", subsets: ["latin"],
|
|
||||||
weight: ["100", "200", "300", "400", "500", "600", "700", "800", "900"],
|
|
||||||
});
|
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Kviten | Premium Floral Design & Arrangements", description: "Exquisite handcrafted flower arrangements for weddings, events, and special occasions. Premium quality blooms delivered with artistry and care.", keywords: "flowers, florist, arrangements, wedding flowers, event flowers, premium bouquets, floral design", metadataBase: new URL("https://kviten.com"),
|
title: "Kviten - Exquisite Floral Artistry", description: "Transform your moments into unforgettable memories with Kviten's handcrafted floral arrangements."};
|
||||||
alternates: {
|
|
||||||
canonical: "https://kviten.com"
|
|
||||||
},
|
|
||||||
robots: {
|
|
||||||
index: true,
|
|
||||||
follow: true
|
|
||||||
},
|
|
||||||
openGraph: {
|
|
||||||
title: "Kviten | Premium Floral Design & Arrangements", description: "Exquisite handcrafted flower arrangements for weddings, events, and special occasions.", siteName: "Kviten", type: "website", images: [
|
|
||||||
{
|
|
||||||
url: "http://img.b2bpic.net/free-photo/girlfriend-standing-living-room-filled-with-romantic-gifts_482257-77346.jpg", alt: "Kviten Floral Arrangement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
twitter: {
|
|
||||||
card: "summary_large_image", title: "Kviten | Premium Floral Design & Arrangements", description: "Exquisite handcrafted flower arrangements for your special moments.", images: ["http://img.b2bpic.net/free-photo/girlfriend-standing-living-room-filled-with-romantic-gifts_482257-77346.jpg"]
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
}: Readonly<{
|
}: {
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
}>) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en">
|
||||||
<ServiceWrapper>
|
<body className={inter.className}>
|
||||||
<body
|
{children}
|
||||||
className={`${poppins.variable} antialiased`}
|
|
||||||
>
|
|
||||||
<Tag />
|
|
||||||
{children}
|
|
||||||
|
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
@@ -1411,7 +1386,6 @@ export default function RootLayout({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
"use client"
|
"use client";
|
||||||
|
|
||||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||||
import HeroBillboardRotatedCarousel from '@/components/sections/hero/HeroBillboardRotatedCarousel';
|
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
|
||||||
import TextAbout from '@/components/sections/about/TextAbout';
|
import TextAbout from '@/components/sections/about/TextAbout';
|
||||||
import FeatureCardSeven from '@/components/sections/feature/FeatureCardSeven';
|
import FeatureCardSeven from '@/components/sections/feature/FeatureCardSeven';
|
||||||
import TestimonialCardFifteen from '@/components/sections/testimonial/TestimonialCardFifteen';
|
import TestimonialCardFifteen from '@/components/sections/testimonial/TestimonialCardFifteen';
|
||||||
@@ -37,52 +37,27 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroBillboardRotatedCarousel
|
<HeroBillboard
|
||||||
title="Exquisite Floral Artistry"
|
title="Exquisite Floral Artistry"
|
||||||
description="Transform your moments into unforgettable memories with Kviten's handcrafted floral arrangements. Each bloom is carefully selected to create stunning designs that speak to the heart."
|
description="Transform your moments into unforgettable memories with Kviten's handcrafted floral arrangements. Each bloom is carefully selected to create stunning designs that speak to the heart."
|
||||||
tag="Premium Flowers"
|
tag="Premium Flowers"
|
||||||
tagIcon={Sparkles}
|
tagIcon={Sparkles}
|
||||||
tagAnimation="slide-up"
|
tagAnimation="slide-up"
|
||||||
buttons={[
|
buttons={[
|
||||||
{ text: "Order Now", href: "#contact" },
|
{ text: "Hello World", href: "contact" },
|
||||||
{ text: "Explore Designs", href: "#features" }
|
{ text: "Explore Designs", href: "features" }
|
||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
background={{ variant: "plain" }}
|
imageSrc="http://img.b2bpic.net/free-photo/girlfriend-standing-living-room-filled-with-romantic-gifts_482257-77346.jpg?_wi=1"
|
||||||
carouselItems={[
|
imageAlt="Red rose arrangement"
|
||||||
{
|
mediaAnimation="slide-up"
|
||||||
id: "1",
|
avatars={[
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/girlfriend-standing-living-room-filled-with-romantic-gifts_482257-77346.jpg?_wi=1",
|
{ src: "http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg", alt: "User 1" },
|
||||||
imageAlt: "Red rose arrangement"
|
{ src: "http://img.b2bpic.net/free-photo/portrait-smiley-business-woman_23-2148603029.jpg", alt: "User 2" },
|
||||||
},
|
{ src: "http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg", alt: "User 3" }
|
||||||
{
|
|
||||||
id: "2",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/bouquet-flowers-tree_1153-1066.jpg",
|
|
||||||
imageAlt: "Wedding flower bouquet"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "3",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-blooming-flowers_23-2148443901.jpg",
|
|
||||||
imageAlt: "Elegant peony arrangement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "4",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/flowers-with-glass-beside_23-2148879003.jpg",
|
|
||||||
imageAlt: "Red carnation design"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "5",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/empty-room-with-flowers-bouquet-valentines-day-event-celebrating-romantic-holiday-with-red-roses-boxes-sweet-presents-nobody-space-with-gifts-express-love-passion_482257-35457.jpg",
|
|
||||||
imageAlt: "Romantic rose arrangement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "6",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/floral-decor-woman-holding-bouquet-anthurium_140725-10842.jpg",
|
|
||||||
imageAlt: "Premium studio arrangement"
|
|
||||||
}
|
|
||||||
]}
|
]}
|
||||||
autoPlay={true}
|
avatarText="Loved by customers"
|
||||||
autoPlayInterval={4000}
|
background={{ variant: "plain" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -93,7 +68,7 @@ export default function LandingPage() {
|
|||||||
tagAnimation="slide-up"
|
tagAnimation="slide-up"
|
||||||
title="Celebrating the Beauty of Nature Through Floral Design. At Kviten, we believe every flower tells a story. Our studio combines traditional florist techniques with contemporary aesthetics to create arrangements that inspire, delight, and endure."
|
title="Celebrating the Beauty of Nature Through Floral Design. At Kviten, we believe every flower tells a story. Our studio combines traditional florist techniques with contemporary aesthetics to create arrangements that inspire, delight, and endure."
|
||||||
buttons={[
|
buttons={[
|
||||||
{ text: "Learn Our Story", href: "#features" }
|
{ text: "Learn Our Story", href: "features" }
|
||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
@@ -102,19 +77,19 @@ export default function LandingPage() {
|
|||||||
|
|
||||||
<div id="features" data-section="features">
|
<div id="features" data-section="features">
|
||||||
<FeatureCardSeven
|
<FeatureCardSeven
|
||||||
title="Our Services"
|
title="Join to us"
|
||||||
description="From wedding celebrations to corporate events, we deliver exceptional floral experiences tailored to your vision."
|
description="From wedding celebrations to corporate events, we deliver exceptional floral experiences tailored to your vision."
|
||||||
tag="What We Offer"
|
tag="What We Offer"
|
||||||
tagIcon={Star}
|
tagIcon={Star}
|
||||||
tagAnimation="slide-up"
|
tagAnimation="slide-up"
|
||||||
buttons={[
|
buttons={[
|
||||||
{ text: "Get a Quote", href: "#contact" }
|
{ text: "Get a Quote", href: "contact" }
|
||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
features={[
|
features={[
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
title: "Wedding Flowers", description: "Create the wedding of your dreams with our bespoke floral designs. From bridal bouquets to ceremony installations, we handle every detail with precision and passion.", imageSrc: "http://img.b2bpic.net/free-photo/blooming-flowers-table-garden_1304-4038.jpg", imageAlt: "Wedding flowers ceremony"
|
title: "Wedding Flowers", description: "Create the wedding of your dreams with our bespoke floral designs. From bridal bouquets to ceremony installations, we handle every detail with precision and passion.", imageSrc: "http://img.b2bpic.net/free-photo/blooming-flowers-table-garden_1304-4038.jpg?_wi=2", imageAlt: "Wedding flowers ceremony"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
@@ -132,6 +107,7 @@ export default function LandingPage() {
|
|||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
animationType="blur-reveal"
|
animationType="blur-reveal"
|
||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
|
textBoxTitleClassName="text-purple-600"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -188,23 +164,23 @@ export default function LandingPage() {
|
|||||||
columns={[
|
columns={[
|
||||||
{
|
{
|
||||||
title: "Services", items: [
|
title: "Services", items: [
|
||||||
{ label: "Wedding Flowers", href: "#features" },
|
{ label: "Wedding Flowers", href: "features" },
|
||||||
{ label: "Event Decoration", href: "#features" },
|
{ label: "Event Decoration", href: "features" },
|
||||||
{ label: "Gift Arrangements", href: "#features" },
|
{ label: "Gift Arrangements", href: "features" },
|
||||||
{ label: "Subscriptions", href: "#features" }
|
{ label: "Subscriptions", href: "features" }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "About", items: [
|
title: "About", items: [
|
||||||
{ label: "Our Story", href: "#about" },
|
{ label: "Our Story", href: "about" },
|
||||||
{ label: "Our Team", href: "#" },
|
{ label: "Our Team", href: "#" },
|
||||||
{ label: "Portfolio", href: "#features" },
|
{ label: "Portfolio", href: "features" },
|
||||||
{ label: "Blog", href: "#" }
|
{ label: "Blog", href: "#" }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Contact", items: [
|
title: "Contact", items: [
|
||||||
{ label: "Get in Touch", href: "#contact" },
|
{ label: "Get in Touch", href: "contact" },
|
||||||
{ label: "Privacy Policy", href: "#" },
|
{ label: "Privacy Policy", href: "#" },
|
||||||
{ label: "Terms of Service", href: "#" },
|
{ label: "Terms of Service", href: "#" },
|
||||||
{ label: "Follow Us", href: "#" }
|
{ label: "Follow Us", href: "#" }
|
||||||
|
|||||||
@@ -10,15 +10,15 @@
|
|||||||
--accent: #e2e2e2;;
|
--accent: #e2e2e2;;
|
||||||
--background-accent: #2d0000;; */
|
--background-accent: #2d0000;; */
|
||||||
|
|
||||||
--background: #ffffff;;
|
--background: #f5f5f5;;
|
||||||
--card: #a2f287;;
|
--card: #ffffff;;
|
||||||
--foreground: #5e0404;;
|
--foreground: #1c1c1c;;
|
||||||
--primary-cta: #f5788d;;
|
--primary-cta: #1c1c1c;;
|
||||||
--primary-cta-text: #ffffff;;
|
--primary-cta-text: #f5f5f5;;
|
||||||
--secondary-cta: #1a0000;;
|
--secondary-cta: #ffffff;;
|
||||||
--secondary-cta-text: #e1db32;;
|
--secondary-cta-text: #1c1c1c;;
|
||||||
--accent: #1f35d4;;
|
--accent: #159c49;;
|
||||||
--background-accent: #2d0000;;
|
--background-accent: #a8e8ba;;
|
||||||
|
|
||||||
/* text sizing - set by ThemeProvider */
|
/* text sizing - set by ThemeProvider */
|
||||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||||
|
|||||||
Reference in New Issue
Block a user