From 76d1cb700100d0ce37790a0f540a8b6c2ab24741 Mon Sep 17 00:00:00 2001 From: Alireza Hassani Date: Mon, 3 Aug 2026 09:21:07 +0330 Subject: [PATCH] Collect owner FA/EN names and clarify SSL status labels in super-admin. Create business now requires both locales, and the businesses list shows FA and EN owner names when available. Co-authored-by: Cursor --- .../src/pages/BusinessesPage.module.css | 7 +++ apps/super-admin/src/pages/BusinessesPage.tsx | 63 ++++++++++++++++--- apps/super-admin/src/pages/WebsitesPage.tsx | 10 +-- apps/super-admin/src/types/business.ts | 3 + 4 files changed, 68 insertions(+), 15 deletions(-) diff --git a/apps/super-admin/src/pages/BusinessesPage.module.css b/apps/super-admin/src/pages/BusinessesPage.module.css index 4cea5f3..fa7c618 100644 --- a/apps/super-admin/src/pages/BusinessesPage.module.css +++ b/apps/super-admin/src/pages/BusinessesPage.module.css @@ -462,6 +462,13 @@ line-height: 1.3; } +.ownerNameEn { + font-size: 12px; + font-weight: 500; + color: var(--text-secondary); + line-height: 1.3; +} + .ownerPhone { font-size: 11px; font-weight: 500; diff --git a/apps/super-admin/src/pages/BusinessesPage.tsx b/apps/super-admin/src/pages/BusinessesPage.tsx index d9380e8..8c1f7d1 100644 --- a/apps/super-admin/src/pages/BusinessesPage.tsx +++ b/apps/super-admin/src/pages/BusinessesPage.tsx @@ -217,6 +217,8 @@ export function BusinessesPage() { const [createCategoryIds, setCreateCategoryIds] = useState([]) const [createOwnerFirstName, setCreateOwnerFirstName] = useState('') const [createOwnerLastName, setCreateOwnerLastName] = useState('') + const [createOwnerFirstNameEn, setCreateOwnerFirstNameEn] = useState('') + const [createOwnerLastNameEn, setCreateOwnerLastNameEn] = useState('') const [createOwnerCell, setCreateOwnerCell] = useState('') const [createOwnerPassword, setCreateOwnerPassword] = useState('') const [createSubmitting, setCreateSubmitting] = useState(false) @@ -695,6 +697,8 @@ export function BusinessesPage() { setCreateCategoryIds([]) setCreateOwnerFirstName('') setCreateOwnerLastName('') + setCreateOwnerFirstNameEn('') + setCreateOwnerLastNameEn('') setCreateOwnerCell('') setCreateOwnerPassword('') setCreateError('') @@ -719,6 +723,8 @@ export function BusinessesPage() { categoryIds: createCategoryIds, ownerFirstName: createOwnerFirstName.trim(), ownerLastName: createOwnerLastName.trim(), + ownerFirstNameEn: createOwnerFirstNameEn.trim(), + ownerLastNameEn: createOwnerLastNameEn.trim(), ownerCellNumber, ownerPassword: createOwnerPassword, }) @@ -782,6 +788,8 @@ export function BusinessesPage() { createCategoryIds.length > 0 && createOwnerFirstName.trim().length >= 2 && createOwnerLastName.trim().length >= 2 && + createOwnerFirstNameEn.trim().length >= 2 && + createOwnerLastNameEn.trim().length >= 2 && toE164CellNumber(createOwnerCell.trim()).length > 0 && createOwnerPassword.length >= 8 @@ -929,16 +937,16 @@ export function BusinessesPage() { {b.sslEnabled ? ( ) : (
-
{b.ownerName ?? '—'}
+
+ {b.ownerName ?? '—'} +
+ {b.ownerNameEn ? ( +
{b.ownerNameEn}
+ ) : null}
{b.ownerCellNumber ? formatCellForDisplay(b.ownerCellNumber) : '—'}
@@ -1488,21 +1501,51 @@ export function BusinessesPage() {
- + setCreateOwnerFirstName(e.target.value)} + id="create-owner-first-name-en" + value={createOwnerFirstNameEn} + onChange={(e) => setCreateOwnerFirstNameEn(e.target.value)} + placeholder="First name" disabled={createSubmitting} />
- + + setCreateOwnerLastNameEn(e.target.value)} + placeholder="Last name" + disabled={createSubmitting} + /> +
+ +
+ + setCreateOwnerFirstName(e.target.value)} + placeholder="نام" + dir="rtl" + lang="fa" + disabled={createSubmitting} + /> +
+ +
+ setCreateOwnerLastName(e.target.value)} + placeholder="نام خانوادگی" + dir="rtl" + lang="fa" disabled={createSubmitting} />
diff --git a/apps/super-admin/src/pages/WebsitesPage.tsx b/apps/super-admin/src/pages/WebsitesPage.tsx index cb31ddc..ec8a126 100644 --- a/apps/super-admin/src/pages/WebsitesPage.tsx +++ b/apps/super-admin/src/pages/WebsitesPage.tsx @@ -493,16 +493,16 @@ export function WebsitesPage() { {domain.sslEnabled ? ( ) : ( )} - {domain.sslEnabled ? 'Enabled' : 'Disabled'} + {domain.sslEnabled ? 'Valid' : 'Invalid'} diff --git a/apps/super-admin/src/types/business.ts b/apps/super-admin/src/types/business.ts index 430c73e..f4922d3 100644 --- a/apps/super-admin/src/types/business.ts +++ b/apps/super-admin/src/types/business.ts @@ -19,6 +19,7 @@ export interface BusinessListItem { domain: string | null sslEnabled: boolean | null ownerName: string | null + ownerNameEn: string | null ownerCellNumber: string | null isActive: boolean primaryColor: BusinessPrimaryColorId @@ -94,6 +95,8 @@ export interface CreateBusinessPayload { categoryIds: number[] ownerFirstName: string ownerLastName: string + ownerFirstNameEn: string + ownerLastNameEn: string ownerCellNumber: string ownerPassword: string }