From 1750385a01003758cf57ebf8ae3633b9ccd205d5 Mon Sep 17 00:00:00 2001 From: Atris Date: Tue, 9 Jan 2024 12:03:51 +0100 Subject: [PATCH] fix: website input glitch (#2776) --- .../src/components/base/ProjectForm.tsx | 12 ++++++++++-- .../builder/src/components/grants/inputs.tsx | 19 +++++++++---------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/packages/builder/src/components/base/ProjectForm.tsx b/packages/builder/src/components/base/ProjectForm.tsx index 802e3d4b3e..78aae2c7c8 100644 --- a/packages/builder/src/components/base/ProjectForm.tsx +++ b/packages/builder/src/components/base/ProjectForm.tsx @@ -66,10 +66,12 @@ function ProjectForm({ setBannerImg(banner); dispatch(metadataImageSaved(banner, "bannerImgData")); }; - const validate = async () => { try { - await validateProjectForm(props.formMetaData); + await validateProjectForm({ + ...props.formMetaData, + website: `https://${props.formMetaData.website}`, + }); setFormValidation({ messages: [], valid: true, @@ -121,6 +123,12 @@ function ProjectForm({ setSubmitted(true); const valid = await validate(); if (valid) { + dispatch( + metadataSaved({ + ...props.formMetaData, + website: `https://${props.formMetaData.website}`, + }) + ); setVerifying(ProjectFormStatus.Verification); } }; diff --git a/packages/builder/src/components/grants/inputs.tsx b/packages/builder/src/components/grants/inputs.tsx index 8f31e737d4..8cb5ac0640 100644 --- a/packages/builder/src/components/grants/inputs.tsx +++ b/packages/builder/src/components/grants/inputs.tsx @@ -234,15 +234,9 @@ export function WebsiteInput({ }: InputProps) { const styleInfo = getStyleInfoForFeedback(feedback); const { borderClass, feedbackColor } = styleInfo; - - const removeWhiteSpace = (event: React.ChangeEvent) => { - const validatedEvent = event; - validatedEvent.target.value = `https://${event.target.value.trim()}`; - - changeHandler(event); - }; - - const sanitizedInput = (value as string).replace(/(^\w+:|^)\/\//, ""); + const sanitizedInput = (value as string) + .replace(/(^\w+:|^)\/\//, "") + .replaceAll(" ", ""); return (
@@ -268,9 +262,14 @@ export function WebsiteInput({ id={name} name={name} value={sanitizedInput ?? ""} + onKeyDown={(e) => { + if (e.key === " ") { + e.preventDefault(); + } + }} placeholder={placeholder} disabled={disabled} - onChange={removeWhiteSpace} + onChange={changeHandler} className={borderClass} />