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

This commit is contained in:
parsa aghaei 2026-07-15 11:51:10 +03:30
parent cf705ea121
commit 67d6f71d7a
6 changed files with 302 additions and 50 deletions

View File

@ -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
}
]
}
]
]

View File

@ -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<string, string> = {
'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<string, string> = {
'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),
}
});

View File

@ -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: "دوز مصرفی مکمل‌های کلسیم در نژادهای بزرگ برای جلوگیری از بدشکلی‌های استخوانی."
}

View File

@ -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: "دوز مصرفی مکمل‌های کلسیم در نژادهای بزرگ برای جلوگیری از بدشکلی‌های استخوانی."
},

View File

@ -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: ["لاکتوز", "پودر آب پنیر", "چربی نارگیل", "روغن ماهی", "تورین"],

View File

@ -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) || [],