Merge version_1 into main #2
@@ -11,7 +11,7 @@ import TestimonialCardFive from "@/components/sections/testimonial/TestimonialCa
|
||||
import FaqDouble from "@/components/sections/faq/FaqDouble";
|
||||
import ContactCTA from "@/components/sections/contact/ContactCTA";
|
||||
import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
|
||||
import { Award, Heart, HelpCircle, Rocket, Shield, Sparkles, Trending, Zap } from "lucide-react";
|
||||
import { Award, Heart, HelpCircle, Rocket, Shield, Sparkles, TrendingUp, Zap } from "lucide-react";
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
@@ -21,7 +21,7 @@ export default function LandingPage() {
|
||||
borderRadius="pill"
|
||||
contentWidth="small"
|
||||
sizing="largeSizeMediumTitles"
|
||||
background="circleGradient"
|
||||
background="none"
|
||||
cardStyle="glass-depth"
|
||||
primaryButtonStyle="flat"
|
||||
secondaryButtonStyle="layered"
|
||||
@@ -45,7 +45,7 @@ export default function LandingPage() {
|
||||
<HeroCentered
|
||||
title="Discover Your Perfect Skincare & Leather Care Match"
|
||||
description="Advanced facial analysis combined with personalized surveys to recommend skincare and leather care products tailored specifically to your skin type and needs."
|
||||
background={{ variant: "circleGradient" }}
|
||||
background={{ variant: "downward-rays-static" }}
|
||||
avatars={[
|
||||
{ src: "http://img.b2bpic.net/free-photo/closeup-pensive-beautiful-business-woman_1262-2981.jpg", alt: "Satisfied customer one" },
|
||||
{ src: "http://img.b2bpic.net/free-photo/senior-businessman-walking-outside-modern-office-building_1139-1079.jpg", alt: "Satisfied customer two" },
|
||||
@@ -83,18 +83,18 @@ export default function LandingPage() {
|
||||
features={[
|
||||
{
|
||||
id: 1,
|
||||
title: "Capture Your Face", description: "Use your device camera to take a clear photo of your face. Our advanced facial recognition technology analyzes your skin tone, texture, and characteristics in real-time.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-body-lingerie_23-2149237876.jpg?_wi=1" },
|
||||
phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-body-lingerie_23-2149237876.jpg?_wi=2" }
|
||||
title: "Capture Your Face", description: "Use your device camera to take a clear photo of your face. Our advanced facial recognition technology analyzes your skin tone, texture, and characteristics in real-time.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-body-lingerie_23-2149237876.jpg" },
|
||||
phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-body-lingerie_23-2149237876.jpg" }
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Complete Your Profile", description: "Answer detailed questions about your skin type, concerns, lifestyle, and preferences. Our intelligent survey adapts based on your responses for maximum accuracy.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/man-s-hands-using-tablet_1301-2038.jpg?_wi=1" },
|
||||
phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/man-s-hands-using-tablet_1301-2038.jpg?_wi=2" }
|
||||
title: "Complete Your Profile", description: "Answer detailed questions about your skin type, concerns, lifestyle, and preferences. Our intelligent survey adapts based on your responses for maximum accuracy.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/man-s-hands-using-tablet_1301-2038.jpg" },
|
||||
phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/man-s-hands-using-tablet_1301-2038.jpg" }
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "Get Recommendations", description: "Receive personalized skincare and leather care product recommendations matched specifically to your analysis results and preferences.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/skin-care-banner-concept-with-lotion_23-2149449157.jpg?_wi=1" },
|
||||
phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/set-male-shoes-near-smartphone-accessories_23-2148067753.jpg?_wi=1" }
|
||||
title: "Get Recommendations", description: "Receive personalized skincare and leather care product recommendations matched specifically to your analysis results and preferences.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/skin-care-banner-concept-with-lotion_23-2149449157.jpg" },
|
||||
phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/set-male-shoes-near-smartphone-accessories_23-2148067753.jpg" }
|
||||
}
|
||||
]}
|
||||
showStepNumbers={true}
|
||||
@@ -111,12 +111,12 @@ export default function LandingPage() {
|
||||
tag="Premium Selection"
|
||||
tagIcon={Award}
|
||||
products={[
|
||||
{ id: "skincare-hydrating-serum", name: "Hydrating Facial Serum", price: "$49.99", imageSrc: "http://img.b2bpic.net/free-photo/skin-care-banner-concept-with-lotion_23-2149449157.jpg?_wi=2", imageAlt: "Hydrating facial serum", initialQuantity: 1 },
|
||||
{ id: "skincare-moisturizer", name: "Deep Moisture Cream", price: "$59.99", imageSrc: "http://img.b2bpic.net/free-photo/skin-care-banner-concept-with-lotion_23-2149449157.jpg?_wi=3", imageAlt: "Deep moisture cream", initialQuantity: 1 },
|
||||
{ id: "skincare-cleanser", name: "Gentle Facial Cleanser", price: "$29.99", imageSrc: "http://img.b2bpic.net/free-photo/skin-care-banner-concept-with-lotion_23-2149449157.jpg?_wi=4", imageAlt: "Gentle facial cleanser", initialQuantity: 1 },
|
||||
{ id: "leather-conditioner", name: "Premium Leather Conditioner", price: "$39.99", imageSrc: "http://img.b2bpic.net/free-photo/set-male-shoes-near-smartphone-accessories_23-2148067753.jpg?_wi=2", imageAlt: "Premium leather conditioner", initialQuantity: 1 },
|
||||
{ id: "leather-protector", name: "Leather Protection Spray", price: "$34.99", imageSrc: "http://img.b2bpic.net/free-photo/set-male-shoes-near-smartphone-accessories_23-2148067753.jpg?_wi=3", imageAlt: "Leather protection spray", initialQuantity: 1 },
|
||||
{ id: "leather-cleaner", name: "Leather Cleaner Solution", price: "$24.99", imageSrc: "http://img.b2bpic.net/free-photo/set-male-shoes-near-smartphone-accessories_23-2148067753.jpg?_wi=4", imageAlt: "Leather cleaner solution", initialQuantity: 1 }
|
||||
{ id: "skincare-hydrating-serum", name: "Hydrating Facial Serum", price: "$49.99", imageSrc: "http://img.b2bpic.net/free-photo/skin-care-banner-concept-with-lotion_23-2149449157.jpg", imageAlt: "Hydrating facial serum", initialQuantity: 1 },
|
||||
{ id: "skincare-moisturizer", name: "Deep Moisture Cream", price: "$59.99", imageSrc: "http://img.b2bpic.net/free-photo/skin-care-banner-concept-with-lotion_23-2149449157.jpg", imageAlt: "Deep moisture cream", initialQuantity: 1 },
|
||||
{ id: "skincare-cleanser", name: "Gentle Facial Cleanser", price: "$29.99", imageSrc: "http://img.b2bpic.net/free-photo/skin-care-banner-concept-with-lotion_23-2149449157.jpg", imageAlt: "Gentle facial cleanser", initialQuantity: 1 },
|
||||
{ id: "leather-conditioner", name: "Premium Leather Conditioner", price: "$39.99", imageSrc: "http://img.b2bpic.net/free-photo/set-male-shoes-near-smartphone-accessories_23-2148067753.jpg", imageAlt: "Premium leather conditioner", initialQuantity: 1 },
|
||||
{ id: "leather-protector", name: "Leather Protection Spray", price: "$34.99", imageSrc: "http://img.b2bpic.net/free-photo/set-male-shoes-near-smartphone-accessories_23-2148067753.jpg", imageAlt: "Leather protection spray", initialQuantity: 1 },
|
||||
{ id: "leather-cleaner", name: "Leather Cleaner Solution", price: "$24.99", imageSrc: "http://img.b2bpic.net/free-photo/set-male-shoes-near-smartphone-accessories_23-2148067753.jpg", imageAlt: "Leather cleaner solution", initialQuantity: 1 }
|
||||
]}
|
||||
gridVariant="bento-grid"
|
||||
animationType="slide-up"
|
||||
@@ -130,7 +130,7 @@ export default function LandingPage() {
|
||||
title="Our Results Speak"
|
||||
description="Proven success in helping customers find their perfect skincare and leather care solutions"
|
||||
tag="Impact"
|
||||
tagIcon={Trending}
|
||||
tagIcon={TrendingUp}
|
||||
metrics={[
|
||||
{ id: "1", value: "95%", title: "Customer Satisfaction Rate", items: ["Improved skin condition within 4 weeks", "Leather items lasting 3x longer", "Highly recommended by users"] },
|
||||
{ id: "2", value: "50K+", title: "Analyses Completed", items: ["Users worldwide benefited", "Accurate skin assessments", "Growing daily"] },
|
||||
|
||||
@@ -1,51 +1,28 @@
|
||||
"use client";
|
||||
|
||||
import { memo } from "react";
|
||||
import useSvgTextLogo from "./useSvgTextLogo";
|
||||
import { cls } from "@/lib/utils";
|
||||
import React from 'react';
|
||||
|
||||
interface SvgTextLogoProps {
|
||||
logoText: string;
|
||||
adjustHeightFactor?: number;
|
||||
verticalAlign?: "top" | "center";
|
||||
text: string;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
|
||||
logoText,
|
||||
adjustHeightFactor,
|
||||
verticalAlign = "top",
|
||||
className = "",
|
||||
}) {
|
||||
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
|
||||
|
||||
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({ text, className = '' }) => {
|
||||
return (
|
||||
<svg
|
||||
ref={svgRef}
|
||||
viewBox={viewBox}
|
||||
className={cls("w-full", className)}
|
||||
style={{ aspectRatio: aspectRatio }}
|
||||
preserveAspectRatio="none"
|
||||
role="img"
|
||||
aria-label={`${logoText} logo`}
|
||||
viewBox="0 0 200 50"
|
||||
className={`${className}`}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<text
|
||||
ref={textRef}
|
||||
x="0"
|
||||
y={verticalAlign === "center" ? "50%" : "0"}
|
||||
className="font-bold fill-current"
|
||||
style={{
|
||||
fontSize: "20px",
|
||||
letterSpacing: "-0.02em",
|
||||
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
|
||||
}}
|
||||
x="50%"
|
||||
y="50%"
|
||||
dominantBaseline="middle"
|
||||
textAnchor="middle"
|
||||
className="fill-current text-lg font-bold"
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
};
|
||||
|
||||
export default SvgTextLogo;
|
||||
|
||||
Reference in New Issue
Block a user