From 7615aa0e510556f004bb24dbcd7f8f22f4dfa7fc Mon Sep 17 00:00:00 2001 From: parsa aghaei Date: Sat, 11 Jul 2026 15:40:49 +0330 Subject: [PATCH] fix: resolve seed encoding, search param, and wiki data source issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix seed-products.ts TS error (implicit any) and BOM handling - Re-run full seed to restore correct Persian encoding in DB - Fix productService query→search param mismatch - Fix IngredientWiki hardcoded port 4000→use settingsStore - Restore seed-products-data.json from git after accidental corruption --- BACKEND_INTEGRATION.md | 4 +- DATABASE_SCHEMA.md | 8 +- README.md | 4 +- backend/prisma/seed-blogs.ts | 8 +- backend/prisma/seed-home.ts | 6 +- backend/prisma/seed-products.ts | 67 +++++----- backend/prisma/seed.ts | 10 +- backend/src/main.ts | 4 +- backend/uploads/1783765738982-360633697.png | Bin 0 -> 33505 bytes backend/uploads/1783765761042-126169451.png | Bin 0 -> 23532 bytes backend/uploads/1783766019136-538342352.png | Bin 0 -> 37540 bytes backend/uploads/1783766176570-259772529.png | Bin 0 -> 18651 bytes backend/uploads/1783766236883-149191779.png | Bin 0 -> 39836 bytes backend/uploads/1783766312952-814581776.png | Bin 0 -> 32748 bytes backend/uploads/1783766352024-429505659.png | Bin 0 -> 46826 bytes docs/01-introduction.md | 4 +- docs/02-user-guide.md | 4 +- docs/README.md | 4 +- .../admin-panel/src/components/Sidebar.tsx | 4 +- frontend/admin-panel/src/pages/Dashboard.tsx | 4 +- frontend/admin-panel/src/pages/Login.tsx | 4 +- frontend/admin-panel/src/pages/Settings.tsx | 4 +- frontend/admin-panel/src/pages/Wiki.tsx | 4 +- frontend/application/AGENTS.md | 6 + frontend/application/app/blog/[slug]/page.tsx | 22 +-- frontend/application/app/blog/page.tsx | 4 +- frontend/application/app/globals.css | 10 +- frontend/application/app/layout.tsx | 26 ++-- frontend/application/app/page.tsx | 28 ++-- frontend/application/app/search/page.tsx | 4 +- frontend/application/app/shop/[slug]/page.tsx | 2 +- frontend/application/app/wiki/[slug]/page.tsx | 6 +- frontend/application/app/wiki/page.tsx | 4 +- .../application/components/AddressModal.tsx | 20 +-- .../application/components/ArchivePage.tsx | 42 +++--- frontend/application/components/AuthModal.tsx | 46 +++---- frontend/application/components/B2BPortal.tsx | 10 +- frontend/application/components/BlogPage.tsx | 52 ++++---- .../application/components/CartDrawer.tsx | 36 ++--- .../application/components/CheckoutPage.tsx | 36 ++--- .../application/components/ErrorBoundary.tsx | 4 +- .../application/components/ErrorPages.tsx | 8 +- .../components/FeaturedProducts.tsx | 31 ++--- frontend/application/components/Footer.tsx | 34 ++--- frontend/application/components/Header.tsx | 52 ++++---- .../application/components/HeaderButton.tsx | 8 +- frontend/application/components/Hero.tsx | 28 ++-- .../application/components/IngredientWiki.tsx | 58 ++++---- .../application/components/LoginModal.tsx | 22 +-- .../components/OrderDetailsModal.tsx | 18 +-- .../application/components/OrderSuccess.tsx | 20 +-- .../application/components/OrderTracking.tsx | 22 +-- .../application/components/PetProfile.tsx | 116 ++++++++-------- .../application/components/ProductPage.tsx | 126 +++++++++--------- frontend/application/components/SafeImage.tsx | 10 +- .../components/SearchResultsPage.tsx | 12 +- .../application/components/SmartAdvisor.tsx | 52 ++++---- frontend/application/components/Tooltip.tsx | 8 +- .../application/components/TopUpModal.tsx | 14 +- .../application/components/UserDashboard.tsx | 54 ++++---- .../application/components/VetGallery.tsx | 16 +-- .../application/components/VideosPage.tsx | 10 +- .../components/__tests__/Footer.test.tsx | 6 +- .../components/__tests__/Header.test.tsx | 2 +- frontend/application/lib/data/products.ts | 70 +++++----- .../application/lib/data/scientificTerms.ts | 14 +- .../lib/services/productService.ts | 14 +- .../lib/store/__tests__/settingsStore.test.ts | 4 +- frontend/application/lib/store/cartStore.ts | 2 +- frontend/application/lib/store/usePetStore.ts | 2 +- frontend/application/lib/store/userStore.ts | 2 +- frontend/implementation_plan.md | 2 +- metadata.json | 2 +- package.json | 2 +- 74 files changed, 683 insertions(+), 659 deletions(-) create mode 100644 backend/uploads/1783765738982-360633697.png create mode 100644 backend/uploads/1783765761042-126169451.png create mode 100644 backend/uploads/1783766019136-538342352.png create mode 100644 backend/uploads/1783766176570-259772529.png create mode 100644 backend/uploads/1783766236883-149191779.png create mode 100644 backend/uploads/1783766312952-814581776.png create mode 100644 backend/uploads/1783766352024-429505659.png diff --git a/BACKEND_INTEGRATION.md b/BACKEND_INTEGRATION.md index 3782dd1..e4338b2 100644 --- a/BACKEND_INTEGRATION.md +++ b/BACKEND_INTEGRATION.md @@ -1,6 +1,6 @@ -# نقشه جامع اتصال به بک‌بند (Comprehensive Backend Integration Map) 🏗️ +# نقشه جامع اتصال به بک‌بند (Comprehensive Backend Integration Map) 🏗️ -این سند حاوی معماری دقیق، فهرست کامل نقاط اتصال (API Endpoints)، کامنت‌های مکان‌نما در کد (TODO Markers)، و تعاریف رسمی تمامی تایپ‌های ورودی (Inputs) و خروجی (Outputs) پلتفرم درمانی و فروشگاهی کانینو ایران است. +این سند حاوی معماری دقیق، فهرست کامل نقاط اتصال (API Endpoints)، کامنت‌های مکان‌نما در کد (TODO Markers)، و تعاریف رسمی تمامی تایپ‌های ورودی (Inputs) و خروجی (Outputs) پلتفرم درمانی و فروشگاهی کانینا ایران است. --- diff --git a/DATABASE_SCHEMA.md b/DATABASE_SCHEMA.md index a78285a..f776294 100644 --- a/DATABASE_SCHEMA.md +++ b/DATABASE_SCHEMA.md @@ -1,6 +1,6 @@ -# طرح‌واره پایگاه داده کانینو ایران (Canino Iran Database Schema) 🗄️ +# طرح‌واره پایگاه داده کانینا ایران (Canina Iran Database Schema) 🗄️ -این سند ساختار دقیق جداول، فیلدها، نوع داده‌ها (Datatypes)، روابط بین موجودیت‌ها (ERD Relations) و ایندکس‌های پیشنهادی را برای راه‌اندازی پایگاه داده نهایی سیستم کانینو طراحی و ارائه می‌کند. جهت انعطاف‌پذیری توسعه، پیاده‌سازی هم بر اساس **پایگاه داده رابطه‌ای (PostgreSQL / MySQL)** و هم **پایگاه داده مستندمحور/سندمراقبتی (NoSQL - MongoDB / Firestore)** مدلسازی شده است. +این سند ساختار دقیق جداول، فیلدها، نوع داده‌ها (Datatypes)، روابط بین موجودیت‌ها (ERD Relations) و ایندکس‌های پیشنهادی را برای راه‌اندازی پایگاه داده نهایی سیستم کانینا طراحی و ارائه می‌کند. جهت انعطاف‌پذیری توسعه، پیاده‌سازی هم بر اساس **پایگاه داده رابطه‌ای (PostgreSQL / MySQL)** و هم **پایگاه داده مستندمحور/سندمراقبتی (NoSQL - MongoDB / Firestore)** مدلسازی شده است. --- @@ -63,7 +63,7 @@ CREATE TABLE wallet_transactions ( created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP ); --- ۴. جدول کاتالوگ محصولات کانینو (products) +-- ۴. جدول کاتالوگ محصولات کانینا (products) CREATE TABLE products ( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), art_no VARCHAR(20) UNIQUE NOT NULL, @@ -250,7 +250,7 @@ CREATE INDEX idx_reminder_completions_ref ON reminder_completions(reminder_id, c "reminders": [ { "id": "REM-001", - "productId": "6472f8d38bfcb8234eccb611", // مکمل آرتروفیت کانینو فیزیکی جهت کسر انبار پت + "productId": "6472f8d38bfcb8234eccb611", // مکمل آرتروفیت کانینا فیزیکی جهت کسر انبار پت "title": "مصرف قرص مفصل‌ساز Canhydrox", "time": "08:30", "frequency": "روزانه", diff --git a/README.md b/README.md index 565fa7e..ac9eaf8 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# پلتفرم کانینو ایران (Canino Iran Platform) 🐾 +# پلتفرم کانینا ایران (Canina Iran Platform) 🐾 ### لندینگ، فروشگاه تخصصی و پرونده سلامت الکترونیک پت (نمایندگی رسمی دارویی Canina Pharma) -پلتفرم **کانینو ایران** یک برنامه جامع تحت وب (SPA/PWA) مجهز به بردهای تعاملی و ابزارهای بهداشتی-دامپزشکی است که با هدف ارتقای سلامت حیوانات خانگی و دسترسی آسان‌تر به مکمل‌های دارویی گرید فوق‌ارگانیک و دارویی کمپانی والای **Canina pharma GmbH آلمان** توسعه یافته است. +پلتفرم **کانینا ایران** یک برنامه جامع تحت وب (SPA/PWA) مجهز به بردهای تعاملی و ابزارهای بهداشتی-دامپزشکی است که با هدف ارتقای سلامت حیوانات خانگی و دسترسی آسان‌تر به مکمل‌های دارویی گرید فوق‌ارگانیک و دارویی کمپانی والای **Canina pharma GmbH آلمان** توسعه یافته است. --- diff --git a/backend/prisma/seed-blogs.ts b/backend/prisma/seed-blogs.ts index 70f6695..fe4aa8e 100644 --- a/backend/prisma/seed-blogs.ts +++ b/backend/prisma/seed-blogs.ts @@ -1,4 +1,4 @@ -import { PrismaClient } from '@prisma/client'; +import { PrismaClient } from '@prisma/client'; const prisma = new PrismaClient(); @@ -24,7 +24,7 @@ async function main() { '

کلسیم یکی از مهم‌ترین مواد معدنی برای رشد ساختار استخوانی است. توله‌سگ‌ها در ماه‌های اول زندگی به کلسیم بیشتری نیاز دارند تا اسکلت‌بندی محکمی داشته باشند.

', '', '

نسبت Ca:P (کلسیم به فسفر)

', - '

نسبت ایده‌آل کلسیم به فسفر در رژیم توله‌سگ‌ها ۱.۲:۱ تا ۱.۵:۱ است. عدم تعادل در این نسبت می‌تواند منجر به ناهنجاری‌های استخوانی مانند پاهای پرانتزی و دیسپلازی هیپ شود. پودر پوسته تخم مرغ کانینو با ۳۶٪ کلسیم خالص و فسفر ۰.۱٪ بهترین گزینه برای تنظیم این نسبت است.

', + '

نسبت ایده‌آل کلسیم به فسفر در رژیم توله‌سگ‌ها ۱.۲:۱ تا ۱.۵:۱ است. عدم تعادل در این نسبت می‌تواند منجر به ناهنجاری‌های استخوانی مانند پاهای پرانتزی و دیسپلازی هیپ شود. پودر پوسته تخم مرغ کانینا با ۳۶٪ کلسیم خالص و فسفر ۰.۱٪ بهترین گزینه برای تنظیم این نسبت است.

', '', '

نقش ویتامین D3 در جذب کلسیم

', '

ویتامین D3 (کوله‌کلسیفرول) جذب کلسیم از روده را تا ۳۰٪ افزایش می‌دهد. مصرف همزمان ویتامین D2 (ارگوکلسیفرول) با D3 مجاز نیست زیرا این دو با یکدیگر رقابت کرده و جذب مؤثر را کاهش می‌دهند.

', @@ -49,12 +49,12 @@ async function main() { '
  • B1 (تیامین): متابولیسم کربوهیدرات‌ها و عملکرد سیستم عصبی
  • ', '
  • B2 (ریبوفلاوین): تولید انرژی و سلامت پوست
  • ', '
  • B6 (پیریدوکسین): سنتز پروتئین و تولید گلبول قرمز
  • ', - '
  • B7 (بیوتین / ویتامین H): کراتین‌سازی مو و پنجه - Biotin-Tabs کانینو با ۱ میلیون میکروگرم بیوتین در کیلوگرم، قوی‌ترین دوز موجود در بازار است
  • ', + '
  • B7 (بیوتین / ویتامین H): کراتین‌سازی مو و پنجه - Biotin-Tabs کانینا با ۱ میلیون میکروگرم بیوتین در کیلوگرم، قوی‌ترین دوز موجود در بازار است
  • ', '
  • B12 (کوبالامین): خونسازی و عملکرد عصبی
  • ', '', '', '

    نقش بیوتین در سلامت پوشش

    ', - '

    بیوتین کوآنزیم کربوکسیلازهای مسئول سنتز اسیدهای چرب و گلوکونئوژنز است. ریزش مو و شکنندگی پنجه از نشانه‌های کلاسیک کمبود بیوتین هستند. قرص بیوتین کانینو با تأثیر از هفته چهارم، پوشش براق و پنجه‌های محکم را تضمین می‌کند.

    ', + '

    بیوتین کوآنزیم کربوکسیلازهای مسئول سنتز اسیدهای چرب و گلوکونئوژنز است. ریزش مو و شکنندگی پنجه از نشانه‌های کلاسیک کمبود بیوتین هستند. قرص بیوتین کانینا با تأثیر از هفته چهارم، پوشش براق و پنجه‌های محکم را تضمین می‌کند.

    ', '', '

    محصولات تقویت‌کننده پوست و مو

    ', '