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>
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>
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>
Surface Meshkee transaction id, ZarinPal track/authority, card pan, and paid time in the transactions modal.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
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>
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>
Business dashboard can manage credit methods and preview plans; cropper and module flags support the new flow.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>