parsa aghaei
|
fa1a35c835
|
feat(media): implement nextjs media proxy API routes (/api/uploads & /api/media) with server-side caching and streaming
Deploy Canina / deploy (push) Successful in 1m34s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
|
2026-08-29 12:13:16 +03:30 |
|
parsa aghaei
|
d9c693c41b
|
feat(media): implement omnichannel media gallery with drag-and-drop, video support, and quick access podcast/video hub
Deploy Canina / deploy (push) Successful in 1m35s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
|
2026-08-29 11:46:04 +03:30 |
|
parsa aghaei
|
32e40a820c
|
style(application): optimize ingredients and chemical analysis layout with compact padding and responsive badges
Deploy Canina / deploy (push) Successful in 1m33s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
|
2026-08-29 08:58:14 +03:30 |
|
parsa aghaei
|
05e26cab9f
|
fix(application): render rich HTML product descriptions with responsive typography styling
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-29 08:55:55 +03:30 |
|
parsa aghaei
|
bfb7f42065
|
feat(ui): integrate RichTextEditor for product full description and add click-outside handlers for dropdowns
Deploy Canina / deploy (push) Successful in 1m35s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 7s
|
2026-08-29 08:46:41 +03:30 |
|
parsa aghaei
|
40176ac60e
|
feat(media): add summary and view more toggle button for video and podcast descriptions
Deploy Canina / deploy (push) Successful in 1m30s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
|
2026-08-26 17:17:19 +03:30 |
|
parsa aghaei
|
5db23443ed
|
feat(product-page): add AI-powered badge and informative subtitle to scientific media section
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 7s
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-26 17:15:11 +03:30 |
|
parsa aghaei
|
a00778ffaa
|
feat(product-page): add high-res image zoom lightbox with pan/zoom/drag and unoptimized raw rendering
Deploy Canina / deploy (push) Successful in 1m32s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 7s
|
2026-08-26 16:38:59 +03:30 |
|
parsa aghaei
|
0ddc635dfd
|
style(product-page): harmonize media section header icon with brand blue theme
Deploy Canina / deploy (push) Successful in 1m31s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
|
2026-08-26 16:23:03 +03:30 |
|
parsa aghaei
|
2ce872969c
|
style(podcast): enhance badge contrast with bright cyan text and border on dark background
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-26 16:20:47 +03:30 |
|
parsa aghaei
|
9efa96be9b
|
fix(products): fix view-in-site URL to use canonical apex domain instead of www
Deploy Canina / deploy (push) Successful in 27s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
|
2026-08-26 16:19:07 +03:30 |
|
parsa aghaei
|
5f58ba8258
|
refactor(shop): remove prescription vs OTC filter from shop archive
Deploy Canina / deploy (push) Successful in 1m36s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
|
2026-08-26 14:34:18 +03:30 |
|
parsa aghaei
|
0132cce0cb
|
feat(settings): add admin toggle for prescription upload button and bind to header
E2E Playwright Tests / Run Full E2E & Security Suites (push) Waiting to run
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-26 14:32:30 +03:30 |
|
parsa aghaei
|
3109e30fd7
|
fix(shop): update breadcrumb title from catalog to shop products
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-26 14:30:15 +03:30 |
|
parsa aghaei
|
98829f5873
|
feat(routes): add /dashboard/pets and /dashboard/orders routing handlers
E2E Playwright Tests / Run Full E2E & Security Suites (push) Waiting to run
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-26 14:28:49 +03:30 |
|
parsa aghaei
|
e797cf9167
|
style(toast): offset mobile notifications below sticky header
E2E Playwright Tests / Run Full E2E & Security Suites (push) Waiting to run
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-26 14:26:52 +03:30 |
|
parsa aghaei
|
6cacfd447b
|
fix(prescription): raise modal z-index above header, add backdrop dismiss, and show upload button on mobile header and drawer
E2E Playwright Tests / Run Full E2E & Security Suites (push) Waiting to run
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-26 14:25:24 +03:30 |
|
parsa aghaei
|
63e10449ad
|
fix(auth): unify typography to Vazir and set password login as default
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-26 14:23:07 +03:30 |
|
parsa aghaei
|
6e23269a5c
|
feat: user crm metrics, product total sold, dynamic menu sync, blog views & advisor route
Deploy Canina / deploy (push) Successful in 1m50s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
|
2026-08-26 14:05:26 +03:30 |
|
parsa aghaei
|
9294e89712
|
feat(auth): redesign AuthModal with structured tabs, clean login/signup separation, clear OTP/password switch and polished UX
Deploy Canina / deploy (push) Successful in 1m32s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
|
2026-08-26 13:51:16 +03:30 |
|
parsa aghaei
|
41f7e98d97
|
feat(checkout): unify manual address form with AddressModal, auto-save address and sync user profile on order
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-26 13:48:41 +03:30 |
|
parsa aghaei
|
aa0dde6a35
|
feat(design-system): standardize color and typography tokens via Tailwind v4 @theme configuration
Deploy Canina / deploy (push) Successful in 1m37s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
|
2026-08-26 13:29:59 +03:30 |
|
parsa aghaei
|
229e50f973
|
fix(catalog): luxury brochure redesign, dynamic admin logo, whitespace-nowrap badges, fixed spread dimensions
Deploy Canina / deploy (push) Successful in 1m36s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
|
2026-08-26 13:23:56 +03:30 |
|
parsa aghaei
|
c825268b34
|
fix(contact): replace hardcoded phone numbers with dynamic settings from backend across all components
Deploy Canina / deploy (push) Successful in 1m37s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
|
2026-08-26 12:03:17 +03:30 |
|
parsa aghaei
|
9daaa22677
|
fix: resolve tooltip opacity, species icons, catalog pagination and swipe, image frames and description collapse
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 7s
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-26 12:00:55 +03:30 |
|
parsa aghaei
|
0b52f9e9e4
|
style(homepage): optimize mobile margins, paddings and section spacing
Deploy Canina / deploy (push) Successful in 1m38s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
|
2026-08-26 11:09:39 +03:30 |
|
parsa aghaei
|
9371fd79e1
|
fix(mobile): resolve cart back navigation, tooltip positioning, product dosage calculator and badges
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 3m46s
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-26 11:01:48 +03:30 |
|
parsa aghaei
|
753b3dd7ec
|
merge: resolve merge conflicts in ArchivePage.tsx and graphify-out from develop
|
2026-08-26 10:17:09 +03:30 |
|
|
|
cf9ae234b9
|
feat: add charity reporting & financial breakdowns in admin, fix mobile scroll restoration and OTP numeric keyboard
Deploy Canina / deploy (push) Successful in 1m44s
|
2026-08-26 00:12:33 +03:30 |
|
parsa aghaei
|
770665cfc0
|
test(e2e): complete cross-platform coverage and hardening for security, admin, and cart suites
|
2026-08-25 17:48:33 +03:30 |
|
parsa aghaei
|
e6018f3a37
|
test(e2e): complete and verify 11 E2E test suites with strict mutation testing and CI integration
|
2026-08-25 17:10:53 +03:30 |
|
parsa aghaei
|
6ef293ea59
|
test(e2e): refactor 6 e2e suites with strict assertions, add mutation verification and update test coverage map
|
2026-08-25 15:19:22 +03:30 |
|
parsa aghaei
|
7b89e141c5
|
feat(core): polish codebase, enhance error handling, security hardening, rate limiting, and a11y compliance
Deploy Canina / deploy (push) Successful in 1m43s
|
2026-08-25 11:33:37 +03:30 |
|
parsa aghaei
|
70c2627d93
|
feat(seo): implement B2B dedicated route, structured data schemas, archive optimizations, and SEO database backfill
Deploy Canina / deploy (push) Successful in 1m44s
|
2026-08-25 11:19:30 +03:30 |
|
parsa aghaei
|
b854298a29
|
fix(blog): split interactive blog elements into BlogPostClient to resolve React Server Component event handler error
Deploy Canina / deploy (push) Successful in 1m43s
|
2026-08-25 10:29:03 +03:30 |
|
parsa aghaei
|
de038dba7c
|
fix(dev): switch frontend dev port from 4000 to 4005 due to Windows port exclusion
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-25 10:26:01 +03:30 |
|
parsa aghaei
|
088f8e20bb
|
fix(blog): resolve 404 and 500 error on blog post slug navigation
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-25 10:21:50 +03:30 |
|
parsa aghaei
|
1ddfb0a823
|
fix(blog): update fallback image handling, use SafeImage, and enhance related products display
Deploy Canina / deploy (push) Successful in 1m37s
|
2026-08-24 17:49:40 +03:30 |
|
parsa aghaei
|
fe6a900665
|
feat(perf): implement comprehensive Core Web Vitals, ISR caching, and media optimizations
Deploy Canina / deploy (push) Successful in 1m48s
|
2026-08-24 17:23:43 +03:30 |
|
parsa aghaei
|
2a31a9f8e4
|
fix(admin): resolve TS(2362) operand type in buyPrice margin calculation
Deploy Canina / deploy (push) Successful in 27s
|
2026-08-24 17:09:07 +03:30 |
|
parsa aghaei
|
75b9d55a24
|
feat(seo): implement technical SEO for product catalog, dynamic sitemaps, RSS feeds and graphify update
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-24 17:04:31 +03:30 |
|
parsa aghaei
|
5705354429
|
feat(blog): complete full-stack blog module with rich text editor, SEO analyzer, JSON-LD schema, and RSS feed
Deploy Canina / deploy (push) Successful in 1m43s
|
2026-08-24 16:48:31 +03:30 |
|
parsa aghaei
|
eb63d22ac4
|
perf: optimize slider image persistence in DOM and add 1-year immutable cache-control for static uploads
Deploy Canina / deploy (push) Successful in 1m41s
|
2026-08-24 15:33:31 +03:30 |
|
parsa aghaei
|
5bf9ac0b2e
|
fix(blog): resolve blog slug detail fetching and standardize api url
Deploy Canina / deploy (push) Successful in 1m32s
|
2026-08-24 15:20:13 +03:30 |
|
parsa aghaei
|
5371f1ba22
|
feat: complete rich text editor toolbar with full states, hex pickers, and clean layout
Deploy Canina / deploy (push) Successful in 1m36s
|
2026-08-24 15:08:57 +03:30 |
|
parsa aghaei
|
ad0d98f846
|
feat: enhance RichTextEditor with color/bg pickers, active states, and code toggle; fix hero subtitle typography
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-24 15:08:12 +03:30 |
|
parsa aghaei
|
79c72517c2
|
fix(admin-panel): remove duplicate isMountedRef declaration in RichTextEditor
Deploy Canina / deploy (push) Successful in 1m45s
|
2026-08-24 14:50:24 +03:30 |
|
parsa aghaei
|
c4e3fcda20
|
Merge branch 'develop'
Deploy Canina / deploy (push) Failing after 8s
|
2026-08-24 13:40:37 +03:30 |
|
parsa aghaei
|
8852f62580
|
fix(admin-panel): resolve caret jumping and DOM sync issues in RichTextEditor
Deploy Canina / deploy (push) Successful in 49s
|
2026-08-24 13:40:25 +03:30 |
|
parsa aghaei
|
0f20ad8ad2
|
Merge branch 'develop'
Deploy Canina / deploy (push) Successful in 1m47s
|
2026-08-24 13:09:22 +03:30 |
|
parsa aghaei
|
ebdc740bc0
|
fix(admin-panel): fix misplaced import in UITexts causing render error and update graphify
Deploy Canina / deploy (push) Successful in 3m16s
|
2026-08-24 13:08:50 +03:30 |
|
|
|
dc3b8f4488
|
Merge branch 'develop'
Deploy Canina / deploy (push) Successful in 1m32s
|
2026-08-24 01:46:45 +03:30 |
|
|
|
c68ff27621
|
fix(frontend): add defensive guards against undefined props in FeaturedProducts
Deploy Canina / deploy (push) Successful in 1m49s
|
2026-08-24 01:46:15 +03:30 |
|
|
|
0f50d6bed1
|
chore: resolve graphify merge conflicts from develop
Deploy Canina / deploy (push) Successful in 1m31s
|
2026-08-24 01:21:46 +03:30 |
|
|
|
b91885557e
|
perf(images): migrate standard img elements to optimized next/image with AVIF/WebP support
Deploy Canina / deploy (push) Successful in 1m47s
|
2026-08-24 01:20:33 +03:30 |
|
|
|
44e1f915f4
|
fix(stock/editor/zibal): fix stock zero display in app, resolve admin rich text editor cursor jumping, optimize zibal queue parser
Deploy Canina / deploy (push) Successful in 1m38s
|
2026-08-24 00:55:25 +03:30 |
|
|
|
d1e3daf992
|
homepage- hero section design updated and optimized for mobile view
Deploy Canina / deploy (push) Successful in 1m29s
|
2026-08-24 00:21:15 +03:30 |
|
|
|
eeea798430
|
homepahe- hero section design updated and optimized for mobile view
Deploy Canina / deploy (push) Successful in 1m31s
|
2026-08-23 20:34:48 +03:30 |
|
|
|
769192e962
|
homepahe- hero section design updated and optimized for mobile view
Deploy Canina / deploy (push) Successful in 2m1s
|
2026-08-23 20:10:51 +03:30 |
|
parsa aghaei
|
ebdc27e190
|
fix: destructure searchParams in Transactions
Deploy Canina / deploy (push) Successful in 31s
|
2026-08-23 11:19:22 +03:30 |
|
parsa aghaei
|
97cd1c72aa
|
fix: declare isUpdatingModalStatus and handleSaveModalStatus in Orders
Deploy Canina / deploy (push) Successful in 30s
|
2026-08-23 11:17:56 +03:30 |
|
parsa aghaei
|
26a992c030
|
fix: clean unused variables and refine modal parameter binding
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-23 11:16:32 +03:30 |
|
parsa aghaei
|
7848232452
|
fix: destructure setMultipleParams in Transactions
|
2026-08-23 11:13:44 +03:30 |
|
parsa aghaei
|
b2b80849ea
|
fix: resolve variable declaration order, modal state and lint errors
Deploy Canina / deploy (push) Successful in 41s
|
2026-08-23 10:55:09 +03:30 |
|
parsa aghaei
|
fc324aacaf
|
feat: complete url deeplinking across all admin modal/tab pages
Deploy Canina / deploy (push) Successful in 30s
|
2026-08-23 10:36:47 +03:30 |
|
parsa aghaei
|
5029edaaeb
|
feat: complete url modal/tab deeplinking, standardized inputs, and sync dynamic menu
Deploy Canina / deploy (push) Successful in 1m44s
|
2026-08-23 10:32:20 +03:30 |
|
parsa aghaei
|
33c1bee483
|
feat(admin): replace all remaining action buttons with Button component
Deploy Canina / deploy (push) Successful in 29s
|
2026-08-23 10:22:06 +03:30 |
|
parsa aghaei
|
1350267ffb
|
feat(admin): complete universal Button and Modal standardization across entire admin panel
Deploy Canina / deploy (push) Successful in 31s
|
2026-08-23 10:19:31 +03:30 |
|
parsa aghaei
|
439df36fbe
|
feat(admin): standardize Buttons and Modals in SmartAdvisorManager and UITexts
|
2026-08-23 10:18:48 +03:30 |
|
parsa aghaei
|
6de7d8be8a
|
feat(admin): standardize Buttons and Modals across settings pages and media manager
|
2026-08-23 10:17:04 +03:30 |
|
parsa aghaei
|
16516e7003
|
feat(admin): standardize Buttons and Modals in Ingredients, Doctors, Prescriptions, Pets, B2B, and Wholesale managers
|
2026-08-23 10:12:47 +03:30 |
|
parsa aghaei
|
a92cd7fc85
|
feat(admin): standardize Buttons and Modals across CMS, Catalog, Payment, and FAQ managers
|
2026-08-23 10:07:35 +03:30 |
|
parsa aghaei
|
32f8b8b656
|
fix(admin): correct api endpoint paths for transaction stats and sms balance
Deploy Canina / deploy (push) Successful in 31s
|
2026-08-23 09:52:42 +03:30 |
|
parsa aghaei
|
9d63f9a7a4
|
feat(admin): standardize UI components, modal viewports, URL syncing, and add live monitoring
Deploy Canina / deploy (push) Successful in 31s
|
2026-08-23 08:40:37 +03:30 |
|
|
|
cc8f52cb3f
|
fix(pets): resolve pet registration flow, missing assets, 401 guard, and add none option to symptoms
Deploy Canina / deploy (push) Successful in 1m51s
|
2026-08-22 20:53:09 +03:30 |
|
|
|
93126c1724
|
fix(checkout): fix syntax and hook structure in CheckoutPage
Deploy Canina / deploy (push) Successful in 3m0s
|
2026-08-22 19:31:21 +03:30 |
|
|
|
b13699f955
|
fix(checkout): fix conditional react hook calls in CheckoutPage
|
2026-08-22 19:30:05 +03:30 |
|
parsa aghaei
|
4e768d66a9
|
feat: add refill toggle in admin settings and compact checkout UI layout
Deploy Canina / deploy (push) Successful in 1m31s
|
2026-08-22 17:37:50 +03:30 |
|
parsa aghaei
|
6454c18071
|
feat(checkout): improve wallet top-up flow with auto deficit pre-fill on insufficient funds
Deploy Canina / deploy (push) Successful in 1m33s
|
2026-08-22 17:18:24 +03:30 |
|
parsa aghaei
|
d62787cd99
|
feat(payment): fix zibal refund api, add maskable fields, receipt modal, standardized buttons and order refund options
Deploy Canina / deploy (push) Successful in 41s
|
2026-08-22 17:01:13 +03:30 |
|
parsa aghaei
|
f9e40564cf
|
fix: sync Transactions.tsx changes
Deploy Canina / deploy (push) Successful in 41s
|
2026-08-22 15:03:58 +03:30 |
|
parsa aghaei
|
62288a83e9
|
fix(payment): auto-fallback apiKey parameter for Zibal refunds and add refund button to transactions table and details modal
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-22 15:02:46 +03:30 |
|
parsa aghaei
|
ee32b4c11d
|
feat(zibal): implement full dedicated Zibal Financial Portal with refunds, payouts, queue and ipg reports
Deploy Canina / deploy (push) Successful in 41s
|
2026-08-22 14:14:00 +03:30 |
|
parsa aghaei
|
bf41ba038e
|
feat(dashboard): persist active tab in URL and keep active tab on reload
Deploy Canina / deploy (push) Successful in 1m30s
|
2026-08-22 14:04:30 +03:30 |
|
parsa aghaei
|
a2b8afccc3
|
feat(payment): implement complete Zibal IPG, EBank, Wallets, Refunds and Trust Seals
Deploy Canina / deploy (push) Successful in 1m51s
|
2026-08-22 13:40:42 +03:30 |
|
parsa aghaei
|
2c452215c3
|
feat: resolve doctors query error, add FAQ, testimonials, blog preview, and full menu management
Deploy Canina / deploy (push) Successful in 1m41s
|
2026-08-19 17:20:01 +03:30 |
|
parsa aghaei
|
70d58e7086
|
feat(seo): unify dynamic SEO metadata and title formatting across backend, admin and application
Deploy Canina / deploy (push) Successful in 1m44s
|
2026-08-19 15:03:10 +03:30 |
|
parsa aghaei
|
6eb45cd467
|
refactor: unify domain and contact emails to canina.ir across all apps and seeds
Deploy Canina / deploy (push) Successful in 1m55s
|
2026-08-19 11:52:36 +03:30 |
|
parsa aghaei
|
020614c50e
|
fix(images): add www.canina.de to next.config and make SafeImage resilient to external domains
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-18 21:00:29 +03:30 |
|
parsa aghaei
|
3ea1d0d8c1
|
feat(seo): cover all 15 app routes in page builder with live google serp preview box
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-18 20:54:49 +03:30 |
|
parsa aghaei
|
47437883dd
|
fix(frontend): import React explicitly in UITexts and fix toast call signature
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-18 20:44:17 +03:30 |
|
parsa aghaei
|
a291fa0c4a
|
feat(settings): restructure settings into payment, shipping, and rich page builder v2 with SEO and icons
Deploy Canina / deploy (push) Has been cancelled
|
2026-08-18 20:08:07 +03:30 |
|
parsa aghaei
|
2ee85848c0
|
application/hero py updated
Deploy Canina / deploy (push) Successful in 1m55s
|
2026-08-18 19:03:22 +03:30 |
|
parsa aghaei
|
856ac4c8f1
|
fix(sms): define toPersianDigits helper function in SmsSettingsPage to fix white screen
Deploy Canina / deploy (push) Successful in 49s
|
2026-08-18 18:21:38 +03:30 |
|
parsa aghaei
|
c1d380c765
|
fix(vite): handle vite:preloadError and dynamic chunk mismatch seamlessly
Deploy Canina / deploy (push) Successful in 32s
|
2026-08-18 17:40:53 +03:30 |
|
parsa aghaei
|
f306b95f62
|
fix(router): add ErrorBoundary and lazyWithRetry to prevent dynamic import chunk failures
Deploy Canina / deploy (push) Successful in 31s
|
2026-08-18 17:38:22 +03:30 |
|
parsa aghaei
|
f430c4931f
|
feat(sms): display live MeliPayamak account balance/credit in SMS settings
Deploy Canina / deploy (push) Successful in 44s
|
2026-08-18 17:35:28 +03:30 |
|
parsa aghaei
|
16c1ecdff2
|
fix(orders): replace undeclared statusStyles with ORDER_STATUS_MAP
Deploy Canina / deploy (push) Successful in 31s
|
2026-08-18 17:29:26 +03:30 |
|
parsa aghaei
|
45ff642981
|
refactor(fonts): replace all external CDN font links with local fonts in invoice print templates
Deploy Canina / deploy (push) Successful in 1m36s
|
2026-08-18 16:04:11 +03:30 |
|
parsa aghaei
|
b494f95760
|
fix(types): strictly type prescriptions, orders and media, clear lint errors
Deploy Canina / deploy (push) Successful in 30s
|
2026-08-18 16:00:46 +03:30 |
|