import { Modal, Space, Tag } from 'antd'; import { useSchemaStore } from '../../store/schemaStore.ts'; import { STATUS_COLORS, STATUS_LABELS } from '../../constants/statusColors.ts'; import { EntityStatus, LineStyle, Medium } from '../../types/index.ts'; export function LegendModal() { const visible = useSchemaStore((s) => s.legendVisible); const setVisible = useSchemaStore((s) => s.setLegendVisible); return ( setVisible(false)} footer={null} width={480} >

Цвета статусов

{Object.values(EntityStatus).map((status) => { const colors = STATUS_COLORS[status]; const label = STATUS_LABELS[status]; return ( {label} ); })}

Типы линий

{Object.values(LineStyle).map((style) => { const dasharray = style === LineStyle.Solid ? '' : style === LineStyle.Dashed ? '8 4' : '2 4'; return (
{style}
); })}

Среда передачи

{Object.values(Medium).map((medium) => (
{medium} {medium === Medium.Optical && ' — оптическое волокно'} {medium === Medium.Copper && ' — медный кабель'} {medium === Medium.Wireless && ' — беспроводная связь'} {medium === Medium.Unknown && ' — неизвестная среда'}
))}
); }