Commit Graph

499 Commits

Author SHA1 Message Date
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
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
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
c7b944f5c4 fix(css): remove global overflow-x-hidden from html/body to restore native position sticky 2026-07-22 15:33:14 +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
72a4073113 fix(wiki): wrap IngredientWiki in Suspense boundary for static prerendering 2026-07-22 15:16:51 +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
parsa aghaei
88b2fdbb14 fix(responsive): resolve header mobile overlap, stat box alignment, quality badge placement, and add back-to-top button
- Fix Header mobile logo/button overflow on 320px-375px screens by making logo text truncate gracefully & action buttons compact
- Make 3 hero stat boxes stay side-by-side in a 3-column grid with centered icons/text on mobile screens
- Adjust 'کیفیت / استانداردهای فوق‌دارویی' label position so it stays contained within the image boundaries without overflowing the screen
- Add interactive Back to Top button (both floating and footer button) for quick navigation
2026-07-21 14:06:37 +03:30
parsa aghaei
56515f24c6 style(responsive): enforce global overflow prevention and responsive layout integrity
- Add global overflow-x-hidden and max-w-[100vw] to prevent any unwanted horizontal scrollbars across all viewports
- Verify mobile drawer, grid cards, header, and calculator responsiveness from 320px to 1440px+
2026-07-21 14:01:03 +03:30
parsa aghaei
67444aa251 fix(calculator): implement dynamic weight-based dosage calculation for Welpenmilch & Welpenbrei
- Calculate dosage in grams per kg of puppy weight for Canina Welpenmilch (puppy milk powder) and Canina Welpenbrei (puppy porridge)
- Display exact water mixing ratio (e.g. 15g powder mixed with 45ml warm water) and calculate package duration reactively
2026-07-21 13:56:19 +03:30
parsa aghaei
fb23831640 fix(product): conditionally replace dosage calculator with topical usage notice for external care items
- Hide weight-based dosage calculator for topical/external care products (eye drops, paw balm, sprays, lotions)
- Show dedicated topical usage guide card explaining that dosage is independent of body weight
- Retain active dynamic weight calculator for all oral supplements (tablets, oils, gels, powders)
2026-07-21 13:52:59 +03:30
parsa aghaei
24ce3a44bf fix(calculator): enhance dosage calculator reactivity for logged-in and guest users
- Automatically prefill pet weight and age if user has a registered pet profile
- Provide dynamic weight-based dosage calculation fallback for all products when browsing as guest
- Update daily dose, duration, and package longevity reactively upon slider and age button interactions
2026-07-21 12:52:05 +03:30
parsa aghaei
57cab6cbc2 feat(advisor): add 3-card value proposition section above SmartAdvisor on HomePage
- Explain why registering a pet profile is essential (dosage safety, clinical symptom matching, and refill reminders)
- Upgrade visual presentation with premium cards, micro-animations, and clear benefits on HomePage and /profile
2026-07-21 12:45:36 +03:30
parsa aghaei
53d239b2f2 feat(profile): integrate SmartAdvisor & clear value proposition banner on empty pet profile page
- Display informative header banner explaining why registering a pet profile is crucial for accurate supplement dosage, symptom matching, and refill tracking
- Directly embed the 4-step SmartAdvisor on /profile when no pets have been registered yet
2026-07-21 12:43:35 +03:30
parsa aghaei
78f0727e92 feat(advisor): refactor SmartAdvisor to a 4-step wizard separating symptoms and medical history
- Step 3: Current clinical symptoms (pain/limping, hair loss/itching, diarrhea/digestion, appetite loss, dental tartar, eye discharge, etc.)
- Step 4: Medical & surgical history (joint surgery, pregnancy/lactation, post-illness recovery, heart failure, parasite history)
- Merge symptoms and history into pet profile for hyper-accurate supplement recommendations
2026-07-21 12:39:30 +03:30
parsa aghaei
6d568d56ae feat(symptoms): integrate full symptoms dictionary across SmartAdvisor, PetProfile, and Product Badges
- Expand SmartAdvisor options to include all clinical symptoms (joint pain, limp, diarrhea, hair loss, tartar, eye care, etc.)
- Dynamically match active pet symptoms against product symptoms in PetProfile recommended products engine
- Display specific symptom match badges (e.g. توصیه شده برای درد مفاصل لوسی) directly on product cards
2026-07-21 12:36:23 +03:30
parsa aghaei
ffa6da7978 fix(shop): load all filtered products automatically without manual pagination button
- Remove pagination limit cut-off so all matching products are displayed immediately
- Remove loadMore button for seamless full catalog browsing
2026-07-21 12:32:48 +03:30
parsa aghaei
22dc217534 fix(shop): update symptom filtering to OR logic instead of AND logic
- Allow users to select multiple symptoms and view products matching ANY of the selected symptoms
2026-07-21 12:29:03 +03:30
parsa aghaei
dc8a1bb079 fix(navigation): replace div click handlers with semantic Next.js Link components
- Convert product cards in ArchivePage, IngredientWiki, and SearchResultsPage to Next.js <Link>
- Support right-click / middle-click to open products in new tabs
- Display native target URL preview in browser status bar on hover
2026-07-21 12:27:58 +03:30
parsa aghaei
1b914d25a5 feat(wiki): add 100% complete ingredients coverage for all products
- Add polyglyceryl-4 caprate, carbomer, dextrose, lactose, vitamins A/C/D3/E/B-complex, minerals, excipients, and all plant/animal extracts across all 20+ products to scientificTerms.ts
- Fully support tooltips and wiki links for every ingredient item without exception
2026-07-21 12:23:37 +03:30
parsa aghaei
fcc738f25c feat(wiki): add complete scientific terms dictionary for all product ingredients
- Add colloidal silver, retinol palmitate, grapefruit seed extract, bovine blood/serum, argan/walnut/rosehip oils, etc.
- Map all product ingredients across all categories to Wiki scientific terms
- Update IngredientWiki matching rules for 100% ingredient coverage
2026-07-21 12:19:56 +03:30
parsa aghaei
f762105f09 fix(wiki): enhance wiki ingredient deep-linking and tooltip legibility
- Add term query param handling to IngredientWiki with smooth scroll and target highlight
- Fix Tooltip dark box contrast and click event propagation for study full article button
- Improve ingredient fuzzy matching in ProductPage for complete wiki term linking
2026-07-21 12:09:31 +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
717a61a225 fix(database): fix baseSlug format in products seed to populate product symptoms successfully + format cleanup in ArchivePage 2026-07-15 17:46:27 +03:30
parsa aghaei
6dafe86344 feat: full symptoms filtering system — backend API, megamenu pills, sidebar server-side filter, PDP tags 2026-07-15 15:03:09 +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
1d9b699d61 feat: implement dynamic category solutions in MegaMenu navigation and convert static footer buttons to Next.js links 2026-07-15 13:53:23 +03:30
parsa aghaei
0ccf37f922 feat: implement fully dynamic filter sidebar in backend getActiveFilters and frontend ArchivePage mapping with URL sync 2026-07-15 13:49:13 +03:30
parsa aghaei
2745125c5b fix: add comfortable right padding pr-4 to search input 2026-07-15 13:39:56 +03:30
parsa aghaei
40c9618ddf fix: fine-tune search capsule border alignment and fix RTL placeholder text using unicode ellipsis 2026-07-15 13:36:52 +03:30
parsa aghaei
24bf530e50 fix: redesign header search bar input, button borders, logo alignment, and copywriting details 2026-07-15 13:35:10 +03:30
parsa aghaei
7d93a8d7c2 fix: replace desktop and mobile onClick navigation handlers with standard next/link components in Header.tsx 2026-07-15 13:30:27 +03:30
parsa aghaei
565ef70840 fix: replace onClick router.push navigation with standard next/link components for SEO accessibility 2026-07-15 12:43:20 +03:30
parsa aghaei
4dfe36b882 fix: complete Technical SEO and Semantic HTML improvements across all routes and layout 2026-07-15 12:29:38 +03:30
parsa aghaei
27ac668e42 fix: re-seed database with exact official PDF catalog details, prices, Farsi categories, and short descriptions, and remove frontend slicing fallbacks 2026-07-15 12:18:58 +03:30
parsa aghaei
7bc4ca137e fix: refine FeaturedProducts layout, remove shield icon, position tag independently, enlarge product image, and display full first sentence in description 2026-07-15 12:11:16 +03:30
parsa aghaei
8d3a0bfafb fix: resolve title overlap and expand short description display in FeaturedProducts cards 2026-07-15 12:05:05 +03:30
parsa aghaei
a92b1a61ff fix: resolve footer email typo, unify assistant naming, add German scientific team context, add tooltips definitions, and optimize homepage featured products category diversity 2026-07-15 11:58:47 +03:30
parsa aghaei
67d6f71d7a fix: resolve product images falling back to logo by mapping real URLs in database seed, correct 2x price discrepancy to match PDF catalog exactly, and set local cover for third video 2026-07-15 11:51:10 +03:30
parsa aghaei
cf705ea121 style: improve health advisor UX, fix broken thumbnails, add Persian equivalents to product names for SEO, and refine card title alignments 2026-07-15 11:40:39 +03:30
parsa aghaei
711fb414ab footer style updated
All checks were successful
Deploy Canina / deploy (push) Successful in 1m26s
2026-07-14 20:46:41 +03:30
parsa aghaei
2b36173e32 design: bold address labels and submenus in footer, change authenticity badge to Lalezar font and increase size 2026-07-14 20:44:31 +03:30
parsa aghaei
36aebb13d6 design: update footer font classes to use Lalezar for titles and Shabnam for all other texts 2026-07-14 20:40:56 +03:30
parsa aghaei
f65b95bd5c design: explicitly inject font-vazir to the bottom copyright and link containers inside Footer.tsx to force correct font family rendering 2026-07-14 20:37:05 +03:30
parsa aghaei
b42e8ce97d design: fix contrast accessibility for footer captions, copyright text, bottom menus, and vertical alignment of authenticity seal badge 2026-07-14 20:34:55 +03:30
parsa aghaei
2402efac15 design: redesign dual landing cards with rich thematic background gradients and fix footer contrast accessibility issues 2026-07-14 20:31:33 +03:30
parsa aghaei
452e3d49ee feat: complete homepage UI/UX redesign including Hero buttons, stats icons, SmartAdvisor selectors, balanced dual cards, and VetGallery duplicate thumbnails fix 2026-07-14 20:25:40 +03:30
parsa aghaei
1b0d6f5e06 style: move full product description below the fold and increase sticky sidebar top offset to prevent header overlap 2026-07-14 20:09:12 +03:30
parsa aghaei
f2f507723c style: optimize PDP sticky buy box layout, unify card paddings, center product image and add isMounted to fix hydration warning 2026-07-14 20:04:57 +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
8d6d7d6a53 fix: remove all localhost:4001 refs, use apicanina.parsaaghayi.ir as fallback
All checks were successful
Deploy Canina / deploy (push) Successful in 1m8s
2026-07-14 12:52:59 +00:00
devops
fa714c2889 fix: api.ts fallback URL for build-time axios
All checks were successful
Deploy Canina / deploy (push) Successful in 1m6s
2026-07-14 12:34:51 +00:00
devops
b260d5f6d3 fix: productService image URL and api.ts fallback
All checks were successful
Deploy Canina / deploy (push) Successful in 1m7s
2026-07-14 12:33:14 +00:00
devops
2c47e35153 fix: IngredientWiki fallback to scientificTerms from API with keywords as benefits
All checks were successful
Deploy Canina / deploy (push) Successful in 1m8s
2026-07-14 12:27:43 +00:00
devops
f71b22a664 fix: wiki sortBy, wiki detail page endpoint, blog SSR URL, and upload volume
All checks were successful
Deploy Canina / deploy (push) Successful in 1m34s
2026-07-14 12:19:40 +00:00
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
a22afb11d5 fix: hero text priorities; prefer uiText over HeroBanner DB
Some checks failed
Deploy Canina / deploy (push) Failing after 2m3s
2026-07-13 12:30:39 +03:30
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
ab7ed279c8 fix: await params Promise in blog and wiki [slug] pages for Next.js 16
- blog/[slug]/page.tsx: fix params type to Promise and await it
- wiki/[slug]/page.tsx: fix params type to Promise and await it + Fix API port from 4000 to 4001
- blog/page.tsx: fix fallback API URL from port 4000 to 4001
2026-07-11 15:51:29 +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
804a596711 fix: map category from backend relation/name to frontend display 2026-07-11 14:06:29 +03:30
parsa aghaei
2103b105ac fix: map imageUrl from backend to frontend image field 2026-07-11 14:02:04 +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
0ea6c6d271 feat: enrich all site content with Canina pharma research data
- Add 20 new products to frontend products.ts (total 29 products)
- Enrich existing 9 product descriptions with biochemical/clinical details
- Add new blog articles with real content from research document
- Update UI texts with Canina brand history (1984 founding, IFS/HACCP)
- Add 9 new scientific terms (Ca:P, D3, BARF, biotin, taurine, etc.)
- Expand INGREDIENTS_WIKI with collagens, biotin, taurine entries
- Add new medical options (heart disease, parasites) to SmartAdvisor
2026-07-11 13:34:22 +03:30
parsa aghaei
140872c888 fix: resolve Hero image CORS, button contrast, floating labels, footer border + refactor product seeder with full catalog data from JSON + add barcode/buyPrice/productGroup fields to Product model 2026-07-11 13:21:30 +03:30
parsa aghaei
3dedc89ee1 تغییرات کلی در backend و frontend 2026-07-11 12:30:17 +03:30
a74f4bda48 design: implement heuristic UX, WCAG accessibility, touch targets, and cognitive load enhancements 2026-07-10 18:42:11 +03:30
756cb749b2 design: implement landing page UI/UX improvements based on Senior UI/UX audit 2026-07-10 18:31:23 +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
e09adc03c3 fix: change SSR fetch URLs from 4000 to 4001 2026-06-12 23:21:56 +03:30
dcfc4acae4 fix: restore wiki to dictionary, create dynamic blog pages and backend wiki CRUD 2026-06-12 23:14:21 +03:30
945c007a79 feat: complete app democking, fix types, add blogs api 2026-06-12 22:53:57 +03:30
6027e635db feat: implement backend auth and fix pet profile payload 2026-06-12 22:37:35 +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
29ab7f4141 fix: change frontend and backend ports to resolve EACCES 3000 2026-06-12 14:05:50 +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
95760d78b5 fix: remove invalid lucide-react imports 2026-06-12 01:33:39 +03:30
c4966136d7 fix: update import paths for lib folders in components 2026-06-12 01:32:10 +03:30
14bf2953ab feat: SEO metadata for static pages (search, wiki, blog) 2026-06-12 01:27:43 +03:30
88c3752238 feat: auto-generated sitemap and robots.txt 2026-06-12 01:27:02 +03:30
700f93e418 feat: dynamic SEO metadata and JSON-LD for products 2026-06-12 01:26:32 +03:30
bf1b11d6a9 feat: global SEO settings and JSON-LD in frontend layout 2026-06-12 01:25:34 +03:30
ee0b8a5ff8 feat: auxiliary pages migrated to Next.js (Blog, Videos, Track, Success) 2026-06-12 01:17:03 +03:30
976dfcd610 feat: interactive pages migrated to Next.js (Dashboard, Checkout, Profile, Wiki) 2026-06-12 01:10:52 +03:30
3de0408e6f feat: core pages and components migrated to Next.js (Home, Shop, Product) 2026-06-12 01:08:04 +03:30
72d2a5600a feat: layout and overlays migrated to Next.js 2026-06-12 01:04:03 +03:30
c5a1b8e5d2 feat: nextjs setup and configuration (lib, store, css, assets) 2026-06-12 01:00:54 +03:30
eff6c00a9c feat: complete phase 2 mock removal and db seed 2026-06-12 00:58:10 +03:30