Commit Graph

777 Commits

Author SHA1 Message Date
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
49049a7f78 trigger(ci): re-run deploy pipeline with updated ci-runner image
Some checks failed
Deploy Canina / deploy (push) Failing after 27s
2026-08-01 16:45:11 +03:30
parsa aghaei
f949b99705 fix(ci): update workflow image to node:20-alpine
Some checks failed
Deploy Canina / deploy (push) Failing after 2s
2026-08-01 16:40:31 +03:30
parsa aghaei
4f3db08bdb fix(ci): use node:20-alpine container with inline openssh-client installation
Some checks failed
Deploy Canina / deploy (push) Failing after 15s
2026-08-01 16:39:25 +03:30
parsa aghaei
5e08c8d23e chore: sync develop to main for CI/CD production release
Some checks failed
Deploy Canina / deploy (push) Failing after 15s
2026-08-01 16:29:39 +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
8b1c8d4053 feat: sync mobile UI, searchable selects, zip code, trust-seals header fix to main 2026-08-01 12:41:55 +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
b96379b88b fix(build): sync PRODUCTS import fix to main
All checks were successful
Deploy Canina / deploy (push) Successful in 2m22s
2026-08-01 11:39:39 +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
c9a9a18c83 feat(checkout): sync checkout payment & address UI polish to main
Some checks failed
Deploy Canina / deploy (push) Failing after 42s
2026-08-01 11:38:45 +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
d85e2f1d32 fix(build): sync Dockerfile vite build fix to main
Some checks failed
Deploy Canina / deploy (push) Failing after 4m47s
2026-08-01 11:23:11 +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
d5507d432d feat(payment): sync eNamad & card-to-card payment methods to main
All checks were successful
Deploy Canina / deploy (push) Successful in 2m19s
2026-08-01 11:15:43 +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
95e488baaa fix(lint): sync clean types and imports to main
All checks were successful
Deploy Canina / deploy (push) Successful in 1m54s
2026-07-29 16:45:13 +03:30
parsa aghaei
2de442dbae fix(lint): clean up type definitions and missing imports
Some checks failed
Deploy Canina / deploy (push) Failing after 30m46s
2026-07-29 16:44:53 +03:30
parsa aghaei
f0329d8b5b fix(admin): sync product update & image URL features to main
Some checks failed
Deploy Canina / deploy (push) Failing after 1m1s
2026-07-29 16:42:30 +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
893280dc2c fix(deploy): sync force-recreate fix to main
All checks were successful
Deploy Canina / deploy (push) Successful in 46s
2026-07-29 16:16:02 +03:30
parsa aghaei
3162fe2a7a fix(deploy): use --force-recreate in docker compose up
All checks were successful
Deploy Canina / deploy (push) Successful in 46s
2026-07-29 16:15:40 +03:30
parsa aghaei
a8dd6efddb fix(deploy): sync deploy.sh container conflict fix to main
Some checks failed
Deploy Canina / deploy (push) Failing after 12s
2026-07-29 16:08:08 +03:30
parsa aghaei
b115c971f5 fix(deploy): use --remove-orphans in docker compose up to avoid container name conflicts
All checks were successful
Deploy Canina / deploy (push) Successful in 47s
2026-07-29 16:07:43 +03:30
parsa aghaei
a767e9a6b8 merge: sync develop fixes into main
Some checks failed
Deploy Canina / deploy (push) Failing after 9m25s
2026-07-29 15:55:50 +03:30
parsa aghaei
bf60df34ef fix(seed): safely handle blog upsert in try-catch block
All checks were successful
Deploy Canina / deploy (push) Successful in 2m6s
2026-07-29 15:49:39 +03:30
parsa aghaei
84d9ed3a9d perf(docker): replace slow RUN chown -R with fast COPY --chown in backend Dockerfile 2026-07-29 15:48:26 +03:30
parsa aghaei
62bd8811fa style: apply standard ESLint & Prettier formatting across backend
All checks were successful
Deploy Canina / deploy (push) Successful in 4m58s
2026-07-29 15:41:53 +03:30
parsa aghaei
ae636c8b03 fix(seed): add explicit String casting for ingredient and symptom loop items to satisfy TypeScript compiler 2026-07-29 15:40:44 +03:30
parsa aghaei
3ede3c31f9 fix(seed): format seed-products.ts with Prettier and add type annotations for ESLint 2026-07-29 15:40:01 +03:30
parsa aghaei
ddf2bafb3c fix(seed): deduplicate ingredients and symptoms to ensure clean database seeding 2026-07-29 15:38:15 +03:30
parsa aghaei
8a6afa10d8 fix(seed): remove duplicate out-of-scope code in seed-products.ts
Some checks failed
Deploy Canina / deploy (push) Has been cancelled
2026-07-29 15:23:14 +03:30
parsa aghaei
7fd7140c9c merge: sync develop fixes to main for production deployment 2026-07-29 15:22:04 +03:30
parsa aghaei
e1fb300b87 fix(seed): handle duplicate product barcodes safely with try-catch in seed-products.ts
Some checks failed
Deploy Canina / deploy (push) Has been cancelled
2026-07-29 15:21:41 +03:30
parsa aghaei
485c6bfec6 fix(prisma): add dedicated tsconfig.seed.json for clean cross-platform seeding
All checks were successful
Deploy Canina / deploy (push) Successful in 5m57s
2026-07-29 14:36:20 +03:30
parsa aghaei
782720d86d fix: use ts-node transpile-only with CJS override for seed (no new packages)
All checks were successful
Deploy Canina / deploy (push) Successful in 10m25s
- Remove tsx (Nexus doesn't have it cached - causes E404)
- Use ts-node --transpile-only --compiler-options with module:CommonJS
  to bypass nodenext ESM cycle issue without any new dependencies
- Copy tsconfig.json to runtime container for ts-node compatibility
2026-07-29 14:21:58 +03:30
parsa aghaei
813f5d7bc6 fix: use tsx for prisma seed to resolve ESM/CJS cycle in Node 20
Some checks failed
Deploy Canina / deploy (push) Failing after 41s
- Replace ts-node/esm loader with tsx which handles nodenext module natively
- tsx avoids ERR_REQUIRE_CYCLE_MODULE with Prisma client ESM/CJS interop
- Add tsx ^4.19.0 as devDependency
2026-07-29 14:14:20 +03:30
parsa aghaei
776829e099 fix: seed command ESM compatibility and CI/CD timeout increase
All checks were successful
Deploy Canina / deploy (push) Successful in 10m5s
- Fix prisma seed command: use node --loader ts-node/esm (nodenext module needs ESM loader)
- Increase CI/CD timeout from 15m to 40m to accommodate Docker build + VPN time
- Prisma env vars already in compose files for OpenSSL 3.0.x binary selection
2026-07-29 14:00:00 +03:30
parsa aghaei
431e2b547d fix: Prisma OpenSSL engine binary detection on Alpine
All checks were successful
Deploy Canina / deploy (push) Successful in 34s
- Set PRISMA_SCHEMA_ENGINE_BINARY to 3.0.x binary path
- Set PRISMA_QUERY_ENGINE_LIBRARY to 3.0.x library path
- node:20-alpine has libssl.so.3 but no openssl CLI binary
- Prisma detection fails silently, defaults to 1.1.x engines
- Explicit paths bypass detection and use correct binaries
- Remove apk add openssl (not needed, causes build failure without VPN)
- backend Dockerfile: use PRISMA_CLI_BINARY_TARGETS to generate correct client
2026-07-29 09:21:39 +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
ee65d87899 fix(prisma): export main in seed modules and execute directly in seed.ts 2026-07-28 16:36:30 +03:30
devops
cb08843956 test: trigger CI/CD stage deployment
Some checks failed
Deploy Canina / deploy (push) Failing after 9s
2026-07-28 06:41:45 +00:00