13 Commits

Author SHA1 Message Date
4464b8272b Update src/app/shop/page.tsx 2026-02-23 13:33:28 +00:00
72f4d88e5f Update src/app/shop/[id]/page.tsx 2026-02-23 13:33:28 +00:00
e2007aea74 Update src/app/page.tsx 2026-02-23 13:33:27 +00:00
d6244c9173 Update src/app/contact/page.tsx 2026-02-23 13:33:26 +00:00
9a3b3535a1 Update src/app/blog/page.tsx 2026-02-23 13:33:25 +00:00
978c9b0639 Update src/app/styles/variables.css 2026-02-23 13:30:52 +00:00
1aa012a41a Update src/app/shop/page.tsx 2026-02-23 13:30:52 +00:00
657ff63c61 Update src/app/shop/[id]/page.tsx 2026-02-23 13:30:51 +00:00
9d34b157e9 Update src/app/layout.tsx 2026-02-23 13:30:50 +00:00
40e5bd0493 Merge version_4 into main
Merge version_4 into main
2026-02-23 13:23:15 +00:00
c4991cddde Merge version_4 into main
Merge version_4 into main
2026-02-23 13:21:41 +00:00
6ca40ed1d0 Merge version_4 into main
Merge version_4 into main
2026-02-23 13:20:50 +00:00
9bb38ebda5 Merge version_4 into main
Merge version_4 into main
2026-02-23 13:17:59 +00:00
7 changed files with 44 additions and 70 deletions

View File

@@ -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" }}

View File

@@ -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"

View File

@@ -1,50 +1,26 @@
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={{
@@ -1413,7 +1389,6 @@ export default function RootLayout({
}} }}
/> />
</body> </body>
</ServiceWrapper>
</html> </html>
); )
} }

View File

@@ -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" }}

View File

@@ -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"

View File

@@ -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"

View File

@@ -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);