# گزارش جای خالی کارت‌های داشبورد ## خلاصه در داشبورد فعلی بعضی اسلات‌ها `Quick Access` دارند اما خود کارت رندر نمی‌شود. علت اصلی این است که wrapper اسلات را می‌سازد، ولی بعضی کامپوننت‌ها وقتی داده‌ی کافی ندارند `return null` می‌کنند. ## کارت‌های خالی فعلی ### 1) `sensorValuesList` - **ردیف:** `sensorMonitoring` - **جای کارت:** ستون چپ ردیف سنسور - **Route:** `/solid-sensor` - **وضعیت:** فقط دکمه `دسترسی سریع` دیده می‌شود، خود کارت خالی است - **علت فنی:** اگر `data.sensors.length === 0` باشد، کامپوننت رندر نمی‌شود - **مرجع:** `src/views/dashboards/farm/SensorValuesList.tsx:30` ### 2) `sensorRadarChart` - **ردیف:** `sensorMonitoring` - **جای کارت:** ستون راست ردیف سنسور - **Route:** `/solid-sensor` - **وضعیت:** فقط دکمه `دسترسی سریع` دیده می‌شود، خود کارت خالی است - **علت فنی:** اگر `data.series.length === 0` باشد، کامپوننت رندر نمی‌شود - **مرجع:** `src/views/dashboards/farm/SensorRadarChart.tsx:30` ### 3) `sensorComparisonChart` - **ردیف:** `sensorCharts` - **جای کارت:** ستون بزرگ سمت چپ - **Route:** `/solid-sensor` - **وضعیت:** فقط دکمه `دسترسی سریع` دیده می‌شود، خود کارت خالی است - **علت فنی:** اگر `data.series.length === 0` باشد، کامپوننت رندر نمی‌شود - **مرجع:** `src/views/dashboards/farm/SensorComparisonChart.tsx:33` ## کارت‌هایی که ممکن است در شرایط خاص خالی شوند این‌ها در HTML ارسالی شما فعلاً دیده می‌شوند، ولی در صورت خالی بودن داده می‌توانند ناپدید شوند: ### `waterNeedPrediction` - **شرط خالی شدن:** `series.length === 0` - **مرجع:** `src/views/dashboards/farm/WaterNeedPrediction.tsx:37` ### `soilMoistureHeatmap` - **شرط خالی شدن:** `series.length === 0` - **مرجع:** `src/views/dashboards/farm/SoilMoistureHeatmap.tsx:37` ### `yieldPredictionChart` - **شرط خالی شدن:** `series.length === 0` - **مرجع:** `src/views/dashboards/farm/YieldPredictionChart.tsx:57` ### `recommendationsList` - **شرط خالی شدن:** `recommendations.length === 0` - **مرجع:** `src/views/dashboards/farm/RecommendationsList.tsx:32` ## دلیل اینکه فقط آیکن دیده می‌شود Wrapper همیشه این دکمه را رندر می‌کند: - `src/views/dashboards/farm/FarmDashboardWrapper.tsx:921` اما خود کارت از اینجا `null` برمی‌گرداند: - `src/views/dashboards/farm/FarmDashboardWrapper.tsx:478` یعنی: - اسلات گرید وجود دارد - دکمه quick access وجود دارد - ولی محتوای کارت به خاطر داده‌ی خالی رندر نمی‌شود ## نتیجه نهایی بر اساس HTML فعلی، **سه جای خالی قطعی** در داشبورد وجود دارد: 1. `sensorValuesList` 2. `sensorRadarChart` 3. `sensorComparisonChart` ## پیشنهاد اصلاح بهترین اصلاح این است که به‌جای `return null`: - یک empty state واقعی داخل کارت نمایش داده شود - یا در `FarmDashboardWrapper` وقتی داده‌ی کارت خالی است، اصلاً `Quick Access` هم رندر نشود اگر خواستی، قدم بعدی را هم انجام می‌دهم و همین سه کارت خالی را با `empty state card` درست می‌کنم.