Commit Graph

284 Commits

Author SHA1 Message Date
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
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
05fe9b5594 fix(build): add devDependencies flag to Dockerfile for vite build
All checks were successful
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
Some checks failed
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
Some checks failed
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
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
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
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