import { InfoDrawer } from '@/hooks/Mapper/components/ui-kit'; import { WdTooltipWrapper } from '@/hooks/Mapper/components/ui-kit/WdTooltipWrapper'; import { WORMHOLE_CLASS_STYLES, WORMHOLES_ADDITIONAL_INFO } from '@/hooks/Mapper/components/map/constants.ts'; import { renderInfoColumn } from '@/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/renders'; import { K162_TYPES_MAP } from '@/hooks/Mapper/constants.ts'; import { parseSignatureCustomInfo } from '@/hooks/Mapper/helpers/parseSignatureCustomInfo.ts'; import { useMapRootState } from '@/hooks/Mapper/mapRootProvider'; import { TimeStatus } from '@/hooks/Mapper/types'; import { SystemSignature } from '@/hooks/Mapper/types/signatures'; import clsx from 'clsx'; import { useMemo } from 'react'; import classes from './UnsplashedSignature.module.scss'; interface UnsplashedSignatureProps { signature: SystemSignature; } export const UnsplashedSignature = ({ signature }: UnsplashedSignatureProps) => { const { data: { wormholesData }, } = useMapRootState(); const whData = useMemo(() => wormholesData[signature.type], [signature.type, wormholesData]); const whClass = useMemo(() => (whData ? WORMHOLES_ADDITIONAL_INFO[whData.dest] : null), [whData]); const customInfo = useMemo(() => { return parseSignatureCustomInfo(signature.custom_info); }, [signature]); const k162TypeOption = useMemo(() => { if (!customInfo?.k162Type) { return null; } return K162_TYPES_MAP[customInfo.k162Type]; }, [customInfo]); const isEOL = useMemo(() => { return customInfo?.time_status === TimeStatus._1h; }, [customInfo]); const whClassStyle = useMemo(() => { if (signature.type === 'K162' && k162TypeOption) { const k162Data = wormholesData[k162TypeOption.whClassName]; const k162Class = k162Data ? WORMHOLES_ADDITIONAL_INFO[k162Data.dest] : null; return k162Class ? WORMHOLE_CLASS_STYLES[k162Class.wormholeClassID] : ''; } return whClass ? WORMHOLE_CLASS_STYLES[whClass.wormholeClassID] : ''; }, [signature, whClass, k162TypeOption, wormholesData]); return ( {signature.eve_id}}> {renderInfoColumn(signature)} } smallPaddings >
{isEOL && }
); };