diff --git a/web/core/components/issues/issue-detail-widgets/links/helper.tsx b/web/core/components/issues/issue-detail-widgets/links/helper.tsx index f0a6ed31633..4669528cd3a 100644 --- a/web/core/components/issues/issue-detail-widgets/links/helper.tsx +++ b/web/core/components/issues/issue-detail-widgets/links/helper.tsx @@ -27,6 +27,7 @@ export const useLinkOperations = (workspaceSlug: string, projectId: string, issu type: TOAST_TYPE.ERROR, title: "Link not created", }); + throw error; } }, update: async (linkId: string, data: Partial) => { @@ -44,6 +45,7 @@ export const useLinkOperations = (workspaceSlug: string, projectId: string, issu type: TOAST_TYPE.ERROR, title: "Link not updated", }); + throw error; } }, remove: async (linkId: string) => { diff --git a/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx b/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx index ab0d80f1b23..99e350c6132 100644 --- a/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx +++ b/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx @@ -7,8 +7,6 @@ import { Controller, useForm } from "react-hook-form"; import type { TIssueLinkEditableFields } from "@plane/types"; // plane ui import { Button, Input, ModalCore } from "@plane/ui"; -// helpers -import { checkURLValidity } from "@/helpers/string.helper"; // hooks import { useIssueDetail } from "@/hooks/store"; // types @@ -48,14 +46,18 @@ export const IssueLinkCreateUpdateModal: FC = observe const onClose = () => { setIssueLinkData(null); - reset(); if (handleOnClose) handleOnClose(); }; const handleFormSubmit = async (formData: TIssueLinkCreateFormFieldOptions) => { - if (!formData || !formData.id) await linkOperations.create({ title: formData.title, url: formData.url }); - else await linkOperations.update(formData.id as string, { title: formData.title, url: formData.url }); - onClose(); + const parsedUrl = formData.url.startsWith("http") ? formData.url : `http://${formData.url}`; + try { + if (!formData || !formData.id) await linkOperations.create({ title: formData.title, url: parsedUrl }); + else await linkOperations.update(formData.id, { title: formData.title, url: parsedUrl }); + onClose(); + } catch (error) { + console.error("error", error); + } }; useEffect(() => { @@ -77,7 +79,6 @@ export const IssueLinkCreateUpdateModal: FC = observe name="url" rules={{ required: "URL is required", - validate: (value) => checkURLValidity(value) || "URL is invalid", }} render={({ field: { value, onChange, ref } }) => ( = (props) => { type: TOAST_TYPE.ERROR, title: "Link not created", }); + throw error; } }, update: async (linkId: string, data: Partial) => { @@ -76,6 +77,7 @@ export const IssueLinkRoot: FC = (props) => { type: TOAST_TYPE.ERROR, title: "Link not updated", }); + throw error; } }, remove: async (linkId: string) => { diff --git a/web/core/components/modules/links/create-update-modal.tsx b/web/core/components/modules/links/create-update-modal.tsx index 2700dc98038..0018b2eb66e 100644 --- a/web/core/components/modules/links/create-update-modal.tsx +++ b/web/core/components/modules/links/create-update-modal.tsx @@ -6,8 +6,6 @@ import { Controller, useForm } from "react-hook-form"; import type { ILinkDetails, ModuleLink } from "@plane/types"; // plane ui import { Button, Input, ModalCore, setToast, TOAST_TYPE } from "@plane/ui"; -// helpers -import { checkURLValidity } from "@/helpers/string.helper"; type Props = { createLink: (formData: ModuleLink) => Promise; @@ -39,9 +37,10 @@ export const CreateUpdateModuleLinkModal: FC = (props) => { }; const handleFormSubmit = async (formData: ModuleLink) => { + const parsedUrl = formData.url.startsWith("http") ? formData.url : `http://${formData.url}`; const payload = { title: formData.title, - url: formData.url, + url: parsedUrl, }; try { @@ -92,7 +91,6 @@ export const CreateUpdateModuleLinkModal: FC = (props) => { name="url" rules={{ required: "URL is required", - validate: (value) => checkURLValidity(value) || "URL is invalid", }} render={({ field: { value, onChange, ref } }) => (