سِلعة — دليل التصميم

لغة الواجهة ومكتبة المكوّنات · الإصدار ١٫٠

لوحة التاجر

الهوية

الشعار واللغة البصرية

الرمز هو حرف العين، مرسوم بخط واحد متصل. كل شعار في المنتج يخرج من مكوّن <Logo/> واحد — لا يُعاد رسمه ولا يُعاد تلوينه في أي مكان.

الأقفالlockups — الأساسي والمكدّس والاسم وحده
على الحبرinverse — الرمز بالنحاس الفاتح والاسم بالجبس
مدعوم منسِلعة
على النحاسon copper — الجبس وحده
الحد الأدنىminimum size — ١٦ بكسل للرمز وحده؛ تحتها تُزاد السماكة درجة

48px

32px

24px

16px

mono ٤٠٪

القُصّةthe cut — زاوية واحدة مفتوحة في أعلى جهة البداية · 6% 40% 6% 6%
الخط المتصلthe line — كل تدفّق في المنتج بنفس الخط
الطلبالتجهيزالشحنالتسليم
البطاقةthe tag — وحدة السعر والحالة
زيت زيتون ٢ لترJOD 18.00
طلب #٨٢٤١JOD 62.00
النمطthe pattern — أربع زوايا فقط، لا خامسة

الأساسيات

الألوان

لون واحد يملكه أحد، والبقية تخدمه. التوزيع: ٤٨٪ جبس · ٢٨٪ حبر · ١٢٪ نحاس · ١٢٪ طين ورماد. لا تدرّجات على الخلفيات، ولا لون ثالث خارج هذا النظام.

نحاس سِلعةbrand — الإجراء الأساسي والحالات النشطة

brand-50

rgba(180,89,58,.08)

brand-100

rgba(180,89,58,.15)

brand-500 · on ink

#E08A5E

brand-600 · Feynan Copper

#B4593A

brand-700 · on gypsum

#9E4527

الحجر الجيريneutrals — الواجهة الفاتحة: الخلفيات والحدود والنصوص

n-0 · سطح

#FFFFFF

n-25

#FDF9F2

n-50 · الأرضية

#FBF4EA

n-100

#F3EADC

n-200

#E5D9C8

n-300

#D2BE9F

n-400

#BFA684

n-500

#6E5F4C

n-700

#4A3E33

n-900 · حبر نبطي

#14243A

الحبر النبطيdark — الكونسول ولوحة الدخول وتذييل المتجر

d-0

#101D30

d-50 · ink

#14243A

d-100

#1D3350

d-150

#1A2D47

d-300

#2C4668

d-500

#8FA3BC

d-600

#B3C2D3

d-800

#E6EDF5

d-900 · gypsum

#FBF4EA

لحظات الطاقةaccents — الرمل سطح، والبنفسجي للعروض والحملات فقط

جبس · gypsum

#FBF4EA

طين · clay

#C9A98A

رماد · ash

#8A7A66

الألوان الدلاليةنص / خلفية
نجاح · success

#256F55 / rgba(47,143,111,.10)

تحذير · warning

#14243A / rgba(200,154,28,.18)

خطر · danger

#C0392B / rgba(192,57,43,.10)

معلومة · info

#9E4527 / rgba(180,89,58,.08)

الأساسيات

الخط والمقاسات

تجوّل للعربية — الخط الأساسي للعلامة — بأوزان ٩٠٠ للعناوين و٨٠٠ للترويسات و٧٠٠ للأزرار و٤٠٠ للنص. أرشيفو للاتيني، وجيت‌برينز مونو للأرقام والأسعار والمعرّفات. بدون أي تباعد بين الحروف العربية.

display

32 / 1.3 / 700

مبيعات هذا الشهر

h1

24 / 1.4 / 600

إدارة الطلبات

h2

20 / 1.4 / 600

الطلبات المعلّقة

h3

16 / 1.5 / 600

تفاصيل الشحن

body-lg

16 / 1.7 / 500

راجع الطلب قبل تحويله إلى شركة التوصيل.

body

14 / 1.7 / 500

الوزن الأساسي للنص في كل الواجهة، ومقروء على الشاشات الصغيرة.

caption

13 / 1.6 / 400

يشمل السعر ضريبة المبيعات.

micro

12 / 1.5 / 400

آخر تحديث قبل ٥ دقائق

الأساسيات

الشكل والارتفاع والأيقونات

الحدود بسماكة بكسل واحد هي التي تبني الواجهة؛ الظل يُستخدم فقط لما يطفو فعلاً فوق الصفحة.

الزواياالحلقة الكاملة للشارات والصور فقط

r-sm

r-md

r-lg

r-full

الارتفاعshadow-xs → shadow-lg

xs

sm

md

lg

الأيقوناتLucide · سماكة ١٫٥ · ١٦ داخل النص، ٢٠ افتراضي، ٢٤ مميّز
16px
20px
24px

المكوّنات

الأزرار

إجراء أساسي واحد فقط في كل شاشة. ما عداه ثانوي أو شفاف، والحذف يبقى بلونه التحذيري.

الأنواعprimary · secondary · ghost · destructive
المقاساتsm 30 · md 36 · lg 44
الحالاتloading · disabled
أيقونة فقطمع تلميح دائماً

المكوّنات

حقول الإدخال

عنوان فوق الحقل، ونص مساعد تحته. رسالة الخطأ تحلّ محل النص المساعد ولا تتراكم معه.

بيانات المنتج
تظهر للزبون في صفحة المنتج
استخدم اسماً يبحث عنه الزبون فعلاً.
د.أ
١٢٠ حرف كحد أقصى في نتائج البحث.
الحالاتافتراضي · خطأ · معطّل · بحث
+962
رقم الهاتف يجب أن يتكون من ٩ خانات.
sl3ah.com/
لا يمكن تغييره بعد النشر.
عناصر الاختيارtoggle · checkbox · radio

المكوّنات

حالات الطلب والمؤشرات

كل حالة لها لون واحد ثابت في كل الشاشات — الزبون والتاجر يقرآن نفس اللون بنفس المعنى.

دورة حياة الطلبStatusPill — المصدر الوحيد للون الحالة
معلقمؤكدقيد التوصيلمكتململغىمسترجع
نفس المكوّن بكلمات قاعدة البياناتdelivered ← مكتمل · shipped ← قيد التوصيل · processing ← مؤكد · refunded ← مسترجع
معلقمؤكدقيد التوصيلمكتململغىمسترجع
صف الفلترةStatusPillButton — الاختيار بحلقة، واللون ما بيتغيّر

ليش هذا المكوّن موجود

كانت نفس الحالات الستّ ملوّنة بأربع خرائط ألوان مكتوبة يدوياً في أربع صفحات، وما كانت متفقة — delivered كان أخضر بلون في صفحة الرئيسية، وأخضر بلون ثاني في جدول الطلبات. StatusPill بيقبل كلمات قاعدة البيانات وكلمات العرض سوا، فما في سبب يخلّي أي صفحة تكتب خريطة ألوان خاصة فيها. يستبدل OrderStatusBadge.

شارات أخرىمخزون · باقة · عدّاد
نفد المخزونكمية منخفضةمنشورمسودةالباقة المتقدمةقيد المراجعة١٢٤٣
مبيعات اليوم
١٬٢٨٤٫٥٠د.أ
١٢٫٤٪مقارنة بأمس
الطلبات
٨٤
٦٫١٪مقارنة بأمس
متوسط قيمة الطلب
١٥٫٢٩د.أ
٣٫٢٪مقارنة بأمس
السلات المتروكة
١٩
٠٪بدون تغيير

المكوّنات

جدول البيانات

رأس ثابت عند التمرير، فرز على الأعمدة المنطقية فقط، وشريط إجراءات جماعية يظهر عند التحديد.

المدينةالمنتجاتالحالة
#TJ-٤٢١٨
أحمد الخطيب
أحمد الخطيب
+962 7 9123 4567
عمّان٣٤٢٫٧٥ د.أمعلققبل ١٢ دقيقة
#TJ-٤٢١٧
لينا العموش
لينا العموش
+962 7 7845 2210
إربد١١٢٫٥٠ د.أمؤكدقبل ساعة
#TJ-٤٢١٦
محمد الشوابكة
محمد الشوابكة
+962 7 8990 1134
الزرقاء٥١٢٨٫٠٠ د.أقيد التوصيلاليوم ١٠:٤٥ ص
#TJ-٤٢١٥
رنا المجالي
رنا المجالي
+962 7 9556 8823
مادبا٢٣٤٫٩٠ د.أمكتملأمس ٦:٢٠ م
#TJ-٤٢١٤
يوسف الطراونة
يوسف الطراونة
+962 7 7012 4498
العقبة١١٩٫٩٩ د.أملغىأمس ٢:٠٥ م
#TJ-٤٢١٣
سُهى القضاة
سُهى القضاة
+962 7 8123 7745
السلط٤٧٦٫٢٥ د.أمسترجعالأحد ٩:١٠ ص
تم تحديد ٢ طلب
عرض ٢١–٣٠ من ٨٤ طلب

المكوّنات

النوافذ والتنبيهات

النافذة للتأكيد السريع، واللوح الجانبي لعرض التفاصيل بدون مغادرة القائمة.

افتحهاEsc أو النقر خارجها يغلقها
أشكال التنبيهاتثابتة للعرض

تم إنشاء المنتج

زيت زيتون بلدي — ٣ لتر أصبح منشوراً.

فشل رفع الصورة

الحجم الأقصى ٢ ميغابايت.

تحديث في أسعار الشحن

تسري الأسعار الجديدة من أول الشهر.

التنبيهالقُصّة ٨/٤٠ · الرايل ٣px من لون الحالة

تم نشر متجرك بنجاح

الرابط صار شغّال ومتاح لزبائنك.

التباين منخفض — قد يصعب قراءة النص

نص المتن على خلفية الصفحة — 2.10:1 · المعيار العالمي 4.5:1.

عندك تغييرات ما اننشرت بعد

التنبيه المضغوطcompact — تحت حقل، لا فوق لوح

التباين منخفض — قد يصعب قراءة النص

العناوين على البطاقات — 3.10:1

التحميلskeleton · spinner
جاري تحميل الطلبات…
الحالة الفارغةالقسم التالي يشرحها بالتفصيل

ما في طلبات لهاي الفترة

أول ما يوصلك طلب جديد رح يظهر هون مباشرة.

المكوّنات

الحالات الفارغة

ما في شاشة تعرض بيانات بدون حالة فارغة — المساحة البيضاء تُقرأ كصفحة معطّلة. ثلاثة أنواع فقط، ولكل واحد مخرج مختلف: لا بيانات بعد، لا نتائج للفلتر، أو خطأ بالتحميل.

no-dataما في بيانات أصلاً — المخرج: أنشئ أول واحد

ما عندك منتجات بعد

ضيف أول منتج وابدأ البيع اليوم. بتقدر تعدّل عليه بأي وقت.

no-resultsالبيانات موجودة، الفلتر ما طابق — المخرج: امسح الفلتر

ما في نتائج مطابقة

ما في طلبات تطابق «مؤكد» بهاي الفترة. جرّب توسّع التاريخ أو تشيل الفلتر.

errorما قدرنا نعرف — المخرج: أعد المحاولة
compactلجسم جدول فاضي أو بطاقة قصيرة
آخر السلات المتروكة

ما في سلات متروكة

هاي إشارة كويسة — الزبائن بيكمّلوا شراءهم.

بدون نص فرعي وبدون إجراءdescription={null} — للحالات البديهية

ما في نتائج مطابقة

قواعد التبنّي

  • لا تستخدم no-data لما يفشل الطلب — بتقول للتاجر إن بياناته راحت. استخدم error.
  • إجراء أساسي واحد فقط. الثانوي شفاف، وبيكون مخرج (دعم، توثيق، مسح فلتر).
  • النصوص الافتراضية عربية وجاهزة — مرّر title فقط لما يكون عندك صياغة أدق للشاشة.
  • illustration بتستبدل الميدالية كاملة لما تجهز رسمة حقيقية. لين ذلك، الميدالية بأيقونة واحدة هي الافتراضي.
  • يستبدل ErrorState القديم — الثلاث حالات صارت مكوّن واحد بنفس التخطيط.

المكوّنات

صفوف الإعدادات

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

مفرد · مطفي ومشغّل
معطّل + سببdisabledReason بدل الوصف
مجموعةToggleCardGroup — الحدود بتنطبق وبتقرأ كعنصر واحد

قواعد التبنّي

  • البطاقة كلها منطقة ضغط — لأنها label حقيقية. لا تضيف onClick عليها.
  • لما يكون المفتاح معطّل، مرّر disabledReason دائماً. مفتاح مطفي بدون سبب بيوقف التاجر بدون مخرج.
  • سطر وصف واحد. إذا احتاج سطرين، الإعداد لازم ينقسم لإعدادين.
  • الأيقونة ١٨ بكسل بسماكة ١٫٥ — نفس سماكة كل أيقونات اللوحة، بدون استثناء.

المكوّنات

سجل الطلب

اللي صار واللي كتبه الفريق على نفس المسار. الملاحظة الداخلية بتنعرض بخلفية مميّزة لأنها لازم ما تنقرأ أبداً كرسالة للزبون.

أحداث + ملاحظات
  1. تم التسليممكتمل
  2. ملاحظة داخلية
    الزبون طلب يوصل بعد الساعة ٥. حكيت مع المندوب وأكّد.
  3. خرج للتوصيل
  4. تم استلام الدفعة٤٢٫٧٥ د.أ
  5. تم إنشاء الطلب
تحميل
فاضي

ما في نشاط بعد

كل تغيير على الطلب بينحفظ هون.

قواعد التبنّي

  • kind="note" للي بيكتبه الفريق، event للي بيصير تلقائياً. لا تخلط الاثنين بنفس النوع.
  • tone دلالي فقط — نجاح، تحذير، خطر، معلومة. ما في لون للتزيين على هذا المسار.
  • الوقت نصّ جاهز من عندك، وdateTime بصيغة ISO للقراءة الآلية. المكوّن ما بينسّق تواريخ.
  • الأحدث فوق. اللائحة ما بترتّب — رتّبها قبل ما تمرّرها.

المكوّنات

المحافظات ومناطق الشحن

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

اختيار متعددوين بتوصّل أصلاً
4 / 12
مع محافظات غير متاحة + خطأ
سعر لكل منطقةبالدينار — ٣ خانات عشرية
سعر موحّد لكل المحافظات؟
عمّان
د.أ
إربد
د.أ
الزرقاء
د.أ
البلقاء
د.أ
أدخل سعر التوصيل.

قواعد التبنّي

  • خزّن id اللاتيني، مش الاسم العربي. تغيير الاسم لازم ما يفقد أي منطقة محفوظة.
  • لا تكتب لائحة محافظات بصفحتك — استورد GOVERNORATES من @/components/ui.
  • مرّر مخرجات الاختيار كـzoneIds لشبكة الأسعار، حتى ما يسعّر التاجر منطقة مش بيوصّلها.
  • السعر نصّ خام (string) لأن الحقل نصّي — حوّله لفلس عند الحفظ، لا تخزّنه كـfloat.

النماذج

صور المنتج

الترتيب هو العقد كله: أول صورة هي الرئيسية. ما في علم منفصل للصورة الرئيسية يقدر يختلف عن الترتيب — لما تقدّم صورة، بتصير أول وحدة، وخلص.

معرض فيه صوراسحب البلاطة، أو استعمل السهمين

اسحب الصور لهون

JPG أو PNG أو WebP · لغاية ٥ صور بعد

  • olive-oil-front.jpgالصورة الرئيسية
  • olive-oil-back.jpg
  • olive-oil-label.jpg
أول صورة هي اللي بتظهر بالكتالوج وبنتائج البحث.
فاضي + رفع جارٍ + فشل

اسحب الصور لهون

JPG أو PNG أو WebP · لغاية ٦ صور بعد

  • IMG_2041.jpg
  • IMG_2042.jpg
معطّل

اسحب الصور لهون

JPG أو PNG أو WebP · لغاية ٨ صور بعد

خطأ على الحقل

اسحب الصور لهون

JPG أو PNG أو WebP · لغاية ٨ صور بعد

لازم صورة وحدة على الأقل قبل النشر.

قواعد التبنّي

  • id لازم يكون ثابت عبر إعادة الترتيب — لا تستعمل رقم الخانة بالمصفوفة، بتنكسر البلاطات أول ما تسحب وحدة.
  • الرفع مسؤوليتك: onFiles بتعطيك الملفات، وإنت بترجّعها بـstatus من uploading لـready أو error. المكوّن ما بيلمس الشبكة.
  • فشل رفع صورة بينحط على البلاطة نفسها (error جوّا العنصر)، مش على الحقل. error تبع الحقل للأخطاء اللي بتخص المعرض كله.
  • السحب مش الطريقة الوحيدة — السهمين شغّالين بالكيبورد. لا تخفيهم.

النماذج

خيارات المنتج والتركيبات

الخيارات هي المحاور، والجدول هو حاصل ضربها. مكوّن واحد لأنهم قرار واحد — ما بتقدر تعدّل محور بدون ما يتغيّر الجدول.

محورين + جدولالسطر بيتعرّف بخريطة خياراته، مش برقمه
١ لتر٣ لتر
تنكةقنينة
طبّق على كل التركيبات
د.أ
سعر ومخزون كل تركيبة من خيارات المنتج
الحجمالعبوةالسعرالمخزونالرمز (SKU)مفعّلة
١ لترتنكة
د.أ
١ لترقنينة
د.أ
٣ لترتنكة
د.أ
٣ لترقنينة
د.أ
السعر أقل من التكلفة.
٤ تركيبة · إجمالي المخزون ٨٦التركيبة بدون سعر بتاخد سعر المنتج (١٢٫٥٠ د.أ).
بدون خياراتالحالة الفاضية + المحاور المقترحة

ما في خيارات لهالمنتج

إذا منتجك بيجي بأكثر من لون أو حجم، ضيف خيار وبنعملك جدول بكل التركيبات مع سعر ومخزون لكل وحدة.

قواعد التبنّي

  • لا تبني الجدول بنفسك. buildVariantMatrix وvariantKey بينباعوا مع المكوّن — استعملهم لو احتجت نفس الحساب بالسيرفر.
  • مفاتيح rowErrors هي variantKey(row.options)، مش رقم السطر.
  • price: null معناها «خُذ سعر المنتج». صفر معناها مجاني — الفرق مهم، لا تحوّل الاثنين لصفر عند الحفظ.
  • التركيبة المعطّلة بتضل محفوظة. استعملها للألوان اللي بتخلص وبترجع، بدل ما تحذفها وتفقد سعرها.

النماذج

محرّر الوصف

أقل محرّر بيغطي وصف منتج حقيقي: تشديد، قائمتين، عنوان فرعي، ورابط. ما في خط ولا لون ولا حجم ولا محاذاة — هدول ملك ثيم المتجر، ومحرّر بيقدر يتجاوزهم بيضمن إنّ وصف التاجر ما بيشبه متجره.

محرّر شغّال
٩٣ / ٦٠٠اللصق بينحط نصّ صافي دايماً — أي تنسيق جاي من Word بينشال.
فاضيالنصّ الإرشادي داخل مساحة الكتابة
خطأ
الوصف مطلوب قبل النشر.
معطّل

قواعد التبنّي

  • نظّف الـHTML على السيرفر قبل التخزين. شريط الأدوات ما بيقدر يطلّع سكربت واللصق بينشال منه التنسيق، بس القيمة بتضل مدخلات مستخدم رايحة على dangerouslySetInnerHTML. هذا المكوّن مش حاجز أمني.
  • زرّا اتجاه الفقرة بيشتغلوا على الفقرة اللي فيها المؤشّر فقط. الحقل نفسه بيضل rtl — لا تستعملهم كمفتاح عام.
  • maxLength عدّاد، مش قصّ. المحرّر ما بيمنع الكتابة — امنع الحفظ إنت.
  • لا تضيف أزرار. كل زرّ زيادة هو طريقة إضافية يطلع فيها المتجر غلط.

النماذج

اختيار الفترة

تقويم عربي، مش تقويم مترجَم: أسماء الشهور شامية (كانون الثاني، شباط، آذار) لأنها اللي بتنقرأ على الفاتورة بالأردن، والأسبوع بيبلّش سبت، والأرقام هندية زي كل رقم باللوحة.

مع الفترات الجاهزةالجواب الشائع بضغطة وحدة
بيشمل يوم النهاية كامل — لآخر دقيقة فيه.
معطّل
خطأ
اختر فترة قبل تصدير التقرير.
تحميل

قواعد التبنّي

  • to بترجع على آخر لحظة باليوم (٢٣:٥٩:٥٩٫٩٩٩). لا تقصّها لمنتصف الليل وإلا بتفقد طلبات اليوم الأخير.
  • استعمل DEFAULT_PRESETS زي ما هي. كل شاشة بتكتب فتراتها بتخلق «آخر ٣٠ يوم» ثانية بمعنى مختلف.
  • maxDate بتساوي اليوم تلقائياً. مرّر null بس إذا الشاشة فعلاً بتسمح بالمستقبل (جدولة عروض).
  • للعرض استعمل formatArabicRange — بتلمّ الشهر والسنة لما يتكرروا، فما بتطلع «٩ آب ٢٠٢٦ — ١٥ آب ٢٠٢٦».

النموّ

المخططات

غلاف واحد فوق Recharts. اللون والشبكة والمحاور والتلميح والحواف كلها متقرّرة جوّا المكوّن — الصفحة بتختار البيانات والارتفاع وصيغة الرقم، وبس. الزمن بيمشي من اليمين لليسار زي القراءة، ومحور القيمة على اليمين.

الإيرادات
آخر ٧ أيام
مصادر الطلبات
٤ خانات، ولا وحدة زيادة
٩٣٠إجمالي الطلبات
  • إنستغرام
  • بحث جوجل
  • واتساب
  • مباشر
المبيعات حسب المحافظة
فئات، مش زمن
فاضي

ما في بيانات لهاي الفترة.

خطأ
تحميل

قواعد التبنّي

  • لا تمرّر لون. سلسلة وحدة بتاخد --brand-600، والسلاسل اللي بتحمل هويّة بتاخد خانات --chart-N بترتيب ثابت. خامس سلسلة معناها المخطط غلط، مش إنّ اللوحة قصيرة.
  • الألوان الدلالية ممنوعة بالمخططات. الأخضر معناه نجاح، مش «الطلبات الموصّلة ٤٠٪».
  • مرّر البيانات بترتيبها الزمني الطبيعي — الأقدم أول — زي ما بترجع من الـAPI. المحور هو اللي بيعكسها، مش إنت: أول نقطة بتطلع على اليمين والسلسلة بتمشي لليسار.
  • formatValue للمحور (مختصر) وformatTooltip للتلميح (دقيق). للأعداد مرّر arNum بدل الافتراضي بالدينار.
  • لقائمة فئات بأسماء عربية طويلة استعمل BarList — الأفقي بيخلّي الاسم على سطر واحد بدل ما يندار تحت عمود.

النموّ

الفاتورة والإيصال

زرّ «طباعة» موجود من زمان وما كان وراه ورقة — كان بيطبع اللوحة نفسها. هذا المستند اللي المفروض يطلع. قوالب الطباعة بتخفي الصفحة كلها وبتظهر المستند بس، فبتقدر تحطّه بأي شاشة طلب بدون ما تعدّل عليها.

معاينة الورقنفس المستند بالقياسين

بيت الزيتون

عمّان — شارع مكة، عمارة ٤٢

+962 6 585 1122

الرقم الضريبي 1234567

فاتورة

#TJ-٤٢١٨

٩ آب ٢٠٢٦ · ٣:٤٢ م

مدفوع

الزبون

أحمد الخطيب

+962 7 9123 4567

تلاع العلي — شارع المدينة المنوّرة · عمّان

طريقة الدفع

الدفع عند الاستلام

منتجات الطلب #TJ-٤٢١٨
المنتجالكميةالسعرالإجمالي
زيت زيتون بلدي٣ لتر · تنكةOIL-3L٢٣٢٫٠٠ د.أ٦٤٫٠٠ د.أ
عسل سدر أردني — ٥٠٠ غمHNY-500١٤٥٫٥٠ د.أ٤٥٫٥٠ د.أ
صابون غار طبيعي — ٤ حباتSOP-04٣٨٫٧٥ د.أ٢٦٫٢٥ د.أ
المجموع١٣٥٫٧٥ د.أ
التوصيل٢٫٠٠ د.أ
الخصم (ALBARAKA10)− ١٣٫٥٨ د.أ
ضريبة المبيعات١٩٫٨٧ د.أ
الإجمالي١٤٤٫٠٤ د.أ
الاستبدال خلال ٧ أيام مع الفاتورة. المنتجات الغذائية المفتوحة غير قابلة للإرجاع.

baytalzaytoun.jo

مدعوم من سِلعة

قواعد التبنّي

  • المكوّن ما بيحسب ضريبة. vat رقم بتحسبه إنت — مكوّن مشترك بيضرب ١٦٪ على كل شي هو خطأ محاسبي جاي.
  • حطّ <PrintDocument /> بالصفحة ونادِ printDocument(). ما بدك تعلّم عناصر الصفحة الثانية بإشي — قواعد الطباعة بتتكفّل.
  • التواريخ والأرقام نصّ جاهز من عندك، بنفس دوال @/lib/format اللي بتستعملها على الشاشة. لازم المطبوع يطابق المعروض حرف بحرف.
  • الإيصال ٨٠ مم بيشيل الشعار والعناوين. لا تحاول تحشرهم فيه — الورقة ضيّقة لأنها ضيّقة.

النموّ

الواجهة العامة

لوحة التاجر بتشتغل تحت .tj، والمتجر العام تحت .shop. نفس الـtokens بالضبط — نفس الأنصاف والظلال. الفرق: كل لون وخط وحجم خط بالمتجر ملك التاجر.

ثيم المتجر — حيّنفس storeThemeStyle() اللي بتشتغل على /store/[slug]

خط المتن

خط العناوين

حجم الخط100%
شحن مجاني على الطلبات فوق 20 د.أ
متجر سادهالسلة

وصلت التشكيلة الجديدة

توصيل لكل محافظات الأردن، والدفع عند الاستلام.

زيت زيتون بلدي

12.500د.أ

عسل سدر جبلي

13.500د.أ

زعتر بلدي

14.500د.أ
تسوّق الآن

اللي كان قبل

  • خمس لوحات ألوان بنفس الملف: بنفسجي أساسي، ذهبي للشارة، كهرماني لعدّاد السلّة، حبري للزر، وبيج للإطار.
  • خطّين — Tajawal جنب Inter — وأنصاف أقطار ٦ و٨ و١٢ و١٦ و٢٠.
  • تدرّجات لونية على الهيرو والتصنيفات، وزجاج مموّه على العدّاد.
  • إيموجي مكان الأيقونات، وبطاقة بترفع ٦ بكسل داخل ظلّ ٥٦ بكسل.

اللي صار هلق

  • كل رمادي وكل نصف قطر وكل ظلّ من tokens.css — نفس اللي بتستعمله بلوحة التاجر.
  • لون التاجر بينحطّ كـ--shop-accent على جذر .shop، والدرجات بتتولّد منه بـcolor-mix.
  • الألوان الدلالية موحّدة: «متوفّر» أخضر النجاح، و«آخر قطع» أصفر التحذير — نفس الأزواج تماماً.
  • أيقونات lucide بسماكة ١٫٥، والاتجاهات بتنقلب صح بالعربي.

قواعد التبنّي

  • أي صفحة عامة جديدة بتلفّها بـ<div className="shop" dir=…> ومرّر storeThemeStyle(store.theme) عليها — الأسهل إنّك تستعمل <StoreShell/> وهي بتعملها عنك. بدون هيك بتاخد ألوان المنصّة مش ألوان التاجر.
  • لا تقرأ primary_color بنفسك. المُساعد بيتحقّق إنّها هيكس صالح قبل ما توصل لخاصية style — القيمة جايّة من التاجر وبتنزل بالـCSS.
  • font_family صار مقروء وبيتطبّق. الخطوط المسموحة محدّدة بـSTORE_FONT_LIST، وهي نفس القائمة اللي بيحمّلها layout.tsx — فما بيصير خط ينعرض بالمحرّر والمتصفّح ما حمّله. border_radius لسا مش مقروء.
  • القواعد بهالملف بتقرأ --s-* — سُلّم رمادي خاص بالمتجر مشتقّ من ألوان التاجر — مش --n-*. لو أضفت قاعدة جديدة للواجهة العامة استعمل --s-*، وإلا بتطلع بلون المنصّة جنب ألوان التاجر.
  • مكوّنات @/components/ui بتشتغل جوّا .tj، مش .shop. الاثنين على نفس الـtokens، بس الأصناف مختلفة — استعمل أصناف shop-* بالواجهة العامة.
  • نصّ فوق لون التاجر هو --n-0 دايماً. إذا التاجر اختار لون فاتح بيصير أبيض على فاتح — الحارس مكانه محرّر الثيم، مش هون.