Refactor code structure for improved readability and maintainability; removed redundant code blocks and optimized function calls.
CI/CD / test-and-build (push) Waiting to run
CI/CD / deploy (push) Blocked by required conditions

This commit is contained in:
Najjar\NajjarV02
2026-05-20 18:03:42 +04:00
parent bfe589be27
commit 729ab71c2c
65 changed files with 217 additions and 216 deletions
+11 -11
View File
@@ -1,9 +1,9 @@
# Changelog — Lootah Robotics G1 Configurator
> تاريخ التغييرات — 20 أبريل 2026
# Changelog Lootah Robotics G1 Configurator
> تاريخ التغييرات 20 أبريل 2026
---
## 2ff21c5 — perf: compress GLBs 75%, add Draco decoder, loading spinner for attire
## 2ff21c5 perf: compress GLBs 75%, add Draco decoder, loading spinner for attire
### المشكلة
- الموبايلات القديمة كانت تعلّق لأوقات طويلة عند تحميل الأزياء الجديدة
@@ -25,7 +25,7 @@
---
## b2a484f — fix: dynamic attire buttons in ScrollOverlays + mobile touch support
## b2a484f fix: dynamic attire buttons in ScrollOverlays + mobile touch support
### المشكلة
- أزرار الأزياء في صفحة الـ Landing (Kandura, Vest, Suit) كانت مكتوبة بشكل ثابت (hardcoded)
@@ -41,7 +41,7 @@
---
## 320b77b — fix: contacts API - use ADMIN_JWT_SECRET env var
## 320b77b fix: contacts API - use ADMIN_JWT_SECRET env var
### المشكلة
- صفحة Contacts في الأدمن كانت ترجع خطأ 500
@@ -58,7 +58,7 @@
---
## 25ffbf4 — feat: add favicon and app icons for PWA support
## 25ffbf4 feat: add favicon and app icons for PWA support
### التغييرات
| الملف | التغيير |
@@ -73,7 +73,7 @@
---
## e686d41 — fix: use configStore.getState().setPersonaAttire in ScrollOverlays
## e686d41 fix: use configStore.getState().setPersonaAttire in ScrollOverlays
### المشكلة
- بناء Docker كان يفشل مع خطأ TypeScript:
@@ -93,7 +93,7 @@
---
## e159965 — feat: add GET endpoint to retrieve contact requests with admin authentication
## e159965 feat: add GET endpoint to retrieve contact requests with admin authentication
### التغييرات
| الملف | التغيير |
@@ -114,10 +114,10 @@ STRIPE_SECRET_KEY= # للمدفوعات
### هيكل Stores
| Store | الوصف |
|---|---|
| `configStore` (vanilla Zustand) | الألوان والزي النشط — يدعم `.getState()` |
| `configStore` (vanilla Zustand) | الألوان والزي النشط يدعم `.getState()` |
| `useConfigStore` (React hook) | wrapper لـ `configStore` للاستخدام داخل components |
| `personaStore` (vanilla Zustand) | قائمة الأزياء — تُحمَّل من API عند التهيئة |
| `pricingStore` | أسعار العناصر — تُزامَن مع قاعدة البيانات |
| `personaStore` (vanilla Zustand) | قائمة الأزياء تُحمَّل من API عند التهيئة |
| `pricingStore` | أسعار العناصر تُزامَن مع قاعدة البيانات |
### تدفق الأزياء المرفوعة
1. الأدمن يرفع `.glb` من لوحة التحكم