"use client" import { type Key, useState } from "react" import Link from "@/components/TempDesignSystem/Link" import Title from "@/components/TempDesignSystem/Text/Title" import { ArrowRightIcon, CompareArrowsIcon } from "../Icons" import SectionContainer from "../Section/Container" import SectionHeader from "../Section/Header" import Button from "../TempDesignSystem/Button" import Select from "../TempDesignSystem/Select" import styles from "./sas-tier-comparison.module.css" import type { SasTierComparison } from "@/types/trpc/routers/contentstack/blocks" type SasTierComparisonContent = SasTierComparison["sas_tier_comparison"] type TierComparisonProps = { content: SasTierComparisonContent firstItem: boolean } const scandicSasTierMappings: [string[], string[]][] = [ [["L1", "L2", "L3"], ["Basic"]], [["L4"], ["Silver"]], [["L5"], ["Gold"]], [ ["L6", "L7"], ["Diamond", "Pandion"], ], ] export function SasTierComparison({ content, firstItem }: TierComparisonProps) { const comparisonContent = content.sasTierComparison const scandic = comparisonContent?.scandic_friends const sas = comparisonContent?.sas_eb const [activeScandicTierCode, setActiveScandicTierCode] = useState( scandic?.tiers.at(0)?.tier_code ?? "" ) const [activeSasTierCode, setActiveSasTierCode] = useState( sas?.tiers.at(0)?.tier_code ?? "" ) if (!scandic || !sas) return null const onChangeScandic = (k: Key) => { const key = k.toString() setActiveScandicTierCode(k.toString()) const mapping = scandicSasTierMappings.find(([tierMapping]) => tierMapping.includes(key) ) if (!mapping) return const sasTierCode = mapping[1][0] setActiveSasTierCode(sasTierCode) } const onChangeSas = (k: Key) => { const key = k.toString() setActiveSasTierCode(key) const mapping = scandicSasTierMappings.find(([_, tierMapping]) => tierMapping.includes(key) ) if (!mapping) return const scandicTierCode = mapping[0][0] setActiveScandicTierCode(scandicTierCode) } return (
{comparisonContent.preamble && (

{comparisonContent.preamble}

)}
{scandic.title} ({ label: tier.tier_label, value: tier.tier_code, }))} value={activeSasTierCode} onSelect={onChangeSas} /> {sas.read_more_link && ( )}
{comparisonContent.cta && (
)}
) } function ReadMoreLink({ href, title }: { href: string; title: string }) { return ( {title} ) }