-
-
#{index + 1}
+
+ #{index + 1}
{field.name}
{field.isRequired && (
- *required
+ *required
+ )}
+ {field.isSearchableOnly && (
+
+ Search Only
+
)}
@@ -647,6 +660,28 @@ export default function SectionDetailPage() {
+ {/* Search Only Toggle */}
+
+
+
+
+
+ This field will be shown in the agent edit form and used for search filtering,
+ but will NOT be visible on the public agent profile page.
+
+
+
setFieldForm({ ...fieldForm, isSearchableOnly: e.target.checked })}
+ className="mt-1 rounded border-gray-300 text-amber-600 focus:ring-amber-500"
+ />
+
+
+
{/* Options Editor for SELECT, RADIO, MULTI_SELECT, CHECKBOX_GROUP */}
{REQUIRES_OPTIONS.includes(fieldForm.fieldType) && (
diff --git a/src/app/dashboard/profile-sections/page.tsx b/src/app/dashboard/profile-sections/page.tsx
index 8d4b342..0848906 100644
--- a/src/app/dashboard/profile-sections/page.tsx
+++ b/src/app/dashboard/profile-sections/page.tsx
@@ -284,15 +284,22 @@ export default function ProfileSectionsPage() {
-
- {section.isGlobal ? 'Global' : 'Specific'}
-
+
+ {section.isSystem && (
+
+ System
+
+ )}
+
+ {section.isGlobal ? 'Global' : 'Specific'}
+
+
|
-
+ {section.isSystem ? (
+
+ Delete
+
+ ) : (
+
+ )}
|
))}
diff --git a/src/services/profile-fields.service.ts b/src/services/profile-fields.service.ts
index fb1247d..b2f8d9c 100644
--- a/src/services/profile-fields.service.ts
+++ b/src/services/profile-fields.service.ts
@@ -67,6 +67,7 @@ export interface ProfileField {
sortOrder: number;
isActive: boolean;
isRequired: boolean;
+ isSearchableOnly: boolean;
validation: FieldValidation | null;
options: FieldOption[] | null;
rangeConfig: RangeConfig | null;
@@ -90,6 +91,7 @@ export interface CreateFieldDto {
sortOrder?: number;
isActive?: boolean;
isRequired?: boolean;
+ isSearchableOnly?: boolean;
validation?: FieldValidation;
options?: FieldOption[];
rangeConfig?: RangeConfig;
@@ -105,6 +107,7 @@ export interface UpdateFieldDto {
sortOrder?: number;
isActive?: boolean;
isRequired?: boolean;
+ isSearchableOnly?: boolean;
validation?: FieldValidation;
options?: FieldOption[];
rangeConfig?: RangeConfig;
diff --git a/src/services/profile-sections.service.ts b/src/services/profile-sections.service.ts
index 5e1170a..f19f093 100644
--- a/src/services/profile-sections.service.ts
+++ b/src/services/profile-sections.service.ts
@@ -11,6 +11,7 @@ export interface ProfileSection {
sortOrder: number;
isActive: boolean;
isGlobal: boolean;
+ isSystem: boolean;
createdAt: string;
updatedAt: string;
fields?: ProfileField[];