# WP-D — الواجهة: عرض/تمرير المتغيّر في الشاشات التلاتة

## Goal
بعد ما الباك إند بقى per-variant (WP-A/B/C)، الواجهة لازم **تعرض** اللون/المقاس في ورقة الجرد وتنبيهات إعادة الطلب، و**تمرّر** فلتر المتغيّر لكارت الصنف.

## Depends on
WP-A + WP-B + WP-C (عقود الـAPI بتاعتهم).

## Exact files (FE `/home/moonui2/public_html/moon-erp`)
- `src/app/core/services/inventory-count.service.ts` — بيستهلك `productsForWarehouse` (ورقة الجرد). تأكّد إن الحقول الجديدة بتتمرّر للشاشة.
- شاشة الجرد المستهلكة للورقة (اتبع مستهلكي الخدمة دي).
- **كارت الصنف** مستهلك في: `src/app/features/stock-balances/stock-balances.component.ts` و `src/app/features/product-detail/product-detail.component.ts` (+ `src/app/core/services/stock-balance.service.ts` لو الاستدعاء من هناك).
- **شاشة تنبيهات إعادة الطلب** (دوّر عليها: `grep -rl "reorder" src/app/features --include=*.ts`).
- الموديلات المعنية في `src/app/core/models/inventory.model.ts` — ضيف الحقول الجديدة.
- i18n: `src/assets/i18n/ar.json` + `en.json` لو احتجت مفتاح جديد (مثلاً `INVENTORY.VARIANT`).

## المطلوب بالضبط
1. **ورقة الجرد:** عمود/عرض لاسم اللون-المقاس، والصفوف بقت صف لكل متغيّر — اتأكد إن مفتاح التتبّع (`track`) في القوائم بقى **(منتج+متغيّر)** مش المنتج لوحده، وإن الحفظ بيبعت `product_variant_id` للصف الصح.
2. **تنبيهات إعادة الطلب:** عمود/عرض اسم المتغيّر بحيث المستخدم يفرّق بين تنبيه «أزرق S» و«أحمر L».
3. **كارت الصنف:** تمرير `product_variant_id` للـAPI لما يكون المستخدم شايف/مختار متغيّر (من شاشة الأرصدة الصف بيبقى per-variant أصلًا، فمرّر متغيّر الصف)، وعرض اسم المتغيّر في رأس/صفوف الكارت.
4. المنتجات **بلا متغيّرات**: الشاشات تفضل **زي ما هي بالظبط** (العمود يفضل فاضي/مخفي، بلا تغيير سلوك).

## Interfaces (من WP-A/B/C)
- ورقة الجرد + تنبيهات إعادة الطلب: كل صف/تنبيه فيه `product_variant_id` (int|null) و`product_variant_name` (string|null).
- كارت الصنف: query param اختياري `product_variant_id` بدلالة ثلاثية (غايب=الكل · رقم=المتغيّر ده · فاضي صريح=الأساس)، وكل حركة فيها `product_variant_id` + `product_variant_name`.

## Acceptance
- [ ] ورقة الجرد بتعرض صف لكل لون باسمه ورصيده، والحفظ بيروح للصف الصح.
- [ ] تنبيهات إعادة الطلب بتفرّق بين الألوان بالاسم.
- [ ] كارت الصنف من شاشة الأرصدة لصف متغيّر → بيعرض حركات المتغيّر ده بس.
- [ ] منتجات بلا متغيّرات: مفيش أي تغيير مرئي أو سلوكي.
- [ ] `npx ng build --base-href /app/` أخضر.

## Tests
مفيش test runner في الـFE (skipTests) → البوابة = `ng build` أخضر + مراجعة opus + قبول يدوي على /app.

## Flags
NOT [FIN] · migration: لا.

## Out of scope
أي شاشة مبيعات/مشتريات (المرحلة ٢) · باقي تقارير المخزون (المرحلة ٣) · شاشة إنشاء المتغيّرات.
