Update mock data with Persian translations and change drag reorder setting to false

This commit is contained in:
2026-02-19 17:43:22 +03:30
parent c7c357668b
commit 608252714b
+103 -103
View File
@@ -20,7 +20,7 @@ CONFIG = {
"ndviRecommendations", "ndviRecommendations",
"economic", "economic",
], ],
"enable_drag_reorder": True, "enable_drag_reorder": False,
} }
# 4.1 farmOverviewKpis # 4.1 farmOverviewKpis
@@ -28,29 +28,29 @@ FARM_OVERVIEW_KPIS = {
"kpis": [ "kpis": [
{ {
"id": "farm_health_score", "id": "farm_health_score",
"title": "Farm Health Score", "title": "امتیاز سلامت مزرعه",
"subtitle": "AI Analysis", "subtitle": "تحلیل هوشمند",
"stats": "87%", "stats": "87%",
"avatarColor": "success", "avatarColor": "success",
"avatarIcon": "tabler-heartbeat", "avatarIcon": "tabler-heartbeat",
"chipText": "Good", "chipText": "خوب",
"chipColor": "success", "chipColor": "success",
}, },
{ {
"id": "water_stress_index", "id": "water_stress_index",
"title": "Water Stress Index", "title": "شاخص تنش آبی",
"subtitle": "Current", "subtitle": "فعلی",
"stats": "12%", "stats": "12%",
"avatarColor": "info", "avatarColor": "info",
"avatarIcon": "tabler-droplet", "avatarIcon": "tabler-droplet",
"chipText": "Low", "chipText": "پایین",
"chipColor": "success", "chipColor": "success",
}, },
{ {
"id": "disease_risk", "id": "disease_risk",
"title": "Disease Risk", "title": "ریسک بیماری",
"subtitle": "Last 7 Days", "subtitle": "۷ روز اخیر",
"stats": "Low", "stats": "پایین",
"avatarColor": "success", "avatarColor": "success",
"avatarIcon": "tabler-bug", "avatarIcon": "tabler-bug",
"chipText": "5%", "chipText": "5%",
@@ -58,19 +58,19 @@ FARM_OVERVIEW_KPIS = {
}, },
{ {
"id": "avg_soil_moisture", "id": "avg_soil_moisture",
"title": "Avg Soil Moisture", "title": "میانگین رطوبت خاک",
"subtitle": "Field-wide", "subtitle": "کل مزرعه",
"stats": "65%", "stats": "65%",
"avatarColor": "primary", "avatarColor": "primary",
"avatarIcon": "tabler-plant-2", "avatarIcon": "tabler-plant-2",
"chipText": "Optimal", "chipText": "بهینه",
"chipColor": "success", "chipColor": "success",
}, },
{ {
"id": "yield_prediction", "id": "yield_prediction",
"title": "Yield Prediction", "title": "پیش‌بینی عملکرد",
"subtitle": "This Season", "subtitle": "این فصل",
"stats": "42 ton", "stats": "42 تن",
"avatarColor": "secondary", "avatarColor": "secondary",
"avatarIcon": "tabler-chart-bar", "avatarIcon": "tabler-chart-bar",
"chipText": "+8%", "chipText": "+8%",
@@ -78,12 +78,12 @@ FARM_OVERVIEW_KPIS = {
}, },
{ {
"id": "pest_risk", "id": "pest_risk",
"title": "Pest Risk", "title": "ریسک آفات",
"subtitle": "AI Forecast", "subtitle": "پیش‌بینی هوشمند",
"stats": "15%", "stats": "15%",
"avatarColor": "warning", "avatarColor": "warning",
"avatarIcon": "tabler-bug-off", "avatarIcon": "tabler-bug-off",
"chipText": "Monitor", "chipText": "تحت نظر",
"chipColor": "warning", "chipColor": "warning",
}, },
] ]
@@ -91,14 +91,14 @@ FARM_OVERVIEW_KPIS = {
# 4.2 farmWeatherCard # 4.2 farmWeatherCard
FARM_WEATHER_CARD = { FARM_WEATHER_CARD = {
"condition": "Clear", "condition": "صاف",
"temperature": 24, "temperature": 24,
"unit": "°C", "unit": "°C",
"humidity": 45, "humidity": 45,
"windSpeed": 12, "windSpeed": 12,
"windUnit": "km/h", "windUnit": "km/h",
"chartData": { "chartData": {
"labels": ["6am", "9am", "12pm", "3pm", "6pm", "9pm", "12am"], "labels": ["۶ صبح", "۹ صبح", "۱۲ ظهر", "۳ بعدازظهر", "۶ عصر", "۹ شب", "۱۲ شب"],
"series": [[18, 22, 26, 28, 25, 20, 18]], "series": [[18, 22, 26, 28, 25, 20, 18]],
}, },
} }
@@ -109,19 +109,19 @@ FARM_ALERTS_TRACKER = {
"radialBarValue": 30, "radialBarValue": 30,
"alertStats": [ "alertStats": [
{ {
"title": "Water Shortage", "title": "کمبود آب",
"count": "2", "count": "2",
"avatarColor": "error", "avatarColor": "error",
"avatarIcon": "tabler-droplet-half-2", "avatarIcon": "tabler-droplet-half-2",
}, },
{ {
"title": "Fungal Risk", "title": "ریسک قارچی",
"count": "1", "count": "1",
"avatarColor": "warning", "avatarColor": "warning",
"avatarIcon": "tabler-mushroom", "avatarIcon": "tabler-mushroom",
}, },
{ {
"title": "Frost Alert", "title": "هشدار یخبندان",
"count": "0", "count": "0",
"avatarColor": "info", "avatarColor": "info",
"avatarIcon": "tabler-snowflake", "avatarIcon": "tabler-snowflake",
@@ -134,56 +134,56 @@ SENSOR_VALUES_LIST = {
"sensors": [ "sensors": [
{ {
"title": "28°C", "title": "28°C",
"subtitle": "Air Temperature", "subtitle": "دمای هوا",
"trendNumber": 2.1, "trendNumber": 2.1,
"trend": "positive", "trend": "positive",
"unit": "°C", "unit": "°C",
}, },
{ {
"title": "24°C", "title": "24°C",
"subtitle": "Soil Temperature", "subtitle": "دمای خاک",
"trendNumber": -0.5, "trendNumber": -0.5,
"trend": "negative", "trend": "negative",
"unit": "°C", "unit": "°C",
}, },
{ {
"title": "65%", "title": "65%",
"subtitle": "Air Humidity", "subtitle": "رطوبت هوا",
"trendNumber": 3.2, "trendNumber": 3.2,
"trend": "positive", "trend": "positive",
"unit": "%", "unit": "%",
}, },
{ {
"title": "42%", "title": "42%",
"subtitle": "Soil Moisture (10cm)", "subtitle": "رطوبت خاک (۱۰ سانتی‌متر)",
"trendNumber": -1.8, "trendNumber": -1.8,
"trend": "negative", "trend": "negative",
"unit": "%", "unit": "%",
}, },
{ {
"title": "6.8", "title": "6.8",
"subtitle": "Soil pH", "subtitle": "pH خاک",
"trendNumber": 0.2, "trendNumber": 0.2,
"trend": "positive", "trend": "positive",
"unit": "pH", "unit": "pH",
}, },
{ {
"title": "1.2", "title": "1.2",
"subtitle": "EC (dS/m)", "subtitle": "هدایت الکتریکی (dS/m)",
"trendNumber": 0.1, "trendNumber": 0.1,
"trend": "positive", "trend": "positive",
"unit": "dS/m", "unit": "dS/m",
}, },
{ {
"title": "850", "title": "850",
"subtitle": "Light Intensity (lux)", "subtitle": "شدت نور (لوکس)",
"trendNumber": 15.3, "trendNumber": 15.3,
"trend": "positive", "trend": "positive",
"unit": "lux", "unit": "lux",
}, },
{ {
"title": "12", "title": "12",
"subtitle": "Wind Speed (km/h)", "subtitle": "سرعت باد (کیلومتر/ساعت)",
"trendNumber": -2.4, "trendNumber": -2.4,
"trend": "negative", "trend": "negative",
"unit": "km/h", "unit": "km/h",
@@ -193,10 +193,10 @@ SENSOR_VALUES_LIST = {
# 4.5 sensorRadarChart # 4.5 sensorRadarChart
SENSOR_RADAR_CHART = { SENSOR_RADAR_CHART = {
"labels": ["Temp", "Humidity", "pH", "EC", "Light", "Wind"], "labels": ["دما", "رطوبت", "pH", "هدایت الکتریکی", "نور", "باد"],
"series": [ "series": [
{"name": "Today", "data": [75, 65, 80, 70, 85, 60]}, {"name": "امروز", "data": [75, 65, 80, 70, 85, 60]},
{"name": "Ideal", "data": [80, 70, 75, 75, 90, 50]}, {"name": "ایده‌آل", "data": [80, 70, 75, 75, 90, 50]},
], ],
} }
@@ -205,10 +205,10 @@ SENSOR_COMPARISON_CHART = {
"currentValue": 48, "currentValue": 48,
"vsLastWeek": "+5%", "vsLastWeek": "+5%",
"vsLastWeekValue": 5, "vsLastWeekValue": 5,
"categories": ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], "categories": ["دوشنبه", "سه‌شنبه", "چهارشنبه", "پنج‌شنبه", "جمعه", "شنبه", "یکشنبه"],
"series": [ "series": [
{"name": "Today", "data": [42, 45, 48, 52, 50, 48, 46]}, {"name": "امروز", "data": [42, 45, 48, 52, 50, 48, 46]},
{"name": "Last Week", "data": [38, 40, 42, 45, 43, 40, 38]}, {"name": "هفته قبل", "data": [38, 40, 42, 45, 43, 40, 38]},
], ],
} }
@@ -216,14 +216,14 @@ SENSOR_COMPARISON_CHART = {
ANOMALY_DETECTION_CARD = { ANOMALY_DETECTION_CARD = {
"anomalies": [ "anomalies": [
{ {
"sensor": "Soil Moisture Z3", "sensor": "رطوبت خاک زون ۳",
"value": "38%", "value": "38%",
"expected": "45-65%", "expected": "45-65%",
"deviation": "-12%", "deviation": "-12%",
"severity": "warning", "severity": "warning",
}, },
{ {
"sensor": "pH Sector 2", "sensor": "pH بخش ۲",
"value": "5.2", "value": "5.2",
"expected": "6.0-7.0", "expected": "6.0-7.0",
"deviation": "-0.8", "deviation": "-0.8",
@@ -236,27 +236,27 @@ ANOMALY_DETECTION_CARD = {
FARM_ALERTS_TIMELINE = { FARM_ALERTS_TIMELINE = {
"alerts": [ "alerts": [
{ {
"title": "Water Shortage Risk", "title": "ریسک کمبود آب",
"description": "Soil moisture at 10cm depth (42%) is below optimal. AI predicts stress in 2-3 days if no irrigation. Recommended: irrigate within 24h.", "description": "رطوبت خاک در عمق ۱۰ سانتی‌متر (۴۲٪) کمتر از حد بهینه است. پیش‌بینی: در صورت عدم آبیاری، تنش طی ۲ تا ۳ روز. توصیه: آبیاری ظرف ۲۴ ساعت.",
"time": "15 min ago", "time": "۱۵ دقیقه پیش",
"color": "warning", "color": "warning",
}, },
{ {
"title": "Fungal Disease Risk", "title": "ریسک بیماری قارچی",
"description": "High humidity (65%) + temp 24°C creates favorable conditions for fungal growth. Consider preventive fungicide or reduce irrigation.", "description": "رطوبت بالا (۶۵٪) و دمای ۲۴ درجه شرایط مساعد برای رشد قارچ. استفاده از قارچ‌کش پیشگیرانه یا کاهش آبیاری را در نظر بگیرید.",
"time": "1 hour ago", "time": "۱ ساعت پیش",
"color": "error", "color": "error",
}, },
{ {
"title": "Irrigation Suggestion", "title": "پیشنهاد آبیاری",
"description": "Optimal watering window: 6:00-8:00 AM. Suggested amount: 450 m³ for Zone A. Expected efficiency gain: 12%.", "description": "بازه بهینه آبیاری: ۶:۰۰ تا ۸:۰۰ صبح. حجم پیشنهادی: ۴۵۰ مترمکعب برای زون آ. بهبود راندمان مورد انتظار: ۱۲٪.",
"time": "2 hours ago", "time": "۲ ساعت پیش",
"color": "info", "color": "info",
}, },
{ {
"title": "Soil Salinity Check", "title": "بررسی شوری خاک",
"description": "EC reading 1.2 dS/m is within range. No action needed. Next check recommended in 5 days.", "description": "مقدار هدایت الکتریکی ۱/۲ dS/m در محدوده مجاز است. نیازی به اقدام نیست. بررسی بعدی توصیه می‌شود ظرف ۵ روز.",
"time": "4 hours ago", "time": "۴ ساعت پیش",
"color": "success", "color": "success",
}, },
] ]
@@ -266,38 +266,38 @@ FARM_ALERTS_TIMELINE = {
WATER_NEED_PREDICTION = { WATER_NEED_PREDICTION = {
"totalNext7Days": 3290, "totalNext7Days": 3290,
"unit": "", "unit": "",
"categories": ["Day 1", "Day 2", "Day 3", "Day 4", "Day 5", "Day 6", "Day 7"], "categories": ["روز ۱", "روز ۲", "روز ۳", "روز ۴", "روز ۵", "روز ۶", "روز ۷"],
"series": [{"name": "Water Need", "data": [420, 450, 480, 460, 490, 510, 480]}], "series": [{"name": "نیاز آبی", "data": [420, 450, 480, 460, 490, 510, 480]}],
} }
# 4.10 harvestPredictionCard # 4.10 harvestPredictionCard
HARVEST_PREDICTION_CARD = { HARVEST_PREDICTION_CARD = {
"date": "2025-10-15", "date": "2025-10-15",
"dateFormatted": "Oct 15, 2025", "dateFormatted": "۱۵ اکتبر ۲۰۲۵",
"daysUntil": 58, "daysUntil": 58,
"description": "Based on current GDD accumulation and weather forecast. Optimal harvest window: Oct 12-18.", "description": "بر اساس تجمع GDD فعلی و پیش‌بینی آب و هوا. بازه بهینه برداشت: ۱۲ تا ۱۸ اکتبر.",
"optimalWindowStart": "2025-10-12", "optimalWindowStart": "2025-10-12",
"optimalWindowEnd": "2025-10-18", "optimalWindowEnd": "2025-10-18",
} }
# 4.11 yieldPredictionChart # 4.11 yieldPredictionChart
YIELD_PREDICTION_CHART = { YIELD_PREDICTION_CHART = {
"categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], "categories": ["ژانویه", "فوریه", "مارس", "آوریل", "می", "ژوئن", "ژوئیه", "آگوست", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"],
"series": [ "series": [
{"name": "This Year", "data": [35, 38, 40, 42, 45, 48, 50, 48, 46, 44, 42, 42]}, {"name": "امسال", "data": [35, 38, 40, 42, 45, 48, 50, 48, 46, 44, 42, 42]},
{"name": "Last Year", "data": [32, 34, 36, 38, 40, 42, 44, 42, 40, 38, 36, 38]}, {"name": "سال گذشته", "data": [32, 34, 36, 38, 40, 42, 44, 42, 40, 38, 36, 38]},
], ],
"summary": [ "summary": [
{ {
"title": "Predicted Yield", "title": "عملکرد پیش‌بینی‌شده",
"subtitle": "This Season", "subtitle": "این فصل",
"amount": "42 ton", "amount": "42 تن",
"avatarColor": "primary", "avatarColor": "primary",
"avatarIcon": "tabler-chart-bar", "avatarIcon": "tabler-chart-bar",
}, },
{ {
"title": "Harvest Date", "title": "تاریخ برداشت",
"subtitle": "Est. Oct 15", "subtitle": "حدود ۱۵ اکتبر",
"amount": "+8%", "amount": "+8%",
"avatarColor": "success", "avatarColor": "success",
"avatarIcon": "tabler-calendar", "avatarIcon": "tabler-calendar",
@@ -307,31 +307,31 @@ YIELD_PREDICTION_CHART = {
# 4.12 soilMoistureHeatmap # 4.12 soilMoistureHeatmap
SOIL_MOISTURE_HEATMAP = { SOIL_MOISTURE_HEATMAP = {
"zones": ["Z1", "Z2", "Z3", "Z4", "Z5", "Z6", "Z7"], "zones": ["زون ۱", "زون ۲", "زون ۳", "زون ۴", "زون ۵", "زون ۶", "زون ۷"],
"hours": ["6h", "8h", "10h", "12h", "14h", "16h", "18h"], "hours": ["۶ ص", "۸ ص", "۱۰ ص", "۱۲ ظ", "۱۴ ع", "۱۶ ع", "۱۸ ع"],
"series": [ "series": [
{ {
"name": "Z1", "name": "زون ۱",
"data": [ "data": [
{"x": "6h", "y": 52}, {"x": "۶ ص", "y": 52},
{"x": "8h", "y": 48}, {"x": "۸ ص", "y": 48},
{"x": "10h", "y": 55}, {"x": "۱۰ ص", "y": 55},
{"x": "12h", "y": 60}, {"x": "۱۲ ظ", "y": 60},
{"x": "14h", "y": 58}, {"x": "۱۴ ع", "y": 58},
{"x": "16h", "y": 54}, {"x": "۱۶ ع", "y": 54},
{"x": "18h", "y": 50}, {"x": "۱۸ ع", "y": 50},
], ],
}, },
{ {
"name": "Z2", "name": "زون ۲",
"data": [ "data": [
{"x": "6h", "y": 45}, {"x": "۶ ص", "y": 45},
{"x": "8h", "y": 42}, {"x": "۸ ص", "y": 42},
{"x": "10h", "y": 48}, {"x": "۱۰ ص", "y": 48},
{"x": "12h", "y": 52}, {"x": "۱۲ ظ", "y": 52},
{"x": "14h", "y": 50}, {"x": "۱۴ ع", "y": 50},
{"x": "16h", "y": 47}, {"x": "۱۶ ع", "y": 47},
{"x": "18h", "y": 44}, {"x": "۱۸ ع", "y": 44},
], ],
}, },
], ],
@@ -341,8 +341,8 @@ SOIL_MOISTURE_HEATMAP = {
NDVI_HEALTH_CARD = { NDVI_HEALTH_CARD = {
"ndviIndex": 0.78, "ndviIndex": 0.78,
"healthData": [ "healthData": [
{"title": "Nitrogen Stress", "value": "Low", "color": "success", "icon": "tabler-leaf"}, {"title": "تنش نیتروژن", "value": "پایین", "color": "success", "icon": "tabler-leaf"},
{"title": "Crop Health", "value": "Good", "color": "success", "icon": "tabler-plant"}, {"title": "سلامت محصول", "value": "خوب", "color": "success", "icon": "tabler-plant"},
], ],
} }
@@ -350,26 +350,26 @@ NDVI_HEALTH_CARD = {
RECOMMENDATIONS_LIST = { RECOMMENDATIONS_LIST = {
"recommendations": [ "recommendations": [
{ {
"title": "Irrigation: 6:00-8:00 AM", "title": "آبیاری: ۶:۰۰ تا ۸:۰۰ صبح",
"subtitle": "450 m³ for Zone A. Without irrigation, yield may drop ~8%.", "subtitle": "۴۵۰ مترمکعب برای زون آ. بدون آبیاری، عملکرد ممکن است حدود ۸٪ کاهش یابد.",
"avatarIcon": "tabler-droplet", "avatarIcon": "tabler-droplet",
"avatarColor": "primary", "avatarColor": "primary",
}, },
{ {
"title": "Fertilizer: NPK 20-20-20", "title": "کود: NPK 20-20-20",
"subtitle": "Apply 25 kg/ha in 7 days. Current N deficiency in sector 2.", "subtitle": "اعمال ۲۵ کیلوگرم در هکتار ظرف ۷ روز. کمبود نیتروژن فعلی در بخش ۲.",
"avatarIcon": "tabler-leaf", "avatarIcon": "tabler-leaf",
"avatarColor": "success", "avatarColor": "success",
}, },
{ {
"title": "Fungicide: Preventive", "title": "قارچ‌کش: پیشگیرانه",
"subtitle": "Humidity + temp favor fungi. Consider copper-based spray.", "subtitle": "رطوبت و دما مساعد قارچ. سمپاشی بر پایه مس را در نظر بگیرید.",
"avatarIcon": "tabler-mushroom", "avatarIcon": "tabler-mushroom",
"avatarColor": "warning", "avatarColor": "warning",
}, },
{ {
"title": "Harvest Window: Oct 12-18", "title": "بازه برداشت: ۱۲ تا ۱۸ اکتبر",
"subtitle": "Peak ripeness expected Oct 15. Plan labor accordingly.", "subtitle": "اوج رسیدگی حدود ۱۵ اکتبر. نیروی کار را متناسب برنامه‌ریزی کنید.",
"avatarIcon": "tabler-calendar-event", "avatarIcon": "tabler-calendar-event",
"avatarColor": "info", "avatarColor": "info",
}, },
@@ -380,39 +380,39 @@ RECOMMENDATIONS_LIST = {
ECONOMIC_OVERVIEW = { ECONOMIC_OVERVIEW = {
"economicData": [ "economicData": [
{ {
"title": "Water Cost", "title": "هزینه آب",
"value": "€720", "value": "€720",
"subtitle": "This month", "subtitle": "این ماه",
"avatarIcon": "tabler-droplet", "avatarIcon": "tabler-droplet",
"avatarColor": "primary", "avatarColor": "primary",
}, },
{ {
"title": "AI Water Savings", "title": "صرفه‌جویی آب هوشمند",
"value": "€156", "value": "€156",
"subtitle": "18% saved", "subtitle": "۱۸٪ صرفه‌جویی شده",
"avatarIcon": "tabler-bulb", "avatarIcon": "tabler-bulb",
"avatarColor": "success", "avatarColor": "success",
}, },
{ {
"title": "Platform ROI", "title": "بازده سرمایه پلتفرم",
"value": "127%", "value": "127%",
"subtitle": "vs last year", "subtitle": "نسبت به سال گذشته",
"avatarIcon": "tabler-chart-line", "avatarIcon": "tabler-chart-line",
"avatarColor": "info", "avatarColor": "info",
}, },
{ {
"title": "Income Forecast", "title": "پیش‌بینی درآمد",
"value": "€42k", "value": "€42k",
"subtitle": "This season", "subtitle": "این فصل",
"avatarIcon": "tabler-currency-euro", "avatarIcon": "tabler-currency-euro",
"avatarColor": "success", "avatarColor": "success",
}, },
], ],
"chartSeries": [ "chartSeries": [
{"name": "Water Cost", "data": [120, 115, 110, 125, 118, 122]}, {"name": "هزینه آب", "data": [120, 115, 110, 125, 118, 122]},
{"name": "Fertilizer", "data": [80, 85, 90, 75, 82, 78]}, {"name": "کود", "data": [80, 85, 90, 75, 82, 78]},
], ],
"chartCategories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun"], "chartCategories": ["ژانویه", "فوریه", "مارس", "آوریل", "می", "ژوئن"],
} }
# Unified response for GET /api/farm-dashboard (section 5) # Unified response for GET /api/farm-dashboard (section 5)