في عالم يفقد السيطرة 🌀 عالم البرمجة لك

borma logo
person




لو اشتغلت قبل كدا على مشروع في Next.js واحتجت تضيف Dark & Iight Mode فالموضوع ابسط مما تتخيل يا صديقي..

هشرحلك دلوقتي ازاي تعمل كدا خطوه بخطوه إن شاء الله.


1️⃣ هنستخدم مكتبة next-themes:

Copy svg


2️⃣ بعد كدا هنظبط الـ Theme Provider في الموقع


  • 📂 app/layout.js (لو بتستخدم App Router)

  • 📂 pages/_app.js (لو بتستخدم Pages Router)
Copy svg

  • الـ ThemeProvider هو المسئول عن التحكم في الثيم.
  • والـ attribute=”class” بيضيف اسم الثيم في className على عشان نتحكم فيه بالـ CSS.


3️⃣ هنضيف زرار عشان نعرف نبدل بين الثيمات


📂 components/ThemeToggle.js

Copy svg

  • الزرار بيبدل بين Light و Dark Mode لما المستخدم يضغط عليه.
  • استخدمنا useEffect علشان نحل مشاكل Server-side Rendering (SSR) في Next.js.


4️⃣ هنضيف شويه CSS عشان نغير الألوان


📂 globals.css

Copy svg

  • لما المستخدم يختار Dark Mode الألوان هتتغير تلقائيا.
  • وضفنا transition عشان التغيير يبقى سلس.


5️⃣ هنضيف الزرار في أي مكان في الموقع


  • 📂 app/page.js (لو App Router)

  • 📂 pages/index.js (لو Pages Router)
Copy svg

كدا اليوزر يقدر يبدل بين Light و Dark Mode في أي وقت…😃🥳

وبكدا عرفت إزاي تبني نظام Themes (Dark/Light Mode) في Next.js, لو عندك أي استفسار اكتب في الكومنتات..💛

قسم التعليقات

  • ezzghari
    2025-03-24 06:57:08
    ezzghari

    والله انك رائع واصل يا بطل