Commit Graph

68 Commits

Author SHA1 Message Date
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 23:02:07 +03:30
parsa aghaei
aac0716046 feat: complete all section 26 backlog tasks including pet image upload [TASK-26.18]
Some checks are pending
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]
Some checks are pending
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
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
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
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
426334e27f feat(checkout): add copy buttons for card info, province/city dropdowns, and wallet top-up button
Some checks failed
Deploy Canina / deploy (push) Has been cancelled
2026-08-01 11:37:04 +03:30
parsa aghaei
a3291cc468 feat(agency): implement Farsi error handling, trust seals page, and MeliPayamak SMS integration
Some checks failed
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
All checks were successful
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
Some checks failed
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
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
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
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
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
72c126b9ca feat: TASK-111 - add prescription and household supplement filters to ArchivePage 2026-07-26 15:19:54 +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
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
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
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
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
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
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
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
4d14885feb feat: complete currency, font, new pages, footer logo, dynamic PDP layout and custom dosage titles 2026-07-14 20:03:25 +03:30
devops
8d6d7d6a53 fix: remove all localhost:4001 refs, use apicanina.parsaaghayi.ir as fallback
All checks were successful
Deploy Canina / deploy (push) Successful in 1m8s
2026-07-14 12:52:59 +00:00