```react
import React, { useState, useEffect, useMemo } from 'react';
import {
Gift,
Smartphone,
CreditCard,
Zap,
Award,
Users,
ChevronRight,
Lock,
ShieldCheck,
Trophy,
Flame,
ShoppingBag,
Bell
} from 'lucide-react';
const App = () => {
const [isOpening, setIsOpening] = useState(false);
const [showResult, setShowResult] = useState(false);
const [prize, setPrize] = useState(null);
const [quantity, setQuantity] = useState(1);
const [timeLeft, setTimeLeft] = useState({ hours: 2, minutes: 45, seconds: 0 });
// جوائز افتراضية تظهر في الموقع لزيادة الحماس
const prizes = useMemo(() => [
{ id: 1, name: 'آيفون 16 برو ماكس', icon: , rarity: 'أسطوري', color: 'from-yellow-400 to-orange-600' },
{ id: 2, name: 'سماعة AirPods Pro', icon: , rarity: 'نادر', color: 'from-blue-400 to-indigo-600' },
{ id: 3, name: 'رصيد 500 ريال', icon: , rarity: 'مميز', color: 'from-emerald-400 to-teal-600' },
{ id: 4, name: 'ساعة ذكية Ultra', icon: , rarity: 'نادر', color: 'from-purple-400 to-pink-600' }
], []);
// عداد تنازلي وهمي لزيادة "الفومو" (خوف ضياع الفرصة)
useEffect(() => {
const timer = setInterval(() => {
setTimeLeft(prev => {
if (prev.seconds > 0) return { ...prev, seconds: prev.seconds - 1 };
if (prev.minutes > 0) return { ...prev, minutes: prev.minutes - 1, seconds: 59 };
if (prev.hours > 0) return { ...prev, hours: prev.hours - 1, minutes: 59, seconds: 59 };
return prev;
});
}, 1000);
return () => clearInterval(timer);
}, []);
const handlePurchase = () => {
setIsOpening(true);
// محاكاة سحب حقيقي
setTimeout(() => {
const winChance = Math.random();
let selectedPrize;
if (winChance > 0.95) selectedPrize = prizes[0]; // آيفون
else if (winChance > 0.8) selectedPrize = prizes[1]; // سماعة
else selectedPrize = prizes[Math.floor(Math.random() * prizes.length)];
setPrize(selectedPrize);
setIsOpening(false);
setShowResult(true);
}, 3500);
};
return (
{/* شريط الإشعارات المتحرك (Trend) */}
{[1,2,3,4,5].map(i => (
مبروك لـ فهد ر. فوزه بآيفون 16 قبل قليل!
))}
{/* Navbar */}
{/* Main Content */}
{!showResult ? (
{/* Hero Card */}
العرض ينتهي قريباً
صندوق المفاجآت
بـ 50 ريال فقط!
{/* Countdown */}
{[
{ label: 'ساعة', val: timeLeft.hours },
{ label: 'دقيقة', val: timeLeft.minutes },
{ label: 'ثانية', val: timeLeft.seconds }
].map((t, i) => (
{t.val.toString().padStart(2, '0')}
{t.label}
))}
{/* The Mystery Box Visual */}
{/* Glow Effect */}
{/* 3D Box Content */}
{/* Decorative Elements */}
{isOpening && (
)}
{/* Buying Controls */}
الكمية
{quantity}
الإجمالي
{50 * quantity} ر.س
) : (
ألف مبروك!
لقد ربحت جائزة من الفئة {prize.rarity}
{prize.name}
كود الجائزة: #{Math.floor(Math.random() * 999999)}
)}
{/* Real-time Winners Ticker */}
آخر الفائزين
مباشر الآن
{[
{ name: 'عبدالعزيز م.', gift: 'سماعة AirPods', time: 'منذ 3 دقائق', avatar: 'A' },
{ name: 'نورة س.', gift: 'آيفون 16 برو', time: 'منذ 12 دقيقة', avatar: 'N' },
{ name: 'عمر القحطاني', gift: 'رصيد 100 ريال', time: 'منذ 34 دقيقة', avatar: 'O' }
].map((winner, idx) => (
{winner.avatar}
{winner.name}
ربح {winner.gift}
{winner.time}
))}
{/* Global CSS for Marquee Animation */}
);
};
export default App;
```