100 Commits
Author SHA1 Message Date
Alireza HassaniandCursor 018f3142ec Show Roll Call to every staff role, including editors.
Owners, admins, editors, and viewers can open it when the business module is enabled.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 12:33:57 +03:30
Alireza HassaniandCursor b25f3cbea0 Gate Roll Call behind the opt-in business module.
Super Admin can enable it per business; nav and pages stay hidden when off.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 14:15:46 +03:30
Alireza HassaniandCursor c4e846564e Add roll-call Start/Stop UX to business and customer dashboards.
Owners/admins can run timed work days, manage tasks in a modal, and stop from the FAB or row control.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 13:21:07 +03:30
Alireza HassaniandCursor ac287e02cc Sanitize rich-text paste and allow empty business postal codes.
Strip background/font-family/colors on paste while keeping bold, lists, and font size; treat business address postal code as optional.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-04 18:42:21 +03:30
Alireza HassaniandCursor eb9b8b9fa3 Accept full meta HTML in Tags & Badges (name is label only).
Admins paste complete <meta> tags as the value; the name field is only a list label.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 18:39:20 +03:30
Alireza HassaniandCursor 68b985dee3 Add Website Tags & Badges management for custom meta and trust seals.
Business admins can manage head meta tags and eNamad/Samandehi footer HTML from the dashboard without hardcoding them in each storefront.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 18:07:17 +03:30
Alireza HassaniandCursor cb20fe3c40 Fix productWebsiteUrl import path for customer build.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-02 23:02:55 +03:30
Alireza HassaniandCursor 06589600bd Improve customer orders: own list, payment/order status, and transaction details.
Also widen order item modals, link FA product names, and polish related dashboard UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-02 23:00:48 +03:30
Alireza HassaniandCursor 55071af98c Add پس کرایه checkbox beside shipping price and show it to customers.
Admin can mark a group as freight collect so the amount input is disabled and checkout shows پس کرایه at zero cost.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-02 22:37:30 +03:30
Alireza HassaniandCursor 41f21999d2 Show payment and order status with paid/all order tabs.
Default to successful (paid) orders, keep fulfillment status editable, and display gateway payment separately.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-02 22:22:24 +03:30
Alireza HassaniandCursor bc1c5f0747 Show transaction ID and gateway refs in order payment details.
Surface Meshkee transaction id, ZarinPal track/authority, card pan, and paid time in the transactions modal.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-02 22:15:12 +03:30
Alireza HassaniandCursor 016dd0b081 Hide payment steps from the admin order status modal.
Admins can only choose fulfillment steps; payment status stays gateway-driven.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-02 22:07:34 +03:30
Alireza HassaniandCursor c59ca4444f Add shipping cost management and checkout shipping fees.
Business store shipping groups/static rates UI, and customer checkout that quotes and applies shipping on delivery and payment.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-02 21:52:47 +03:30
Alireza HassaniandCursor 95390933a7 Preserve PNG transparency for static images and show a checkerboard preview.
Static uploads were forced to JPEG with a white fill, which turned white icons into solid squares; PNG sources now stay PNG and CMS previews get a visible background.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-27 14:25:01 +03:30
Alireza HassaniandCursor 6d85a217e1 Add OTP-first customer signup and product catalog PDF field.
Registration collects name and phone, verifies SMS, then asks for a password only for new Meshkee accounts. Product add/edit supports an optional catalog PDF.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-27 08:57:08 +03:30
Alireza HassaniandCursor e2950fa20e Add store installments module with calculator and public API docs.
Business dashboard can manage credit methods and preview plans; cropper and module flags support the new flow.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 23:17:51 +03:30
Alireza HassaniandCursor ff419603bf Add bank account templates and default invoice payment text.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 23:31:58 +03:30
Alireza HassaniandCursor 8465a29ce1 Unify category tree pickers and prefer free-text technical AI fields.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 20:02:05 +03:30
Alireza HassaniandCursor 838e84056e Clarify AI product create does not fill technical data.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-19 15:42:41 +03:30
Alireza HassaniandCursor 3eb6495f55 Fix Product title mapping in create store items search.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-19 15:30:07 +03:30
Alireza HassaniandCursor 00f2e0f729 Add custom color picker, move website link to store items, and fix sidebar logo aspect.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-19 15:28:14 +03:30
Alireza HassaniandCursor 592540cc7e Add multi_value technical inputs and FA AI prompts.
Support duplicatable list fields in form builder and value UIs, and guide fill prompts to put leftover specs in سایر ویژگی‌ها.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-19 13:50:13 +03:30
Alireza HassaniandCursor 0bbc5bbc12 Note that AI technical prompts fetch product page URLs.
Clarify category and product technical AI prompts so users know pasted links are opened for grounding.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-19 12:40:34 +03:30
Alireza HassaniandCursor 61d145d92e Add used-product flag for store listings.
Merchants can mark items as used on create/edit, see a used badge on cards, and filter the store list for used products.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-19 12:17:20 +03:30
Alireza HassaniandCursor 32f0dbab63 Add AI fill for product technical data and localize the modal.
Users can fill technical fields from a prefilled prompt, and FA locale shows Persian titles and actions; SEO modal no longer shows a search icon.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-19 11:53:34 +03:30
Alireza HassaniandCursor 06e2442aaf Flatten transparent product images to white and allow cropper unzoom.
PNG/WebP uploads no longer bake to black on JPEG; product croppers can zoom out with white padding, and SEO tools move into the product overflow menu.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-19 08:39:32 +03:30
Alireza HassaniandCursor b743c09e4d Improve product AI UX, category search, and card actions.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-19 08:20:34 +03:30
Alireza HassaniandCursor d787a69195 Improve contact submissions UI and compact cropper actions.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 18:06:54 +03:30
Alireza HassaniandCursor c24f6c06f7 Add logo aspect ratios and businesses renewal sort with low-SMS alert.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 17:17:59 +03:30
Alireza HassaniandCursor e020c74fb1 Prefill DKIM selectors so Email DNS Update works.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 14:45:09 +03:30
Alireza HassaniandCursor 8630465d34 Allow Email DNS updates with RSA-only DKIM paste.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 14:26:05 +03:30
Alireza HassaniandCursor c344ddefdc Document SPF v=spf1 mx -all in Email DNS modal.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:29:53 +03:30
Alireza Hassani d35c2f92b6 Remove invoice action from superadmin Businesses list
Invoices belong on the business dashboard, not the superadmin list row.
2026-09-18 10:41:33 +03:30
Alireza Hassani 29d1efce0f Add DKIM selector fields for value-only Email DNS pastes
Let operators paste bare v=DKIM1 TXT values and enter selectors
separately; keep full Stalwart zone-line paste working.
2026-09-18 10:38:31 +03:30
Alireza HassaniandCursor eedaac3a71 Remove unused specialItemsAi helper that broke production build.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 17:36:48 +03:30
Alireza HassaniandCursor 652f4d07b6 Show other-pages stats and store-specials AI matching.
Add the Statistics pages row for static_page views, wire specials AI match UI, and tidy Businesses page styles.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 17:33:44 +03:30
Alireza HassaniandCursor 9ce93b0b48 Align user-product links and chart copy with id+slug URLs.
Support pathSlug in types/website helpers and note that product views include customer listings.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 15:35:46 +03:30
Alireza HassaniandCursor c2ede07e73 Add website schema settings, SEO meta overrides, and resilient bulk SMS.
Business admins can configure site-wide Schema.org and optional per-item SEO title/description; mass SMS continues on failures with an end report.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 23:30:23 +03:30
Alireza HassaniandCursor 15aad9f9d8 Use compact unlabeled filter rows across Super Admin lists.
Also ship pending add-customer name flexibility, store-gated e-payment settings, and logo-only customer login branding.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 12:32:18 +03:30
Alireza HassaniandCursor 29a190f02a Improve SMS settings layout and add send-modal variable chips.
Credit/usage divider, total row plus typed counts grid, and insertable template vars on compose.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 11:37:35 +03:30
Alireza HassaniandCursor dbc17b2589 Show SMS sent breakdown by type in admin and business settings.
Data rows for total/mass/singular/auth/auto/admin; balance stays a credit data row.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 11:31:18 +03:30
Alireza HassaniandCursor 6bc57f26ed Bill SMS in credits and add IRT top-up in Super Admin.
Show credit balance in business settings; Super Admin tops up by IRT (adds credits) and tracks SMS sent per business.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 11:10:22 +03:30
Alireza HassaniandCursor a8676854fb Update advertising SMS shortcode copy to 5000990009.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 17:43:24 +03:30
Alireza HassaniandCursor 0eb19bbebd Add SMS templates UI, prepaid balance settings, and list filter layout.
Business settings manage templates and balance; Super Admin verifies templates and tops up via SMS settings; filters use a separate panel with even field gaps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 16:24:26 +03:30
Alireza HassaniandCursor 8f0b4cef85 Fix open-on-website links for blog, portfolio, and instruction.
Match live storefront paths: /blog/{slug}, /portfolio/{slug}, /instruction/{slug}.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 14:51:14 +03:30
Alireza HassaniandCursor 4c3bf8324e Add customer SMS/Excel tools, selection bar, and sticky import toasts.
Bulk and single SMS from Users, row selection with overflow summary, persistent large import toasts, and business SMS sender in Super Admin.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 14:12:57 +03:30
Alireza HassaniandCursor 2a32c46b2e Add multilanguage catalog translations UI for products and categories.
Include AI translate-all with locale picker, count badges, MultiLanguage Data module gating, and shared modal action layout polish.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 09:51:11 +03:30
Alireza HassaniandCursor 8c187b18be Add a Torob toggle in store settings and show parent category on product chips.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 15:26:23 +03:30
Alireza HassaniandCursor fde6a34e44 Fix Email DNS modal typecheck so Super Admin can build.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 22:02:58 +03:30
Alireza HassaniandCursor 3cbadb4001 Add workshop generate-link type, Email DNS for domains, and editor polish.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 22:00:04 +03:30
Alireza HassaniandCursor 6be867ea7a Add a Statistics page for storefront visits and instruction 1:1/3:2 crops.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 11:10:52 +03:30
Alireza HassaniandCursor d9bdfbbb12 Show four blog cards per row and let editors crop thumbnails as 1:1 or 3:2.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 10:15:08 +03:30
Alireza HassaniandCursor c962fe524b Add Arvan/Cloudflare DNS choice on domain edit and restyle empty add boxes.
Domain save can upsert tenant records on either provider, overflow menus stay opaque, and empty-state add controls use a dashed outline.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 18:46:48 +03:30
Alireza HassaniandCursor 0d62a4ca79 Add parked-domain aliases, Websites AI prompts, and frosted overflow menus.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 18:09:09 +03:30
Alireza HassaniandCursor e9400c2281 Add business dashboard dark mode from Super Admin theme setting.
Login and in-app surfaces follow tenant themeMode, matching customer dark tokens, with themed switches and tighter card/table chrome.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 13:40:40 +03:30
Alireza HassaniandCursor 65012717d0 Fix activity chart bar tooltips clipping and positioning.
Anchor tooltips above each bar with high z-index and allow overflow so hover labels stay visible.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 23:59:47 +03:30
Alireza HassaniandCursor e324ae5763 Refine category select tree gutters and tighten activity charts.
Restore RTL tree lines in category dropdowns, require product category on add, and improve chart bar density with Y-axis tooltips.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 23:52:33 +03:30
Alireza HassaniandCursor b5c2a31262 Fix TypeScript narrowing in product AI fill handler.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 22:32:47 +03:30
Alireza HassaniandCursor a412cb82fc Improve dashboard charts, category tree selects, and product AI name fill.
Fix RTL chart ordering with Y-axis and hover values; aggregate website views; refine category picker tree borders and spacing; add one-click FA→EN name translation on add product.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 20:39:43 +03:30
Alireza HassaniandCursor 7b2ed7c7b0 Tighten AI prompts modal actions and drop Templates home card.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 15:47:27 +03:30
Alireza HassaniandCursor 0aab7b5529 Add Super Admin AI prompt templates and business assignment UI.
Templates library plus per-business prompt list with edit, copy public link, and remove.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 15:28:41 +03:30
Alireza HassaniandCursor b50e4fd812 Add step date picker and show full renewal dates.
Replace native date inputs with year→month→day glass picker and display exact next renewal dates in the businesses list.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 10:58:47 +03:30
Alireza HassaniandCursor 58408fed07 Fix create-business owner grid and edit renewal date.
Use title/first/last as 3-4-5, repair formFull spans, and fall back renewal to created date.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 10:33:26 +03:30
Alireza HassaniandCursor e2fb08cccd Show contract renewal in businesses and align SSL/view charts.
Add annual renewal column with color-coded days left, owner title and renewal fields on create, SSL expiry display, and updated view chart kinds.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 10:13:06 +03:30
Alireza HassaniandCursor a52f963f52 Fix per-tenant dashboard SSL map to use SNI and readable certs.
Nginx must key the cert map on $ssl_server_name during handshake, and www-data needs ssl-cert group access to Let's Encrypt files when certificates are loaded via variables.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 08:49:43 +03:30
Alireza HassaniandCursor b7bce38131 Issue dashboard SSL per tenant instead of full cert sync.
Per-row Issue SSL now runs ssl-issue-tenant.sh for business/customer hosts only, with nginx cert map support, so one broken tenant cannot block others.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 01:20:03 +03:30
Alireza HassaniandCursor 202ac7d4bd Add view traffic charts to business home and super-admin.
Wire product, website, portfolio, and blog 30-day view charts to the analytics API and expose the new chart types in super-admin business settings.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 01:12:45 +03:30
Alireza HassaniandCursor 468bb87fcf Improve business profile branding uploads and super-admin link menus.
Show separate light/dark logo and favicon croppers in a compact grid, support favicon saves, and keep super-admin overflow dashboard links in English.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 00:51:12 +03:30
Alireza HassaniandCursor 5e799eddf9 Localize order modals, add dual logos, and improve admin order tools.
Farsi business order/variation UI, light/dark logo upload on business profile, payment order steps, variation editing, super-admin site links, and checkout/auth fixes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 00:21:48 +03:30
Alireza HassaniandCursor dc570c1e7f Share customer session cookies with the storefront and polish business settings.
Keep JWT login mirrored on the tenant cookie domain, improve e-payment settings UX, and add a storefront link from the customer sidebar.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 16:40:52 +03:30
Alireza HassaniandCursor c289de5d2e Add portfolio website link field and card open-link control.
Stay on the current list page after move-to-top; only toast success.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-23 16:46:13 +03:30
Alireza HassaniandCursor 85524544ca Use moveToTop so portfolio chevron pins the item to list start.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-23 15:16:46 +03:30
Alireza HassaniandCursor be9e7da424 Fix portfolio move-to-top and put category beside the date.
Bump sort_order above the page leader instead of swapping, and align category left with date right on one meta row.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-23 15:12:45 +03:30
Alireza HassaniandCursor 1e9f6481b0 Fix portfolio list sorting UX and add name/category filters.
Newest portfolios show first with corrected move-up, category no longer mixes into the date, and website link generation can filter by tags.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-23 15:01:53 +03:30
Alireza HassaniandCursor 2477936bce Restore opaque frosted glass on nested category/link modals.
The lighter glass fill made the parent form show through when ساخت لینک opened over another dialog.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-22 20:50:44 +03:30
Alireza HassaniandCursor 77080a7a4b Improve website settings and special-item pick UX.
Tighten sitemap/settings controls, debounce product search to 10 results, keep catalog-only specials visible after add, and use frosted glass on link/category modals.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-22 20:38:58 +03:30
Alireza HassaniandCursor a39aef0c8c Fix sitemap sync sending JWT by enabling auth on the API request.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-22 19:33:16 +03:30
Alireza HassaniandCursor 5926f772e2 Add website sitemap config sync to business dashboard settings.
Lets business owners import static pages and URL templates from the live storefront manifest before API sitemap generation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-22 15:15:32 +03:30
Alireza HassaniandCursor d5aca8bea7 Add business workshop management UI with Jalali scheduling and shared dashboard polish.
Includes workshop list/edit/details, registrations modal, category tree, shared EmptyState/RichTextEditor/toasts, and fixes for the Jalali date picker and thumbnail field layout.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-22 12:22:27 +03:30
Alireza HassaniandCursor 89269dff04 Fix business tenant binding and update password on cross-site signup.
Resolve the active business from the host domain so multi-business staff no longer load another tenant’s CMS data, and replace the Meshkee password when linking an existing account to a new site.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 12:07:17 +03:30
Alireza HassaniandCursor 193c63bfd2 Add Website settings for special-products source.
Businesses can choose product vs store item sourcing, with store as the default when the store module is enabled, and rename the FA special-products section.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 11:57:49 +03:30
Alireza HassaniandCursor a7950f1f13 Add bilingual user names and optional DNS updates in super-admin.
Edit user now has FA/EN first and last names, and domain save only upserts Arvan records when Update DNS is checked.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 11:50:57 +03:30
Alireza HassaniandCursor 353508a091 Fix customer header outside-click handler for DOM event typing.
Use Event instead of React MouseEvent so document listeners typecheck in production builds.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 19:48:45 +03:30
Alireza HassaniandCursor f8a9a28346 Add shared empty states, customer product filters, and SSO handoff across dashboards.
Standardize list empty UI, searchable country fields, customer-products filter row, password/login polish, and one-time business dashboard handoff from the customer app.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 19:46:57 +03:30
Alireza HassaniandCursor 832ac32a09 Add store-product Excel bulk edit and polish the business dashboard.
Export/import price and stock from Store Products, keep card order after saves, localize variations, and drop unused website nav items.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 01:02:43 +03:30
Alireza HassaniandCursor 7b51dda82a Hide website slider/special sections from business hub
Remove website homepage management cards for sliders, special categories, and special brands.
Also move the special section slug chip after the Farsi title.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-18 11:33:35 +03:30
Alireza HassaniandCursor 5f4b0b4f92 Fix store item variant defaults and listing sorting
Auto-select first option in variation modals and sort store items by availability, then update time.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-18 11:26:20 +03:30
Alireza HassaniandCursor b861ab3dc1 Refresh static image slots from the website catalog.
The dashboard can import and drop slots from the live site instead of creating them by hand.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-17 09:55:03 +03:30
Alireza HassaniandCursor 36180cda2b Give dashboards a themed orb background and a solid current-nav state.
Login pages share the same wash as the app shell; customer light mode matches business while dark mode stays gray.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-17 09:00:08 +03:30
Alireza HassaniandCursor e0e68de30f Add a reusable website link generator and polish static image cards.
Editors can pick product, store, blog, portfolio, or video category links, and image cards expose compact info/link actions without dumping URLs in the footer.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-17 00:30:01 +03:30
Alireza HassaniandCursor b9024ad77a Add a static images manager and polish dashboard layout and fonts.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-16 23:56:17 +03:30
Alireza HassaniandCursor e79211e3cd Move e-payment to Settings and add ZarinPal credentials.
Gateway config now lives on the general Settings page, with Mellat fields in a 3-column layout and ZarinPal available at checkout.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-16 01:45:41 +03:30
Alireza HassaniandCursor 9a59bc8f65 Rename store items to store products and add an empty-state CTA.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-15 14:56:08 +03:30
Alireza HassaniandCursor 8e8929050e Show Arvan DNS errors when adding a domain in super-admin.
Add-domain now reports dnsError from the API and documents that tenant records are written in Arvan automatically.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-14 11:16:36 +03:30
Alireza HassaniandCursor c16ec3787b Fix dashboard production builds and default list pages to 24 items.
Unblock business/customer deploys and match the 24-per-page list rule in Super Admin.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 15:19:46 +03:30
Alireza HassaniandCursor cc94b929e0 Add e-payment UI, checkout payment result, and legacy migrate domain lookup.
Wire Mellat settings in business dashboard, customer bank return page with payment details, and super-admin migrate modal domain confirmation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 09:51:22 +03:30
Alireza HassaniandCursor a11f9643bb Polish public invoice mobile typography and justified copy.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 21:39:42 +03:30
Alireza HassaniandCursor 9e5a03548f Fix dashboard nginx Open Graph bot routing for invoice URLs.
Quote regex braces and proxy via rewrite so api.meshkee.com resolves without a runtime DNS resolver.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 16:21:12 +03:30
Alireza HassaniandCursor c3408a498a Route social crawlers on invoice URLs to Open Graph HTML.
Bots hitting /invoices/:id on manage get API OG markup; browsers still load the SPA.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 16:15:52 +03:30
Alireza HassaniandCursor 2be3b3376d Polish public invoice layout: account grid, duration, and copy-to-clipboard.
Also preserve item description line breaks and use local ported invoice links in DEV.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 16:03:33 +03:30