Merge version_1 into main #2

Merged
bender merged 2 commits from version_1 into main 2026-03-11 03:38:27 +00:00
2 changed files with 48 additions and 55 deletions

View File

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

View File

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