الانتقال إلى المحتوى الرئيسي
معاينة عناصر عربة التسوق مكون قائمة عناصر عربة التسوق التفاعلي بالكامل لـ Framer الذي يقرأ من localStorage، ويعرض كل عنصر مع صورته وعنوانه وخيارات متغيراته وسعره وضوابط الكمية، ويدعم زيادة الكمية وتقليلها وإزالة العناصر في الوقت الفعلي.

ما الذي يفعله

يعرض قائمة منتجات عربة التسوق جميع العناصر الموجودة حاليًا في عربة التسوق كبطاقات فردية. تُظهر كل بطاقة صورة المنتج والعنوان وخيارات المتغير المحدد والسعر ومحرك الكمية (+/−) وأيقونة سلة المهملات لإزالة العنصر. جميع التفاعلات تكتب مباشرة في localStorage وتطلق حدث cartUpdated لإبقاء مكونات عربة التسوق الأخرى متزامنة. السلوكيات الرئيسية:
  • يقرأ عربة التسوق من localStorage — عند التحميل، يقرأ المفتاح cart ويعرض بطاقة لكل عنصر.
  • زيادة/تقليل الكمية — أزرار + و تحدّث كمية العنصر. الحد الأدنى للكمية هو 1؛ لا ينزل زر دون ذلك.
  • إزالة العنصر — أيقونة سلة المهملات تزيل العنصر من عربة التسوق بالكامل.
  • يكتب في localStorage — كل إجراء تعديل أو حذف يحفظ العربة المحدَّثة في localStorage ويطلق حدث cartUpdated حتى يتحدث عداد العناصر ومتحكم الحالة وباقي مكونات عربة التسوق فورًا.
  • بيانات نموذجية آمنة للمعاينة — عند خلو عربة التسوق (مثل على لوحة Framer)، يعرض المكون خمسة عناصر نموذجية حتى يبقى التخطيط مرئيًا أثناء التصميم.
  • يتحدث في الوقت الفعلي — يستمع لأحداث cartUpdated من المكونات الأخرى حتى تبقى القائمة متزامنة إذا عُدِّلت عربة التسوق في مكان آخر في الصفحة.

ضوابط الخصائص

جميع الضوابط متاحة في لوحة Framer اليمنى عند تحديد المكون. تُجمَّع في أربعة أقسام: Outer Container، Card، Image، وContent.

Outer Container

الخاصيةالنوعالوصف
Gap between cardsرقم (بكسل)المسافة الرأسية بين بطاقات عناصر عربة التسوق الفردية.

Card

يتحكم في مظهر كل بطاقة عنصر في عربة التسوق.
الخاصيةالنوعالافتراضيالوصف
Paddingحشوالمسافة الداخلية لكل بطاقة.
Borderحدود1px solid rgba(0,0,0,0.5)نمط حدود كل بطاقة.
Border Radiusنصف القطراستدارة زوايا كل بطاقة.
Shadowظل0px 1px 2px 0px rgba(0,0,0,0.25)الظل المطبق على كل بطاقة.
Backgroundلون#fffلون خلفية كل بطاقة.
Gapرقم (بكسل)المسافة الأفقية بين صورة المنتج ومنطقة المحتوى.

Image

يتحكم في صورة المنتج على الجانب الأيسر من كل بطاقة.
الخاصيةالنوعالافتراضيالوصف
Widthرقم (بكسل)180عرض صورة المنتج.
Heightرقم (بكسل)180ارتفاع صورة المنتج.
Border Radiusنصف القطراستدارة زوايا صورة المنتج.
TypeقائمةContainكيفية ملء الصورة لمربعها. الخيارات: Contain، Cover، Fill.

Content

يتحكم في جميع النصوص والتخطيط والعناصر التفاعلية في منطقة المحتوى اليمنى من كل بطاقة.

Quantity

يتحكم في محرّك الكمية (− / القيمة / +). Container — الحاوية الواحدة لجميع العناصر الثلاثة:
الخاصيةالنوعالافتراضيالوصف
Gapرقم (بكسل)4المسافة بين الأزرار وقيمة الكمية.
Backgroundلون#000لون خلفية حاوية الكمية.
Paddingحشوالمسافة الداخلية لحاوية الكمية.
Borderحدود1px solid rgba(0,0,0,0.5)حدود حاوية الكمية.
Border Radiusنصف القطراستدارة زوايا حاوية الكمية.
Shadowظل0px 1px 2px 0px rgba(0,0,0,0.25)الظل على حاوية الكمية.
Buttons — أزرار + و الفردية:
الخاصيةالنوعالافتراضيالوصف
Paddingحشوالمسافة الداخلية لكل زر.
Borderحدود1px solid rgba(0,0,0,0.5)حدود كل زر.
Border Radiusنصف القطراستدارة زوايا كل زر.
Backgroundلون#fffلون خلفية كل زر.
Icon Colorلون#000لون أيقونتي الجمع والطرح.
Icon Sizeرقم (بكسل)16حجم أيقونتي الجمع والطرح.
Text — قيمة الكمية المعروضة بين الزرين:
الخاصيةالنوعالافتراضيالوصف
Fontخطالطباعة لرقم الكمية.
Colorلون#fffلون نص رقم الكمية.

Trash Icon

يتحكم في زر إزالة العنصر.
الخاصيةالنوعالافتراضيالوصف
Backgroundلون#000لون خلفية حاوية أيقونة سلة المهملات.
Colorلون#fffلون أيقونة سلة المهملات.
Sizeرقم (بكسل)16حجم أيقونة سلة المهملات.
Paddingحشوالمسافة الداخلية حول أيقونة سلة المهملات.
Border Radiusنصف القطراستدارة زوايا حاوية أيقونة سلة المهملات.

Title

الخاصيةالنوعالافتراضيالوصف
Fontخطالطباعة لعنوان المنتج.
Colorلون#000لون نص عنوان المنتج.

Price

الخاصيةالنوعالافتراضيالوصف
Fontخطالطباعة لسعر المنتج.
Colorلون#000لون نص سعر المنتج.
AlignmentقائمةCenterالمحاذاة الرأسية للسعر نسبة إلى العنوان. الخيارات: Center، Flex Start، Flex End.

Variant

يتحكم في تسميات خيار المتغير (مثال: Color: Black) المعروضة تحت عنوان المنتج. Key — اسم الخيار (مثال: Color، Size):
الخاصيةالنوعالافتراضيالوصف
Fontخطالطباعة لتسميات مفتاح المتغير.
Colorلون#000لون نص تسميات مفتاح المتغير.
Value — قيمة الخيار (مثال: Black، Large):
الخاصيةالنوعالافتراضيالوصف
Fontخطالطباعة لقيم المتغير.
Colorلون#000لون نص قيم المتغير.

Spacing

الخاصيةالنوعالوصف
Paddingحشوالمسافة الداخلية لمنطقة المحتوى بأكملها.
Gapمسافةالمسافة بين العنوان وتسميات المتغير والسعر.
Main Gapمسافةالمسافة بين كتلة المحتوى العلوية (العنوان والمتغيرات والسعر) وضوابط التحكم السفلية (محرّك الكمية وأيقونة سلة المهملات).

ملاحظات

  • يجب أن يتضمن كل عنصر في عربة التسوق في localStorage الحقول: variantId، title، price.amount، quantity، selectedOptions، واختياريًا image. إذا كانت image مفقودة، تُعرض صورة عنصر نائب.
  • كل تفاعل (زيادة، تقليل، حذف) يطلق حدث cartUpdated على window بعد الحفظ في localStorage، مما يُبقي عداد عناصر عربة التسوق ومتحكم حالة عربة التسوق متزامنَين تلقائيًا.
  • الحد الأدنى للكمية لكل عنصر هو 1. النقر على عند الكمية 1 لا يفعل شيئًا.
  • عند خلو عربة التسوق، تُعرض خمسة عناصر نموذجية للمعاينة حتى يبقى التخطيط مرئيًا في لوحة Framer أثناء التصميم.