From b6b95ea643f07ea3bcca295b9d106e00d8505a52 Mon Sep 17 00:00:00 2001 From: pradeepkumar Date: Fri, 17 Apr 2026 12:31:48 +0530 Subject: [PATCH] feat: exclude specific profile fields from search filter UI --- src/profile-fields/profile-fields.service.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/profile-fields/profile-fields.service.ts b/src/profile-fields/profile-fields.service.ts index c17d02a..5fb28c1 100644 --- a/src/profile-fields/profile-fields.service.ts +++ b/src/profile-fields/profile-fields.service.ts @@ -308,7 +308,19 @@ export class ProfileFieldsService { return opt.label.toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '') === 'prefer_not_to_say'; }; + // Entire fields to hide from search filter UI (still usable on profile forms via admin) + const normalizeKey = (s: string) => + s.toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, ''); + const EXCLUDED_FIELD_KEYS = new Set([ + 'what_sets_us_apart', + 'what_sets_you_apart', + ]); + const isExcludedField = (field: { slug: string; name: string }) => + EXCLUDED_FIELD_KEYS.has(normalizeKey(field.slug)) || + EXCLUDED_FIELD_KEYS.has(normalizeKey(field.name)); + for (const field of fields) { + if (isExcludedField(field)) continue; const rawOptions = (field.options as { label: string; value: string }[]) || []; const fieldOptions = rawOptions.filter((opt) => !isExcludedOption(opt)); const normalizedName = field.name.toLowerCase().trim();