import { removeMultipleSlashes } from "@/utils/url" import { InternalExternalLink, InternalExternalLinkData } from "./output" export function makeLinkObjectFromInternalExternalLink( data: InternalExternalLinkData | undefined ): InternalExternalLink | null { if (!data) { return null } const linkConnectionNode = data.page_link.linkConnection.edges[0]?.node || null const isExternalLink = data.is_external_link && data.external_link.href const isOriginalLink = linkConnectionNode?.web?.original_url const externalLink = data.external_link const href = isExternalLink ? externalLink.href : linkConnectionNode?.web?.original_url || removeMultipleSlashes( `/${linkConnectionNode.system.locale}/${linkConnectionNode.url}` ) const title = isExternalLink ? externalLink.title : data.page_link.link_title return { openInNewTab: data.open_in_new_tab, title, href, isExternal: !!(isExternalLink || isOriginalLink), } }