parsa aghaei
b329abcf0e
fix(contact): route contact form submission directly to backend API ( http://127.0.0.1:4001/api/contact )
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 19:12:55 +03:30
parsa aghaei
e3ff345608
fix(frontend): remove duplicate getText identifier declaration in FeaturedProducts.tsx
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:48:21 +03:30
parsa aghaei
7cc9194827
fix(validation & catalog): disable strict forbidNonWhitelisted in NestJS ValidationPipe and wire full catalog mode & maintenance mode settings to frontend
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:38:48 +03:30
parsa aghaei
90ecf39295
fix(frontend): execute prisma db seed & resolve Hero component SSR hydration text mismatch
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 18:15:53 +03:30
parsa aghaei
ea3bdf1ea3
feat(enamad): dynamic enamad HTML embedding with exact code fallback & admin edit support
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:12:42 +03:30
parsa aghaei
74b3d24622
fix(api/auth): allow public GET on ui-texts & scientific-terms, fix refresh attempt loop, remove duplicate error toasts and prevent unwanted modal popups
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 18:11:17 +03:30
parsa aghaei
adbfa60343
fix(frontend/backend): suppress unauth toast on init, fix admin-login DTO validation and RSC directives
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:02:43 +03:30
9f11d8fb2d
chore(workspace): eradicate all tsc errors and eslint warnings across frontend, admin, and backend
Deploy Canina / deploy (push) Failing after 29s
2026-08-07 07:39:26 +03:30
4659a7b1de
feat(storefront): implement Phase C API integration replacing static fallbacks
Deploy Canina / deploy (push) Failing after 28s
2026-08-07 00:16:03 +03:30
74fcaa6a4e
feat(application): implement Phase 3 strict DTOs, eradicate any types, and add Suspense boundaries
Deploy Canina / deploy (push) Failing after 29s
2026-08-06 23:15:25 +03:30
57596f5aaf
feat(application): implement Phase 2 SEO metadata, Next.js image optimization, and HTTP security headers
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 23:02:07 +03:30
9c334c39ae
refactor(application): restore RSC root layout, add server-side data fetching, and use granular Zustand selectors
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 22:55:54 +03:30
parsa aghaei
aac0716046
feat: complete all section 26 backlog tasks including pet image upload [TASK-26.18]
Deploy Canina / deploy (push) Waiting to run
2026-08-05 15:45:11 +03:30
parsa aghaei
187aa7c962
feat: add excel export to reports and video view counter increment [TASK-26.20]
Deploy Canina / deploy (push) Waiting to run
2026-08-05 14:42:38 +03:30
parsa aghaei
7f3c04acf5
fix(auth): complete logout state cleanup and admin protected route token validation [TASK-26.8] [TASK-26.9]
2026-08-05 14:39:31 +03:30
parsa aghaei
ce30ade808
feat: complete all remaining backlog tasks 25.1 to 25.14
Deploy Canina / deploy (push) Waiting to run
2026-08-05 14:37:44 +03:30
parsa aghaei
1542c85b29
feat(pet): allow direct manual supplement add for stock monitoring [TASK-25.5]
2026-08-05 14:29:38 +03:30
parsa aghaei
d5f4d2a610
feat(advisor): allow direct number input for age and weight [TASK-25.4]
2026-08-05 14:29:08 +03:30
parsa aghaei
81a2837c04
feat: restore profile pets dropdown, fix logout handler, cleanup task titles, fix maintenance guard, add catalog settings & shipping fee calculation
Deploy Canina / deploy (push) Waiting to run
2026-08-05 14:17:13 +03:30
parsa aghaei
1da8fdda21
fix(ssr): wrap localStorage access in window check in ClientLayout.tsx
2026-08-03 11:54:28 +03:30
parsa aghaei
3d0139da53
fix(build): import missing useSettingsStore in ArchivePage.tsx
2026-08-03 11:53:47 +03:30
parsa aghaei
2f37d0a92c
feat(catalog/maintenance): add granular sub-settings for Catalog Mode and Maintenance Page redirect [TASK-17.1]
2026-08-03 11:49:38 +03:30
parsa aghaei
ce36d7ab38
feat(ui): add sliding announcement marquee ticker banner to header [TASK-16.1]
2026-08-03 11:48:40 +03:30
parsa aghaei
d52d1e57f2
feat(auth/contact/sms): sync contact submissions in admin, refine SMS error logs, trigger Auth Modal on 401 [TASK-13.1, TASK-14.1, TASK-15.1]
2026-08-03 11:47:50 +03:30
parsa aghaei
eec05c4eaa
feat(ux): add outside click backdrop dismissal for mobile filters and drawer menus [TASK-12.1]
2026-08-03 11:44:21 +03:30
parsa aghaei
443b08ed58
feat(shop): add product sorting options (newest, price asc/desc, name) with backend params integration [TASK-11.1]
2026-08-03 11:43:51 +03:30
parsa aghaei
6b566e9a51
fix(api): suppress toast notifications on handled 404 responses
2026-08-03 11:30:00 +03:30
parsa aghaei
f22238d6c7
fix(responsive): eliminate horizontal mobile scroll & fix 404 text font size overflow
2026-08-03 10:26:02 +03:30
parsa aghaei
cf5ab2030d
test(frontend): update test imports to lib/ path, configure vitest.config.ts and vitest.setup.ts
2026-08-03 10:22:16 +03:30
parsa aghaei
7e072793eb
fix(types): allow File or ChangeEvent in handleFileUpload and ensure safe localStorage in userStore
2026-08-03 10:16:57 +03:30
parsa aghaei
c1b2f416ed
fix(lint&types): resolve all lint warnings, typecheck errors and effect state updates across frontend application and admin panel
2026-08-03 10:13:11 +03:30
parsa aghaei
920dd532e8
fix(admin-panel): resolve all ESLint errors, types, and hooks lifecycle warnings
2026-08-02 17:08:01 +03:30
parsa aghaei
a1f0640483
fix(linter): resolve all linter rules and type errors across 3 subprojects
2026-08-02 09:39:53 +03:30
parsa aghaei
5f790a60a9
feat: complete all remaining backlog tasks across backend, admin panel, and customer application
2026-08-02 09:32:31 +03:30
parsa aghaei
f693b05390
feat(admin): replace browser alert/confirm with toasts & modal dialogs (TASK-2.13) and add Drag & Drop upload (TASK-2.1)
2026-08-02 09:19:33 +03:30
parsa aghaei
9870516256
feat: add BackButton, protect UserDashboard auth, fix product loading metadata title and add WebOTP auto-submit
2026-08-01 18:32:33 +03:30
parsa aghaei
2aea3bded4
feat(contact): implement contact form submission, admin management and dynamic contact info
2026-08-01 18:28:19 +03:30
parsa aghaei
7bf6c47ee6
feat: B2B wholesale pricing per product & discount setting, dynamic payment gateways enable/disable & coming soon badges, B2B phone verification, trust seals menu link, dynamic contact info
Deploy Canina / deploy (push) Failing after 15s
2026-08-01 12:47:41 +03:30
parsa aghaei
f8e9ebfc44
feat: searchable province/city selects, zip code support, fix trust-seals header, responsive mobile logo & auth, cart scroll lock & safe image fallback, toast font
Deploy Canina / deploy (push) Failing after 18s
2026-08-01 12:41:35 +03:30
parsa aghaei
8e9ac246cb
fix(build): import PRODUCTS in CheckoutPage.tsx and push verified build
Deploy Canina / deploy (push) Successful in 1m58s
2026-08-01 11:39:18 +03:30
parsa aghaei
6e60804241
fix(checkout): add missing useSettingsStore import and finish checkout UI polish
Deploy Canina / deploy (push) Failing after 39s
2026-08-01 11:38:37 +03:30
parsa aghaei
242181ab4d
feat(checkout): complete copy buttons, font unification, wallet top-up, and address dropdowns
2026-08-01 11:37:57 +03:30
parsa aghaei
426334e27f
feat(checkout): add copy buttons for card info, province/city dropdowns, and wallet top-up button
Deploy Canina / deploy (push) Has been cancelled
2026-08-01 11:37:04 +03:30
parsa aghaei
a6f6a4708c
feat(payment): add official eNamad seal, card-to-card payment method, and wallet deposit instructions
Deploy Canina / deploy (push) Failing after 15s
2026-08-01 11:15:14 +03:30
parsa aghaei
a3291cc468
feat(agency): implement Farsi error handling, trust seals page, and MeliPayamak SMS integration
Deploy Canina / deploy (push) Has been cancelled
2026-07-29 16:40:42 +03:30
parsa aghaei
501addc909
fix: CI/CD pipeline, dynamic API URLs, Dockerfile fixes
...
Deploy Canina / deploy (push) Successful in 5m39s
- Backend Dockerfile: add chown for node_modules (Prisma permissions fix)
- Frontend Dockerfile: add ARG/ENV for NEXT_PUBLIC_API_URL, VITE_API_URL
- nginx.conf: template with __PLACEHOLDERS__ for per-env substitution
- deploy.yml: SSH keepalive, sudo for VPN
- api.ts: dynamic API URL via env vars instead of hardcoded
- next.config.ts: rewrite only in development mode
- scripts: deploy.sh, compose.stage.yml, compose.prod.yml
2026-07-28 16:37:05 +03:30
parsa aghaei
027f169830
fix(api): update API base URL to use env vars and target api.canina.ir / stageapi.canina.ir
Deploy Canina / deploy (push) Has been cancelled
2026-07-27 19:14:35 +03:30
parsa aghaei
dac41b14ee
fix(ssr-navigator): resolve ReferenceError navigator is not defined during Next.js static prerendering in useNetworkStatus hook
2026-07-27 14:50:15 +03:30
parsa aghaei
eb6318ecc1
feat(catalog-drag-scroll): add interactive mouse drag-to-scroll and wheel scroll handlers to catalog category pills
2026-07-27 13:40:43 +03:30
parsa aghaei
5c4a553f0c
fix(catalog-hscroll-cms-buttons): add sleek custom horizontal scrollbar for catalog categories and fix high-contrast purple styling for admin CMS buttons
2026-07-27 12:36:23 +03:30
parsa aghaei
3e9fffe71f
feat(cms-builder-videos-hydration-catalog): resolve IDE Prisma types, fix Header hydration error, add Media Upload & Aparat embed to Admin Videos, fix Catalog scrollbar/spacing, and overhaul CMS into section-by-section Visual Page Builder
2026-07-27 12:25:36 +03:30
parsa aghaei
2b1bd9efcb
feat(header-refill-videos): restore full DB seeding, wire homepage videos to backend API, upgrade Refill to Cashback Loyalty system, and refactor Header into 2-tier Mega-Menu layout
2026-07-27 12:07:29 +03:30
parsa aghaei
83ccdc19ef
fix(imports): add missing useSettingsStore import in VetGallery.tsx
2026-07-27 11:56:18 +03:30
parsa aghaei
b66fb9f564
fix(imports): add missing SafeImage import in VetGallery.tsx
2026-07-27 11:55:57 +03:30
parsa aghaei
d608c48c09
fix(imports): add missing Link import in SmartAdvisor.tsx
2026-07-27 11:54:59 +03:30
parsa aghaei
52f0caccfc
feat(videos): add Video module in NestJS, build Video CRUD in Admin Panel, sync dynamic video fetching on frontend, and update catalog links to /catalog
2026-07-27 11:54:16 +03:30
parsa aghaei
85d5a11a5e
feat(refill): overhaul subscription model to Smart Course Reservation & 5% Next-Order Loyalty Voucher reward
2026-07-27 11:46:45 +03:30
parsa aghaei
b5650c4cbb
feat(refill): map refill state in cartStore, clarify free loyalty 5% discount UX, and render Refill badges across full app and admin
2026-07-27 11:39:23 +03:30
parsa aghaei
d1802581eb
fix(dashboard): unify order status badge labels with details modal
2026-07-27 11:21:14 +03:30
parsa aghaei
dca72c768b
fix(invoice,order): display readable tracking ID, delay print dialog until images load, fix CANINA brand & nameFa, and add payment breakdown
2026-07-26 20:52:43 +03:30
parsa aghaei
a0145ffd9a
fix(pets): persist supplement consumptions array in usePetStore and update target pet on checkout
2026-07-26 20:44:55 +03:30
parsa aghaei
5be2b9693d
fix(dashboard): calculate total charity dynamically from order history and profile total
2026-07-26 20:41:14 +03:30
parsa aghaei
377ec7fb34
fix(orders,wallet): implement full-stack wallet deduction in PostgreSQL and sync charity donation total in user profile
2026-07-26 20:40:01 +03:30
parsa aghaei
55f5a5570c
fix(prisma,admin,auth): regenerate prisma client for isRefill, make charity round step configurable in admin, and fix root cause pet store reset
2026-07-26 20:32:15 +03:30
parsa aghaei
bdf8856883
fix(auth,checkout): add Axios 401/403 auto-logout response interceptor and fix charity round-up 10k exact math
2026-07-26 20:23:27 +03:30
parsa aghaei
72badb1a7b
fix(auth,backend): synchronize auth state across stores, reset guest profile data, and resolve backend spec compilation
2026-07-26 20:18:35 +03:30
parsa aghaei
4979d4120c
fix(checkout,orders,admin): resolve guest checkout address bug, persist refill and charity in DB, and fix admin media thumbnail cropping
2026-07-26 20:11:26 +03:30
parsa aghaei
989f77e106
fix(shop): map requiresRx in productService, enable backend query param filtering, and classify 11 prescription vs 24 OTC products
2026-07-26 20:03:45 +03:30
parsa aghaei
df6c56b1e8
fix(frontend): resolve dosage_logic property type check in CatalogClient.tsx
2026-07-26 19:54:22 +03:30
parsa aghaei
6932f091c4
feat(frontend): create user-facing interactive catalog page (/catalog) with PDF print exporter and remove internal PDF link
2026-07-26 19:53:34 +03:30
parsa aghaei
abf22cc18d
fix: sync db schema via prisma db push, add suppressHydrationWarning, and handle 401 profile errors gracefully
2026-07-26 19:46:36 +03:30
parsa aghaei
f6bc0b0e42
feat(frontend): wire PrescriptionUploadModal to media API and verify Next.js build
2026-07-26 19:30:21 +03:30
parsa aghaei
3cfa99766c
feat(frontend): integrate B2B wholesale license application form with NestJS API
2026-07-26 19:29:38 +03:30
parsa aghaei
b1027903d6
feat(frontend): map SmartAdvisor rules dynamically from backend API with medical rationale rendering
2026-07-26 19:24:50 +03:30
parsa aghaei
2ec77f0e1a
feat(frontend): connect VetGallery to live API testimonials and verify production build
2026-07-26 19:22:44 +03:30
parsa aghaei
0162bc7b6d
fix: resolve TypeScript build error in SmartAdvisor, wire live API products, and verify 3-app production build
2026-07-26 18:42:32 +03:30
parsa aghaei
a7abd9a389
feat: TASK-121 - add official Germany catalog dosage table link to SmartAdvisor
2026-07-26 16:19:46 +03:30
parsa aghaei
167983bbbb
feat: TASK-120 - add quick share dosage and product info button to ProductPage
2026-07-26 16:15:44 +03:30
parsa aghaei
9236a2b1ab
feat: TASK-119 - add sugar-free and gluten-free medical standards banner in IngredientWiki
2026-07-26 16:12:52 +03:30
parsa aghaei
4e1aa292ee
feat: TASK-118 - add storage conditions and contraindications bar to ProductPage
2026-07-26 16:10:07 +03:30
parsa aghaei
17372f9d4d
feat: TASK-117 - add official Germany catalog authenticity badge & hotline to CartDrawer
2026-07-26 16:08:22 +03:30
parsa aghaei
b2da0f9d70
feat: TASK-116 - add ticket support & veterinary online consultation tab to UserDashboard
2026-07-26 16:06:52 +03:30
parsa aghaei
5284717cfb
feat: TASK-115 - enhance dosage and treatment cost calculator in ProductPage
2026-07-26 16:04:39 +03:30
parsa aghaei
21ef2149ba
feat: TASK-114 - add official PDF catalog download link and authenticity badge to Footer & ProductPage
2026-07-26 15:25:46 +03:30
parsa aghaei
7e17f6840c
feat: TASK-113 - add CSV/Excel B2B wholesale price list export capability
2026-07-26 15:24:01 +03:30
parsa aghaei
201aebd2f5
feat: TASK-112 - implement PrescriptionUploadModal and Header direct prescription order button
2026-07-26 15:21:40 +03:30
parsa aghaei
72c126b9ca
feat: TASK-111 - add prescription and household supplement filters to ArchivePage
2026-07-26 15:19:54 +03:30
parsa aghaei
db3c18a433
feat(seo): enhance dynamic sitemap.ts generation with product slugs and fallbacks [TASK-110]
2026-07-26 14:59:12 +03:30
parsa aghaei
92d24c1ed9
feat(router): add streaming app/loading.tsx skeleton and global app/error.tsx boundary [TASK-108]
2026-07-26 14:57:06 +03:30
parsa aghaei
0f32ec62c1
refactor(images): replace raw img tags with next/image in SafeImage, VetGallery, and VideosPage [TASK-107]
2026-07-26 14:55:18 +03:30
parsa aghaei
01f4a7cf57
test(store): add Vitest unit test suite for cartStore discount, items, and coupon calculations [TASK-106]
2026-07-26 14:52:54 +03:30
parsa aghaei
228734c523
style(ui): redesign product cards & interactive visual elements with luxury glassmorphism [TASK-105]
2026-07-26 14:37:54 +03:30
parsa aghaei
3ab4541933
feat(wholesale): implement Bulk Order Matrix with role-based wholesale pricing display [TASK-104]
2026-07-26 14:36:53 +03:30
parsa aghaei
9122035784
feat(wholesale): add wholesale buyer authentication & license document upload form [TASK-103]
2026-07-26 14:35:27 +03:30
parsa aghaei
b690af9cc5
feat(wizard): connect recommendation algorithm with real products, calculate exact dosage, and allow instant cart add [TASK-102]
2026-07-26 14:33:34 +03:30
parsa aghaei
a8fb4ebd6f
feat(seo): implement dynamic metadata, OpenGraph, and Product JSON-LD structured data [TASK-101]
2026-07-26 14:31:12 +03:30
parsa aghaei
377ebd7257
fix(store): preserve local wallet balance and petId order mapping during fetchProfile sync
2026-07-26 13:17:00 +03:30
parsa aghaei
38e86d755b
fix(wallet, pet-profile): ensure wallet balance deduction and map petId in order history sync
2026-07-25 12:14:08 +03:30
parsa aghaei
6d6824c3ca
fix(checkout, profile, address): fix Google autocomplete attributes, wallet balance in checkout, order history and pet profile sync
2026-07-25 12:08:15 +03:30
parsa aghaei
a6ae1cf30a
fix(profile, checkout): redesign profile mobile layout tabs UX and fix wallet deduction API error
2026-07-25 11:54:11 +03:30
parsa aghaei
16ccd99010
fix(profile): prevent horizontal overflow and fix mobile layout in UserDashboard
2026-07-25 11:49:53 +03:30
parsa aghaei
68fbd7d183
fix(profile, image): fix wallet responsive layout on mobile and replace img tags with next/image
2026-07-25 11:47:19 +03:30
parsa aghaei
897867c633
fix: Resolve calculateDosage runtime TypeError in CheckoutPage
2026-07-25 11:42:00 +03:30
parsa aghaei
6638eaa10a
feat: Fix responsive layout breakdowns in UserDashboard profile sections
2026-07-25 11:40:21 +03:30
parsa aghaei
20a1b225c8
feat: Mobile header redesign, shop breadcrumbs fix, checkout address/wallet/contrast improvements and forgot password flow
2026-07-25 11:39:01 +03:30
parsa aghaei
c125da25ab
image tag updated for home page.
2026-07-22 18:43:22 +03:30
parsa aghaei
27ef5979aa
fix(ui): remove overflow-x-auto from breadcrumbs to eliminate unwanted scrollbar pill
Deploy Canina / deploy (push) Successful in 5m16s
2026-07-22 16:36:35 +03:30
parsa aghaei
51b661542a
style: standardize breadcrumbs and integrated back button across all pages (Archive, Product, Blog, Blog detail, Wiki)
2026-07-22 16:10:14 +03:30
parsa aghaei
3683a768a8
fix(blog): integrate back button into top breadcrumb bar for a cleaner minimalist hero layout
2026-07-22 16:04:12 +03:30
parsa aghaei
85b542e8b4
fix(blog): add breadcrumb navigation, align header text and back button neatly
2026-07-22 16:02:57 +03:30
parsa aghaei
13a3b1f405
fix(blog): reorder form elements to ensure email input is always first before submit button
2026-07-22 16:00:24 +03:30
parsa aghaei
54ef14f006
fix(blog): stack mobile newsletter input and submit button inside container cleanly
2026-07-22 15:59:03 +03:30
parsa aghaei
1a1d828358
feat(blog): complete ultra-premium redesign of science newsletter card
2026-07-22 15:55:51 +03:30
parsa aghaei
cd52ac2b7d
fix(blog): make newsletter input pill container expand to full width of description
2026-07-22 15:52:58 +03:30
parsa aghaei
6cd5e747de
fix(blog): stack newsletter icon/title, description, and horizontal pill input vertically with clean space
2026-07-22 15:51:45 +03:30
parsa aghaei
5b07ddbf8f
refactor(blog): rebuild science newsletter section with RTL text flow, Brand C logo badge, and integrated horizontal pill input
2026-07-22 15:48:18 +03:30
parsa aghaei
078f9ba1f2
fix(blog): fix newsletter card layout overflow and text clipping on medium screens
2026-07-22 15:46:30 +03:30
parsa aghaei
f367499a5c
feat(ui): refine desktop sticky buy box, redesign blog newsletter CTA, enhance wiki product cards padding, add symptom search & active filters bar
2026-07-22 15:44:50 +03:30
parsa aghaei
c7b944f5c4
fix(css): remove global overflow-x-hidden from html/body to restore native position sticky
2026-07-22 15:33:14 +03:30
parsa aghaei
00a217ee02
fix(ui): unify ingredients section border container and fix sticky header overflow parent
2026-07-22 15:30:54 +03:30
parsa aghaei
e1da54f2f5
fix(product): set explicit grid-cols-1 and w-full for perfect mobile layout alignment
2026-07-22 15:27:35 +03:30
parsa aghaei
5005f0e68f
fix(product): ensure 100% symmetrical grid width and centered element margins on mobile
2026-07-22 15:25:18 +03:30
parsa aghaei
12265c88e8
fix(product): ensure perfectly symmetrical left/right mobile container margins
2026-07-22 15:23:14 +03:30
parsa aghaei
0fa2b8c1d9
fix(ui): fix header sticky wrapper, increase footer bottom padding for buy bar, and balance mobile grid spacing
2026-07-22 15:21:30 +03:30
parsa aghaei
72a4073113
fix(wiki): wrap IngredientWiki in Suspense boundary for static prerendering
2026-07-22 15:16:51 +03:30
parsa aghaei
1c93aec1c9
fix(ui): refine mobile product details alignment, search overlay, remove full page loading, toast close button and dosage calculator layout
2026-07-22 15:16:00 +03:30
parsa aghaei
19c86c9955
fix(archive): add missing import for toPersian utility
2026-07-22 14:12:14 +03:30
parsa aghaei
913317809f
fix(mobile-ui): comprehensive mobile responsiveness, header, store filters, wiki scroll and checkout overhaul
2026-07-22 14:11:45 +03:30
parsa aghaei
0d805b0eb9
fix(cart): add missing toast import from sonner in CartDrawer
Deploy Canina / deploy (push) Successful in 1m48s
2026-07-21 14:28:03 +03:30
parsa aghaei
b0c9e9e88c
feat(cart): require authentication for Refill subscription and add explanatory subtext in CartDrawer
...
- Require guest users to log in via AuthModal when clicking the Refill subscription card
- Add clear descriptive label: 'ویژه اعضا - محاسبه هوشمند دوره مصرف و یادآوری پیامکی قبل از اتمام'
2026-07-21 14:27:21 +03:30
parsa aghaei
320ddad1e5
fix(profile): remove redundant top value proposition banner from PetProfile component
2026-07-21 14:21:49 +03:30
parsa aghaei
d560eb79a3
fix(header): restore getText and store hooks in Header component scope to fix ReferenceError
2026-07-21 14:20:38 +03:30
parsa aghaei
3e3372d01b
fix(header): attach dropdown mega menu to sub-navbar button & provide static categories fallback
...
- Ensure fallback categories & symptoms are populated immediately in state so menuItems is never empty
- Attach mega menu popup panel directly to the sub-navbar button for 800px-1224px screen range
2026-07-21 14:19:17 +03:30
parsa aghaei
99ebfea8d0
fix(header): introduce sub-nav bar for 800px-1224px range and move main nav to center above 1224px
...
- Below 800px: Hamburger drawer menu is used
- Between 800px and 1224px: Clean horizontal sub-navbar appears below main header row (no hamburger icon)
- Above 1224px (xl): Main navigation items return inline inside main header container centered perfectly
2026-07-21 14:17:38 +03:30
parsa aghaei
587407c39a
fix(header): update responsive breakpoints (2-row below 470px, 1-row above 470px, desktop nav at 1224px/xl)
...
- Show 2-row layout below 470px width, and automatically switch to single-row layout for viewports 470px and wider
- Shift desktop navigation menu items display breakpoint from 1024px (lg) to 1280px (xl / ~1224px) to prevent action button overflow on medium laptop screens
2026-07-21 14:13:58 +03:30
parsa aghaei
6618a81f33
fix(header-footer): re-structure mobile header into 2 rows and clean footer back-to-top button
...
- Place logo & brand title on row 1 and action buttons (search, login, cart) on row 2 for 100% width mobile clearance
- Remove duplicate inline back-to-top text link in footer and adjust floating button z-index & bottom offset
- Add whitespace-nowrap to footer links (درباره ما، تماس با ما، حریم خصوصی) to prevent line breaks
2026-07-21 14:10:12 +03:30
parsa aghaei
88b2fdbb14
fix(responsive): resolve header mobile overlap, stat box alignment, quality badge placement, and add back-to-top button
...
- Fix Header mobile logo/button overflow on 320px-375px screens by making logo text truncate gracefully & action buttons compact
- Make 3 hero stat boxes stay side-by-side in a 3-column grid with centered icons/text on mobile screens
- Adjust 'کیفیت / استانداردهای فوقدارویی' label position so it stays contained within the image boundaries without overflowing the screen
- Add interactive Back to Top button (both floating and footer button) for quick navigation
2026-07-21 14:06:37 +03:30
parsa aghaei
56515f24c6
style(responsive): enforce global overflow prevention and responsive layout integrity
...
- Add global overflow-x-hidden and max-w-[100vw] to prevent any unwanted horizontal scrollbars across all viewports
- Verify mobile drawer, grid cards, header, and calculator responsiveness from 320px to 1440px+
2026-07-21 14:01:03 +03:30
parsa aghaei
67444aa251
fix(calculator): implement dynamic weight-based dosage calculation for Welpenmilch & Welpenbrei
...
- Calculate dosage in grams per kg of puppy weight for Canina Welpenmilch (puppy milk powder) and Canina Welpenbrei (puppy porridge)
- Display exact water mixing ratio (e.g. 15g powder mixed with 45ml warm water) and calculate package duration reactively
2026-07-21 13:56:19 +03:30
parsa aghaei
fb23831640
fix(product): conditionally replace dosage calculator with topical usage notice for external care items
...
- Hide weight-based dosage calculator for topical/external care products (eye drops, paw balm, sprays, lotions)
- Show dedicated topical usage guide card explaining that dosage is independent of body weight
- Retain active dynamic weight calculator for all oral supplements (tablets, oils, gels, powders)
2026-07-21 13:52:59 +03:30
parsa aghaei
24ce3a44bf
fix(calculator): enhance dosage calculator reactivity for logged-in and guest users
...
- Automatically prefill pet weight and age if user has a registered pet profile
- Provide dynamic weight-based dosage calculation fallback for all products when browsing as guest
- Update daily dose, duration, and package longevity reactively upon slider and age button interactions
2026-07-21 12:52:05 +03:30
parsa aghaei
57cab6cbc2
feat(advisor): add 3-card value proposition section above SmartAdvisor on HomePage
...
- Explain why registering a pet profile is essential (dosage safety, clinical symptom matching, and refill reminders)
- Upgrade visual presentation with premium cards, micro-animations, and clear benefits on HomePage and /profile
2026-07-21 12:45:36 +03:30
parsa aghaei
53d239b2f2
feat(profile): integrate SmartAdvisor & clear value proposition banner on empty pet profile page
...
- Display informative header banner explaining why registering a pet profile is crucial for accurate supplement dosage, symptom matching, and refill tracking
- Directly embed the 4-step SmartAdvisor on /profile when no pets have been registered yet
2026-07-21 12:43:35 +03:30
parsa aghaei
78f0727e92
feat(advisor): refactor SmartAdvisor to a 4-step wizard separating symptoms and medical history
...
- Step 3: Current clinical symptoms (pain/limping, hair loss/itching, diarrhea/digestion, appetite loss, dental tartar, eye discharge, etc.)
- Step 4: Medical & surgical history (joint surgery, pregnancy/lactation, post-illness recovery, heart failure, parasite history)
- Merge symptoms and history into pet profile for hyper-accurate supplement recommendations
2026-07-21 12:39:30 +03:30
parsa aghaei
6d568d56ae
feat(symptoms): integrate full symptoms dictionary across SmartAdvisor, PetProfile, and Product Badges
...
- Expand SmartAdvisor options to include all clinical symptoms (joint pain, limp, diarrhea, hair loss, tartar, eye care, etc.)
- Dynamically match active pet symptoms against product symptoms in PetProfile recommended products engine
- Display specific symptom match badges (e.g. توصیه شده برای درد مفاصل لوسی) directly on product cards
2026-07-21 12:36:23 +03:30
parsa aghaei
ffa6da7978
fix(shop): load all filtered products automatically without manual pagination button
...
- Remove pagination limit cut-off so all matching products are displayed immediately
- Remove loadMore button for seamless full catalog browsing
2026-07-21 12:32:48 +03:30
parsa aghaei
22dc217534
fix(shop): update symptom filtering to OR logic instead of AND logic
...
- Allow users to select multiple symptoms and view products matching ANY of the selected symptoms
2026-07-21 12:29:03 +03:30
parsa aghaei
dc8a1bb079
fix(navigation): replace div click handlers with semantic Next.js Link components
...
- Convert product cards in ArchivePage, IngredientWiki, and SearchResultsPage to Next.js <Link>
- Support right-click / middle-click to open products in new tabs
- Display native target URL preview in browser status bar on hover
2026-07-21 12:27:58 +03:30
parsa aghaei
1b914d25a5
feat(wiki): add 100% complete ingredients coverage for all products
...
- Add polyglyceryl-4 caprate, carbomer, dextrose, lactose, vitamins A/C/D3/E/B-complex, minerals, excipients, and all plant/animal extracts across all 20+ products to scientificTerms.ts
- Fully support tooltips and wiki links for every ingredient item without exception
2026-07-21 12:23:37 +03:30
parsa aghaei
fcc738f25c
feat(wiki): add complete scientific terms dictionary for all product ingredients
...
- Add colloidal silver, retinol palmitate, grapefruit seed extract, bovine blood/serum, argan/walnut/rosehip oils, etc.
- Map all product ingredients across all categories to Wiki scientific terms
- Update IngredientWiki matching rules for 100% ingredient coverage
2026-07-21 12:19:56 +03:30