SZ365 · Phase 0
دليل المكوّنات الحي
كل عنصر مرئي في الأنماط الأصلية (68 شاشة) يجب أن يُبنى من الرموز والمكوّنات هنا. إذا احتاجت شاشة إلى شيء غير موجود، يُضاف هنا أولًا — لا تُضاف ألوان أو مقاسات مخصّصة داخل صفحات الشاشات.
اصطلاح data-action
كل عنصر قابل للتنفيذ في أي شاشة يحمل data-action بصيغة فعل-اسم بأحرف صغيرة وشرطات، مطابقًا لعمل حقيقي من قسم «الإجراءات والتفاعلات» في الملخص. جذر كل شاشة يحمل data-screen بالمسار (route) كما ورد في الجرد.
-
data-screen="/sellers/[slug]/products/[id]"على عنصر الجذر لكل صفحة شاشة -
data-action="add-to-cart",data-action="apply-coupon",data-action="confirm-charge"…فعل-اسم، بالإنجليزية دومًا -
data-state-root/data-state="loading|empty|error|success|no-permission|offline"لعرض كل حالة كقسم قابل للتبديل
الرموز
الألوان
عائلة علامة تجارية واحدة عبر التطبيقات الثلاثة: أخضر مزرق (Teal) للثقة والفعل الأساسي، وذهبي دافئ لعروض المتجر والتخفيضات فقط. الأخضر الزمردي محجوز حصرًا لحالة النجاح/التوفر.
الرموز الدلالية
| المتغيّر | عيّنة اللون | الاستخدام |
|---|
الرموز
الطباعة
IBM Plex Sans Arabic أولًا مع IBM Plex Sans كرفيق لاتيني، وIBM Plex Mono للرموز. احتياطي بخطوط النظام عند فتح الملفات بلا اتصال.
font-family: var(--font-sans) · var(--font-mono)
English mirror
الرموز
المسافات، الانحناء، الظلال
شبكة 4px للمسافات.
أساسيات
الأيقونات
مجموعة SVG واحدة مُضمّنة في كل صفحة. سهام الاتجاه فقط تنعكس تلقائيًا مع RTL عبر icon--start / icon--end.
المجموعة الأولى: أيقونات اتجاهية — تنعكس دائمًا
معناها اتجاهي، وتُرسم متجهة نحو نهاية السطر ثم تحمل icon--start أو icon--end فتنعكس تلقائيًا في RTL.
المجموعة الثانية: أيقونات لا تنعكس أبدًا
عدسة بحث أو ساعة أو نجمة معكوسة هي العلامة الكلاسيكية على واجهة RTL رديئة — لا تضع icon--start / icon--end على أيٍّ منها.
مكوّنات
الشارات
نظام ألوان دلالي ثابت يُستخدم في كل مكان.
مثال: DRAFT / ACTIVE / OUT_OF_STOCK / ARCHIVED ← neutral / success / warning / danger.
قاعدة: الذهبي للشارات التحريرية، والتخفيض له badge--sale الأحمر الصلب — وليس badge--danger.
مكوّنات
عناصر النماذج
أبدًا حجم خط أقل من 16px لأي حقل إدخال.
يظهر هذا الاسم للعملاء في المتجر.
أدخل رقمًا أكبر من صفر
خيارات، مفاتيح، عدّاد
رفع ملف
مكوّنات
البطاقات
معلومات المتجر
محفوظمحتوى البطاقة يذهب هنا.
مكوّنات
الجداول
النمط الأكثر تكرارًا عبر 68 شاشة.
| المنتج | رمز SKU | السعر | الحالة | |
|---|---|---|---|---|
| عسل سدر طبيعي 500غم | SKU-10234 | ر.س 120.00 | نشط | |
| زيت زيتون بكر 1 لتر | SKU-10235 | ر.س 85.50 | نفد المخزون | |
| تمر صقعي فاخر | SKU-10240 | ر.س 60.00 | مسودة |
مكوّنات
النوافذ المنبثقة
تُغلق بـ Esc أو النقر خارجها، وتُعيد التركيز للعنصر الذي فتحها.
تعديل العنوان
إلغاء الطلب SZ-88213
سينتقل الطلب إلى حالة «ملغى» نهائيًا، ولا يمكن إعادة فتحه أو تأكيده بعد ذلك.
سيُفرَج عن الكمية المحجوزة وتعود متاحة للبيع.
نمط
نمط الإجراءات المدمِّرة — واحد فقط
كانت هناك أربع طرق مختلفة لتأكيد إجراء مدمِّر عبر الأنماط. هذا القسم يحسم الأمر: نافذة تأكيد واحدة بصياغة واحدة.
1. متى يلزم تأكيد
-
irreversibleكلها تمرّ عبر نافذة تأكيد بلا استثناء. -
one-wayوكذلك ما لا يمكن سحبه بعد إرساله. -
reversibleالقابل للتراجع يبقى فوريًا، ولا يحمل btn--danger أبدًا. -
validate firstالتحقق يسبق فتح النافذة.
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. أين طُبِّق النمط
-
delete-addressتسمّي النافذة العنوان بعينه. -
cancel-orderمتاح على حالة «جديد» فقط. -
submit-return-requestلا يُسحب بعد إرساله، فيمرّ بنفس النافذة. -
remove-lineبلا تأكيد عن عمد.
مكوّنات
التبويبات
لتقسيم الصفحات الطويلة إلى أقسام.
حقول الاسم والفئة والعلامة التجارية.
جدول المتغيّرات مع السعر وسعر العرض.
اختيار قيم الخصائص لتوليد كل التركيبات.
مكوّنات
التنبيهات والإشعارات
سيتم تطبيق سعر التوصيل تلقائيًا عند اختيار المدينة.
تم حفظ الإعدادات بنجاح.
مراجعة سعر مطلوبة
تغيّرت تكلفة الشراء — يجب تعيين سعر بيع جديد.
تعذّر الاتصال بالخادم. حاول مرة أخرى.
إشعار عابر
مكوّنات
حالات الشاشة
كل شاشة تُظهر حالاتها عبر هذا المُبدّل التلقائي.
لا توجد منتجات بعد
ابدأ بإضافة أول منتج إلى الكتالوج الخاص بك.
تعذّر تحميل البيانات
تحقق من اتصالك بالإنترنت ثم أعد المحاولة.
| المنتج | السعر |
|---|---|
| عسل سدر طبيعي | ر.س 120.00 |
لا تملك صلاحية الوصول
يلزم إذن «إدارة الإعدادات» من مالك الحساب.
غير متصل
السلة محفوظة محليًا. الدفع معطّل حتى تتم استعادة الاتصال.
مكوّنات
متفرقات
مسار التصفح
ترقيم الصفحات
تلميح
عنصر تحكم مقسّم
رقائق التصفية
شريط تقدّم
محدّد:
غير محدّد:
مخطط زمني للحالة
الصورة الرمزية وجرس الإشعارات
مكوّنات · التجارة
منطقة التجارة
كل ما يلي مُعرَّف في components.css أقسام 18–20 ومكتوب مرة واحدة. كل عيّنة هنا مُجمّعة من تلك الأصناف فقط، وتظهر بمقاسات عناصر التحكم الحقيقية للمتجر.
القواعد المُشفَّرة في هذه المكوّنات
عنصر يعرض ادّعاءً لا تستطيع العقود دعمه هو عيب، لا خيار تصميمي. القواعد أدناه مُشفَّرة في الأصناف نفسها.
-
<bdi data-money-halalas>المال داخل bdi مجرّد بلا dir. الأرقام المجرّدة وحدها تأخذ dir=ltr. -
.product-card__ratingصفر تقييمات = لا شيء، مع بقاء ارتفاع الخانة محجوزًا. -
.price·.buy-box__compare-atالخانات المحجوزة تُبقي البطاقات على ارتفاع واحد. -
.product-cardلا زر «أضف للسلة» على بطاقة في المول — السلة لكل متجر، والإضافة من متجر ثانٍ تمسحها. -
.trust-rowلا وعد بتاريخ توصيل، ولا مدة إرجاع بالأيام من حقل نصّي حر. -
.price__compareالسعر المشطوب فقط عند تخفيض حقيقي بسعر مرجعي مُثبت. -
.shop-card·.badge--brandكل متجر في المول موثّق بحكم التعريف، وتجّار الجملة غائبون عنه هيكليًا. -
.cart-summary__noteالدفع عند الاستلام أو عند الاستلام من المتجر فقط — لا معالجة بطاقات.
مكوّنات · التجارة
بطاقة المنتج (الإصدار 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
-
<bdi>no dirلا مبلغ يحمل dir — هذا هو الفرق بين الترتيبين بصريًا في العربية. -
<s>+.visually-hiddenالشطب وحده غير مُعلن، فيحمل كل سعر مشطوب تسمية مخفية. -
.price__discount-badge«-25%» أرقام مجرّدة فتأخذ جزيرة LTR — عكس السعر تمامًا. -
.price__saveصفحة المنتج فقط: خانة البطاقة تتّسع لسطر داعم واحد، وهو ملاحظة الضريبة. -
.price__vat-noteمتجر غير مسجَّل ضريبيًا لا يعرض أي صياغة ضريبية إطلاقًا.
مكوّنات · التجارة
النجوم والتوزيع
التقييم مقياس يمتلئ في اتجاه القراءة، والفرق بين نجمة ممتلئة وفارغة هو التعبئة لا اللون.
.rating--sm · .rating--lg · .rating__link · .rating-histogram
الإطار المتقطّع للتوضيح فقط: الخانة موجودة وتحتفظ بارتفاعها وتعرض لا شيء.
توزيع التقييمات
الأشرطة تنمو من حافة بداية السطر. النسخة التفاعلية وحدها تأخذ أرضية الهدف 44px.
مكوّنات · التجارة
المراجعات
المراجعات من المشترين الموثّقين فقط؛ التاجر يردّ ويبلّغ ولا يخفي ولا يحذف. هذا التباين هو الميزة نفسها.
.review-summary · .review-card · .review-card__reply · .review-invite · .star-input · .write-review-sheet
ملخّص التقييم
بلا مراجعات — .review-summary--empty
الصفّان بالارتفاع نفسه: بلا حجز، يقفز السعر لأسفل لحظة وصول التقييم.
بطاقات المراجعة
عسل أصلي وطعمه ممتاز
طلبته للمرة الثانية. القوام ثقيل والرائحة قوية، والتغليف وصل سليمًا بلا كسر. سعره مناسب مقارنة بمحلات العود.
المنتج جيد لكن العبوة وصلت مفتوحة
العسل نفسه ممتاز، لكن غطاء العبوة كان مفكوكًا وتسرّب قليل منه داخل الصندوق.
نعتذر عن ذلك يا عبدالله. غيّرنا مورّد الأغطية بعد هذه الشحنة، وتواصلنا معك لإرسال بديل.
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.
-
.review-card__body[dir]جسم المراجعة يتبع لغة المراجعة لا لغة الصفحة؛ الاسم والتاريخ والأزرار تبقى باتجاه الصفحة. -
.review-card__metaخانة محجوزة بارتفاع الشارة، وإلا بدأت كل بطاقة عند إزاحة مختلفة. -
.review-card__replyردّ التاجر مُزاح ومُشار إليه بشارة، وخطّه ليس بلون المتجر عمدًا. -
.review-cardلا زرّ إخفاء ولا زرّ حذف في هذا المكوّن — الغياب هو الميزة.
حالة الصفر: دعوة، لا قائمة فارغة
كن أول من يقيّم هذا المنتج
اشتريت هذا المنتج من عسل الجزيرة، فيمكنك كتابة تقييم يساعد المشترين بعدك على القرار.
التقييمات من المشترين المُوثّقين فقط
لا توجد تقييمات بعد
سيظهر هنا أول تقييم فور أن يكتبه أحد المشترين.
كتابة التقييم متاحة لمن اشترى هذا المنتج واكتمل طلبه.
التقييمات من المشترين المُوثّقين فقط
غير المؤهّل يُخبَر بالسبب بدل زرّ يفشل بعد ملء النموذج.
إدخال النجوم ولوح كتابة التقييم
قيّم: عسل سدر جبلي طبيعي
اكتب بأي لغة تريح — يُحفظ اتجاه النص مع المراجعة ويُعرض به.
إدخال النجوم مجموعة أزرار اختيار أصلية — أسهم لوحة المفاتيح والإرسال تعمل بلا جافاسكربت.
مكوّنات · التجارة
التصفية والترتيب والتنقل
شريط تصفية دائم بدل نموذج مربّع، وكل عامل تصفية مطبَّق يصير رقاقة قابلة للإزالة.
.search-shell · .facet-rail · .facet-group · .facet-option · .filter-chips · .result-header · .sort-select
41 نتيجة
جارٍ تحديث النتائج
حالة الانشغال ليست معالجة الهياكل العظمية عمدًا: تُعتَّم القائمة الصالحة وتُجمَّد وتبقى.
لا نتائج — طريق للأمام، لا طريق مسدود
لا توجد منتجات مطابقة
«هدايا» مع ثلاثة عوامل تصفية
أضيق عامل تصفية هو السعر — إزالته وحده يعيد أغلب النتائج.
أزل فلتر السعرصفر نتائج هو دائمًا تقريبًا عامل تصفية زائد، فتحمل هذه الحالة المخرج بدل الطريق المسدود.
مسار التنقل (بنية ol الجديدة)
توسعة للمسار الموجود: بنية nav/ol، وآخر فتات يُقصّ بنقاط، وaria-current على الحالي.
تحت 768px ينطوي المسار إلى آخر فتاتين خلف «…» — وليس شريطًا يتمرّر عمدًا.
الترقيم
أزرار الترقيم في المتجر تُرفع إلى 44px؛ الأدمن يبقى مضغوطًا. الأرقام المجرّدة تأخذ جزيرة LTR.
مكوّنات · التجارة
الألواح السفلية والشريط الثابت
اللوح السفلي يركب آلية النوافذ الموجودة: مصيدة تركيز واحدة فقط، وفوق عرض الجوال يصير نافذة وسطى عادية.
.modal-scrim--sheet · .bottom-sheet · .sheet-option · .sticky-cta
قلّص عرض النافذة تحت 768px قبل الفتح لرؤية شكل اللوح السفلي بدل النافذة الوسطى.
الشريط الثابت
-
.guide-unfixالشريطان في الحقيقة مثبّتان بحافة الشاشة؛ أُلغي التثبيت هنا بقاعدة خاصة بالدليل فقط. -
.has-sticky-ctaالصفحة تأخذ الصنف المقابل، وإلا جلس آخر صفّ تحت الشريط إلى الأبد. -
--shop-accentالنسخة الملوّنة تظهر بلون المنصة لا المتجر: مسار الدفع سكك المنصة.
مكوّنات · التجارة
صفحة المنتج: المعرض وصندوق الشراء
عمودان، والعمود القصير هو الملتصق — وهذا وحده يحذف الربع الفارغ تحت صندوق الشراء.
.pdp-layout · .pdp-gallery · .buy-box · .variant-chips · .qty-stepper · .trust-row · .shop-attribution
بقيت قطعتان فقط
- متجر موثّق في سوق SZ365
- الدفع عند الاستلام أو الاستلام من المتجر
- سياسة الإرجاع الخاصة بالمتجر
- يُشحن من الرياض
عسل الجزيرة
-
.variant-chip[aria-disabled]المتغيّر غير المتوفر يبقى معروضًا وقابلًا للتركيز — حذفه يطرد المتسوّق. -
.variant-chipsرقائق لا جدول: الجدول كان يفقد محاذاة أعمدته عند كل صفّ نافد. -
.qty-stepper__valueالكمية عدد مجرّد فتأخذ جزيرة LTR — عكس السعر فوقها مباشرة. -
.buy-box__compare-atخانة محجوزة، وإلا قفز زرّ الشراء تحت إبهام المستخدم عند تبديل المتغيّر. -
.trust-rowأربعة بنود مدعومة بحقول موجودة، ولا بند خامس عن التوصيل. -
--shop-accentلون المتجر مسموح له بستة مواضع فقط — وزرّ الدفع ليس منها.
حبّات التوافر وعدّاد الكمية
التسمية هي الإشارة والنقطة تعزيز زائد. النسخة الصغيرة تقلّ ارتفاعًا بصريًا وتحتفظ بمساحة لمس 44px.
مكوّنات · التجارة
سطر السلة وشريط الملخّص
عمودان: الأسطر تأخذ مساحتها الحقيقية، والملخّص يبقى مثبّتًا في الرؤية طوال التمرير.
.cart-layout · .cart-line · .cart-line__error · .cart-summary
عسل سدر جبلي طبيعي
الحجم: 500 غم
عسل الجزيرة
حبة البركة الصافية 200غم
الحجم: 200 غم
عسل الجزيرة
نفد المخزون بعد إضافته للسلة. أزل هذا السطر لمتابعة الطلب.
-
.cart-lineمناطق شبكة لا صفّ مرن: إسقاط خلية لا يحرّك بقية الخلايا. -
.cart-line__errorعمدًا بلا حجز ارتفاع: السلة قائمة رأسية، وحجز خانة حمراء على كل سطر يرسم إيحاء خطأ زائفًا. -
.cart-summary__totalالإجمالي مجموع الأسطر فوقه حسابيًا — سطر توصيل يُعرض ولا يُضاف عيب موثّق. -
.cart-summary__ctaزرّ الدفع بلون المنصة دائمًا، ولا معالجة بطاقات في المنصة أصلًا.
مكوّنات · التجارة
كتل المتجر
المربّعات والبطاقات والأشرطة التي تبني واجهة المول ودليل المتاجر وصفحة المتجر.
.category-tile · .shop-card · .shop-header-band · .pre-footer-strip · .seller-legal-block
مربّعات الفئات
ثمانية تصنيفات من المستوى الأول كمربّعات 1:1 مظلّلة — مسار التصفّح الذي لا يخدمه شريط الرقاقات وحده.
المربّع الأخير هو النسخة الملوّنة بلون المتجر داخل منطقة متجر مُلوّن.
بطاقات المتاجر
عسل الجزيرة
متجر موثّقبيت التمور
متجر موثّقتقنية الغد
متجر موثّقشارة التوثيق تحمل أيقونة ونصًا مخفيًا، والوسوم مقصوصة عند ثلاثة بقاعدة CSS.
⚠ لا تظهر شارة «بيع بالجملة» هنا أبدًا — تجّار الجملة غائبون هيكليًا عن المول.
شريط رأس المتجر
عسل الجزيرة
الخطّ العلوي هو إشارة الدخول إلى متجر. الهوية تُحمل باللوجو والشارة، لا بالدرجة اللونية.
شريط القيمة قبل التذييل
الشريط يملأ القماش الميت فوق التذييل، وبنوده الثلاثة حقيقية ومدعومة.
هوية البائع النظامية
- الاسم النظامي
- مؤسسة عسل الجزيرة للتجارة
- السجل التجاري
- 1010234567
- الرقم الضريبي
- 310123456700003
- المدينة
- الرياض، حي العليا
- الهاتف
- 0555 123 456
القيم الرقمية جزر 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 |
-
[data-shop-theme]يوضع على منطقة محتوى المتجر لا على الجذر. -
--shop-on-accentأبيض للثمانية جميعًا، وكلٌّ منها يتجاوز 4.5:1. -
.sf-header.sf-footer.sticky-ctaهذه الأسطح تُعيد ضبط اللون بنفسها، فلا يستطيع ثيم في غير موضعه طلاءها.
قاعدة صارمة
تضمين الأرقام باتجاه LTR
كل رقم أو سعر أو SKU أو رقم طلب يُغلَّف بـ <bdi dir="ltr"> — حتى في منتصف جملة عربية.
الإجمالي المستحق هو ر.س 123.50، وسيصلك طلبك رقم SZ-88213 خلال يومي عمل. للاستفسار راسلنا على support@sz365.sa أو اتصل على 0555123456.
جرّب التبديل إلى الإنجليزية أعلاه.
أساسيات
هياكل التطبيقات الثلاثة
اليوم ثلاثة تطبيقات منفصلة بلا هيكل مشترك؛ هنا هيكل واحد لكل تطبيق مبني على نفس الرموز مع تجميع منطقي بدل قائمة مسطّحة.
المتجر الإلكتروني — جوال أولًا
محتوى كل شاشة متجرية يُبنى داخل هذا الهيكل بدءًا من المرحلة 1.
الميرشانت + نقطة البيع
الشريط الجانبي يُطوى إلى شريط أيقونات لتعظيم مساحة العمل في نقطة البيع.
محتوى شاشات الميرشانت يُبنى داخل هذا الهيكل بدءًا من المرحلة 2.
الأدمن
محتوى شاشات الأدمن الـ17 يُبنى داخل هذا الهيكل في المرحلة 6.