جاري التحميل...
جاري التحميل...
بناء Dashboard احترافي بـ Tailwind مع Dark Mode واستجابة
في هذا الدرس الأخير من مرحلة Tailwind، سنبني مشروعاً عملياً حقيقياً: لوحة تحكم كاملة. يجمع هذا المشروع كل ما تعلمناه في الدروس السابقة.
يتكون التصميم من ثلاثة أجزاء رئيسية مرتبة بأفقي flexbox: الشريط الجانبي، الرأس، ومنطقة المحتوى الرئيسي.
💡 نقاط التصميم الرئيسية:
نستخدم flex للتخطيط الأفقي بين الشريط الجانبي والمحتوى. flex-1 على المحتوى يأخذ المساحة المتبقية. الشريط الجانبي مخفي على الهاتف مع hidden lg:block.
الشريط الجانبي هو عنصر التنقل الرئيسي. يتضمن الشعار في الأعلى وروابط التنقل في الوسط ومعلومات المستخدم في الأسفل.
يتضمن الرأس شريط البحث في الوسط وأيقونة الإشعارات وصورة المستخدم على اليمين وزر القائمة المحمولة على اليسار.
تعرض بطاقات الإحصائيات معلومات سريعة وأرقاماً رئيسية. نستخدم CSS Grid للتخطيط المتجاوب.
يعرض الجدول قائمة من المستخدمين مع صورهم وأسمائهم وأدوارهم وحالتهم. على الهاتف، نسمح بالتمرير الأفقي.
يعمل الوضع الداكن في Tailwind بإضافة البادئة dark: أمام كل فئة. نبني زر تبديل ونطبق الألوان الداكنة على جميع المكونات.
💡 نمط ألوان داكنة متسق:
الخلفية: bg-gray-900 للصفحة، bg-gray-800 للمكونات. الحدود: border-gray-700. النص: text-gray-200 للأساسي، text-gray-400 للثانوي.
كيف يُخفي الشريط الجانبي على الهاتف؟
أي فئة تسمح بالتمرير الأفقي على الهاتف؟
كيف تجعل الشبكة متجاوبة بعمود واحد على الهاتف وأربعة على سطح المكتب؟
أنشئ لوحة تحكم كاملة مع شريط جانبي ورأس وبطاقات إحصائيات وجدول بيانات وتبديل وضع داكن باستخدام فئات Tailwind CSS فقط.
الحل:
function RecentActivity() {
const activities = [
{ icon: "➕", text: "Ahmed added a new product", time: "5 min ago" },
{ icon: "✏️", text: "Sara edited account settings", time: "1 hour ago" },
{ icon: "📦", text: "Omar completed an order", time: "2 hours ago" },
{ icon: "💬", text: "Fatima left a review", time: "3 hours ago" },
{ icon: "👥", text: "New user registered", time: "5 hours ago" },
];
return (
<div className="bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700">
<div className="p-5 border-b border-gray-200 dark:border-gray-700">
<h3 className="font-bold text-lg text-gray-800 dark:text-gray-200">Recent Activity</h3>
</div>
<div className="divide-y divide-gray-100 dark:divide-gray-700">
{activities.map((act, i) => (
<div key={i} className="flex items-center gap-4 p-4 hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors">
<span className="text-xl">{act.icon}</span>
<div className="flex-1">
<p className="text-sm text-gray-800 dark:text-gray-200">{act.text}</p>
<p className="text-xs text-gray-500 dark:text-gray-400">{act.time}</p>
</div>
</div>
))}
</div>
</div>
);
}لقد أنشأت لوحة تحكم كاملة مع شريط جانبي ورأس وبطاقات إحصائيات وجدول بيانات ووضع داكن.
💡 راجع كل مكون وافهم كيف تعمل flex و grid و dark: و hover: و transition معاً.
التخطيط:
الشبكة:
المتجاوب:
الوضع الداكن:
التمرير والتركيز:
الانتقالات:
كيف تبني مشروع Tailwind كامل؟
الإجابة:
التخطيط → الألوان → المكونات → التجاوب → الإنتاج.
استخدم Prettier Plugin
لقسمة Classes تلقائياً وتحسين القراءة