import { Accordion, ActionIcon, Collapse, ColorSwatch, Flex, MantineStyleProp, ScrollAreaAutosize, Stack, Text, useMantineColorScheme } from '@mantine/core'
import useSWR from 'swr'
import { fetcher } from '../../../http/axiosInstance'
import { BASE_URL } from '../../../constants'
import { useDisclosure } from '@mantine/hooks'
import { IconChevronDown } from '@tabler/icons-react'
const MapLegend = ({
selectedDistrict,
selectedYear,
style
}: {
selectedDistrict: number | null,
selectedYear: number | null,
style: MantineStyleProp
}) => {
const { colorScheme } = useMantineColorScheme()
const { data: existingObjectsList } = useSWR(
selectedYear && selectedDistrict ? `/general/objects/list?year=${selectedYear}&city_id=${selectedDistrict}&planning=0` : null,
(url) => fetcher(url, BASE_URL.ems),
{
revalidateOnFocus: false
}
)
const { data: planningObjectsList } = useSWR(
selectedYear && selectedDistrict ? `/general/objects/list?year=${selectedYear}&city_id=${selectedDistrict}&planning=1` : null,
(url) => fetcher(url, BASE_URL.ems),
{
revalidateOnFocus: false
}
)
const [opened, { toggle }] = useDisclosure(false)
return (
Легенда
Существующие
{existingObjectsList && }
Планируемые
{planningObjectsList && }
)
}
const LegendGroup = ({
objectsList,
border
}: {
objectsList: { id: number, name: string, count: number, r: number | null, g: number | null, b: number | null }[],
border: 'solid' | 'dotted'
}) => {
const borderStyle = () => {
switch (border) {
case 'solid':
return '2px solid black'
case 'dotted':
return '2px dotted black'
default:
return 'none'
}
}
return (
{objectsList.map(object => (
-
{object.name}
))}
)
}
export default MapLegend