'use client'; import React, { useState, useEffect } from 'react'; import { Card } from '../../renderers/react/Card'; import { Button } from '../../renderers/react/Button'; import { Badge } from '../../renderers/react/Badge'; import { Avatar } from '../../renderers/react/Avatar'; import { Icon } from '../../renderers/react/Icon'; import { Navbar, NavbarBrand, NavbarActions } from '../../renderers/react/Navbar'; interface WeatherData { name: string; region: string; temp: string; high: string; low: string; desc: string; humidity: string; wind: string; pressure: string; forecast: Array<{ day: string; temp: string; condition: string }>; } interface TaskItem { id: number; text: string; priority: 'urgent' | 'normal' | 'low'; priorityLabel: string; done: boolean; } export function WidgetsPage() { const [theme, setTheme] = useState<'dark' | 'light'>('dark'); const [selectedCity, setSelectedCity] = useState<'cairo' | 'alex' | 'aswan'>('cairo'); const [newTaskText, setNewTaskText] = useState(''); const [tasks, setTasks] = useState([ { id: 1, text: 'مراجعة عقود التوريد الذهبية للربع الثالث', priority: 'urgent', priorityLabel: 'عاجل', done: false }, { id: 2, text: 'تحديث مؤشرات التفاعل في لوحة تحكم المستثمرين', priority: 'normal', priorityLabel: 'معتاد', done: true }, { id: 3, text: 'اعتماد التصاميم المعمارية لفرع القاهرة الجديدة', priority: 'urgent', priorityLabel: 'عاجل', done: false }, { id: 4, text: 'جدولة نشر المقال الافتتاحي عن تراث المشربيات', priority: 'low', priorityLabel: 'منخفض', done: true }, ]); useEffect(() => { const saved = localStorage.getItem('qhr-theme') as 'dark' | 'light' | null; if (saved) setTheme(saved); }, []); const toggleTheme = () => { const next = theme === 'dark' ? 'light' : 'dark'; setTheme(next); if (typeof document !== 'undefined') { document.documentElement.setAttribute('data-theme', next); } localStorage.setItem('qhr-theme', next); }; const weatherCities: Record<'cairo' | 'alex' | 'aswan', WeatherData> = { cairo: { name: 'القاهرة، مصر', region: 'العاصمة الكبرى', temp: '31°', high: '34°', low: '22°', desc: 'مشمس وصافٍ بوجه عام', humidity: '46%', wind: '18 كم/س', pressure: '1014 hPa', forecast: [ { day: 'الأحد', temp: '32°', condition: 'مشمس' }, { day: 'الإثنين', temp: '30°', condition: 'معتدل' }, { day: 'الثلاثاء', temp: '31°', condition: 'صافٍ' }, { day: 'الأربعاء', temp: '29°', condition: 'غائم جزئياً' }, ], }, alex: { name: 'الإسكندرية، مصر', region: 'عروس البحر المتوسط', temp: '27°', high: '29°', low: '21°', desc: 'نسيم بحري معتدل وسحب متفرقة', humidity: '68%', wind: '24 كم/س', pressure: '1016 hPa', forecast: [ { day: 'الأحد', temp: '28°', condition: 'صافٍ' }, { day: 'الإثنين', temp: '27°', condition: 'رياح معتدلة' }, { day: 'الثلاثاء', temp: '26°', condition: 'غائم' }, { day: 'الأربعاء', temp: '27°', condition: 'نسيم بحري' }, ], }, aswan: { name: 'أسوان، مصر', region: 'بوابة الجنوب والتاريخ', temp: '38°', high: '41°', low: '28°', desc: 'شديد الحرارة وأجواء جافة ومشرقة', humidity: '18%', wind: '12 كم/س', pressure: '1010 hPa', forecast: [ { day: 'الأحد', temp: '39°', condition: 'شديد الحرارة' }, { day: 'الإثنين', temp: '40°', condition: 'مشمس' }, { day: 'الثلاثاء', temp: '38°', condition: 'صافٍ' }, { day: 'الأربعاء', temp: '39°', condition: 'مشمس' }, ], }, }; const currentW = weatherCities[selectedCity]; const handleAddTask = (e?: React.FormEvent) => { if (e) e.preventDefault(); if (!newTaskText.trim()) return; setTasks([ ...tasks, { id: Date.now(), text: newTaskText.trim(), priority: 'normal', priorityLabel: 'معتاد', done: false, }, ]); setNewTaskText(''); }; const toggleTask = (id: number) => { setTasks(tasks.map((t) => (t.id === id ? { ...t, done: !t.done } : t))); }; const completedCount = tasks.filter((t) => t.done).length; const cardStyle: React.CSSProperties = { backgroundColor: theme === 'dark' ? '#17120E' : '#FFFFFF', border: `1px solid ${theme === 'dark' ? 'rgba(212, 175, 55, 0.18)' : '#E7E5E4'}`, borderRadius: '20px', padding: '24px', boxShadow: theme === 'dark' ? '0 8px 32px rgba(0,0,0,0.6)' : '0 8px 24px rgba(28,25,23,0.06)', display: 'flex', flexDirection: 'column', position: 'relative', overflow: 'hidden', }; return (
{/* ── Top Navbar ────────────────────────────────────────────── */} ق منظومة الودجات والبطاقات المعيارية (Widgets Suite) {/* ── Main Container ────────────────────────────────────────── */}
{/* Hero Header */}

مكتبة الودجات المتكاملة للوحات التحكم

تشكيلة شاملة تضم الودجات الإحصائية، الرسوم البيانية المصغرة، ودجات التواصل الاجتماعي، الطقس الحي، المحتوى التحريري، وقوائم الأنشطة المباشرة المصممة وفق لغة قاهرة السيادية.

٦ عائلات ودجات مبنية بـ React 19
{/* ══════════════════════════════════════════════════════════════ 1. STATISTIC WIDGETS ══════════════════════════════════════════════════════════════ */}

1. الودجات الإحصائية ومؤشرات الأداء (Statistic Widgets)

بطاقات استعراض مؤشرات الأداء الحيوية (KPIs) ونسب التغير ومسارات الإنجاز
KPI Metrics
{/* Stat 1: Revenue */}
إجمالي الإيرادات +١٤.٢٪
١٨٤,٢٠٠ ر.س
مقارنة بالشهر السابق (+٢٢,٤٠٠ ر.س)
{/* Stat 2: Active Users */}
المستخدمين النشطين +٨.٤٪
٤٢,٨٥٠ عضو
متواجدون حالياً: ١,٢40 متصل
{/* Stat 3: Conversion Rate */}
معدل التحويل الملكي +٣.١٪
٤.٨٢٪
الهدف الفصلي: ٥.٠٪
{/* Stat 4: Average Order */}
متوسط قيمة السلة +٢.٥٪
١,٦٢٠ ر.س
طلبات الذهب المعتمد عيار 18
{/* ══════════════════════════════════════════════════════════════ 2. CHART WIDGETS ══════════════════════════════════════════════════════════════ */}

2. ودجات الرسوم البيانية والمخططات (Chart Widgets)

رسوم مصغرة تعتمد متجهات SVG عالية الدقة لتحليل الاتجاهات وتوزيع الأنشطة
Micro Charts
{/* Chart 1: Sparkline Trend */}
مسار التدفق الأسبوعي
٧٤,٥٠٠ ر.س
+١٨.٥٪
السبتالأحدالإثنينالثلاثاءالأربعاء
{/* Chart 2: Activity Bars */}
كثافة الطلبات اليومية
١,٤٢٨ طلب
الذروة: الإثنين
سبتأحدإثنينثلاثاءأربعاءخميسجمعة
{/* Chart 3: Ring Progress */}
اكتمال الحصة الربعية
٨٨.٤٪
Milestone Q3
88%
متبقي ١١.٦٪ لتحقيق المستهدف التوريدي السنوي للاستوديو.
{/* ══════════════════════════════════════════════════════════════ 3. SOCIAL WIDGETS ══════════════════════════════════════════════════════════════ */}

3. ودجات التواصل الاجتماعي والمنصات (Social Widgets)

متابعة أعداد المتابعين ومعدلات التفاعل ومعدلات النمو عبر المنصات الرقمية
Social Channels
{/* Social 1: Twitter / X */}
𝕏 منصة إكس (Twitter)
نشط
١٤٢,٥٠٠
متابع حقيقي +١,٤٢٠ هذا الأسبوع
{/* Social 2: LinkedIn */}
in لينكد إن (LinkedIn)
مهني
٨٨,٢٠٠
متخصص ومعماري +٩٦٠ هذا الأسبوع
{/* Social 3: Instagram */}
IG إنستغرام (Instagram)
بصري
٢١٠,٤٠٠
معجب بالمقتنيات +٣,١٠٠ تفاعل
{/* Social 4: YouTube */}
▶ يوتيوب (YouTube)
فيديو
٩٥,٨٠٠
مشترك بالقناة +١٢٤ ألف دقيقة
{/* ══════════════════════════════════════════════════════════════ 4. WEATHER WIDGET ══════════════════════════════════════════════════════════════ */}

4. ودجة الأرصاد الجوية والطقس (Weather Widget)

بيانات لحظية لحالة الطقس ودرجات الحرارة مع توقعات ٤ أيام قادمة وتبديل فوري للمدن
{/* City Switcher */}
{/* Main Weather Card */}
{currentW.region}

{currentW.name}

{currentW.desc}
{currentW.temp}
العظمى: {currentW.high} · الصغرى: {currentW.low}
مؤشر الأشعة فوق البنفسجية: معتدل (UV 5)
الرطوبة الجوية {currentW.humidity}
سرعة الرياح {currentW.wind}
الضغط الجوي {currentW.pressure}
{/* 4-Day Forecast */}
{currentW.forecast.map((f, i) => (
{f.day}
{f.temp}
{f.condition}
))}
{/* Environmental & Solar Energy Telemetry */}

كفاءة مزارع الطاقة الشمسية التابعة

توليد مستمر

متابعة توليد الطاقة النظيفة لمراكز بيانات القاهرة استناداً إلى ساعات السطوع الشمسي المباشر.

٩٤.٢٪
نسبة الاكتفاء الذاتي اليومية
شروق الشمس اليوم: 05:42 ص
غروب الشمس المتوقع: 06:14 م
إجمالي الطاقة المنتجة: ٤٢٨ كيلوواط/ساعة
{/* ══════════════════════════════════════════════════════════════ 5. BLOG & EDITORIAL WIDGETS ══════════════════════════════════════════════════════════════ */}

5. ودجات التدوين والمحتوى التحريري (Blog Widgets)

بطاقات إبراز المقالات المعمارية، ملخصات أحدث الدراسات، وبطاقة الكاتب التحريرية
Editorial Cards
{/* Featured Post */}
دراسة معمارية خاصة وقت القراءة: ٦ دقائق

تأثير العمارة الفاطمية ونقوش المشربيات في تصميم واجهات الويب وأنظمة التصميم الحديثة

كيف استلهمت منظومة قاهرة للتصميم لغة التناسب الذهبي والشبكات الهندسية الإسلامية لإنتاج واجهات برمجية صارمة تحقق أعلى معايير التوافقية وسهولة القراءة للعين العربية.

أ.ر
د. أحمد رضوان كبير باحثي التراث المعماري
{/* Author Spotlight */}
ق

فريق استوديو الوكالة

Alwkala Editorial Team

فريق متخصص في بناء الهياكل المعمارية وحلول الأنظمة التقنية السيادية في الشرق الأوسط ومصر.

٤٨ مقالة
١٢ دراسة
٣٤ ألف قارئ
{/* ══════════════════════════════════════════════════════════════ 6. LIST WIDGETS ══════════════════════════════════════════════════════════════ */}

6. ودجات القوائم والمهام الحية (List Widgets)

قوائم تفاعلية لإدارة المهام السريعة، خط زمني لتدفق العمليات، وترتيب المنتجات الأكثر مبيعاً
Interactive Feeds
{/* List 1: Interactive To-Do */}

قائمة المهام السريعة

إنجاز المهام اليومية
{completedCount} من {tasks.length} منجز
    {tasks.map((t) => (
  • toggleTask(t.id)} style={{ cursor: 'pointer' }} /> {t.text} {t.priorityLabel}
  • ))}
setNewTaskText(e.target.value)} style={{ height: '34px', fontSize: '12px', flex: 1, padding: '0 12px', borderRadius: '6px', border: `1px solid ${theme === 'dark' ? 'rgba(212, 175, 55, 0.18)' : '#E7E5E4'}`, backgroundColor: theme === 'dark' ? '#130F0B' : '#FFFFFF', color: theme === 'dark' ? '#FBF8F3' : '#1C1917', outline: 'none', }} />
{/* List 2: Activity Timeline */}

تدفق الأنشطة اللحظي

سجل العمليات المباشر
مباشر
  • اعتماد عقد التوريد الملكي #8812 بواسطة د. أحمد رضوان · منذ 5 دقائق
  • سداد دفعة أولى بمبلغ ٤٥,٠٠٠ ر.س عبر بوابة الدفع الموحدة · منذ 32 دقيقة
  • انضمام عضو جديد: م. سارة إبراهيم فريق التوثيق المعماري · منذ ساعتين
{/* List 3: Top Selling Catalog Items */}

المقتنيات الأكثر طلباً

ترتيب مبيعات الشهر الحالي
الذهب الخالص
  • ١
    خاتم الأفق الملكي عيار 18 ١٢٨ عملية شراء
    ٧٤,٢٠٠ ر.س
  • ٢
    سوار النيل المنقوش ٩٤ عملية شراء
    ٥٨,١٠٠ ر.س
  • ٣
    قلادة الفيروز السينائية ٧٦ عملية شراء
    ٤١,٥٠٠ ر.س
); }