شرح صفوف ومحتوى الفقرة
لبناء مبدّل ثيم احترافي يحترم المستخدم، يجمع السكريبت القياسي ثلاث مهام متسلسلة: أولاً قراءة الاختيار المحفوظ في localStorage، وثانياً الرجوع التلقائي إلى تفضيل نظام التشغيل عبر window.matchMedia('(prefers-color-scheme: dark)') عند عدم وجود اختيار سابق أو عند اختيار الوضع التلقائي auto، وثالثاً تحديث السمة data-bs-theme على document.documentElement فور نقر الزر.
HTML
<button id="themeBtn" type="button"
class="btn btn-outline-primary">
Toggle Dark / Light Mode
</button>
<div class="card mt-3 p-3 bg-body-tertiary">
<p class="mb-0 text-body-secondary">Live adaptive card</p>
</div>