diff --git a/app/(website)/user/[id]/components/UserSocials.tsx b/app/(website)/user/[id]/components/UserSocials.tsx index 90917c50..9edba63d 100644 --- a/app/(website)/user/[id]/components/UserSocials.tsx +++ b/app/(website)/user/[id]/components/UserSocials.tsx @@ -33,11 +33,34 @@ export const socialIcons: Partial< }; export default function UserSocials({ metadata }: UserSocialsProps) { - const linkElement = (title: string, link: string) => ( - - {title} - - ); + const normalizeUrl = (url?: string) => { + if (!url) + return "#"; + if (url.startsWith("http://") || url.startsWith("https://")) + return url; + return `https://${url}`; + }; + + const linkElement = (title: string, link: string) => { + if (link.startsWith("http://") || link.startsWith("https://")) { + return ( + + {title} + + ); + } + + return ( + + {title} + + ); + }; const htmlTag = (v: keyof UserMetadataResponse, content: string) => { switch (v) { @@ -59,7 +82,7 @@ export default function UserSocials({ metadata }: UserSocialsProps) { ); case "website": - return linkElement(content, content); + return linkElement(content, normalizeUrl(content)); default: return ( {content}