Commit Graph

335 Commits

Author SHA1 Message Date
parsa aghaei
5ec99155c4 fix(admin,frontend): fix hydration mismatch, admin UI texts sync, and product image resolution
Some checks failed
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
Some checks are pending
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
Some checks are pending
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
Some checks failed
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
Some checks failed
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)
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
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
f70c1fe3c2 feat(admin): implement Phase B management modules based on frontend integration contract
Some checks failed
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
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
9c334c39ae refactor(application): restore RSC root layout, add server-side data fetching, and use granular Zustand selectors
Some checks failed
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 22:55:54 +03:30
102494cef0 import for useeffect added to sidebar
Some checks failed
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
Some checks failed
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
Some checks failed
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.
Some checks failed
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]
Some checks failed
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
Some checks are pending
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]
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
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
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
Some checks are pending
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]
Some checks failed
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
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