Qeydiyyat
PÜŞKATMA ZAMANI!
Şanslı mələk seçilir...
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 (
Ömürlük Bez Kampaniyası haqqında:
Təbrik edirik! Bu həftənin şanslı körpəsi siz oldunuz. Komandamız ana ilə əlaqə saxlayacaq.
Körpələr Xoşbəxt, Analar Rahat!
Şanslı mələk seçilir...