SZ365 نظام التصميم الأساسات + التجارة

SZ365 · Phase 0

دليل المكوّنات الحي

كل عنصر مرئي في الأنماط الأصلية (68 شاشة) يجب أن يُبنى من الرموز والمكوّنات هنا. إذا احتاجت شاشة إلى شيء غير موجود، يُضاف هنا أولًا — لا تُضاف ألوان أو مقاسات مخصّصة داخل صفحات الشاشات.

اصطلاح data-action

كل عنصر قابل للتنفيذ في أي شاشة يحمل data-action بصيغة فعل-اسم بأحرف صغيرة وشرطات، مطابقًا لعمل حقيقي من قسم «الإجراءات والتفاعلات» في الملخص. جذر كل شاشة يحمل data-screen بالمسار (route) كما ورد في الجرد.

الرموز

الألوان

عائلة علامة تجارية واحدة عبر التطبيقات الثلاثة: أخضر مزرق (Teal) للثقة والفعل الأساسي، وذهبي دافئ لعروض المتجر والتخفيضات فقط. الأخضر الزمردي محجوز حصرًا لحالة النجاح/التوفر.

الرموز الدلالية

الرموز الدلالية واستخداماتها
المتغيّر عيّنة اللون الاستخدام

الرموز

الطباعة

IBM Plex Sans Arabic أولًا مع IBM Plex Sans كرفيق لاتيني، وIBM Plex Mono للرموز. احتياطي بخطوط النظام عند فتح الملفات بلا اتصال.

font-family: var(--font-sans) · var(--font-mono)

display / 48دليل المتاجر
h1 / 36تفاصيل الطلب
h2 / 28إعدادات المتجر
h3 / 24عناصر السلة
h4 / 20المنتجات الأكثر مبيعًا
body-lg / 18هذا النص للفقرات المطوّلة وسياسة الخصوصية.
body / 16هذا هو النص الأساسي المستخدم في معظم الشاشات.
body-sm / 14نص ثانوي، تسميات الحقول، صفوف الجداول.
caption / 13تلميحات، طوابع زمنية، تسميات صغيرة.
micro / 12شارات، تسميات مصغّرة.
mono / SKUSKU-88213-A

English mirror

h1 / 36Order detail
body / 16This is the base body copy used across most screens.

الرموز

المسافات، الانحناء، الظلال

شبكة 4px للمسافات.

أساسيات

الأيقونات

مجموعة SVG واحدة مُضمّنة في كل صفحة. سهام الاتجاه فقط تنعكس تلقائيًا مع RTL عبر icon--start / icon--end.

المجموعة الأولى: أيقونات اتجاهية — تنعكس دائمًا

معناها اتجاهي، وتُرسم متجهة نحو نهاية السطر ثم تحمل icon--start أو icon--end فتنعكس تلقائيًا في RTL.

المجموعة الثانية: أيقونات لا تنعكس أبدًا

عدسة بحث أو ساعة أو نجمة معكوسة هي العلامة الكلاسيكية على واجهة RTL رديئة — لا تضع icon--start / icon--end على أيٍّ منها.

مثال انعكاس RTL: السابق التالي

مكوّنات

الأزرار

فعل أساسي واحد فقط لكل شاشة.

الأنواع

المقاسات

الحالات

مكوّنات

الشارات

نظام ألوان دلالي ثابت يُستخدم في كل مكان.

مسودة قيد المعالجة نشط نفد المخزون مؤرشف قيد المراجعة الأكثر مبيعًا تخفيض غير منشور

مثال: DRAFT / ACTIVE / OUT_OF_STOCK / ARCHIVED ← neutral / success / warning / danger.

قاعدة: الذهبي للشارات التحريرية، والتخفيض له badge--sale الأحمر الصلب — وليس badge--danger.

مكوّنات

عناصر النماذج

أبدًا حجم خط أقل من 16px لأي حقل إدخال.

يظهر هذا الاسم للعملاء في المتجر.

SAR

أدخل رقمًا أكبر من صفر

خيارات، مفاتيح، عدّاد

رفع ملف

مكوّنات

البطاقات

معلومات المتجر

محفوظ

محتوى البطاقة يذهب هنا.

مبيعات اليوم
SAR 4,285.00
12.4% عن أمس
خصم
متجر الواحة تمر عجوة المدينة فاخر 1كغم
ر.س 45.00 ر.س 60.00
متوفر

مكوّنات

الجداول

النمط الأكثر تكرارًا عبر 68 شاشة.

جدول توضيحي للمنتجات
المنتج رمز SKU السعر الحالة
عسل سدر طبيعي 500غم SKU-10234 ر.س 120.00 نشط
زيت زيتون بكر 1 لتر SKU-10235 ر.س 85.50 نفد المخزون
تمر صقعي فاخر SKU-10240 ر.س 60.00 مسودة

مكوّنات

النوافذ المنبثقة

تُغلق بـ Esc أو النقر خارجها، وتُعيد التركيز للعنصر الذي فتحها.

نمط

نمط الإجراءات المدمِّرة — واحد فقط

كانت هناك أربع طرق مختلفة لتأكيد إجراء مدمِّر عبر الأنماط. هذا القسم يحسم الأمر: نافذة تأكيد واحدة بصياغة واحدة.

1. متى يلزم تأكيد

2. البنية — لا تخترع بنية ثانية

data-modal-open="id" · .modal-scrim · .modal--danger.modal--sm · role="alertdialog" · .btn--secondary[data-modal-close] · .btn--danger[data-action]

هذه البنية الوحيدة المسموح بها لأن prototype.js يمنحها حصر التركيز وEsc وقفل التمرير وإعادة التركيز.

يفتح نفس النافذة المعروضة في قسم «النوافذ» أعلاه.

3. قاعدة الصياغة

افعل

العنوان: «إلغاء الطلب SZ-88213» — فعل + الشيء المحدد بالاسم.

النص: ما الذي يُفقَد، وهل يمكن التراجع، وأثره على المال والمخزون والمستندات.

الأزرار: «الاحتفاظ بالطلب» أولًا ثم «إلغاء الطلب».

لا تفعل

«هل أنت متأكد؟» — سؤال بلا معلومة.

«موافق» / «إلغاء»: غامضان في نافذة عن الإلغاء.

زوج «افتح ← أكّد» داخل الصفحة، أو window.confirm، أو زر فوري.

4. مضاد للمثال: الأحمر ليس لونًا للتصفية

الأحمر للأخطاء والإجراءات المدمِّرة فقط. مُبدِّل تصفية بلون خطر استخدام خاطئ للدلالة.

لا تفعل

لا شيء يُحذف عند النقر — إنه فلتر.

افعل

شريحة قابلة للضغط بـ aria-pressed.

وإذا لزم إبراز التحذير، فالشارة badge--warning هي الأداة.

5. حالة التنفيذ

زر التأكيد وحده ينشغل (is-loading + aria-busy + disabled)، والإغلاق عبر SZ.closeModal فقط.

الحالة المنشغلة لزر التأكيد.

6. أين طُبِّق النمط

مكوّنات

التبويبات

لتقسيم الصفحات الطويلة إلى أقسام.

حقول الاسم والفئة والعلامة التجارية.

مكوّنات

التنبيهات والإشعارات

سيتم تطبيق سعر التوصيل تلقائيًا عند اختيار المدينة.

تم حفظ الإعدادات بنجاح.

مراجعة سعر مطلوبة

تغيّرت تكلفة الشراء — يجب تعيين سعر بيع جديد.

تعذّر الاتصال بالخادم. حاول مرة أخرى.

إشعار عابر

مكوّنات

حالات الشاشة

كل شاشة تُظهر حالاتها عبر هذا المُبدّل التلقائي.

مكوّنات

متفرقات

مسار التصفح

ترقيم الصفحات

تلميح

عنصر تحكم مقسّم

رقائق التصفية

الرياض

شريط تقدّم

محدّد:

غير محدّد:

مخطط زمني للحالة

جديد
مؤكد
قيد التجهيز
جاهز
مكتمل

الصورة الرمزية وجرس الإشعارات

هند MA SZ

مكوّنات · التجارة

منطقة التجارة

كل ما يلي مُعرَّف في components.css أقسام 18–20 ومكتوب مرة واحدة. كل عيّنة هنا مُجمّعة من تلك الأصناف فقط، وتظهر بمقاسات عناصر التحكم الحقيقية للمتجر.

القواعد المُشفَّرة في هذه المكوّنات

عنصر يعرض ادّعاءً لا تستطيع العقود دعمه هو عيب، لا خيار تصميمي. القواعد أدناه مُشفَّرة في الأصناف نفسها.

مكوّنات · التجارة

بطاقة المنتج (الإصدار 2)

مكوّن واحد يُستخدم في كل أسطح المول، بترتيب أجزاء ثابت حتى تقصّ البطاقة العربية والإنجليزية عند النقاط نفسها.

.product-card · .product-card__media--empty · .badge--sale · .product-card__stock

الحالات الأربع، على ارتفاع واحد

بالترتيب: عادية · مخفّضة · بلا تقييمات (حالة الإطلاق) · غير متوفرة. أسعار البطاقات الأربع على خط واحد رغم اختلاف المحتوى.

البطاقة ليست وسمًا واحدًا: رابط الاسم يمتدّ فوق البطاقة، لأن الروابط المتداخلة ترميز غير صالح.

كثافة الشبكة: 2 / 3 / 4

مسارات صريحة لا auto-fill. الشبكة الحقيقية تختار عدد الأعمدة من عرض النافذة؛ العيّنات هنا مثبّتة للمراجعة فقط.

2-up · <640px

3-up · ≥640px

4-up · ≥1024px · .product-grid--with-rail

الصف الأخير هو النسخة المدمجة المستخدمة في شريط «المزيد من هذا المتجر».

الهيكل العظمي بجانب البطاقة الحقيقية

نفس المقاسات تمامًا، فلا تقفز الشبكة عند وصول النتائج. أي تغيير في هندسة البطاقة يجب أن يُنسخ هنا.

مكوّنات · التجارة

كتلة السعر

ترتيب المصدر هو الميزة: السعر المستحق أولًا، ثم المشطوب، ثم النسبة — ولا يُعاد ترتيبها بـ order أبدًا.

.price · .price__current · .price__compare · .price__discount-badge · .price__save · .price__vat-note · .price--lg

مجرّد
ر.س 60.00
مع سعر قبل الخصم وشارة النسبة
ر.س 45.00 السعر قبل التخفيض ر.س 60.00 -25%
مع ملاحظة الضريبة
ر.س 120.00 شامل ضريبة القيمة المضافة
مع «توفّر» — صفحة المنتج فقط
ر.س 45.00 السعر قبل التخفيض ر.س 60.00 -25% توفّر ر.س 15.00 شامل ضريبة القيمة المضافة

مكوّنات · التجارة

النجوم والتوزيع

التقييم مقياس يمتلئ في اتجاه القراءة، والفرق بين نجمة ممتلئة وفارغة هو التعبئة لا اللون.

.rating--sm · .rating--lg · .rating__link · .rating-histogram

.rating--sm · داخل البطاقة 4.7 (86) متوسط التقييم 4.7 من 5، من 86 تقييمًا
.rating--lg + .rating__link · صفحة المنتج 4.8 142 تقييمًا
بلا تقييمات — القاعدة، لا الحالة الفارغة

الإطار المتقطّع للتوضيح فقط: الخانة موجودة وتحتفظ بارتفاعها وتعرض لا شيء.

توزيع التقييمات

الأشرطة تنمو من حافة بداية السطر. النسخة التفاعلية وحدها تأخذ أرضية الهدف 44px.

.rating-histogram · ساكن
5 نجوم 111
4 نجوم 21
3 نجوم 7
2 نجمتان 2
1 نجمة 1
.rating-histogram--interactive · يصفّي المراجعات

مكوّنات · التجارة

المراجعات

المراجعات من المشترين الموثّقين فقط؛ التاجر يردّ ويبلّغ ولا يخفي ولا يحذف. هذا التباين هو الميزة نفسها.

.review-summary · .review-card · .review-card__reply · .review-invite · .star-input · .write-review-sheet

ملخّص التقييم

فيه مراجعات
4.8 142 تقييمًا من مشترين موثّقين اقرأ كل التقييمات

بلا مراجعات — ‎.review-summary--empty

لا توجد تقييمات بعد

الصفّان بالارتفاع نفسه: بلا حجز، يقفز السعر لأسفل لحظة وصول التقييم.

بطاقات المراجعة

نورة الحربي شراء موثّق 12 يوليو 2026
التقييم 5 من 5

عسل أصلي وطعمه ممتاز

طلبته للمرة الثانية. القوام ثقيل والرائحة قوية، والتغليف وصل سليمًا بلا كسر. سعره مناسب مقارنة بمحلات العود.

عبدالله القحطاني شراء موثّق 3 يوليو 2026
التقييم 3 من 5

المنتج جيد لكن العبوة وصلت مفتوحة

العسل نفسه ممتاز، لكن غطاء العبوة كان مفكوكًا وتسرّب قليل منه داخل الصندوق.

عسل الجزيرة ردّ المتجر 4 يوليو 2026

نعتذر عن ذلك يا عبدالله. غيّرنا مورّد الأغطية بعد هذه الشحنة، وتواصلنا معك لإرسال بديل.

Sarah M. شراء موثّق 28 يونيو 2026
التقييم 4 من 5

Rich flavour, generous jar

Bought this as a gift and ended up keeping it. The jar is bigger than it looks in the photo, and the flavour is much richer than supermarket honey. Delivery took a while, but that is on me for ordering during Eid.

حالة الصفر: دعوة، لا قائمة فارغة

زائر مؤهّل

كن أول من يقيّم هذا المنتج

اشتريت هذا المنتج من عسل الجزيرة، فيمكنك كتابة تقييم يساعد المشترين بعدك على القرار.

التقييمات من المشترين المُوثّقين فقط

زائر غير مؤهّل

لا توجد تقييمات بعد

سيظهر هنا أول تقييم فور أن يكتبه أحد المشترين.

كتابة التقييم متاحة لمن اشترى هذا المنتج واكتمل طلبه.

التقييمات من المشترين المُوثّقين فقط

غير المؤهّل يُخبَر بالسبب بدل زرّ يفشل بعد ملء النموذج.

إدخال النجوم ولوح كتابة التقييم

قيّم: عسل سدر جبلي طبيعي

تقييمك*
جيد جدًا

اكتب بأي لغة تريح — يُحفظ اتجاه النص مع المراجعة ويُعرض به.

إدخال النجوم مجموعة أزرار اختيار أصلية — أسهم لوحة المفاتيح والإرسال تعمل بلا جافاسكربت.

مكوّنات · التجارة

التصفية والترتيب والتنقل

شريط تصفية دائم بدل نموذج مربّع، وكل عامل تصفية مطبَّق يصير رقاقة قابلة للإزالة.

.search-shell · .facet-rail · .facet-group · .facet-option · .filter-chips · .result-header · .sort-select

41 نتيجة

جارٍ تحديث النتائج

حالة الانشغال ليست معالجة الهياكل العظمية عمدًا: تُعتَّم القائمة الصالحة وتُجمَّد وتبقى.

لا نتائج — طريق للأمام، لا طريق مسدود

لا توجد منتجات مطابقة

«هدايا» مع ثلاثة عوامل تصفية

أضيق عامل تصفية هو السعر — إزالته وحده يعيد أغلب النتائج.

أزل فلتر السعر
تصفّح كل المتاجر

صفر نتائج هو دائمًا تقريبًا عامل تصفية زائد، فتحمل هذه الحالة المخرج بدل الطريق المسدود.

مسار التنقل (بنية ol الجديدة)

توسعة للمسار الموجود: بنية nav/ol، وآخر فتات يُقصّ بنقاط، وaria-current على الحالي.

تحت 768px ينطوي المسار إلى آخر فتاتين خلف «…» — وليس شريطًا يتمرّر عمدًا.

الترقيم

مرقّم .pagination--load-more · الجوال

أزرار الترقيم في المتجر تُرفع إلى 44px؛ الأدمن يبقى مضغوطًا. الأرقام المجرّدة تأخذ جزيرة LTR.

مكوّنات · التجارة

الألواح السفلية والشريط الثابت

اللوح السفلي يركب آلية النوافذ الموجودة: مصيدة تركيز واحدة فقط، وفوق عرض الجوال يصير نافذة وسطى عادية.

.modal-scrim--sheet · .bottom-sheet · .sheet-option · .sticky-cta

قلّص عرض النافذة تحت 768px قبل الفتح لرؤية شكل اللوح السفلي بدل النافذة الوسطى.

الشريط الثابت

.sticky-cta · عادي
عسل سدر جبلي طبيعي ر.س 45.00
.sticky-cta--accent
الإجمالي، شامل الضريبة ر.س 105.00

مكوّنات · التجارة

صفحة المنتج: المعرض وصندوق الشراء

عمودان، والعمود القصير هو الملتصق — وهذا وحده يحذف الربع الفارغ تحت صندوق الشراء.

.pdp-layout · .pdp-gallery · .buy-box · .variant-chips · .qty-stepper · .trust-row · .shop-attribution

ر.س 45.00 -25%
السعر قبل التخفيض ر.س 60.00 شامل ضريبة القيمة المضافة
الحجم 500 غم

بقيت قطعتان فقط

عسل الجزيرة

الرياض · متجر موثّق

زيارة المتجر

حبّات التوافر وعدّاد الكمية

متوفر بقيت قطعتان غير متوفر

التسمية هي الإشارة والنقطة تعزيز زائد. النسخة الصغيرة تقلّ ارتفاعًا بصريًا وتحتفظ بمساحة لمس 44px.

مكوّنات · التجارة

سطر السلة وشريط الملخّص

عمودان: الأسطر تأخذ مساحتها الحقيقية، والملخّص يبقى مثبّتًا في الرؤية طوال التمرير.

.cart-layout · .cart-line · .cart-line__error · .cart-summary

عسل سدر جبلي طبيعي

الحجم: 500 غم

عسل الجزيرة

ر.س 90.00

حبة البركة الصافية 200غم

الحجم: 200 غم

عسل الجزيرة

ر.س 25.00

مكوّنات · التجارة

كتل المتجر

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

.category-tile · .shop-card · .shop-header-band · .pre-footer-strip · .seller-legal-block

مربّعات الفئات

ثمانية تصنيفات من المستوى الأول كمربّعات 1:1 مظلّلة — مسار التصفّح الذي لا يخدمه شريط الرقاقات وحده.

بطاقات المتاجر

شارة التوثيق تحمل أيقونة ونصًا مخفيًا، والوسوم مقصوصة عند ثلاثة بقاعدة CSS.

⚠ لا تظهر شارة «بيع بالجملة» هنا أبدًا — تجّار الجملة غائبون هيكليًا عن المول.

شريط رأس المتجر

عسل الجزيرة

متجر موثّق الرياض، حي العليا 3 فئات

الخطّ العلوي هو إشارة الدخول إلى متجر. الهوية تُحمل باللوجو والشارة، لا بالدرجة اللونية.

شريط القيمة قبل التذييل

الشريط يملأ القماش الميت فوق التذييل، وبنوده الثلاثة حقيقية ومدعومة.

هوية البائع النظامية

القيم الرقمية جزر LTR: رقم ضريبي يعيد ترتيبه النص المحيط هو رقم خاطئ على إفصاح نظامي.

رموز · التجارة

ثيمات المتاجر الثمانية

هذه القيم هي SHOP_THEME_HEX من العقود حرفيًا — لا تُحسَّن يدويًا، بل تُولَّد من العقد.

[data-shop-theme="TEAL"] · --shop-accent · --shop-accent-hover · --shop-accent-subtle · --shop-on-accent

ألوان ثيمات المتاجر الثمانية وقيمها
الثيم اللون الأساسي عند التمرير الخفيف النص فوق اللون
SLATE
EMERALD
TEAL
SKY
INDIGO
VIOLET
ROSE
AMBER

قاعدة صارمة

تضمين الأرقام باتجاه LTR

كل رقم أو سعر أو SKU أو رقم طلب يُغلَّف بـ <bdi dir="ltr"> — حتى في منتصف جملة عربية.

الإجمالي المستحق هو ر.س 123.50، وسيصلك طلبك رقم SZ-88213 خلال يومي عمل. للاستفسار راسلنا على support@sz365.sa أو اتصل على 0555123456.

جرّب التبديل إلى الإنجليزية أعلاه.

أساسيات

هياكل التطبيقات الثلاثة

اليوم ثلاثة تطبيقات منفصلة بلا هيكل مشترك؛ هنا هيكل واحد لكل تطبيق مبني على نفس الرموز مع تجميع منطقي بدل قائمة مسطّحة.

المتجر الإلكتروني — جوال أولًا

apps/storefront — header · category rail · footer
SZسوق SZ365

محتوى كل شاشة متجرية يُبنى داخل هذا الهيكل بدءًا من المرحلة 1.

الميرشانت + نقطة البيع

الشريط الجانبي يُطوى إلى شريط أيقونات لتعظيم مساحة العمل في نقطة البيع.

apps/merchant — sidebar (grouped, collapsible) · topbar · impersonation banner
وضع الانتحال — تتصرف نيابة عن متجر «الواحة للمواد الغذائية»
لوحة التحكم

محتوى شاشات الميرشانت يُبنى داخل هذا الهيكل بدءًا من المرحلة 2.

الأدمن

apps/admin — sidebar (grouped) · topbar
لوحة التحكم

محتوى شاشات الأدمن الـ17 يُبنى داخل هذا الهيكل في المرحلة 6.