Merge version_1 into main #2
@@ -84,19 +84,19 @@ export default function LandingPage() {
|
||||
products={[
|
||||
{
|
||||
id: "1", brand: "SoundMax Pro", name: "Premium Wireless Earbuds", price: "599 ر.س", rating: 5,
|
||||
reviewCount: "2.3k", imageSrc: "http://img.b2bpic.net/free-photo/front-view-woman-relaxing-couch_23-2148521656.jpg?_wi=1", isFavorited: false
|
||||
reviewCount: "2.3k", imageSrc: "http://img.b2bpic.net/free-photo/front-view-woman-relaxing-couch_23-2148521656.jpg", isFavorited: false
|
||||
},
|
||||
{
|
||||
id: "2", brand: "BrewMaster", name: "Smart Coffee Maker", price: "849 ر.س", rating: 5,
|
||||
reviewCount: "1.8k", imageSrc: "http://img.b2bpic.net/free-photo/couple-watching-movie-streaming-service_23-2149026157.jpg?_wi=1", isFavorited: false
|
||||
reviewCount: "1.8k", imageSrc: "http://img.b2bpic.net/free-photo/couple-watching-movie-streaming-service_23-2149026157.jpg", isFavorited: false
|
||||
},
|
||||
{
|
||||
id: "3", brand: "SkyDrone Elite", name: "4K Professional Drone", price: "1,499 ر.س", rating: 5,
|
||||
reviewCount: "3.1k", imageSrc: "http://img.b2bpic.net/free-photo/futuristic-drone-captures-aerial-view-sunset-generated-by-ai_188544-34138.jpg?_wi=1", isFavorited: false
|
||||
reviewCount: "3.1k", imageSrc: "http://img.b2bpic.net/free-photo/futuristic-drone-captures-aerial-view-sunset-generated-by-ai_188544-34138.jpg", isFavorited: false
|
||||
},
|
||||
{
|
||||
id: "4", brand: "SecureHome", name: "Smart Security Camera", price: "449 ر.س", rating: 4,
|
||||
reviewCount: "1.5k", imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-checking-security-camera_23-2148994177.jpg?_wi=1", isFavorited: false
|
||||
reviewCount: "1.5k", imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-checking-security-camera_23-2148994177.jpg", isFavorited: false
|
||||
}
|
||||
]}
|
||||
/>
|
||||
@@ -122,19 +122,19 @@ export default function LandingPage() {
|
||||
features={[
|
||||
{
|
||||
id: 1,
|
||||
title: "Daily Exclusive Deals", description: "Fresh deals every single day on top brands. Limited quantities to maximize value for our customers. Flash sales that save you up to 60% on premium products.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-woman-relaxing-couch_23-2148521656.jpg?_wi=2"
|
||||
title: "Daily Exclusive Deals", description: "Fresh deals every single day on top brands. Limited quantities to maximize value for our customers. Flash sales that save you up to 60% on premium products.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-woman-relaxing-couch_23-2148521656.jpg"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Premium Brand Selection", description: "Authorized distributor of global leaders including Samsung, LG, Sony, and Philips. Every product is genuine with full warranty coverage and after-sales support.", imageSrc: "http://img.b2bpic.net/free-photo/couple-watching-movie-streaming-service_23-2149026157.jpg?_wi=2"
|
||||
title: "Premium Brand Selection", description: "Authorized distributor of global leaders including Samsung, LG, Sony, and Philips. Every product is genuine with full warranty coverage and after-sales support.", imageSrc: "http://img.b2bpic.net/free-photo/couple-watching-movie-streaming-service_23-2149026157.jpg"
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "Fast & Reliable Delivery", description: "Same-day delivery available in Riyadh and major cities. Secure packaging ensures your products arrive in perfect condition. Real-time tracking for every order.", imageSrc: "http://img.b2bpic.net/free-photo/futuristic-drone-captures-aerial-view-sunset-generated-by-ai_188544-34138.jpg?_wi=2"
|
||||
title: "Fast & Reliable Delivery", description: "Same-day delivery available in Riyadh and major cities. Secure packaging ensures your products arrive in perfect condition. Real-time tracking for every order.", imageSrc: "http://img.b2bpic.net/free-photo/futuristic-drone-captures-aerial-view-sunset-generated-by-ai_188544-34138.jpg"
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
title: "24/7 Customer Support", description: "Our dedicated support team is always ready to assist in Arabic and English. Quick problem resolution and hassle-free returns within 30 days of purchase.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-checking-security-camera_23-2148994177.jpg?_wi=2"
|
||||
title: "24/7 Customer Support", description: "Our dedicated support team is always ready to assist in Arabic and English. Quick problem resolution and hassle-free returns within 30 days of purchase.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-checking-security-camera_23-2148994177.jpg"
|
||||
}
|
||||
]}
|
||||
title="Why Choose Saudi Smart Deals"
|
||||
@@ -173,28 +173,22 @@ export default function LandingPage() {
|
||||
<TestimonialCardThirteen
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", name: "فاطمة الدعيع", handle: "@fatima.deals", testimonial: "خدمة ممتازة وأسعار لا تصدق! اشتريت آلة القهوة الذكية وتوصلت في نفس اليوم. موصى به بشدة!", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-business-office-business-center_1303-20363.jpg"
|
||||
id: "1", name: "فاطمة الدعيع", handle: "@fatima.deals", testimonial: "خدمة ممتازة وأسعار لا تصدق! اشتريت آلة القهوة الذكية وتوصلت في نفس اليوم. موصى به بشدة!", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-business-office-business-center_1303-20363.jpg"
|
||||
},
|
||||
{
|
||||
id: "2", name: "محمد الزهراني", handle: "@mohammad.tech", testimonial: "أفضل متجر إلكتروني للإلكترونيات في السعودية. منتجات أصلية وضمان موثوق وفريق دعم رائع.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-man-black-suit_23-2148401442.jpg"
|
||||
id: "2", name: "محمد الزهراني", handle: "@mohammad.tech", testimonial: "أفضل متجر إلكتروني للإلكترونيات في السعودية. منتجات أصلية وضمان موثوق وفريق دعم رائع.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/portrait-man-black-suit_23-2148401442.jpg"
|
||||
},
|
||||
{
|
||||
id: "3", name: "ليلى العنزي", handle: "@leila.smart", testimonial: "الصفقات اليومية رائعة! وفرت الكثير على طلبتي. التطبيق سهل الاستخدام وسرعة التوصيل مذهلة.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/business-lady-looking-copyspace-with-interest_1262-2957.jpg"
|
||||
id: "3", name: "ليلى العنزي", handle: "@leila.smart", testimonial: "الصفقات اليومية رائعة! وفرت الكثير على طلبتي. التطبيق سهل الاستخدام وسرعة التوصيل مذهلة.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/business-lady-looking-copyspace-with-interest_1262-2957.jpg"
|
||||
},
|
||||
{
|
||||
id: "4", name: "أحمد القحطاني", handle: "@ahmad.buyer", testimonial: "جودة عالية وأسعار منخفضة - ما يبحث عنه كل شخص! شراء كاميرا الأمان وكانت تجربة رائعة.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/mature-posing-with-blue-jacket_150588-81.jpg"
|
||||
id: "4", name: "أحمد القحطاني", handle: "@ahmad.buyer", testimonial: "جودة عالية وأسعار منخفضة - ما يبحث عنه كل شخص! شراء كاميرا الأمان وكانت تجربة رائعة.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/mature-posing-with-blue-jacket_150588-81.jpg"
|
||||
},
|
||||
{
|
||||
id: "5", name: "نورا البقمي", handle: "@nora.gadgets", testimonial: "اكتشفت هذا المتجر من خلال صديقتي وأنا معجب جداً! المنتجات أصلية والأسعار تنافسية جداً.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg"
|
||||
id: "5", name: "نورا البقمي", handle: "@nora.gadgets", testimonial: "اكتشفت هذا المتجر من خلال صديقتي وأنا معجب جداً! المنتجات أصلية والأسعار تنافسية جداً.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg"
|
||||
},
|
||||
{
|
||||
id: "6", name: "سامي الحربي", handle: "@sami.electronics", testimonial: "خبرة تسوق استثنائية من البداية إلى النهاية. التوصيل سريع والتعبئة آمنة جداً. سأشتري مرة أخرى!", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-handsome-bearded-african-american-businessman-brown-classic-jacket-isolated-dark-background_613910-6626.jpg"
|
||||
id: "6", name: "سامي الحربي", handle: "@sami.electronics", testimonial: "خبرة تسوق استثنائية من البداية إلى النهاية. التوصيل سريع والتعبئة آمنة جداً. سأشتري مرة أخرى!", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/smiling-handsome-bearded-african-american-businessman-brown-classic-jacket-isolated-dark-background_613910-6626.jpg"
|
||||
}
|
||||
]}
|
||||
showRating={true}
|
||||
|
||||
@@ -1,51 +1,50 @@
|
||||
"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;
|
||||
textClassName?: string;
|
||||
fontSize?: number;
|
||||
fontWeight?: number | string;
|
||||
letterSpacing?: number;
|
||||
}
|
||||
|
||||
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 = '',
|
||||
textClassName = '',
|
||||
fontSize = 48,
|
||||
fontWeight = 700,
|
||||
letterSpacing = 0,
|
||||
}) => {
|
||||
const textLength = text.length;
|
||||
const charWidth = fontSize * 0.6;
|
||||
const width = textLength * charWidth + 40;
|
||||
const height = fontSize + 20;
|
||||
|
||||
return (
|
||||
<svg
|
||||
ref={svgRef}
|
||||
viewBox={viewBox}
|
||||
className={cls("w-full", className)}
|
||||
style={{ aspectRatio: aspectRatio }}
|
||||
preserveAspectRatio="none"
|
||||
role="img"
|
||||
aria-label={`${logoText} logo`}
|
||||
width={width}
|
||||
height={height}
|
||||
viewBox={`0 0 ${width} ${height}`}
|
||||
className={`inline-block ${className}`}
|
||||
preserveAspectRatio="xMidYMid meet"
|
||||
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%"
|
||||
textAnchor="middle"
|
||||
dominantBaseline="central"
|
||||
fontSize={fontSize}
|
||||
fontWeight={fontWeight}
|
||||
letterSpacing={letterSpacing}
|
||||
className={textClassName}
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
};
|
||||
|
||||
export default SvgTextLogo;
|
||||
|
||||
Reference in New Issue
Block a user