Commit Graph

37 Commits

Author SHA1 Message Date
parsa aghaei
3cdf51f056 feat(admin): add wholesale user verification & role upgrade capabilities [TASK-109] 2026-07-26 14:58:08 +03:30
parsa aghaei
fd45910387 feat(admin): implement live global search, fixed position sidebar, click-to-navigate dashboard cards, and new orders count badge on sidebar
Some checks failed
Deploy Canina / deploy (push) Failing after 2m37s
2026-07-15 19:33:33 +03:30
parsa aghaei
72650dba36 fix(admin/ui): resolve tooltip overlaps by opening downwards, fix layout shifts with fixed modal content height, and add getProductImageUrl helper to dynamically resolve hardcoded dev base image URLs 2026-07-15 18:26:58 +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
ac4813ebde feat(admin/seo): add Google SERP Simulator in SEO tab, View Online deep link in modal header & seed scientific taglines in database 2026-07-15 17:56:37 +03:30
parsa aghaei
8345410376 feat(admin): implement symptoms management in admin panel product form 2026-07-15 17:49:03 +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
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
a5b1b31ef8 ci: trigger deploy after SSH config fix
Some checks failed
Deploy Canina / deploy (push) Failing after 1s
2026-07-13 13:13:52 +00:00
DevOps
1b2040c880 fix: production URLs for admin panel, seed __dirname, nginx.conf
Some checks failed
Deploy Canina / deploy (push) Failing after 8m3s
2026-07-13 11:20:43 +00:00
parsa aghaei
5fe1b8f285 fix: move @import tailwindcss to top of index.css to restore styles on Vite 8
Some checks failed
Deploy Canina / deploy (push) Failing after 5m2s
2026-07-13 11:32:23 +03:30
parsa aghaei
60939f14ea chore: remove committed build artifacts (node_modules, dist, .next)
- Remove node_modules, dist, .next from git tracking
- Add .next and *.tsbuildinfo to .gitignore
- Remove Iranian mirrors from Dockerfiles (arvancloud.ir)
- Add npm ci step for dependency installation
- Ready for VPN-based internet access workflow
2026-07-12 13:24:33 +03:30
parsa aghaei
508356b8d3 feat: add Persian fonts, fix UI bugs, improve frontend quality
- Add local Persian fonts: Vazirmatn, Sahel, Shabnam, Lalezar, IranNastaliq
- Configure @font-face in globals.css with all font weights
- Set Vazirmatn as primary font, Lalezar for headings, Sahel for alt text
- Fix Hero image loading with crossOrigin and error fallback
- Fix SmartAdvisor disabled button contrast (WCAG compliance)
- Add visible labels for form inputs in SmartAdvisor step 1
- Fix UserDashboard null safety for walletBalance
- Fix announcement bar hydration mismatch (loading state guard)
- Fix UserDashboard null checks for profile fields
- Improve overall frontend robustness and data-loading guards
2026-07-11 19:48:43 +03:30
parsa aghaei
40d750ad4b fix: hero image configurable via uiText + seed no longer overwrites admin values
- Hero.tsx reads hero_image_url from uiText store first, falls back to banners then default
- Seed script now only creates keys that don't exist (no overwrite)
- Added hero_image_url key to seed + admin panel UI texts groups
- Reverted DEFAULT_TEXTS initialization (caused hydration mismatch)
- settingsStore back to empty init, fetchSettings populates from API
2026-07-11 18:25:59 +03:30
parsa aghaei
53301705da feat: add Media Manager page to admin panel
- Standalone gallery page at /media with grid view
- Upload via button, drag & drop, or Ctrl+V paste
- Delete and copy URL per image
- Full-size image preview modal
- File info (name, size, date)
- Search/filter by filename
2026-07-11 17:24:25 +03:30
parsa aghaei
1a0c98a34e feat: dynamic UI texts system + admin panel editor + Vazirmatn local font + bug fixes
- Add getText() system for all homepage sections (Header, Hero, FeaturedProducts, SmartAdvisor, VetGallery, Footer)
- Add UITexts admin page in frontend/admin-panel with search, group collapse, per-key save
- Add seed-ui-texts.ts with 102 texts in 9 groups
- Add local VazirmatnVariable.woff2 font, remove CDN + Inter references
- Fix hero image path, productService return type { data, meta }
- Fix ArchivePage pagination + CATEGORIES list + breadcrumbs
- Fix BlogPage/Wiki page links + brightness-0 invert removal
- Fix IngredientWiki search + product links + placeholder
- Fix all getProducts() callers for { data } destructuring
- Fix sitemap.ts, CartDrawer, B2BPortal, CheckoutPage type issues
- Add .gitignore for /fonts/ and /backend/uploads/
2026-07-11 17:19:55 +03:30
parsa aghaei
3aebb9e176 fix(admin): show original filename and selected state in image gallery
- Add filename label and upload date under each thumbnail in MediaSelector
- Highlight currently selected image with purple border and badge
- Add selectedUrl prop to MediaSelector for visual indication
- Show image filename in product form Media tab
- Add helper text for clipboard paste and gallery selection
2026-07-11 15:45:17 +03:30
parsa aghaei
7615aa0e51 fix: resolve seed encoding, search param, and wiki data source issues
- Fix seed-products.ts TS error (implicit any) and BOM handling
- Re-run full seed to restore correct Persian encoding in DB
- Fix productService query→search param mismatch
- Fix IngredientWiki hardcoded port 4000→use settingsStore
- Restore seed-products-data.json from git after accidental corruption
2026-07-11 15:40:49 +03:30
parsa aghaei
cd17a532d9 fix: resolve backend TS compilation errors, startup order, and add clipboard paste upload
- Fix products.service.ts: ingredients -> ingredientList (Prisma relation name)
- Fix seed-blogs.ts: template literal refactor (array join) to avoid esbuild parse error
- Fix seed-custom.ts: category string -> connectOrCreate relation
- Add start-dev.js: sequential startup (backend first, then frontends)
- Add Ctrl+V paste upload to admin MediaSelector component
- Create missing images/vets/ and images/slider/ directories
2026-07-11 13:51:12 +03:30
parsa aghaei
3dedc89ee1 تغییرات کلی در backend و frontend 2026-07-11 12:30:17 +03:30
1c07efcc91 design: update color palette to match official brand and add gold top banner 2026-07-10 17:30:01 +03:30
f69537a688 feat: rename brand from canina to canino across codebase 2026-07-10 16:32:31 +03:30
2851ef8a25 feat: complete backend swagger annotations, admin pages pagination, and frontend application fixes 2026-07-10 16:13:52 +03:30
82ab454647 Fix Admin panel categories modal, add error handling, enforce cursor-pointer globally 2026-06-12 21:57:09 +03:30
69502fc380 feat: implement advanced reports, pagination for all tables, global settings, and discounts modules 2026-06-12 16:28:06 +03:30
a7ebb8d792 feat: complete admin panel major functionalities including responsive layout, recharts, custom modals, inline editing, and loading states 2026-06-12 16:19:57 +03:30
ee041d4e52 fix: resolve Hyper-V reserved port collisions and Tailwind v4 CSS 2026-06-12 14:18:55 +03:30
fa7333e93f fix: update postcss config and lockfiles 2026-06-12 14:09:30 +03:30
d430a341f0 fix: resolve unclosed block in index.css 2026-06-12 14:00:36 +03:30
0b698859d9 fix: resolve linter error in products page 2026-06-12 13:41:06 +03:30
beb8317fad feat: add order management page 2026-06-12 13:36:54 +03:30
060dc39fdd feat: add product catalog management page 2026-06-12 13:36:17 +03:30
aea6fa4127 feat: add user management page 2026-06-12 13:35:42 +03:30
4dc8786847 feat: add admin login page 2026-06-12 13:35:05 +03:30
222581c6a3 feat: setup admin layout and base routing 2026-06-12 13:34:25 +03:30
7fcfbda8cd chore: configure tailwindcss for admin-panel 2026-06-12 13:30:25 +03:30
95887738ea chore: initialize admin-panel react project 2026-06-12 13:25:34 +03:30