import React, { useState, useEffect } from 'react'; import { Play, Pause, ChevronRight, Activity, Heart, Award, Phone, Calendar, Clock, MapPin, X, CheckCircle, Loader2, Lock, User, MessageSquare } from 'lucide-react'; import { initializeApp } from 'firebase/app'; import { getFirestore, collection, addDoc, getDocs } from 'firebase/firestore'; import { getAuth, signInAnonymously, onAuthStateChanged, signInWithCustomToken } from 'firebase/auth'; // --- Firebase Configuration --- const firebaseConfig = JSON.parse(__firebase_config); const app = initializeApp(firebaseConfig); const auth = getAuth(app); const db = getFirestore(app); const appId = typeof __app_id !== 'undefined' ? __app_id : 'default-app-id'; const MaysoonAd = () => { const [activeVideo, setActiveVideo] = useState(null); const [isPlaying, setIsPlaying] = useState(false); const [isModalOpen, setIsModalOpen] = useState(false); const [user, setUser] = useState(null); // Admin State const ADMIN_PASSWORD = 'admin123'; // كلمة المرور الخاصة بلوحة الإدارة const [showAdmin, setShowAdmin] = useState(false); const [isAuthenticated, setIsAuthenticated] = useState(false); const [passwordInput, setPasswordInput] = useState(''); const [loginError, setLoginError] = useState(false); const [appointments, setAppointments] = useState([]); const [loadingAdmin, setLoadingAdmin] = useState(false); // Form State const [formData, setFormData] = useState({ name: '', phone: '', message: '' }); const [formStatus, setFormStatus] = useState('idle'); // --- Authentication Setup --- useEffect(() => { const initAuth = async () => { if (typeof __initial_auth_token !== 'undefined' && __initial_auth_token) { await signInWithCustomToken(auth, __initial_auth_token); } else { await signInAnonymously(auth); } }; initAuth(); const unsubscribe = onAuthStateChanged(auth, setUser); return () => unsubscribe(); }, []); // --- Fetch Appointments (Admin) --- const fetchAppointments = async () => { if (!user) return; setLoadingAdmin(true); try { const querySnapshot = await getDocs(collection(db, 'artifacts', appId, 'public', 'data', 'appointments')); const data = querySnapshot.docs.map(doc => ({ id: doc.id, ...doc.data() })); // Sort by date (newest first) in memory data.sort((a, b) => b.createdAt?.seconds - a.createdAt?.seconds); setAppointments(data); } catch (error) { console.error("Error fetching appointments:", error); } finally { setLoadingAdmin(false); } }; useEffect(() => { // جلب البيانات فقط عند عرض لوحة الإدارة ونجاح المصادقة if (showAdmin && isAuthenticated) { fetchAppointments(); } }, [showAdmin, isAuthenticated, user]); const handleLogin = (e) => { e.preventDefault(); if (passwordInput === ADMIN_PASSWORD) { setIsAuthenticated(true); setLoginError(false); setPasswordInput(''); } else { setLoginError(true); setPasswordInput(''); setTimeout(() => setLoginError(false), 2000); } }; const videos = [ { id: 1, src: "WhatsApp Video 2025-12-14 at 16.14.47 (1).mp4", title: "تنمية المهارات الحركية", desc: "جلسات متخصصة لتعزيز التوافق العضلي العصبي." }, { id: 2, src: "WhatsApp Video 2025-12-14 at 17.55.51 (1).mp4", title: "الاستقلالية في الحياة اليومية", desc: "تدريب الأطفال على مهارات العناية الذاتية." }, { id: 3, src: "WhatsApp Video 2025-12-14 at 17.55.51.mp4", title: "التكامل الحسي", desc: "بيئة مجهزة بأحدث الوسائل العلاجية." }, { id: 4, src: "WhatsApp Video 2025-12-14 at 16.45.23.mp4", title: "تطوير المهارات الدقيقة", desc: "تمارين لتقوية عضلات اليد والأصابع." }, { id: 5, src: "WhatsApp Video 2025-12-14 at 16.14.46.mp4", title: "جلسات فردية مكثفة", desc: "خطة علاجية مخصصة لكل حالة." }, { id: 6, src: "WhatsApp Video 2025-12-14 at 16.14.47.mp4", title: "بيئة تفاعلية آمنة", desc: "نحرص على توفير جو من المرح والتعلم." }, ]; const logoSrc = "logo (1).png"; const handleInputChange = (e) => { const { name, value } = e.target; setFormData(prev => ({ ...prev, [name]: value })); }; const handleSubmit = async (e) => { e.preventDefault(); if (!user) return; setFormStatus('submitting'); try { await addDoc(collection(db, 'artifacts', appId, 'public', 'data', 'appointments'), { ...formData, createdAt: new Date(), userId: user.uid }); setFormStatus('success'); setTimeout(() => { setIsModalOpen(false); setFormStatus('idle'); setFormData({ name: '', phone: '', message: '' }); }, 3000); } catch (error) { console.error("Error adding document: ", error); setFormStatus('error'); } }; // Helper to format date const formatDate = (timestamp) => { if (!timestamp) return ''; return new Date(timestamp.seconds * 1000).toLocaleString('ar-SA'); }; // -------------------------------------------------- // Admin Login Screen (يُعرض عندما showAdmin صحيح و isAuthenticated خاطئ) // -------------------------------------------------- if (showAdmin && !isAuthenticated) { return (
أدخل كلمة المرور للوصول إلى بيانات الحجوزات.
| الاسم | رقم الهاتف | الملاحظات | وقت الطلب |
|---|---|---|---|
|
|
{app.phone} |
{app.message ? (
|
{formatDate(app.createdAt)} |
في مجمع ميسون الطبي، نستخدم أحدث تقنيات العلاج الوظيفي لمساعدة الأطفال والكبار على استعادة استقلاليتهم وممارسة حياتهم بكل ثقة.
جلسات تأهيلية متقدمة
فريق من المعالجين ذوي الخبرة العالية في التعامل مع مختلف الحالات.
خطط علاجية مصممة خصيصاً لتناسب احتياجات كل مراجع بدقة.
تجهيزات حديثة وأجواء محفزة تضمن راحة المراجع وتقدمه.
جولة مرئية داخل عياداتنا توثق جانباً من الجلسات العلاجية والتمارين التي نقدمها لتطوير المهارات.
{video.desc}
احجز استشارتك اليوم في مجمع ميسون الطبي، ودعنا نساعدك أو نساعد طفلك في الوصول إلى أقصى إمكاناته.
شكراً لتواصلك معنا. سيقوم فريقنا بالاتصال بك قريباً لتأكيد الموعد.