Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4464b8272b | |||
| 72f4d88e5f | |||
| e2007aea74 | |||
| d6244c9173 | |||
| 9a3b3535a1 | |||
| 978c9b0639 | |||
| 1aa012a41a | |||
| 657ff63c61 | |||
| 9d34b157e9 | |||
| 40e5bd0493 | |||
| c4991cddde | |||
| 6ca40ed1d0 | |||
| 9bb38ebda5 |
@@ -6,6 +6,7 @@ import { useBlogPosts } from "@/hooks/useBlogPosts";
|
|||||||
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
|
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
|
||||||
import BlogCardOne from '@/components/sections/blog/BlogCardOne';
|
import BlogCardOne from '@/components/sections/blog/BlogCardOne';
|
||||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||||
|
import Link from 'next/link';
|
||||||
|
|
||||||
export default function BlogPage() {
|
export default function BlogPage() {
|
||||||
const { posts, isLoading } = useBlogPosts();
|
const { posts, isLoading } = useBlogPosts();
|
||||||
@@ -29,8 +30,6 @@ export default function BlogPage() {
|
|||||||
brandName="Balka Flowers"
|
brandName="Balka Flowers"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Home", id: "/" },
|
||||||
{ name: "Blog", id: "/blog" },
|
|
||||||
{ name: "Shop", id: "/shop" },
|
|
||||||
{ name: "Contact", id: "/contact" }
|
{ name: "Contact", id: "/contact" }
|
||||||
]}
|
]}
|
||||||
button={{ text: "Shop Now", href: "/shop" }}
|
button={{ text: "Shop Now", href: "/shop" }}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
|||||||
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
|
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
|
||||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||||
|
import Link from 'next/link';
|
||||||
|
|
||||||
export default function ContactPage() {
|
export default function ContactPage() {
|
||||||
return (
|
return (
|
||||||
@@ -26,8 +27,6 @@ export default function ContactPage() {
|
|||||||
brandName="Balka Flowers"
|
brandName="Balka Flowers"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Home", id: "/" },
|
||||||
{ name: "Blog", id: "/blog" },
|
|
||||||
{ name: "Shop", id: "/shop" },
|
|
||||||
{ name: "Contact", id: "/contact" }
|
{ name: "Contact", id: "/contact" }
|
||||||
]}
|
]}
|
||||||
button={{ text: "Shop Now", href: "/shop" }}
|
button={{ text: "Shop Now", href: "/shop" }}
|
||||||
@@ -48,7 +47,7 @@ export default function ContactPage() {
|
|||||||
]}
|
]}
|
||||||
textarea={{ name: 'message', placeholder: 'Type your message...', rows: 5, required: true }}
|
textarea={{ name: 'message', placeholder: 'Type your message...', rows: 5, required: true }}
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
videoSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_34my1kGeblbsCcwUUCcjBY9WFkg/uploaded-1771684785214-9g6egt6v.mp4"
|
imageSrc="https://img.b2bpic.net/free-photo/beautiful-flowers-bouquet-with-copy-space_23-2148911578.jpg"
|
||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
mediaPosition="right"
|
mediaPosition="right"
|
||||||
buttonText="Send Message"
|
buttonText="Send Message"
|
||||||
|
|||||||
@@ -1,51 +1,27 @@
|
|||||||
import type { Metadata } from "next";
|
import './globals.css';
|
||||||
import { Plus_Jakarta_Sans } from "next/font/google";
|
import type { Metadata } from 'next';
|
||||||
import { Inter } from "next/font/google";
|
import { Inter_Tight } from "next/font/google";
|
||||||
import "./globals.css";
|
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
|
|
||||||
const plusJakartaSans = Plus_Jakarta_Sans({
|
const interTight = Inter_Tight({
|
||||||
variable: "--font-plus-jakarta-sans", subsets: ["latin"],
|
variable: "--font-inter-tight", subsets: ["latin"],
|
||||||
});
|
weight: ["100", "200", "300", "400", "500", "600", "700", "800", "900"]
|
||||||
|
|
||||||
const inter = Inter({
|
|
||||||
variable: "--font-inter", subsets: ["latin"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Balka Flowers Studio | Exquisite Floral Arrangements", description: "Discover stunning floral designs and custom arrangements from Balka Flowers, your local studio for fresh, handcrafted bouquets and event decor.", keywords: ["flowers", "floral studio", "bouquet", "arrangements", "custom flowers", "event decor", "florist", "Balka", "fresh flowers"],
|
title: 'Balka Flowers',
|
||||||
openGraph: {
|
description: 'Exquisite floral arrangements for every occasion.',
|
||||||
title: "Balka Flowers Studio | Exquisite Floral Arrangements", description: "Discover stunning floral designs and custom arrangements from Balka Flowers, your local studio for fresh, handcrafted bouquets and event decor.", url: "https://balkaflowers.com", siteName: "Balka Flowers", images: [
|
}
|
||||||
{
|
|
||||||
url: "https://img.b2bpic.net/free-photo/bouquet-pink-roses-with-green-leaves-inside-vase_114579-1439.jpg", alt: "Vibrant bouquet of fresh flowers"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
type: "website"
|
|
||||||
},
|
|
||||||
twitter: {
|
|
||||||
card: "summary_large_image", title: "Balka Flowers Studio | Exquisite Floral Arrangements", description: "Discover stunning floral designs and custom arrangements from Balka Flowers, your local studio for fresh, handcrafted bouquets and event decor.", images: ["https://img.b2bpic.net/free-photo/bouquet-pink-roses-with-green-leaves-inside-vase_114579-1439.jpg"]
|
|
||||||
},
|
|
||||||
robots: {
|
|
||||||
index: true,
|
|
||||||
follow: true
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
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" className={`${interTight.variable}`}>
|
||||||
<ServiceWrapper>
|
<body>
|
||||||
<body
|
{children}
|
||||||
className={`${plusJakartaSans.variable} ${inter.variable} antialiased`}
|
|
||||||
>
|
|
||||||
<Tag />
|
|
||||||
{children}
|
|
||||||
|
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: `
|
__html: `
|
||||||
@@ -1413,7 +1389,6 @@ export default function RootLayout({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import TestimonialCardThirteen from '@/components/sections/testimonial/Testimoni
|
|||||||
import ContactFaq from '@/components/sections/contact/ContactFaq';
|
import ContactFaq from '@/components/sections/contact/ContactFaq';
|
||||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||||
import { Mail } from 'lucide-react';
|
import { Mail } from 'lucide-react';
|
||||||
|
import Link from 'next/link';
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
return (
|
return (
|
||||||
@@ -29,8 +30,6 @@ export default function LandingPage() {
|
|||||||
brandName="Balka Flowers"
|
brandName="Balka Flowers"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Home", id: "/" },
|
||||||
{ name: "Blog", id: "/blog" },
|
|
||||||
{ name: "Shop", id: "/shop" },
|
|
||||||
{ name: "Contact", id: "/contact" }
|
{ name: "Contact", id: "/contact" }
|
||||||
]}
|
]}
|
||||||
button={{ text: "Shop Now", href: "/shop" }}
|
button={{ text: "Shop Now", href: "/shop" }}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import { useProductDetail } from "@/hooks/useProductDetail";
|
|||||||
import { useCart } from "@/hooks/useCart";
|
import { useCart } from "@/hooks/useCart";
|
||||||
import { useCheckout } from "@/hooks/useCheckout";
|
import { useCheckout } from "@/hooks/useCheckout";
|
||||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||||
|
import Link from 'next/link';
|
||||||
|
|
||||||
interface ProductPageProps {
|
interface ProductPageProps {
|
||||||
params: Promise<{ id: string }>;
|
params: Promise<{ id: string }>;
|
||||||
@@ -92,7 +93,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
|||||||
<div id="navbar" data-section="navbar">
|
<div id="navbar" data-section="navbar">
|
||||||
<NavbarLayoutFloatingInline
|
<NavbarLayoutFloatingInline
|
||||||
brandName="Balka Flowers"
|
brandName="Balka Flowers"
|
||||||
navItems={[{ name: "Home", id: "/" }, { name: "Blog", id: "/blog" }, { name: "Shop", id: "/shop" }, { name: "Contact", id: "/contact" }]}
|
navItems={[{ name: "Home", id: "/" }, { name: "Contact", id: "/contact" }]}
|
||||||
className="py-4 px-6 md:px-8"
|
className="py-4 px-6 md:px-8"
|
||||||
navItemClassName="text-foreground hover:text-primary-cta transition-colors"
|
navItemClassName="text-foreground hover:text-primary-cta transition-colors"
|
||||||
buttonClassName="px-5 py-2"
|
buttonClassName="px-5 py-2"
|
||||||
@@ -126,7 +127,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
|||||||
<div id="navbar" data-section="navbar">
|
<div id="navbar" data-section="navbar">
|
||||||
<NavbarLayoutFloatingInline
|
<NavbarLayoutFloatingInline
|
||||||
brandName="Balka Flowers"
|
brandName="Balka Flowers"
|
||||||
navItems={[{ name: "Home", id: "/" }, { name: "Blog", id: "/blog" }, { name: "Shop", id: "/shop" }, { name: "Contact", id: "/contact" }]}
|
navItems={[{ name: "Home", id: "/" }, { name: "Contact", id: "/contact" }]}
|
||||||
className="py-4 px-6 md:px-8"
|
className="py-4 px-6 md:px-8"
|
||||||
navItemClassName="text-foreground hover:text-primary-cta transition-colors"
|
navItemClassName="text-foreground hover:text-primary-cta transition-colors"
|
||||||
buttonClassName="px-5 py-2"
|
buttonClassName="px-5 py-2"
|
||||||
@@ -167,7 +168,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
|||||||
<div id="navbar" data-section="navbar">
|
<div id="navbar" data-section="navbar">
|
||||||
<NavbarLayoutFloatingInline
|
<NavbarLayoutFloatingInline
|
||||||
brandName="Balka Flowers"
|
brandName="Balka Flowers"
|
||||||
navItems={[{ name: "Home", id: "/" }, { name: "Blog", id: "/blog" }, { name: "Shop", id: "/shop" }, { name: "Contact", id: "/contact" }]}
|
navItems={[{ name: "Home", id: "/" }, { name: "Contact", id: "/contact" }]}
|
||||||
className="py-4 px-6 md:px-8"
|
className="py-4 px-6 md:px-8"
|
||||||
navItemClassName="text-foreground hover:text-primary-cta transition-colors"
|
navItemClassName="text-foreground hover:text-primary-cta transition-colors"
|
||||||
buttonClassName="px-5 py-2"
|
buttonClassName="px-5 py-2"
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import ProductCart from "@/components/ecommerce/cart/ProductCart";
|
|||||||
import { useCart } from "@/hooks/useCart";
|
import { useCart } from "@/hooks/useCart";
|
||||||
import { useCheckout } from "@/hooks/useCheckout";
|
import { useCheckout } from "@/hooks/useCheckout";
|
||||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||||
|
import Link from 'next/link';
|
||||||
|
|
||||||
function ShopPageContent() {
|
function ShopPageContent() {
|
||||||
const {
|
const {
|
||||||
@@ -59,7 +60,7 @@ function ShopPageContent() {
|
|||||||
<div id="navbar" data-section="navbar">
|
<div id="navbar" data-section="navbar">
|
||||||
<NavbarLayoutFloatingInline
|
<NavbarLayoutFloatingInline
|
||||||
brandName="Balka Flowers"
|
brandName="Balka Flowers"
|
||||||
navItems={[{ name: "Home", id: "/" }, { name: "Blog", id: "/blog" }, { name: "Shop", id: "/shop" }, { name: "Contact", id: "/contact" }]}
|
navItems={[{ name: "Home", id: "/" }, { name: "Contact", id: "/contact" }]}
|
||||||
className="py-4 px-6 md:px-8"
|
className="py-4 px-6 md:px-8"
|
||||||
navItemClassName="text-foreground hover:text-primary-cta transition-colors"
|
navItemClassName="text-foreground hover:text-primary-cta transition-colors"
|
||||||
buttonClassName="px-5 py-2"
|
buttonClassName="px-5 py-2"
|
||||||
@@ -92,7 +93,7 @@ function ShopPageContent() {
|
|||||||
<div id="navbar" data-section="navbar">
|
<div id="navbar" data-section="navbar">
|
||||||
<NavbarLayoutFloatingInline
|
<NavbarLayoutFloatingInline
|
||||||
brandName="Balka Flowers"
|
brandName="Balka Flowers"
|
||||||
navItems={[{ name: "Home", id: "/" }, { name: "Blog", id: "/blog" }, { name: "Shop", id: "/shop" }, { name: "Contact", id: "/contact" }]}
|
navItems={[{ name: "Home", id: "/" }, { name: "Contact", id: "/contact" }]}
|
||||||
className="py-4 px-6 md:px-8"
|
className="py-4 px-6 md:px-8"
|
||||||
navItemClassName="text-foreground hover:text-primary-cta transition-colors"
|
navItemClassName="text-foreground hover:text-primary-cta transition-colors"
|
||||||
buttonClassName="px-5 py-2"
|
buttonClassName="px-5 py-2"
|
||||||
|
|||||||
@@ -2,23 +2,23 @@
|
|||||||
/* Base units */
|
/* Base units */
|
||||||
/* --vw is set by ThemeProvider */
|
/* --vw is set by ThemeProvider */
|
||||||
|
|
||||||
/* --background: #fdfdff;;
|
/* --background: #060000;;
|
||||||
--card: #ffffff;;
|
--card: #1d0d0d;;
|
||||||
--foreground: #2a0f3d;;
|
--foreground: #ffe6e6;;
|
||||||
--primary-cta: #e63946;;
|
--primary-cta: #ff3d4a;;
|
||||||
--secondary-cta: #d1c4e9;;
|
--secondary-cta: #1f0a0a;;
|
||||||
--accent: #8b5cf6;;
|
--accent: #7b2d2d;;
|
||||||
--background-accent: #f8f0ff;; */
|
--background-accent: #b8111f;; */
|
||||||
|
|
||||||
--background: #fdfdff;;
|
--background: #060000;;
|
||||||
--card: #ffffff;;
|
--card: #1d0d0d;;
|
||||||
--foreground: #2a0f3d;;
|
--foreground: #ffe6e6;;
|
||||||
--primary-cta: #e63946;;
|
--primary-cta: #ff3d4a;;
|
||||||
--primary-cta-text: #f5f5f5;;
|
--primary-cta-text: #060000;;
|
||||||
--secondary-cta: #d1c4e9;;
|
--secondary-cta: #1f0a0a;;
|
||||||
--secondary-cta-text: #1c1c1c;;
|
--secondary-cta-text: #ffe6e6;;
|
||||||
--accent: #8b5cf6;;
|
--accent: #7b2d2d;;
|
||||||
--background-accent: #f8f0ff;;
|
--background-accent: #b8111f;;
|
||||||
|
|
||||||
/* 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