import React, { useState, useEffect, useCallback } from 'react'; import { Gift, Baby, User, Calendar, Trophy, Users, Heart, CheckCircle2, Timer, Sparkles, X, Mars, Venus, Cloud, Facebook, Instagram, MessageCircle, Info } from 'lucide-react'; const App = () => { // Demo iştirakçılar (Azərbaycan dilində) const [participants, setParticipants] = useState([ { nickname: 'MaviBulud', id: 1, gender: 'boy' }, { nickname: 'BalacaQuzu', id: 2, gender: 'girl' }, { nickname: 'Gülüş', id: 3, gender: 'girl' }, { nickname: 'DənizUlduzu', id: 4, gender: 'boy' }, { nickname: 'BalArısı', id: 5, gender: 'girl' }, { nickname: 'YuxuluPanda', id: 6, gender: 'boy' }, ]); const [winners, setWinners] = useState([ { nickname: 'PambıqŞəkər', date: '03.02.2024', gender: 'girl' }, { nickname: 'BalacaŞahzadə', date: '27.01.2024', gender: 'boy' } ]); const [formData, setFormData] = useState({ motherName: '', motherSurname: '', motherBirthDate: '', babyBirthDate: '', babyNickname: '', babyGender: '' // 'boy' or 'girl' }); const [isDrawing, setIsDrawing] = useState(false); const [showSuccess, setShowSuccess] = useState(false); const [celebrationWinner, setCelebrationWinner] = useState(null); const [showCampaignModal, setShowCampaignModal] = useState(false); const [timeLeft, setTimeLeft] = useState(15); // Test üçün 15 saniyə const triggerAutoLottery = useCallback(() => { if (participants.length === 0) return; setIsDrawing(true); setTimeout(() => { const randomIndex = Math.floor(Math.random() * participants.length); const luckyWinner = participants[randomIndex]; const newWinner = { nickname: luckyWinner.nickname, date: new Date().toLocaleDateString('az-AZ'), gender: luckyWinner.gender }; setWinners(prev => [newWinner, ...prev]); setIsDrawing(false); setCelebrationWinner(newWinner); }, 5000); }, [participants]); useEffect(() => { const timer = setInterval(() => { setTimeLeft((prev) => { if (prev <= 1) { triggerAutoLottery(); return 604800; // 1 həftə } return prev - 1; }); }, 1000); return () => clearInterval(timer); }, [triggerAutoLottery]); const formatTime = (seconds) => { const d = Math.floor(seconds / (3600 * 24)); const h = Math.floor((seconds % (3600 * 24)) / 3600); const m = Math.floor((seconds % 3600) / 60); const s = seconds % 60; return { d, h, m, s }; }; const time = formatTime(timeLeft); const handleSubmit = (e) => { e.preventDefault(); if (!formData.babyGender) { return; } const newParticipant = { nickname: formData.babyNickname, id: Date.now(), gender: formData.babyGender }; setParticipants([newParticipant, ...participants]); setFormData({ motherName: '', motherSurname: '', motherBirthDate: '', babyBirthDate: '', babyNickname: '', babyGender: '' }); setShowSuccess(true); setTimeout(() => setShowSuccess(false), 3000); }; return (
{/* KAMPANİYA MƏLUMAT MODALI */} {showCampaignModal && (
setShowCampaignModal(false)}>

Kampaniya Şərtləri

Ömürlük Bez Kampaniyası haqqında:

  • Kampaniyada iştirak etmək üçün qeydiyyat formasını doldurmaq kifayətdir.
  • Hər həftənin sonunda təsadüfi olaraq bir körpə "Ömürlük Bez" qalibi seçilir.
  • Hədiyyə paketi körpənin 2 yaşı tamam olana qədər olan aylıq bez təminatını nəzərdə tutur.
  • Qaliblərlə qeydiyyatda qeyd olunan ana məlumatları vasitəsilə əlaqə saxlanılır.
)} {/* KUTLAMA MODALI */} {celebrationWinner && (
{[...Array(50)].map((_, i) => (
))}

Həftəlik Qalib!

{celebrationWinner.nickname}

Təbrik edirik! Bu həftənin şanslı körpəsi siz oldunuz. Komandamız ana ilə əlaqə saxlayacaq.

)} {/* Header */}
Lody Logo

Ömürlük Bez

Körpələr Xoşbəxt, Analar Rahat!

{time.d}
Gün
:
{time.h}
Saat
:
{time.m}
Dəq
:
{time.s}
San
{/* Main Content */}
{/* Sol: Qeydiyyat Formu */}

Qeydiyyat

Ana Məlumatları

setFormData({...formData, motherName: e.target.value})} />
setFormData({...formData, motherSurname: e.target.value})} />
setFormData({...formData, motherBirthDate: e.target.value})} />

Körpə Məlumatları

setFormData({...formData, babyBirthDate: e.target.value})} />
setFormData({...formData, babyNickname: e.target.value})} />
{showSuccess && (
Qeydiyyat uğurla tamamlandı!
)}
{/* Orta: Hovuz */}
{isDrawing && (

PÜŞKATMA ZAMANI!

Şanslı mələk seçilir...

)}

Körpə Hovuzu

CƏMİ İŞTİRAKÇI {participants.length}
{participants.map((p) => (
{p.gender === 'girl' ? : }
{p.nickname}
))}
{/* Sağ: Qaliblər */}

Qaliblər

{winners.map((w, index) => (
{w.gender === 'girl' ? : }
{w.date} {index === 0 && YENİ}
{w.nickname.charAt(0)}

{w.nickname}

))}
{/* FOOTER */}
); }; export default App;