From c70c70661160a26ac57a164cc5bac682e5453881 Mon Sep 17 00:00:00 2001 From: "mihai@customeros.ai" Date: Tue, 18 Feb 2025 13:13:38 +0200 Subject: [PATCH] change linkedin validation for add contacts + add linkedin url --- src/domain/usecases/contact-details/add-linkedin.usecase.ts | 2 +- src/domain/usecases/contact-details/create-contact.usecase.ts | 4 +++- .../CommandMenu/commands/contacts/AddSingleContact.tsx | 2 +- src/utils/linkedinValidation.ts | 3 +-- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/domain/usecases/contact-details/add-linkedin.usecase.ts b/src/domain/usecases/contact-details/add-linkedin.usecase.ts index 2fee8f35..cf223061 100644 --- a/src/domain/usecases/contact-details/add-linkedin.usecase.ts +++ b/src/domain/usecases/contact-details/add-linkedin.usecase.ts @@ -75,7 +75,7 @@ export class LinkedIn { } else { this.emptyLinkedInUrl = false; - const linkedInUrlPattern = /^(https?:\/\/)?(www\.)?linkedin\.com\/.*$/; + const linkedInUrlPattern = /linkedin\.com\/in\/[^/]+\/?$/; if (!linkedInUrlPattern.test(url)) { this.invalidLinkedInUrl = true; diff --git a/src/domain/usecases/contact-details/create-contact.usecase.ts b/src/domain/usecases/contact-details/create-contact.usecase.ts index 0e7d2885..9840cef3 100644 --- a/src/domain/usecases/contact-details/create-contact.usecase.ts +++ b/src/domain/usecases/contact-details/create-contact.usecase.ts @@ -34,7 +34,7 @@ export class CreateContactUsecase { @observable static accessor isBrowserExtensionEnabled: boolean = true; private readonly PATTERNS = { - linkedin: /linkedin\.com\/in\/[^/]+$/, + linkedin: /linkedin\.com\/in\/[^/]+\/?$/, email: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/, }; @@ -168,6 +168,8 @@ export class CreateContactUsecase { this.inputValue = ''; this.isLoading = false; this.type = 'linkedin'; + this.root.ui.commandMenu.toggle('AddSingleContact'); + this.root.ui.commandMenu.clearContext(); } @action diff --git a/src/routes/src/components/CommandMenu/commands/contacts/AddSingleContact.tsx b/src/routes/src/components/CommandMenu/commands/contacts/AddSingleContact.tsx index 8746811d..3b51dd35 100644 --- a/src/routes/src/components/CommandMenu/commands/contacts/AddSingleContact.tsx +++ b/src/routes/src/components/CommandMenu/commands/contacts/AddSingleContact.tsx @@ -172,7 +172,7 @@ export const AddSingleContact = observer(() => { : usecase.currentError.message ? usecase.currentError.message : usecase.currentError.isInvalid - ? `Invalid ${usecase.type} format` + ? `This ${usecase.type} seems to be incorrect` : ''}

diff --git a/src/utils/linkedinValidation.ts b/src/utils/linkedinValidation.ts index dd1f9aa4..9aab6def 100644 --- a/src/utils/linkedinValidation.ts +++ b/src/utils/linkedinValidation.ts @@ -1,6 +1,5 @@ export function validLinkedInProfileUrl(url: string): boolean { - const re = - /(https?:\/\/(www\.)|(www\.))?linkedin\.com\/(mwlite\/|m\/)?in\/[a-zA-Z0-9-]+\/?$/; + const re = /linkedin\.com\/in\/[^/]+\/?$/; return re.test(url); }