parsa aghaei
2fca778930
feat: complete payment retry, reviews system, catalog mode enforcement, and UI text defaults
Deploy Canina / deploy (push) Successful in 1m48s
2026-08-17 09:01:33 +03:30
parsa aghaei
e1b035d6dd
fix(prisma,api): execute ddl statements individually to fix P2021 error and eliminate duplicate toast notifications across app and admin panel
Deploy Canina / deploy (push) Successful in 1m47s
2026-08-16 19:41:21 +03:30
parsa aghaei
13300236f3
fix(dashboard,checkout): reuse PetProfile in user dashboard tabs and fix mobile horizontal overflow on checkout
Deploy Canina / deploy (push) Successful in 1m35s
2026-08-16 19:32:49 +03:30
parsa aghaei
884b0486cc
fix(all): auto-create ticket tables, multi-tier otp rate limiting, packaged order status & badges, pet kindness footprint
Deploy Canina / deploy (push) Successful in 1m46s
2026-08-16 19:19:20 +03:30
parsa aghaei
d9254e9b01
fix(all): resolve wallet callback validation, card-to-card conditional rendering, pet management tab, withdrawal settings, smart advisor loop, reports chart and announcement config
Deploy Canina / deploy (push) Successful in 1m47s
2026-08-16 19:05:03 +03:30
parsa aghaei
b807d25632
fix: resolve admin orders re-fetching loop and update order confirmation SMS pattern args structure
Deploy Canina / deploy (push) Successful in 40s
2026-08-16 18:32:49 +03:30
parsa aghaei
b527befe4a
fix: resolve wallet topup callback and verify flow, fix admin orders BigInt serialization 500 error, and fix reactive B2B settings toggle
Deploy Canina / deploy (push) Successful in 1m41s
2026-08-16 18:20:46 +03:30
parsa aghaei
42707c04cf
feat: complete tickets & vet consultation, fix wallet balance overflow, b2b toggle, and transaction manual verification
Deploy Canina / deploy (push) Successful in 1m51s
2026-08-16 18:01:43 +03:30
parsa aghaei
1aa9d6e34d
fix(orders): resolve 500 error in order creation by fixing orderItems payload and prevent premature wallet deduction
Deploy Canina / deploy (push) Successful in 1m43s
2026-08-16 17:04:23 +03:30
parsa aghaei
2e217ebe3d
fix(auth): improve OTP autofill DOM binding, event listeners, and WebOTP compatibility
Deploy Canina / deploy (push) Successful in 1m31s
2026-08-16 16:58:51 +03:30
parsa aghaei
8d1b786a24
chore(brand): rename all Persian occurrences of کانینا to کنینا across the project
Deploy Canina / deploy (push) Successful in 1m50s
2026-08-16 16:40:08 +03:30
parsa aghaei
cbd7e1a24d
feat(auth): implement WebOTP SMS auto-fill, auto-submit, password setup in dashboard, and password visibility toggle
2026-08-16 16:37:59 +03:30
parsa aghaei
ad854a717b
feat(admin): implement complete User CRUD with create, edit, delete, and direct wallet adjust capabilities
Deploy Canina / deploy (push) Successful in 1m53s
2026-08-16 15:16:47 +03:30
parsa aghaei
fd5eb9dd1d
feat(admin): add comprehensive SSL certificate management page with shamsi/gregorian validity, live domain tester, and live Traefik volume sync
Deploy Canina / deploy (push) Successful in 41s
2026-08-16 14:23:07 +03:30
parsa aghaei
5c13dd2f29
fix(app): ensure api baseURL resolves properly during SSR build
Deploy Canina / deploy (push) Successful in 2m50s
2026-08-16 13:06:50 +03:30
parsa aghaei
b161ecf815
feat(canina): implement multi-select bulk media delete, fix logo clipping, fix blog API URLs, and improve dosage labels
2026-08-16 13:06:32 +03:30
parsa aghaei
7e403bd53e
feat(catalog): implement luxury 3D RTL flipbook catalog with complete A4 PDF export and responsive height
Deploy Canina / deploy (push) Successful in 1m35s
2026-08-16 12:51:06 +03:30
parsa aghaei
6e98b8779d
feat(payment): add raw logs, IP/UA capture, exponential backoff, inventory hold, IPaymentGateway interface and admin health check
Deploy Canina / deploy (push) Successful in 1m53s
2026-08-16 12:24:20 +03:30
parsa aghaei
5ace474d71
feat(payment): add Idempotency guard, Amount Match check, auto Inquiry reconciliation and comprehensive Admin Transaction Logs management
Deploy Canina / deploy (push) Successful in 2m16s
2026-08-16 12:08:50 +03:30
parsa aghaei
d8c6aa8d8e
feat(sms,admin): implement full sms logging, tracking, filtering, and analytics system
2026-08-16 11:55:50 +03:30
parsa aghaei
0934b4f3af
feat(admin,sms): implement full pattern management CRUD and live binding directly from admin panel
2026-08-16 11:52:13 +03:30
parsa aghaei
09fd339e89
feat(admin,sms): add dynamic sms settings management and live tester in admin panel
2026-08-16 11:48:40 +03:30
parsa aghaei
8992060cb7
feat(payment): implement Zibal IPG payment gateway integration, admin merchant configuration and verification page
Deploy Canina / deploy (push) Successful in 3m28s
2026-08-16 11:40:24 +03:30
parsa aghaei
b7e17aca1d
trying to add graphify to project
2026-08-16 10:55:35 +03:30
parsa aghaei
873376be26
fix(media): fix broken image URLs after deploy - add API domains to next.config and resolve relative /uploads/ paths with backend base URL
2026-08-15 18:43:56 +03:30
parsa aghaei
e85931508a
fix: resolve admin settings route conflict and remove logout button from sidebar (TASK-7A, TASK-7B)
Deploy Canina / deploy (push) Successful in 48s
2026-08-15 18:09:11 +03:30
parsa aghaei
4b37652a18
fix(frontend): exclude prisma from application tsconfig and enhance dockerignore
Deploy Canina / deploy (push) Has been cancelled
2026-08-15 16:28:51 +03:30
parsa aghaei
5ec99155c4
fix(admin,frontend): fix hydration mismatch, admin UI texts sync, and product image resolution
Deploy Canina / deploy (push) Failing after 1s
2026-08-15 15:16:04 +03:30
parsa aghaei
4e304944ef
feat(prescriptions & auth): auto-create user and pet profile on prescription submit, validate mobile numbers with regex, allow public upload and auto-reset form state
Deploy Canina / deploy (push) Waiting to run
2026-08-09 09:59:55 +03:30
parsa aghaei
b617331683
fix(analytics, prescription, hydration): filter out admin/static asset requests from view counter, support guest prescription upload with fallback UI, and unify Hero component fallbacks with database defaults
Deploy Canina / deploy (push) Waiting to run
2026-08-09 09:47:51 +03:30
parsa aghaei
3e21aefbf1
fix(linter & types): resolve all ESLint warnings/errors and TypeScript type issues across backend and frontend projects
Deploy Canina / deploy (push) Has been cancelled
2026-08-08 19:31:41 +03:30
parsa aghaei
df47e66b51
feat(database/wiki): seed prisma.ingredient table and remove client-side hardcoded fallback list for 100% dynamic API rendering
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 19:17:13 +03:30
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
00e0d61d96
fix(admin-panel): fix partner accounts API endpoint URL in B2BManager.tsx to /b2b/partners
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 19:08:44 +03:30
parsa aghaei
e190d3f744
fix(admin-auth & contact): persist admin token in localStorage and allow ADMIN role on contact submission endpoints
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 18:57:43 +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
9e233bee27
fix(admin/b2b): add GET /b2b/partners endpoint and update B2BManager fetch path to fix 404 error
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:30:42 +03:30
parsa aghaei
43cf55a8ef
fix(admin): resolve GET/PUT /admin/settings 404, videos.map crash, and remove legacy CMS sidebar link
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:26:05 +03:30
parsa aghaei
713a714dd2
fix(admin-panel): add RTL direction to Toaster and skip refresh when unauthenticated
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:18:27 +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
f70c1fe3c2
feat(admin): implement Phase B management modules based on frontend integration contract
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 23:58:10 +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
102494cef0
import for useeffect added to sidebar
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 22:33:12 +03:30
ad3f149789
feat(devops,docs,verify): implement Phase 4 CI pipeline, OpenAPI synchronization, and E2E verification matrix
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 22:27:56 +03:30
27abaa3e05
fix(admin): use type-only import for ComponentType in adminRoutes.tsx
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 22:05:21 +03:30
eaa2621a17
feat(admin): implement Phase 3 Admin SPA Router and Dual-Token Auth integration
2026-08-06 22:02:39 +03:30
parsa aghaei
6f04474195
md file deleted.
Deploy Canina / deploy (push) Failing after 28s
2026-08-05 16:00:54 +03:30
parsa aghaei
bac9a02c49
fix(reports): add optional value property to TopCouponItem interface [TASK-26.20]
Deploy Canina / deploy (push) Failing after 27s
2026-08-05 15:48:51 +03:30
parsa aghaei
053d6f06d8
fix(types): resolve type errors in ReportData, SmsService, and GetProductsDto
Deploy Canina / deploy (push) Waiting to run
2026-08-05 15:48:11 +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
070c68e4c9
feat(admin): complete full user management page with detail modal and profile edit [TASK-25.3]
2026-08-05 14:28:42 +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
b6453d05b9
fix(admin): fix Topbar profile dropdown and logout action [TASK-26.1]
Deploy Canina / deploy (push) Failing after 28s
2026-08-03 17:23:16 +03:30
parsa aghaei
71ff923d35
fix(admin): relocate dosage logic to general tab & clean up syntax
2026-08-03 16:53:40 +03:30
parsa aghaei
c6aa77f7c9
feat(admin): add product buy price field, dual price/percentage margin calculator, and security sanitization [TASK-BUYPRICE]
2026-08-03 12:04:27 +03:30
parsa aghaei
38261c2f76
fix(admin): update Category resolution type check in Products.tsx
2026-08-03 12:02:46 +03:30
parsa aghaei
68c7656964
fix(admin): safely resolve category name for Category | string union type on product list row
2026-08-03 12:00:27 +03:30
parsa aghaei
bf213bb05d
fix(admin): resolve mediaImageError state and category name type errors in Products.tsx
2026-08-03 11:58:06 +03:30
parsa aghaei
262c759055
fix(admin): use onMouseDown for symptom autocomplete options to prevent focus blur loss
2026-08-03 11:55:47 +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
9cc1b74d72
feat(admin): add Info Tooltips and flexible discount rule settings to Coupons manager [TASK-23.1, TASK-24.1]
2026-08-03 11:52:32 +03:30
parsa aghaei
c3ca9ccaa2
feat(admin): support dual URL link and Media Manager picker for multimedia attachments [TASK-22.1]
2026-08-03 11:51:48 +03:30
parsa aghaei
8505081b2e
feat(admin): add selective auto-complete symptoms tagging to product editor [TASK-20.1]
2026-08-03 11:50:39 +03:30
parsa aghaei
e30452d6cb
feat(admin): add Dosage Calculator Fields logic builder in product editor [TASK-18.1]
2026-08-03 11:49:58 +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
d784f3fcc7
feat(admin): update dashboard real analytics & wiki related products (TASK-2.21, TASK-2.22, TASK-2.23)
2026-08-02 09:28:17 +03:30
parsa aghaei
03d7bb2f68
feat(admin): add topbar user profile dropdown & realtime notifications (TASK-2.17, TASK-2.19, TASK-2.20)
2026-08-02 09:26:56 +03:30
parsa aghaei
88521c6bac
feat(settings): add Maintenance Mode, Catalog Mode, Brand Identity & UI Text management (TASK-2.14, TASK-2.15, TASK-2.16)
2026-08-02 09:26:06 +03:30
parsa aghaei
38c1e287dc
feat(admin): pagination in media gallery & standard reusable components (TASK-2.8, TASK-2.10, TASK-2.12)
2026-08-02 09:25:01 +03:30
parsa aghaei
e2e9615bd8
feat(media): implement persistent storage & media SEO fields (altText, title, description, caption) (TASK-2.5, TASK-2.6)
2026-08-02 09:23:30 +03:30
parsa aghaei
357fb73d5e
feat(product): add product gallery images and multimedia fields podcastUrl/videoUrl/pdfUrl (TASK-2.2, TASK-2.3, TASK-2.4)
2026-08-02 09:21:27 +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
2ce24b0473
fix(admin): cleanup price display input, upgrade pagination component and extend roles guard for CMS & B2B
2026-08-01 18:30:14 +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
05fe9b5594
fix(build): add devDependencies flag to Dockerfile for vite build
Deploy Canina / deploy (push) Successful in 4m56s
2026-08-01 11:22:55 +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
9c8286c63f
fix(admin): resolve 500 on missing product update and add direct image URL & paste support
Deploy Canina / deploy (push) Has been cancelled
2026-07-29 16:42:23 +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
24c361c4ff
feat(admin): overhaul orders management page with interactive modal, postal tracking code editor, inline status selector and invoice print
2026-07-27 11:27:47 +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
510c2f90de
feat(admin): add WholesaleApplications page for B2B clinic license review and role approval
2026-07-26 19:37:01 +03:30
parsa aghaei
a999627d28
feat(admin): build CMS management page for dynamic Hero Banners and Vet Testimonials
2026-07-26 19:31: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
3cdf51f056
feat(admin): add wholesale user verification & role upgrade capabilities [TASK-109]
2026-07-26 14:58:08 +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
parsa aghaei
f762105f09
fix(wiki): enhance wiki ingredient deep-linking and tooltip legibility
...
- Add term query param handling to IngredientWiki with smooth scroll and target highlight
- Fix Tooltip dark box contrast and click event propagation for study full article button
- Improve ingredient fuzzy matching in ProductPage for complete wiki term linking
2026-07-21 12:09:31 +03:30
parsa aghaei
fd45910387
feat(admin): implement live global search, fixed position sidebar, click-to-navigate dashboard cards, and new orders count badge on sidebar
Deploy Canina / deploy (push) Failing after 2m37s
2026-07-15 19:33:33 +03:30
parsa aghaei
72650dba36
fix(admin/ui): resolve tooltip overlaps by opening downwards, fix layout shifts with fixed modal content height, and add getProductImageUrl helper to dynamically resolve hardcoded dev base image URLs
2026-07-15 18:26:58 +03:30
parsa aghaei
4860a0e2e3
feat(admin/seo): sticky google SERP simulator, tooltip hints on all fields, broken image layout fix, dynamic view online url helper and map slug parameter in application
2026-07-15 18:17:44 +03:30
parsa aghaei
ac4813ebde
feat(admin/seo): add Google SERP Simulator in SEO tab, View Online deep link in modal header & seed scientific taglines in database
2026-07-15 17:56:37 +03:30
parsa aghaei
8345410376
feat(admin): implement symptoms management in admin panel product form
2026-07-15 17:49:03 +03:30
parsa aghaei
717a61a225
fix(database): fix baseSlug format in products seed to populate product symptoms successfully + format cleanup in ArchivePage
2026-07-15 17:46:27 +03:30
parsa aghaei
6dafe86344
feat: full symptoms filtering system — backend API, megamenu pills, sidebar server-side filter, PDP tags
2026-07-15 15:03:09 +03:30
parsa aghaei
4676f3a592
feat: phase2 - split product names (nameFa/nameEn) across frontend cards, admin panel, search, and cart
2026-07-15 14:33:31 +03:30
parsa aghaei
1d9b699d61
feat: implement dynamic category solutions in MegaMenu navigation and convert static footer buttons to Next.js links
2026-07-15 13:53:23 +03:30
parsa aghaei
0ccf37f922
feat: implement fully dynamic filter sidebar in backend getActiveFilters and frontend ArchivePage mapping with URL sync
2026-07-15 13:49:13 +03:30
parsa aghaei
2745125c5b
fix: add comfortable right padding pr-4 to search input
2026-07-15 13:39:56 +03:30
parsa aghaei
40c9618ddf
fix: fine-tune search capsule border alignment and fix RTL placeholder text using unicode ellipsis
2026-07-15 13:36:52 +03:30
parsa aghaei
24bf530e50
fix: redesign header search bar input, button borders, logo alignment, and copywriting details
2026-07-15 13:35:10 +03:30
parsa aghaei
7d93a8d7c2
fix: replace desktop and mobile onClick navigation handlers with standard next/link components in Header.tsx
2026-07-15 13:30:27 +03:30
parsa aghaei
565ef70840
fix: replace onClick router.push navigation with standard next/link components for SEO accessibility
2026-07-15 12:43:20 +03:30
parsa aghaei
4dfe36b882
fix: complete Technical SEO and Semantic HTML improvements across all routes and layout
2026-07-15 12:29:38 +03:30
parsa aghaei
27ac668e42
fix: re-seed database with exact official PDF catalog details, prices, Farsi categories, and short descriptions, and remove frontend slicing fallbacks
2026-07-15 12:18:58 +03:30
parsa aghaei
7bc4ca137e
fix: refine FeaturedProducts layout, remove shield icon, position tag independently, enlarge product image, and display full first sentence in description
2026-07-15 12:11:16 +03:30
parsa aghaei
8d3a0bfafb
fix: resolve title overlap and expand short description display in FeaturedProducts cards
2026-07-15 12:05:05 +03:30
parsa aghaei
a92b1a61ff
fix: resolve footer email typo, unify assistant naming, add German scientific team context, add tooltips definitions, and optimize homepage featured products category diversity
2026-07-15 11:58:47 +03:30
parsa aghaei
67d6f71d7a
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
2026-07-15 11:51:10 +03:30
parsa aghaei
cf705ea121
style: improve health advisor UX, fix broken thumbnails, add Persian equivalents to product names for SEO, and refine card title alignments
2026-07-15 11:40:39 +03:30
parsa aghaei
711fb414ab
footer style updated
Deploy Canina / deploy (push) Successful in 1m26s
2026-07-14 20:46:41 +03:30
parsa aghaei
2b36173e32
design: bold address labels and submenus in footer, change authenticity badge to Lalezar font and increase size
2026-07-14 20:44:31 +03:30
parsa aghaei
36aebb13d6
design: update footer font classes to use Lalezar for titles and Shabnam for all other texts
2026-07-14 20:40:56 +03:30
parsa aghaei
f65b95bd5c
design: explicitly inject font-vazir to the bottom copyright and link containers inside Footer.tsx to force correct font family rendering
2026-07-14 20:37:05 +03:30
parsa aghaei
b42e8ce97d
design: fix contrast accessibility for footer captions, copyright text, bottom menus, and vertical alignment of authenticity seal badge
2026-07-14 20:34:55 +03:30
parsa aghaei
2402efac15
design: redesign dual landing cards with rich thematic background gradients and fix footer contrast accessibility issues
2026-07-14 20:31:33 +03:30
parsa aghaei
452e3d49ee
feat: complete homepage UI/UX redesign including Hero buttons, stats icons, SmartAdvisor selectors, balanced dual cards, and VetGallery duplicate thumbnails fix
2026-07-14 20:25:40 +03:30