Merge version_3 into main #4
@@ -32,7 +32,6 @@ export default function BlogPage() {
|
||||
{ name: "Shop", id: "/shop" },
|
||||
{ name: "About", id: "#about" },
|
||||
{ name: "Testimonials", id: "#testimonials" },
|
||||
{ name: "FAQ", id: "#faq" },
|
||||
{ name: "Contact", id: "#contact" },
|
||||
]}
|
||||
/>
|
||||
@@ -70,7 +69,6 @@ export default function BlogPage() {
|
||||
title: "About Us", items: [
|
||||
{ label: "Our Story", href: "#about" },
|
||||
{ label: "Testimonials", href: "#testimonials" },
|
||||
{ label: "FAQ", href: "#faq" },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -85,4 +83,4 @@ export default function BlogPage() {
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -183,7 +183,7 @@ export default function RootLayout({
|
||||
|
||||
const buttonClasses = ['btn', 'button', 'cta', 'action-button'];
|
||||
const hasButtonClass = buttonClasses.some(cls =>
|
||||
element.classList.contains(cls) || element.classList.contains(\`btn-\${cls}\`)
|
||||
element.classList.contains(cls) || element.classList.contains(`btn-${cls}`)
|
||||
);
|
||||
|
||||
if (hasButtonClass && element.textContent && element.textContent.trim().length > 0) {
|
||||
@@ -237,7 +237,8 @@ export default function RootLayout({
|
||||
try {
|
||||
const urlObj = new URL(url);
|
||||
return urlObj.pathname;
|
||||
} catch (e) {
|
||||
}
|
||||
catch (e) {
|
||||
return url;
|
||||
}
|
||||
}
|
||||
@@ -675,17 +676,17 @@ export default function RootLayout({
|
||||
const rect = element.getBoundingClientRect();
|
||||
const overlay = document.createElement('div');
|
||||
overlay.className = 'webild-hover-overlay';
|
||||
overlay.style.cssText = \`
|
||||
overlay.style.cssText = `
|
||||
position: fixed !important;
|
||||
top: \${rect.top - 2}px !important;
|
||||
left: \${rect.left - 2}px !important;
|
||||
width: \${rect.width + 4}px !important;
|
||||
height: \${rect.height + 4}px !important;
|
||||
top: ${rect.top - 2}px !important;
|
||||
left: ${rect.left - 2}px !important;
|
||||
width: ${rect.width + 4}px !important;
|
||||
height: ${rect.height + 4}px !important;
|
||||
background-color: rgba(90, 113, 230, 0.15) !important;
|
||||
pointer-events: none !important;
|
||||
z-index: 999998 !important;
|
||||
transition: all 0.15s ease !important;
|
||||
\`;
|
||||
`;
|
||||
document.body.appendChild(overlay);
|
||||
return overlay;
|
||||
};
|
||||
@@ -748,11 +749,11 @@ export default function RootLayout({
|
||||
elementTypeLabel.classList.add('label-bottom');
|
||||
}
|
||||
|
||||
elementTypeLabel.style.cssText = \`
|
||||
left: \${labelLeft}px !important;
|
||||
top: \${labelTop}px !important;
|
||||
elementTypeLabel.style.cssText = `
|
||||
left: ${labelLeft}px !important;
|
||||
top: ${labelTop}px !important;
|
||||
transform: none !important;
|
||||
\`;
|
||||
`;
|
||||
};
|
||||
|
||||
const removeElementTypeLabel = () => {
|
||||
@@ -1006,7 +1007,7 @@ export default function RootLayout({
|
||||
const getStorageKey = () => {
|
||||
const url = new URL(window.location.href);
|
||||
const pathParts = url.pathname.split('/').filter(Boolean);
|
||||
return \`webild-changes-\${pathParts.join('-')}\`;
|
||||
return `webild-changes-${pathParts.join('-')}`;
|
||||
};
|
||||
|
||||
const saveChangeToStorage = (change) => {
|
||||
@@ -1242,7 +1243,7 @@ export default function RootLayout({
|
||||
|
||||
if (isBackground) {
|
||||
oldValue = window.getComputedStyle(element).backgroundImage;
|
||||
element.style.backgroundImage = \`url('\${newSrc}')\`;
|
||||
element.style.backgroundImage = `url('${newSrc}')`;
|
||||
replaced = true;
|
||||
} else if (element.tagName.toLowerCase() === 'img') {
|
||||
oldValue = element.src;
|
||||
@@ -1277,7 +1278,7 @@ export default function RootLayout({
|
||||
const hasBackgroundImage = window.getComputedStyle(element).backgroundImage !== 'none';
|
||||
if (hasBackgroundImage) {
|
||||
oldValue = window.getComputedStyle(element).backgroundImage;
|
||||
element.style.backgroundImage = \`url('\${newSrc}')\`;
|
||||
element.style.backgroundImage = `url('${newSrc}')`;
|
||||
replaced = true;
|
||||
}
|
||||
}
|
||||
@@ -2776,4 +2777,4 @@ export default function RootLayout({
|
||||
</ServiceWrapper>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,13 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import { Award, Flower, Heart } from "lucide-react";
|
||||
import { Award, Flower, Heart, Phone } from "lucide-react";
|
||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
|
||||
import ProductCardFour from '@/components/sections/product/ProductCardFour';
|
||||
import AboutMetric from '@/components/sections/about/AboutMetric';
|
||||
import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
|
||||
import FaqSplitText from '@/components/sections/faq/FaqSplitText';
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
import ContactFaq from '@/components/sections/contact/ContactFaq';
|
||||
import FooterMedia from '@/components/sections/footer/FooterMedia';
|
||||
|
||||
export default function LandingPage() {
|
||||
@@ -33,7 +32,6 @@ export default function LandingPage() {
|
||||
{ name: "Shop", id: "/shop" },
|
||||
{ name: "About", id: "#about" },
|
||||
{ name: "Testimonials", id: "#testimonials" },
|
||||
{ name: "FAQ", id: "#faq" },
|
||||
{ name: "Contact", id: "#contact" },
|
||||
]}
|
||||
/>
|
||||
@@ -98,36 +96,20 @@ export default function LandingPage() {
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
<div id="faq" data-section="faq">
|
||||
<FaqSplitText
|
||||
sideTitle="Frequently Asked Questions"
|
||||
sideDescription="Find quick answers to common questions about our flowers, delivery, and services."
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactFaq
|
||||
ctaTitle="Get in Touch with Persik"
|
||||
ctaDescription="Have a question or a special request? We'd love to hear from you. Send us a message and we'll get back to you shortly."
|
||||
ctaButton={{ text: "Send Message", href: "#contact" }}
|
||||
ctaIcon={Phone}
|
||||
faqs={[
|
||||
{ id: "1", title: "What are your delivery options?", content: "We offer same-day delivery for orders placed before 2 PM. Standard delivery is available nationwide. Please check our delivery policy for details." },
|
||||
{ id: "2", title: "Can I customize a bouquet?", content: "Absolutely! We love creating bespoke arrangements. Contact us directly to discuss your specific preferences and occasion." },
|
||||
{ id: "3", title: "How do I care for my flowers?", content: "Each bouquet comes with a care card. Generally, trim stems, change water daily, and keep away from direct sunlight and heat sources." },
|
||||
{ id: "4", title: "Do you offer corporate services?", content: "Yes, we provide floral services for corporate events, office decor, and client gifting. Reach out to our team for a tailored proposal." },
|
||||
]}
|
||||
faqsAnimation="slide-up"
|
||||
textPosition="left"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactSplitForm
|
||||
title="Get in Touch with Persik"
|
||||
description="Have a question or a special request? We'd love to hear from you. Send us a message and we'll get back to you shortly."
|
||||
inputs={[
|
||||
{ name: "name", type: "text", placeholder: "Your Name", required: true },
|
||||
{ name: "email", type: "email", placeholder: "Your Email", required: true },
|
||||
{ name: "phone", type: "tel", placeholder: "Your Phone Number (Optional)" },
|
||||
]}
|
||||
textarea={{ name: "message", placeholder: "Tell us about your floral needs or inquiry...", rows: 5, required: true }}
|
||||
buttonText="Send Message"
|
||||
imageSrc="https://img.b2bpic.net/free-photo/flowers-floral-shop-different-types_1303-15615.jpg"
|
||||
imageAlt="Beautiful flowers in a vase on a wooden table, in a cozy flower shop setting"
|
||||
mediaAnimation="slide-up"
|
||||
mediaPosition="right"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
@@ -139,11 +121,11 @@ export default function LandingPage() {
|
||||
copyrightText="© 2024 Persik | All rights reserved"
|
||||
columns={[
|
||||
{ title: "Shop", items: [{ label: "Bouquets", href: "/shop" }, { label: "Arrangements", href: "/shop" }, { label: "Gifts", href: "/shop" }] },
|
||||
{ title: "About Us", items: [{ label: "Our Story", href: "#about" }, { label: "Testimonials", href: "#testimonials" }, { label: "FAQ", href: "#faq" }] },
|
||||
{ title: "About Us", items: [{ label: "Our Story", href: "#about" }, { label: "Testimonials", href: "#testimonials" }] },
|
||||
{ title: "Support", items: [{ label: "Contact", href: "#contact" }, { label: "Delivery Info", href: "https://example.com/delivery" }, { label: "Privacy Policy", href: "https://example.com/privacy" }] },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -72,7 +72,6 @@ export default function ProductPage({ params }: ProductPageProps) {
|
||||
{ name: "Shop", id: "/shop" },
|
||||
{ name: "About", id: "#about" },
|
||||
{ name: "Testimonials", id: "#testimonials" },
|
||||
{ name: "FAQ", id: "#faq" },
|
||||
{ name: "Contact", id: "#contact" }
|
||||
],
|
||||
button: { text: "Cart", onClick: () => setCartOpen(true) },
|
||||
@@ -91,7 +90,7 @@ export default function ProductPage({ params }: ProductPageProps) {
|
||||
const footerProps = {
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/woman-holds-festive-flower-arrangement-with-bright-chrysanthemum-flowers_169016-51483.jpg?_wi=4", imageAlt: "Soft focus background image of various flowers", logoText: "Persik Flowers", copyrightText: "© 2024 Persik | All rights reserved", columns: [
|
||||
{ title: "Shop", items: [{ label: "Bouquets", href: "/shop" }, { label: "Arrangements", href: "/shop" }, { label: "Gifts", href: "/shop" }] },
|
||||
{ title: "About Us", items: [{ label: "Our Story", href: "#about" }, { label: "Testimonials", href: "#testimonials" }, { label: "FAQ", href: "#faq" }] },
|
||||
{ title: "About Us", items: [{ label: "Our Story", href: "#about" }, { label: "Testimonials", href: "#testimonials" }] },
|
||||
{ title: "Support", items: [{ label: "Contact", href: "#contact" }, { label: "Delivery Info", href: "https://example.com/delivery" }, { label: "Privacy Policy", href: "https://example.com/privacy" }] }
|
||||
]
|
||||
};
|
||||
@@ -221,4 +220,4 @@ export default function ProductPage({ params }: ProductPageProps) {
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -47,7 +47,6 @@ export default function ShopPage() {
|
||||
{ name: "Shop", id: "/shop" },
|
||||
{ name: "About", id: "#about" },
|
||||
{ name: "Testimonials", id: "#testimonials" },
|
||||
{ name: "FAQ", id: "#faq" },
|
||||
{ name: "Contact", id: "#contact" }
|
||||
],
|
||||
button: { text: "Cart", onClick: () => setCartOpen(true) },
|
||||
@@ -66,7 +65,7 @@ export default function ShopPage() {
|
||||
const footerProps = {
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/woman-holds-festive-flower-arrangement-with-bright-chrysanthemum-flowers_169016-51483.jpg?_wi=3", imageAlt: "Soft focus background image of various flowers", logoText: "Persik Flowers", copyrightText: "© 2024 Persik | All rights reserved", columns: [
|
||||
{ title: "Shop", items: [{ label: "Bouquets", href: "/shop" }, { label: "Arrangements", href: "/shop" }, { label: "Gifts", href: "/shop" }] },
|
||||
{ title: "About Us", items: [{ label: "Our Story", href: "#about" }, { label: "Testimonials", href: "#testimonials" }, { label: "FAQ", href: "#faq" }] },
|
||||
{ title: "About Us", items: [{ label: "Our Story", href: "#about" }, { label: "Testimonials", href: "#testimonials" }] },
|
||||
{ title: "Support", items: [{ label: "Contact", href: "#contact" }, { label: "Delivery Info", href: "https://example.com/delivery" }, { label: "Privacy Policy", href: "https://example.com/privacy" }] }
|
||||
]
|
||||
};
|
||||
@@ -149,4 +148,4 @@ export default function ShopPage() {
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user