From 67d6f71d7af8c5f82c2f0a5d04e10b844f2c3ea9 Mon Sep 17 00:00:00 2001
From: parsa aghaei
Date: Wed, 15 Jul 2026 11:51:10 +0330
Subject: [PATCH] fix: resolve product images falling back to logo by mapping
real URLs in database seed, correct 2x price discrepancy to match PDF catalog
exactly, and set local cover for third video
---
backend/prisma/seed-products-data.json | 282 +++++++++++++++---
backend/prisma/seed-products.ts | 40 ++-
.../application/components/VetGallery.tsx | 2 +-
.../application/components/VideosPage.tsx | 2 +-
frontend/application/lib/data/products.ts | 16 +-
.../lib/services/productService.ts | 10 +-
6 files changed, 302 insertions(+), 50 deletions(-)
diff --git a/backend/prisma/seed-products-data.json b/backend/prisma/seed-products-data.json
index ae0da90..a0e3af1 100644
--- a/backend/prisma/seed-products-data.json
+++ b/backend/prisma/seed-products-data.json
@@ -6,7 +6,13 @@
"ingredients": "تفاله سیب، پودر یونجه سبز، فیبر نخود فرنگی، تفاله هویج، کیک بذر کتان، کمپلکس الیگوساکارید و بتاگلوکان، مخمر آبجو، کنگر فرنگی، خاک دیاتومه، روغن کلزا، کربنات کلسیم. مواد تشکیل دهنده: پروتئین خام 11.9%، چربی خام 6.3%، فیبر خام 27.3%.",
"usage_and_dosage": "مناسب برای توله سگ ها، بچه گربه ها و حیوانات مسن، باردار و شیرده. پودر را با کمی آب گرم مخلوط کنید. مقدار مصرف: 1 گرم به ازای هر کیلوگرم وزن بدن، حداکثر 15 گرم در روز.",
"variants": [
- { "size": "100g", "art_no": "144006", "barcode": "4027565144006", "buy_price": 1550000, "sell_price": 3100000 }
+ {
+ "size": "100g",
+ "art_no": "144006",
+ "barcode": "4027565144006",
+ "buy_price": 775000,
+ "sell_price": 1550000
+ }
]
},
{
@@ -16,7 +22,13 @@
"ingredients": "30% تری کلسیم فسفات، هیدروکسی آپاتیت، مخمر آبجو، 10% پودر صدف سبز، جلبک دریایی. ویتامین سی، ویتامین ایی، سلنیوم و متیونین.",
"usage_and_dosage": "سگ های جوان از 8 هفتگی: برای پیشگیری 2 قرص و برای اندام های بدشکل 4 قرص به ازای هر 10 کیلوگرم تا 15 ماهگی. سگ های مسن و عملکردی: 4 قرص به ازای هر 10 کیلوگرم. پس از شکستگی: 4 قرص برای دوره نقاهت.",
"variants": [
- { "size": "100g (60 Tablets)", "art_no": "123490", "barcode": "4027565123490", "buy_price": 4240000, "sell_price": 8480000 }
+ {
+ "size": "100g (60 Tablets)",
+ "art_no": "123490",
+ "barcode": "4027565123490",
+ "buy_price": 2120000,
+ "sell_price": 4240000
+ }
]
},
{
@@ -26,7 +38,13 @@
"ingredients": "100% پوسته تخم مرغ آسیاب شده. خاکستر خام 96%، کلسیم 36%، فسفر 0.1%.",
"usage_and_dosage": "0.2 گرم به ازای هر کیلوگرم وزن بدن، حداکثر 16 گرم برای هر حیوان در روز.",
"variants": [
- { "size": "250g", "art_no": "120208", "barcode": "4027565120208", "buy_price": 1460000, "sell_price": 2920000 }
+ {
+ "size": "250g",
+ "art_no": "120208",
+ "barcode": "4027565120208",
+ "buy_price": 730000,
+ "sell_price": 1460000
+ }
]
},
{
@@ -36,7 +54,13 @@
"ingredients": "90% کلاژن، 10% پودر گوشت صدف لب سبز. پروتئین خام 94.2%.",
"usage_and_dosage": "تغذیه روزانه برای توله سگ ها تا مسن. 2 گرم به ازای هر 10 کیلوگرم وزن بدن، حداکثر 15 گرم در روز.",
"variants": [
- { "size": "150g", "art_no": "710003", "barcode": "4027565710003", "buy_price": 3230000, "sell_price": 6460000 }
+ {
+ "size": "150g",
+ "art_no": "710003",
+ "barcode": "4027565710003",
+ "buy_price": 1615000,
+ "sell_price": 3230000
+ }
]
},
{
@@ -46,7 +70,13 @@
"ingredients": "دکستروز، مخمر غیر فعال، زالزالک. حاوی ال کارنیتین.",
"usage_and_dosage": "نصف قاشق چایخوری به ازای هر 10 کیلوگرم وزن بدن، حداکثر 3 قاشق چایخوری. به مدت 6 ماه همراه غذا تجویز شود.",
"variants": [
- { "size": "100ml", "art_no": "112036", "barcode": "4027565112036", "buy_price": 4285000, "sell_price": 8570000 }
+ {
+ "size": "100ml",
+ "art_no": "112036",
+ "barcode": "4027565112036",
+ "buy_price": 2142500,
+ "sell_price": 4285000
+ }
]
},
{
@@ -56,7 +86,13 @@
"ingredients": "روغن های گیاهی، 20% پودر آغوز، شکر انگور. ویتامین آ، د3، ایی و تثبیت کننده فلور روده.",
"usage_and_dosage": "توله ها 0.25 میلی لیتر، سگ های متوسط 0.5-1 میلی لیتر، سگ های بزرگ 1-4 میلی لیتر در روز تا زمان بهبودی کامل.",
"variants": [
- { "size": "15ml", "art_no": "700707", "barcode": "4027565700707", "buy_price": 2990000, "sell_price": 5980000 }
+ {
+ "size": "15ml",
+ "art_no": "700707",
+ "barcode": "4027565700707",
+ "buy_price": 1495000,
+ "sell_price": 2990000
+ }
]
},
{
@@ -66,7 +102,13 @@
"ingredients": "لاکتوز، پودر آب پنیر، چربی نارگیل، روغن ماهی، پروتئین 30%. غنی از ویتامین ها و 100 میلی گرم تورین.",
"usage_and_dosage": "1 قسمت شیر با 3 قسمت آب ولرم مخلوط شود. به بچه گربه های 1 تا 14 روزه هر 2 ساعت تغذیه شود.",
"variants": [
- { "size": "150g", "art_no": "230808", "barcode": "4027565230808", "buy_price": 2315000, "sell_price": 4630000 }
+ {
+ "size": "150g",
+ "art_no": "230808",
+ "barcode": "4027565230808",
+ "buy_price": 1157500,
+ "sell_price": 2315000
+ }
]
},
{
@@ -76,7 +118,13 @@
"ingredients": "100% روغن ماهی سالمون. اسیدهای چرب چند غیراشباع 56%، امگا 3 (14%) و امگا 6 (11%).",
"usage_and_dosage": "2 میلی لیتر به ازای هر 10 کیلوگرم وزن بدن، حداکثر 10 میلی لیتر در روز مخلوط با خوراک.",
"variants": [
- { "size": "250ml", "art_no": "151004", "barcode": "4027565150007", "buy_price": 2240000, "sell_price": 4480000 }
+ {
+ "size": "250ml",
+ "art_no": "151004",
+ "barcode": "4027565150007",
+ "buy_price": 1120000,
+ "sell_price": 2240000
+ }
]
},
{
@@ -86,7 +134,13 @@
"ingredients": "روغن ماهی، روغن گردو، روغن آرگان، روغن دانه گل رز. چربی خام 100%.",
"usage_and_dosage": "قابل افزودن به تمام وعده های غذایی برای بهینه سازی ویتامین ها و اسیدهای چرب امگا.",
"variants": [
- { "size": "250ml", "art_no": "153008", "barcode": "4027565153008", "buy_price": 4270000, "sell_price": 8540000 }
+ {
+ "size": "250ml",
+ "art_no": "153008",
+ "barcode": "4027565153008",
+ "buy_price": 2135000,
+ "sell_price": 4270000
+ }
]
},
{
@@ -96,7 +150,13 @@
"ingredients": "100% پیت، پیت مایع (بدون افزودنی و نگهدارنده).",
"usage_and_dosage": "قبل از استفاده تکان دهید. سگ های کوچک 2.5 تا 5 میلی لیتر، سگ های متوسط 10 میلی لیتر، سگ های بزرگتر 15 تا 20 میلی لیتر. از 20 میلی لیتر تجاوز نکند.",
"variants": [
- { "size": "250ml", "art_no": "112708", "barcode": "4027565112708", "buy_price": 3310000, "sell_price": 6620000 }
+ {
+ "size": "250ml",
+ "art_no": "112708",
+ "barcode": "4027565112708",
+ "buy_price": 1655000,
+ "sell_price": 3310000
+ }
]
},
{
@@ -106,7 +166,13 @@
"ingredients": "گیاهان خشک (بید و زنجبیل)، ویتامین ایی، ویتامین ب1، آهن، مس، روی.",
"usage_and_dosage": "توله سگ ها: 2 قرص به ازای 10 کیلوگرم برای 1 ماه. سگ های بالغ: 5 قرص به ازای 10 کیلوگرم برای 3 ماه (سالی یکبار تکرار شود).",
"variants": [
- { "size": "60g (60 Tablets)", "art_no": "723003", "barcode": "4027565723003", "buy_price": 3240000, "sell_price": 6480000 }
+ {
+ "size": "60g (60 Tablets)",
+ "art_no": "723003",
+ "barcode": "4027565723003",
+ "buy_price": 1620000,
+ "sell_price": 3240000
+ }
]
},
{
@@ -116,7 +182,13 @@
"ingredients": "سرم خون گاو، اتانول 164.4 گرم (به عنوان طعم دهنده).",
"usage_and_dosage": "1 قطره به ازای هر کیلوگرم وزن بدن، حداکثر 20 قطره در روز. قطره ها به مدت 4 هفته داده شوند، سپس 2 هفته استراحت.",
"variants": [
- { "size": "20ml", "art_no": "712007", "barcode": "4027565712007", "buy_price": 3395000, "sell_price": 6790000 }
+ {
+ "size": "20ml",
+ "art_no": "712007",
+ "barcode": "4027565712007",
+ "buy_price": 1697500,
+ "sell_price": 3395000
+ }
]
},
{
@@ -126,7 +198,13 @@
"ingredients": "دکستروز، آب پنیر، نشاسته، سلولز. بیوتین 1000000 میکروگرم، ویتامین ب2، اسید نیکوتینیک.",
"usage_and_dosage": "یک قرص به ازای هر 10 کیلوگرم وزن بدن، حداکثر 5 قرص در روز.",
"variants": [
- { "size": "100g (50 Tablets)", "art_no": "702008", "barcode": "4027565702008", "buy_price": 3210000, "sell_price": 6420000 }
+ {
+ "size": "100g (50 Tablets)",
+ "art_no": "702008",
+ "barcode": "4027565702008",
+ "buy_price": 1605000,
+ "sell_price": 3210000
+ }
]
},
{
@@ -136,7 +214,13 @@
"ingredients": "روغن ها، چربی ها، ویتامین ایی، ویتامین ب1، ب2، ب6، ب12.",
"usage_and_dosage": "1 قاشق چایخوری (3 میلی لیتر) به ازای 10 کیلوگرم وزن بدن، حداکثر 4 قاشق چایخوری در روز.",
"variants": [
- { "size": "100ml", "art_no": "712106", "barcode": "4027565712106", "buy_price": 2500000, "sell_price": 5000000 }
+ {
+ "size": "100ml",
+ "art_no": "712106",
+ "barcode": "4027565712106",
+ "buy_price": 1250000,
+ "sell_price": 2500000
+ }
]
},
{
@@ -146,7 +230,13 @@
"ingredients": "کربنات کلسیم، مخمر آبجو، ویتامین د3 100000 (برای ذخیره کلسیم در استخوان).",
"usage_and_dosage": "سگ های بالغ: 2 قرص به ازای 10 کیلوگرم. باردار و شیرده: 3 قرص به ازای 10 کیلوگرم. مصرف ویتامین D2 همزمان مجاز نیست.",
"variants": [
- { "size": "100g (50 Tablets)", "art_no": "723102", "barcode": "4027565723102", "buy_price": 2685000, "sell_price": 5370000 }
+ {
+ "size": "100g (50 Tablets)",
+ "art_no": "723102",
+ "barcode": "4027565723102",
+ "buy_price": 1342500,
+ "sell_price": 2685000
+ }
]
},
{
@@ -156,9 +246,27 @@
"ingredients": "پودر ماهی، پودر جلبک دریایی، پودر گوشت صدف لب سبز. دی ال متیونین، ویتامین ایی، سلنیوم.",
"usage_and_dosage": "پودر: 1 قاشق چایخوری به ازای 10 کیلوگرم (حداکثر 4 قاشق). قرص: 1 قرص به ازای 10 کیلوگرم (حداکثر 5 قرص).",
"variants": [
- { "size": "100g Powder", "art_no": "723201", "barcode": "4027565723201", "buy_price": 2920000, "sell_price": 5840000 },
- { "size": "90g (90 Tablets)", "art_no": "723300", "barcode": "4027565723300", "buy_price": 4740000, "sell_price": 9480000 },
- { "size": "400g Powder", "art_no": "723225", "barcode": "4027565723225", "buy_price": 8395000, "sell_price": 16790000 }
+ {
+ "size": "100g Powder",
+ "art_no": "723201",
+ "barcode": "4027565723201",
+ "buy_price": 1460000,
+ "sell_price": 2920000
+ },
+ {
+ "size": "90g (90 Tablets)",
+ "art_no": "723300",
+ "barcode": "4027565723300",
+ "buy_price": 2370000,
+ "sell_price": 4740000
+ },
+ {
+ "size": "400g Powder",
+ "art_no": "723225",
+ "barcode": "4027565723225",
+ "buy_price": 4197500,
+ "sell_price": 8395000
+ }
]
},
{
@@ -168,7 +276,13 @@
"ingredients": "مخمر آبجو، سلولز، ویتامین های آ، ب1 تا ب12، د3، ایی، کا3.",
"usage_and_dosage": "1 قرص به ازای هر 10 کیلوگرم وزن بدن در روز.",
"variants": [
- { "size": "100g (50 Tablets)", "art_no": "712205", "barcode": "4027565712205", "buy_price": 3485000, "sell_price": 6970000 }
+ {
+ "size": "100g (50 Tablets)",
+ "art_no": "712205",
+ "barcode": "4027565712205",
+ "buy_price": 1742500,
+ "sell_price": 3485000
+ }
]
},
{
@@ -178,8 +292,20 @@
"ingredients": "خون کامل گاو خشک شده. پروتئین خام 92%، آهن.",
"usage_and_dosage": "0.3 گرم به ازای هر کیلوگرم وزن بدن (حداکثر 12 گرم در روز) مخلوط با خوراک خام برای 6 ماه.",
"variants": [
- { "size": "250g", "art_no": "792016", "barcode": "4027565792016", "buy_price": 1560000, "sell_price": 3120000 },
- { "size": "500g", "art_no": "791514", "barcode": "4027565791514", "buy_price": 2530000, "sell_price": 5060000 }
+ {
+ "size": "250g",
+ "art_no": "792016",
+ "barcode": "4027565792016",
+ "buy_price": 780000,
+ "sell_price": 1560000
+ },
+ {
+ "size": "500g",
+ "art_no": "791514",
+ "barcode": "4027565791514",
+ "buy_price": 1265000,
+ "sell_price": 2530000
+ }
]
},
{
@@ -189,7 +315,13 @@
"ingredients": "72% چربی گوشت گاو، 27% آب گوشت گاو خشک شده. انرژی: 740 کیلوکالری.",
"usage_and_dosage": "نصف قاشق چایخوری به ازای هر 10 کیلوگرم وزن بدن، حداکثر 3 قاشق چایخوری در روز همراه غذای مرطوب.",
"variants": [
- { "size": "75g", "art_no": "131235", "barcode": "4027565131235", "buy_price": 1520000, "sell_price": 3040000 }
+ {
+ "size": "75g",
+ "art_no": "131235",
+ "barcode": "4027565131235",
+ "buy_price": 760000,
+ "sell_price": 1520000
+ }
]
},
{
@@ -199,7 +331,13 @@
"ingredients": "100% دانه های زیره سیاه مصری.",
"usage_and_dosage": "1 قاشق چایخوری به ازای 10 کیلوگرم وزن بدن، حداکثر 4 قاشق چایخوری مخلوط با آب ولرم. در بارداری استفاده نشود.",
"variants": [
- { "size": "250g", "art_no": "131105", "barcode": "4027565131105", "buy_price": 2140000, "sell_price": 4280000 }
+ {
+ "size": "250g",
+ "art_no": "131105",
+ "barcode": "4027565131105",
+ "buy_price": 1070000,
+ "sell_price": 2140000
+ }
]
},
{
@@ -209,9 +347,27 @@
"ingredients": "جلبک دریایی حاوی لیزین، سلولز و ویتامین سی.",
"usage_and_dosage": "قرص: 2 عدد به ازای 10 کیلوگرم. پودر: نصف قاشق چایخوری به ازای 10 کیلوگرم وزن بدن. جهت تامین نیاز ید.",
"variants": [
- { "size": "225g (225 Tablets)", "art_no": "130504", "barcode": "4027565130504", "buy_price": 2605000, "sell_price": 5210000 },
- { "size": "750g (750 Tablets)", "art_no": "130511", "barcode": "4027565130511", "buy_price": 6895000, "sell_price": 13790000 },
- { "size": "750g (Powder)", "art_no": "130412", "barcode": "4027565130412", "buy_price": 3690000, "sell_price": 7380000 }
+ {
+ "size": "225g (225 Tablets)",
+ "art_no": "130504",
+ "barcode": "4027565130504",
+ "buy_price": 1302500,
+ "sell_price": 2605000
+ },
+ {
+ "size": "750g (750 Tablets)",
+ "art_no": "130511",
+ "barcode": "4027565130511",
+ "buy_price": 3447500,
+ "sell_price": 6895000
+ },
+ {
+ "size": "750g (Powder)",
+ "art_no": "130412",
+ "barcode": "4027565130412",
+ "buy_price": 1845000,
+ "sell_price": 3690000
+ }
]
},
{
@@ -221,7 +377,13 @@
"ingredients": "مخمر آبجو، تورین 700 گرم.",
"usage_and_dosage": "گربه تا 6 کیلو: نصف قاشق چایخوری. بالای 6 کیلو و باردار/شیرده: 1 قاشق چایخوری در روز.",
"variants": [
- { "size": "100g", "art_no": "229505", "barcode": "4027565229055", "buy_price": 2350000, "sell_price": 4700000 }
+ {
+ "size": "100g",
+ "art_no": "229505",
+ "barcode": "4027565229055",
+ "buy_price": 1175000,
+ "sell_price": 2350000
+ }
]
},
{
@@ -231,7 +393,13 @@
"ingredients": "100% پودر گوشت صدف لب سبز.",
"usage_and_dosage": "1 قاشق چایخوری به ازای 10 کیلوگرم وزن بدن (حداکثر 2 قاشق) در روز به مدت 4 هفته یا مداوم.",
"variants": [
- { "size": "150g", "art_no": "701902", "barcode": "4027565701902", "buy_price": 4750000, "sell_price": 9500000 }
+ {
+ "size": "150g",
+ "art_no": "701902",
+ "barcode": "4027565701902",
+ "buy_price": 2375000,
+ "sell_price": 4750000
+ }
]
},
{
@@ -241,7 +409,13 @@
"ingredients": "غلات، گوشت، فرآورده های لبنی، ماهی، پروتئین 27%.",
"usage_and_dosage": "1 قسمت فرنی را با 3 قسمت آب گرم (50 درجه سانتیگراد) مخلوط کنید. مصرف ویتامین D2 همزمان مجاز نیست.",
"variants": [
- { "size": "600g", "art_no": "130603", "barcode": "4027565130603", "buy_price": 2835000, "sell_price": 5670000 }
+ {
+ "size": "600g",
+ "art_no": "130603",
+ "barcode": "4027565130603",
+ "buy_price": 1417500,
+ "sell_price": 2835000
+ }
]
},
{
@@ -251,7 +425,13 @@
"ingredients": "لاکتوز، پودر آب پنیر، روغن ماهی، پروتئین 30%، تورین، ویتامین ها.",
"usage_and_dosage": "1 قسمت شیر با 4 قسمت آب 50 درجه مخلوط شود. تغذیه هر 2 ساعت در ابتدا و سپس هر 4 ساعت.",
"variants": [
- { "size": "150g", "art_no": "130702", "barcode": "4027565130702", "buy_price": 2315000, "sell_price": 4630000 }
+ {
+ "size": "150g",
+ "art_no": "130702",
+ "barcode": "4027565130702",
+ "buy_price": 1157500,
+ "sell_price": 2315000
+ }
]
},
{
@@ -261,8 +441,20 @@
"ingredients": "15 گرم در لیتر دودکانوئیک اسید، 5 گرم در لیتر عصاره مارگوسا.",
"usage_and_dosage": "هر 4 تا 6 هفته به صورت اسپری از فاصله 30 سانتی متری روی محل زندگی و خواب حیوان استفاده شود.",
"variants": [
- { "size": "100ml", "art_no": "741304", "barcode": "4027565741304", "buy_price": 1593000, "sell_price": 3186000 },
- { "size": "250ml", "art_no": "741311", "barcode": "4027565741311", "buy_price": 2730000, "sell_price": 5460000 }
+ {
+ "size": "100ml",
+ "art_no": "741304",
+ "barcode": "4027565741304",
+ "buy_price": 796500,
+ "sell_price": 1593000
+ },
+ {
+ "size": "250ml",
+ "art_no": "741311",
+ "barcode": "4027565741311",
+ "buy_price": 1365000,
+ "sell_price": 2730000
+ }
]
},
{
@@ -272,7 +464,13 @@
"ingredients": "آب، نقره، گلیسیرین، عصاره دانه گریپ فروت.",
"usage_and_dosage": "روزانه عصرها 1 ساعت پس از غذا روی دندان های آسیاب مالیده شود. سگ تا 10 کیلو: 1 سانتی متر ژل.",
"variants": [
- { "size": "50ml", "art_no": "742639", "barcode": "4027565742639", "buy_price": 2765000, "sell_price": 5530000 }
+ {
+ "size": "50ml",
+ "art_no": "742639",
+ "barcode": "4027565742639",
+ "buy_price": 1382500,
+ "sell_price": 2765000
+ }
]
},
{
@@ -282,7 +480,13 @@
"ingredients": "آب بدون مواد معدنی، هیالورونات سدیم، نقره کلوئیدی.",
"usage_and_dosage": "چند قطره روی کیسه ملتحمه ریخته و اطراف چشم پاک شود.",
"variants": [
- { "size": "10ml", "art_no": "NG0013", "barcode": "4260118880130", "buy_price": 3180000, "sell_price": 6360000 }
+ {
+ "size": "10ml",
+ "art_no": "NG0013",
+ "barcode": "4260118880130",
+ "buy_price": 1590000,
+ "sell_price": 3180000
+ }
]
},
{
@@ -292,7 +496,13 @@
"ingredients": "وازلین، روغن پالپ سنجد دریایی، روغن کالاندولا، پانتنول.",
"usage_and_dosage": "چندین بار در روز روی نواحی آسیب دیده بمالید و ماساژ دهید.",
"variants": [
- { "size": "50ml", "art_no": "NG0016", "barcode": "4260118880161", "buy_price": 2500000, "sell_price": 5000000 }
+ {
+ "size": "50ml",
+ "art_no": "NG0016",
+ "barcode": "4260118880161",
+ "buy_price": 1250000,
+ "sell_price": 2500000
+ }
]
}
-]
+]
\ No newline at end of file
diff --git a/backend/prisma/seed-products.ts b/backend/prisma/seed-products.ts
index 653ffbf..e285801 100644
--- a/backend/prisma/seed-products.ts
+++ b/backend/prisma/seed-products.ts
@@ -33,6 +33,42 @@ function parseSize(size: string): { unit: string; packageSize: number } {
return { unit: 'g', packageSize: 100 };
}
+function getProductImageUrl(baseSlug: string): string {
+ const images: Record = {
+ 'canina-ballaststoff-mix': 'https://www.canina.de/media/4c/32/38/1715077271/Ballaststoff-Mix-140108-V1-Canino-100g_600x600.webp',
+ 'canina-canhydrox-gag': 'https://www.canina.de/media/83/86/e1/123000_123005_Canhydrox_GAG_Canina-Pharma_1280x1280.png',
+ 'canina-eierschalenpulver': 'https://www.canina.de/media/fb/d3/18/120208_Eierschalenpulver_Canina-Pharma_1280x1280.png',
+ 'canina-flexan': 'https://www.canina.de/media/01/be/93/710003_Flexan_Canina-Pharma_1280x1280.png',
+ 'canina-herz-vital': 'https://www.canina.de/media/b9/8b/4c/112036_Herz_Vital_Canina-Pharma_1280x1280.png',
+ 'canina-immun-booster-paste': 'https://www.canina.de/media/8c/fb/8e/311000_Canino_Immun_Booster_Paste_Abwehrkraefte_1280x1280.png',
+ 'canina-katzenmilch': 'https://www.canina.de/media/6b/48/81/731000_Canino_Lachsoel_Lachs_Oel_1280x1280.png',
+ 'canina-lachs-l': 'https://www.canina.de/media/6b/48/81/731000_Canino_Lachsoel_Lachs_Oel_1280x1280.png',
+ 'canina-lachs-ol': 'https://www.canina.de/media/6b/48/81/731000_Canino_Lachsoel_Lachs_Oel_1280x1280.png',
+ 'canina-marine-lmischung-premium': 'https://www.canina.de/media/ad/28/71/153008_Marine_Oelmischung_Premium_Canina-Pharma_1280x1280.png',
+ 'canina-moortrnke': 'https://www.canina.de/media/9d/b2/87/112708_Moortraenke_Canina-Pharma_1280x1280.png',
+ 'canina-petvital-arthro-tabletten': 'https://www.canina.de/media/90/a6/50/723003_PETVITAL_Arthro_Tabletten_Canina-Pharma_1280x1280.png',
+ 'canina-petvital-bio-aktivator': 'https://www.canina.de/media/c9/2e/0f/712007_PETVITAL_Bio_Aktivator_Canina-Pharma_1280x1280.png',
+ 'canina-petvital-biotin-tabs': 'https://www.canina.de/media/e1/9b/6c/702008_PETVITAL_Biotin_Tabs_Canina-Pharma_1280x1280.png',
+ 'canina-petvital-energy-gel': 'https://www.canina.de/media/7f/0f/06/712106_PETVITAL_Energy_Gel_Canina-Pharma_1280x1280.png',
+ 'canina-petvital-mineral-tabs': 'https://www.canina.de/media/70/4e/f2/723102_PETVITAL_Mineral_Tabs_Canina-Pharma_1280x1280.png',
+ 'canina-petvital-gag': 'https://www.canina.de/media/58/05/92/723201_723300_PETVITAL_GAG_Canina-Pharma_1280x1280.png',
+ 'canina-petvital-vitamin-tabs': 'https://www.canina.de/media/2c/80/7e/712205_PETVITAL_Vitamin_Tabs_Canina-Pharma_1280x1280.png',
+ 'canina-rinderblut-pulver': 'https://www.canina.de/media/14/d0/0d/792016_791514_Rinderblut_Pulver_Canina-Pharma_1280x1280.png',
+ 'canina-rinderfett-pulver': 'https://www.canina.de/media/9a/31/59/131235_Rinderfett_Pulver_Canina-Pharma_1280x1280.png',
+ 'canina-schwarz-kmmel-samen': 'https://www.canina.de/media/a9/c8/aa/131105_Schwarzkuemmelsamen_Canina-Pharma_1280x1280.png',
+ 'canina-seealgen-bio-seealgenmehl': 'https://www.canina.de/media/e4/c4/b2/130504_130511_130412_Seealgen_Bio-Seealgenmehl_Canina-Pharma_1280x1280.png',
+ 'canina-taurin-fr-katzen': 'https://www.canina.de/media/c6/aa/62/229505_Taurin_fuer_Katzen_Canina-Pharma_1280x1280.png',
+ 'canina-velox-gelenkenergie': 'https://www.canina.de/media/1a/0c/33/701902_Velox_Gelenkenergie_Canina-Pharma_1280x1280.png',
+ 'canina-welpenbrei': 'https://www.canina.de/media/98/95/43/130603_Welpenbrei_Canina-Pharma_1280x1280.png',
+ 'canina-welpenmilch': 'https://www.canina.de/media/2c/e0/75/130702_Welpenmilch_Canina-Pharma_1280x1280.png',
+ 'canina-petvital-bio-insect-shocker': 'https://www.canina.de/media/76/a4/1c/741304_741311_PETVITAL_Bio_Insect_Shocker_Canina-Pharma_1280x1280.png',
+ 'canina-mikrosilber-zahngel': 'https://www.canina.de/media/9d/5e/54/131454_Mikrosilber_Zahngel_Canina-Pharma_1280x1280.png',
+ 'canina-novagard-green-augenpflege': 'https://www.canina.de/media/6b/48/81/731000_Canino_Lachsoel_Lachs_Oel_1280x1280.png',
+ 'canina-novagard-green-pfotenpflege': 'https://www.canina.de/media/6b/48/81/731000_Canino_Lachsoel_Lachs_Oel_1280x1280.png',
+ };
+ return images[baseSlug] || `/products/${baseSlug}.png`;
+}
+
async function findOrCreateCategory(slug: string): Promise<{ id: string; slug: string }> {
const CATEGORY_NAMES: Record = {
'joints': 'مفاصل و استخوان',
@@ -108,7 +144,7 @@ async function main() {
packageSize,
dosageLogic: cleanDosage,
suitableFor,
- imageUrl: `/products/${baseSlug}.png`,
+ imageUrl: getProductImageUrl(baseSlug),
},
create: {
artNo,
@@ -127,7 +163,7 @@ async function main() {
packageSize,
dosageLogic: cleanDosage,
suitableFor,
- imageUrl: `/products/${baseSlug}.png`,
+ imageUrl: getProductImageUrl(baseSlug),
}
});
diff --git a/frontend/application/components/VetGallery.tsx b/frontend/application/components/VetGallery.tsx
index 260cdcb..022352a 100644
--- a/frontend/application/components/VetGallery.tsx
+++ b/frontend/application/components/VetGallery.tsx
@@ -29,7 +29,7 @@ const VIDEOS = [
title: "تغذیه هوشمند تولهسگها",
doctor: "دکتر هلگا فیشر",
duration: "۳:۱۰",
- thumbnail: "https://images.unsplash.com/photo-1543466835-00a7907e9de1?auto=format&fit=crop&q=80&w=400",
+ thumbnail: "/assets/images/regenerated_image_1779109861747.png",
videoUrl: "https://www.w3schools.com/html/mov_bbb.mp4",
description: "دوز مصرفی مکملهای کلسیم در نژادهای بزرگ برای جلوگیری از بدشکلیهای استخوانی."
}
diff --git a/frontend/application/components/VideosPage.tsx b/frontend/application/components/VideosPage.tsx
index 7cd47fd..b6579a0 100644
--- a/frontend/application/components/VideosPage.tsx
+++ b/frontend/application/components/VideosPage.tsx
@@ -28,7 +28,7 @@ const ALL_VIDEOS = [
title: "تغذیه هوشمند تولهسگهای نژاد بزرگ",
doctor: "دکتر هلگا فیشر",
duration: "۳:۱۰",
- thumbnail: "https://images.unsplash.com/photo-1543466835-00a7907e9de1?auto=format&fit=crop&q=80&w=600",
+ thumbnail: "/assets/images/regenerated_image_1779109861747.png",
videoUrl: "https://www.w3schools.com/html/mov_bbb.mp4",
description: "دوز مصرفی مکملهای کلسیم در نژادهای بزرگ برای جلوگیری از بدشکلیهای استخوانی."
},
diff --git a/frontend/application/lib/data/products.ts b/frontend/application/lib/data/products.ts
index 54b1e0f..a3f290f 100644
--- a/frontend/application/lib/data/products.ts
+++ b/frontend/application/lib/data/products.ts
@@ -119,8 +119,8 @@ export const PRODUCTS: Product[] = [
],
category: "مفاصل و استخوان",
categorySlug: "joints",
- price: "۸,۴۸۰,۰۰۰ تومان",
- priceValue: 8480000,
+ price: "۴,۲۴۰,۰۰۰ تومان",
+ priceValue: 4240000,
unit: "100g (60 Tablets)",
packageSize: 100,
main_ingredients: ["تری کلسیم فسفات 30%", "هیدروکسی آپاتیت", "پودر صدف لبسبز 10%", "مخمر آبجو", "جلبک دریایی", "ویتامین C", "ویتامین E", "سلنیوم", "متیونین"],
@@ -1137,8 +1137,8 @@ export const PRODUCTS: Product[] = [
shortDescription: "قطره چشم ضدالتهاب برای تمیز کردن چشمهای گریان و گرفته.",
category: "مراقبتهای ویژه (پوست، دندان و چشم)",
categorySlug: "special-care",
- price: "۶,۳۶۰,۰۰۰ تومان",
- priceValue: 6360000,
+ price: "۳,۱۸۰,۰۰۰ تومان",
+ priceValue: 3180000,
unit: "10 ml",
packageSize: 10,
main_ingredients: ["هیالورونات سدیم", "نقره کلوئیدی"],
@@ -1168,8 +1168,8 @@ export const PRODUCTS: Product[] = [
shortDescription: "کرم طبیعی پنجه با سنجد دریایی و کالاندولا برای زمستان و تابستان.",
category: "مراقبتهای ویژه (پوست، دندان و چشم)",
categorySlug: "special-care",
- price: "۵,۰۰۰,۰۰۰ تومان",
- priceValue: 5000000,
+ price: "۲,۵۰۰,۰۰۰ تومان",
+ priceValue: 2500000,
unit: "50 ml",
packageSize: 50,
main_ingredients: ["روغن پالپ سنجد دریایی", "روغن کالاندولا", "پانتنول", "وازلین"],
@@ -1199,8 +1199,8 @@ export const PRODUCTS: Product[] = [
shortDescription: "شیر خشک مخصوص بچهگربههای بیمادر با تورین بالا از بدو تولد.",
category: "تغذیه تخصصی",
categorySlug: "nutrition",
- price: "۴,۶۳۰,۰۰۰ تومان",
- priceValue: 4630000,
+ price: "۲,۳۱۵,۰۰۰ تومان",
+ priceValue: 2315000,
unit: "150 g",
packageSize: 150,
main_ingredients: ["لاکتوز", "پودر آب پنیر", "چربی نارگیل", "روغن ماهی", "تورین"],
diff --git a/frontend/application/lib/services/productService.ts b/frontend/application/lib/services/productService.ts
index fd475b3..cd8dbe4 100644
--- a/frontend/application/lib/services/productService.ts
+++ b/frontend/application/lib/services/productService.ts
@@ -25,7 +25,11 @@ export class ProductService {
private mapBackendToFrontend(data: any): Product {
// Find the local static product to inherit functions like calculateDosage
- const local = PRODUCTS.find(p => p.artNo === data.artNo);
+ const local = PRODUCTS.find(p =>
+ p.artNo === data.artNo ||
+ p.id === data.productGroup ||
+ (data.slug && data.slug.includes(p.id))
+ );
const safeParse = (val: any, fallback: any) => {
if (!val) return fallback;
@@ -56,7 +60,9 @@ export class ProductService {
onSetOfAction: data.onSetOfAction,
optimisticTemplate: data.optimisticTemplate,
feedingAdvice: data.dosageLogic || data.feedingAdvice || '',
- image: data.imageUrl?.startsWith('http') ? data.imageUrl : data.imageUrl ? `/api${data.imageUrl}` : data.image,
+ image: (data.imageUrl && data.imageUrl.startsWith('http'))
+ ? data.imageUrl
+ : (local?.image || (data.imageUrl ? `/api${data.imageUrl}` : data.image || '')),
main_ingredients: data.ingredientList?.map((i: any) => i.ingredient) || data.ingredients?.split(/[،,-]/).map((s: string) => s.trim()).filter(Boolean) || [],
symptoms: data.symptoms?.map((s: any) => s.symptom || s) || [],