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>
Add finance to the modules picker and hide sidebar, home tile, and customer invoice actions when it is disabled.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ship invoice issue/list/templates under Finance, fix tenant theme reset and owner role badge, and show customers-joined charts by Persian months.
Co-authored-by: Cursor <cursoragent@cursor.com>
Match sticky headers to sidebar glass, drop the Users role column, and show compact owner/admin badges only where needed.
Co-authored-by: Cursor <cursoragent@cursor.com>
Rename Customers to Users with FA/EN titles, compact headers and filter bars across apps, and refine manager role copy plus a customer-header link to the business dashboard.
Co-authored-by: Cursor <cursoragent@cursor.com>
Business and super-admin can set Customer vs Manager roles (Admin only for super-admin), and the customers page drops clutter while filtering by all/customers/managers.
Co-authored-by: Cursor <cursoragent@cursor.com>
Sanitize model output to an allowlisted fragment and convert plain/markdown fallbacks so description text stays inside the advanced editor.
Co-authored-by: Cursor <cursoragent@cursor.com>
After admit, continue via SMS OTP so login-otp can link the user to that website with unchanged password/profile.
Co-authored-by: Cursor <cursoragent@cursor.com>
Unauthenticated visits to protected pages now land on /login?redirect=…, and a shared helper keeps redirect targets same-origin only.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ship my-products / customer-products UI with gallery uploads, status controls, module gating, and related shared UI polish.
Co-authored-by: Cursor <cursoragent@cursor.com>
Remove business self-registration, localize SMS/auth errors, add password strength + confirm on reset/signup, and brand customer role as website user. Also include websites SSL sync UI updates.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add a clear pencil edit on category rows, show a proper no-image placeholder on product cards, and strengthen overflow menu glass blur.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace color/locale in Edit business with EN/FA name and about; show git repo on Edit domain to provision storefront.
Co-authored-by: Cursor <cursoragent@cursor.com>