'use client' import React from 'react' import { useRouter } from 'next/navigation' import { useTranslations } from 'next-intl' import { getCookie } from 'cookies-next' import { Hovercard, HovercardContent, HovercardTrigger, } from '~components/common/Hovercard' import Button from '~components/common/Button' import HovercardHeader from '~components/HovercardHeader' import styles from './index.module.scss' interface Props { gridSummon: GridSummon children: React.ReactNode side?: 'top' | 'right' | 'bottom' | 'left' onTriggerClick: () => void } const SummonHovercard = (props: Props) => { const router = useRouter() const t = useTranslations('common') const locale = getCookie('NEXT_LOCALE') && ['en', 'ja'].includes(getCookie('NEXT_LOCALE') as string) ? (getCookie('NEXT_LOCALE') as string) : 'en' const Element = ['null', 'wind', 'fire', 'water', 'earth', 'dark', 'light'] const tintElement = Element[props.gridSummon.object.element] function goTo() { const urlSafeName = props.gridSummon.object.name.en.replaceAll(' ', '_') const url = `https://gbf.wiki/${urlSafeName}` window.open(url, '_blank') } function summonImage() { let imgSrc = '' if (props.gridSummon) { const summon = props.gridSummon.object const upgradedSummons = [ '2040094000', '2040100000', '2040080000', '2040098000', '2040090000', '2040084000', '2040003000', '2040056000', ] let suffix = '' if ( upgradedSummons.indexOf(summon.granblue_id.toString()) != -1 && props.gridSummon.uncap_level == 5 ) { suffix = '_02' } else if ( props.gridSummon.object.uncap.transcendence && props.gridSummon.transcendence_step > 0 ) { suffix = '_03' } // Generate the correct source for the summon imgSrc = `${process.env.NEXT_PUBLIC_SIERO_IMG_URL}/summon-grid/${summon.granblue_id}${suffix}.jpg` } return imgSrc } const wikiButton = (