feat(SW-186): implemented queries and typings for card inside header query
This commit is contained in:
@@ -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),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user