import classes from './WHClassView.module.scss'; import { Tooltip } from 'primereact/tooltip'; import clsx from 'clsx'; import { InfoDrawer } from '@/hooks/Mapper/components/ui-kit/InfoDrawer'; import { useMapRootState } from '@/hooks/Mapper/mapRootProvider'; import { WORMHOLE_CLASS_STYLES, WORMHOLES_ADDITIONAL_INFO } from '@/hooks/Mapper/components/map/constants.ts'; import { useMemo } from 'react'; const prepareMass = (mass: number) => { if (mass === 0) { return `0 t`; } return `${(mass / 1000).toLocaleString('de-DE')} t`; }; export interface WHClassViewProps { whClassName: string; noOffset?: boolean; useShortTitle?: boolean; hideWhClass?: boolean; highlightName?: boolean; className?: string; classNameWh?: string; } export const WHClassView = ({ whClassName, noOffset, useShortTitle, hideWhClass, highlightName, className, classNameWh, }: WHClassViewProps) => { const { data: { wormholesData }, } = useMapRootState(); const whData = useMemo(() => wormholesData[whClassName], [whClassName, wormholesData]); const whClass = useMemo(() => WORMHOLES_ADDITIONAL_INFO[whData.dest], [whData.dest]); const whClassStyle = WORMHOLE_CLASS_STYLES[whClass?.wormholeClassID] ?? ''; const uid = useMemo(() => new Date().getTime().toString(), []); return (
{prepareMass(whData.total_mass)} {prepareMass(whData.max_mass_per_jump)}
{whData.lifetime}h {prepareMass(whData.mass_regen)}
{whClassName} {!hideWhClass && whClass && ( {useShortTitle ? whClass.shortTitle : whClass.shortName} )}
); };