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>