Commit Graph

211 Commits

Author SHA1 Message Date
parsa aghaei
ce30ade808 feat: complete all remaining backlog tasks 25.1 to 25.14
Some checks are pending
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
Some checks are pending
Deploy Canina / deploy (push) Waiting to run
2026-08-05 14:17:13 +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
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
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
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
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
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
Some checks failed
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
Some checks failed
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
All checks were successful
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
Deploy Canina / deploy (push) Has been cancelled
2026-07-29 16:40:42 +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
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
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
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
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
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
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
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
27ef5979aa fix(ui): remove overflow-x-auto from breadcrumbs to eliminate unwanted scrollbar pill
All checks were successful
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
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
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
All checks were successful
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