feat(SW-186): implemented queries and typings for card inside header query

This commit is contained in:
Erik Tiekstra
2024-08-27 14:44:15 +02:00
parent d5aa2c9415
commit de60febd47
7 changed files with 220 additions and 186 deletions

View File

@@ -1,32 +0,0 @@
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 || !linkConnectionNode
? 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),
}
}