import React, { useState, useMemo } from 'react'; import { LayoutDashboard, MapPin, CalendarCheck, CreditCard, PlusCircle, Trash2, CheckCircle, Clock, AlertCircle, TrendingUp, Users, Search, LogOut, ChevronRight } from 'lucide-react'; const App = () => { const [activeTab, setActiveTab] = useState('dashboard'); const [searchQuery, setSearchQuery] = useState(''); // State for bookings const [bookings, setBookings] = useState([ { id: 'BK-1001', customer: 'أحمد محمد', activity: 'رحلة سفاري دبي', date: '2024-05-15', status: 'confirmed', price: 450 }, { id: 'BK-1002', customer: 'سارة خالد', activity: 'جولة في جبال الأبها', date: '2024-05-18', status: 'pending', price: 300 }, { id: 'BK-1003', customer: 'ياسر القحطاني', activity: 'غوص في البحر الأحمر', date: '2024-05-10', status: 'completed', price: 600 }, { id: 'BK-1004', customer: 'ليلى عبدالله', activity: 'زيارة العلا التاريخية', date: '2024-05-20', status: 'confirmed', price: 1200 }, ]); // State for activities const [activities, setActivities] = useState([ { id: 1, name: 'رحلة سفاري دبي', location: 'دبي، الإمارات', price: 450, category: 'مغامرات' }, { id: 2, name: 'غوص في البحر الأحمر', location: 'جدة، السعودية', price: 600, category: 'رياضات مائية' }, ]); const [newActivity, setNewActivity] = useState({ name: '', location: '', price: '', category: '' }); // Helpers const getStatusBadge = (status) => { switch(status) { case 'confirmed': return مؤكد; case 'pending': return جاري; case 'completed': return مكتمل; default: return null; } }; const handleAddActivity = (e) => { e.preventDefault(); if (!newActivity.name || !newActivity.price) return; setActivities([...activities, { ...newActivity, id: Date.now() }]); setNewActivity({ name: '', location: '', price: '', category: '' }); }; const deleteActivity = (id) => { setActivities(activities.filter(a => a.id !== id)); }; const filteredBookings = bookings.filter(b => b.customer.includes(searchQuery) || b.id.includes(searchQuery) || b.activity.includes(searchQuery) ); const totalEarnings = bookings.reduce((sum, b) => sum + b.price, 0); return (
{/* Sidebar */} {/* Main Content */}

مرحباً، مدير النظام

إليك ملخص أداء الشركة لهذا اليوم

setSearchQuery(e.target.value)} />
{activeTab === 'dashboard' && (
{/* Stats Cards */}
} trend="+12%" /> b.status === 'confirmed').length} icon={} trend="+5%" /> } /> } trend="+8%" />
{/* Recent Bookings Snapshot */}

أحدث الحجوزات

{bookings.slice(0, 4).map(booking => (
{booking.customer.charAt(0)}

{booking.customer}

{booking.activity}

{getStatusBadge(booking.status)}
))}
{/* Quick Add Form Mini */}

توسيع الوجهة السياحية؟

أضف أنشطة جديدة لجذب المزيد من السياح وزيادة مبيعات الشركة.

)} {activeTab === 'bookings' && (

إدارة كافة الحجوزات

{filteredBookings.map((booking) => ( ))}
رقم الحجز العميل النشاط التاريخ المبلغ الحالة إجراءات
{booking.id} {booking.customer} {booking.activity} {booking.date} ${booking.price} {getStatusBadge(booking.status)}
)} {activeTab === 'activities' && (

إضافة نشاط سياحي جديد

setNewActivity({...newActivity, name: e.target.value})} />
setNewActivity({...newActivity, location: e.target.value})} />
setNewActivity({...newActivity, price: e.target.value})} />

قائمة الأنشطة الحالية

{activities.map(activity => (

{activity.name}

{activity.location} • {activity.category}

${activity.price}

))} {activities.length === 0 && (

لا توجد أنشطة حالياً، ابدأ بإضافة نشاطك الأول

)}
)}
); }; const StatCard = ({ title, value, icon, trend }) => (

{title}

{value}

{trend && ( {trend} مقارنة بالشهر السابق )}
{icon}
); export default App;