import { graphql, unmaskFragment } from "@/gql"; import { type ContactEntityBlockFragment } from "@/gql/graphql"; import styles from "./contactEntityBlock.module.scss"; import { ContactEntityFragmentDefinition, ImageFragmentDefinition, formatNorwegianPhoneNumber, formatPhoneE164, } from "@/lib/common"; import { Icon } from "../general/Icon"; import { Image } from "../general/Image"; const ContactEntityBlockFragmentDefinition = graphql(` fragment ContactEntityBlock on ContactEntityBlock { contactEntity { ...ContactEntity } } `); export const ContactEntityBlock = ({ block, }: { block: ContactEntityBlockFragment; }) => { const contact = unmaskFragment( ContactEntityFragmentDefinition, block?.contactEntity ); const image = unmaskFragment(ImageFragmentDefinition, contact?.image); if (!contact) { return <>; } const phoneE164 = contact.phoneNumber && formatPhoneE164(contact.phoneNumber); const phoneFormatted = phoneE164 && formatNorwegianPhoneNumber(phoneE164); return (
  • {!image && ( )} {image && ( {image.alt )}

    {contact.name}

    {contact.title &&

    {contact.title}

    } {(contact.email || phoneE164) && ( )}
  • ); };