Files
web/apps/scandic-web/components/Header/TopLink/index.tsx
Erik Tiekstra c4b564998c fix(BOOK-325): Added refetch options to user.name query and refactored header
Approved-by: Linus Flood
Approved-by: Matilda Landström
2025-11-13 06:33:47 +00:00

43 lines
957 B
TypeScript

import { IconName } from "@scandic-hotels/design-system/Icons/iconName"
import HeaderLink from "../HeaderLink"
import styles from "./topLink.module.css"
import type { Header } from "@scandic-hotels/trpc/types/header"
import type { ComponentProps } from "react"
export interface TopLinkProps
extends Omit<
ComponentProps<typeof HeaderLink>,
"href" | "iconName" | "children"
> {
isLoggedIn: boolean
topLink: Header["header"]["topLink"]
iconSize?: number
}
export default function TopLink({
isLoggedIn,
topLink,
iconSize = 16,
...props
}: TopLinkProps) {
const linkData = isLoggedIn ? topLink.logged_in : topLink.logged_out
if (!linkData?.url || !linkData?.title) {
return null
}
return (
<HeaderLink
href={linkData.url}
iconName={linkData.icon || IconName.Gift}
iconSize={iconSize}
{...props}
>
<span className={styles.topLink}>{linkData.title}</span>
</HeaderLink>
)
}