From 5e3a40f64df575ae82cad1121ee75e9d691eeb30 Mon Sep 17 00:00:00 2001 From: Anton Akhatov Date: Mon, 1 Jan 2024 11:33:16 +0000 Subject: [PATCH] refactor store --- .../{DesktopCard.tsx => index.tsx} | 11 +- components/Card/MobileCard.tsx | 18 - components/Card/components/CardActions.tsx | 54 ++ .../ConstructionInfo/ConstructionInfo.tsx | 38 -- .../Card/components/Header/Header.module.css | 29 - components/Card/components/Header/Header.tsx | 62 --- .../components/Section/Section.module.css | 11 - .../Card/components/Section/Section.tsx | 7 - .../Card/components/Sources/Sources.tsx | 8 +- components/Card/index.ts | 2 - components/Card/{Card.tsx => index.tsx} | 1 - components/Filters/FilterGrid.tsx | 53 ++ components/Filters/index.ts | 1 - constants/colors.ts | 6 - constants/sources.ts | 49 -- features/App/App.tsx | 3 +- features/App/Content.config.ts | 14 +- features/App/Filters.config.tsx | 28 +- features/App/Sidebars.tsx | 17 +- features/Buildings/BuildingCard.tsx | 165 ++++++ features/Buildings/BuildingRange.tsx | 54 ++ features/Buildings/BuildingSource.tsx | 113 +--- .../CardContent/CardContent.module.css | 14 - .../Buildings/CardContent/CardContent.tsx | 200 ------- features/Buildings/Filter/HouseBaseFilter.tsx | 29 - features/Buildings/Houses.constants.ts | 43 -- features/Buildings/houseBase.ts | 39 +- features/Copyright/Copyright.tsx | 13 +- .../DTP/CardContent/CardContent.module.css | 14 - .../Participants/Participants.module.css | 13 +- .../components/Participants/Participants.tsx | 100 ++-- features/DTP/DTP.constants.ts | 21 +- .../CardContent.tsx => DtpCardContent.tsx} | 97 ++-- features/DTP/DtpSource.tsx | 39 +- features/DTP/Filter/DTPFilter.module.css | 18 - features/DTP/Filter/DTPFilter.state.ts | 37 -- features/DTP/Filter/DTPFilter.tsx | 205 +------ features/DTP/Filter/DTPFilter.types.ts | 13 - features/DTP/dtp.ts | 59 +- .../DesignCode/CardContent/CardContent.tsx | 49 -- features/DesignCode/DesignCode.constants.ts | 17 - features/DesignCode/DesignCodeCard.tsx | 76 +++ features/DesignCode/DesignCodeSource.tsx | 73 --- .../Filter/DesignCodeFilter.state.ts | 17 - .../DesignCode/Filter/DesignCodeFilter.tsx | 55 -- .../Filter/DesignCodeFilter.types.ts | 7 - features/DesignCode/designCode.ts | 19 +- features/DesignCode/designCodeObject.ts | 28 - features/Facade/CardContent/Facade.module.css | 12 - features/Facade/CardContent/Facade.tsx | 18 - .../DownloadButton/DownloadButton.module.css | 0 .../Facade}/DownloadButton/DownloadButton.tsx | 4 +- features/Facade/{Filter => }/FacadeFilter.tsx | 0 features/Facade/FacadeSource.tsx | 35 +- features/FeedbackButton/FeedbackButton.tsx | 6 +- {components => features}/Filters/Filters.tsx | 36 +- features/Filters/LayerFilter.tsx | 38 ++ features/Filters/MapFilter.tsx | 54 ++ features/HouseAge/HouseAgeFilter.tsx | 42 -- features/HouseFloor/HouseFloorFilter.tsx | 42 -- .../HealthProgress/HealthProgress.tsx | 26 +- .../HouseWearTear/HouseWearTearFilter.tsx | 41 -- features/Lines/CardContent/CardContent.tsx | 30 -- features/Lines/Filter/LinesFilter.state.ts | 17 - features/Lines/Filter/LinesFilter.tsx | 63 --- features/Lines/Filter/LinesFilter.types.ts | 8 - features/Lines/Lines.constants.ts | 16 - features/Lines/LinesCardContent.tsx | 48 ++ features/Lines/LinesSource.tsx | 70 --- features/Lines/lineType.ts | 18 - features/Lines/lines.ts | 9 - features/Map/ClickableLayer.tsx | 27 + features/Map/Map.tsx | 14 +- features/Map/MapSource.tsx | 64 +++ .../MarkersLayer.module.css} | 0 features/Map/MarkersLayer.tsx | 85 +++ features/Map/helpers/getLayerProps.ts | 51 ++ features/Map/helpers/groupByProperty.tsx | 8 + features/Map/helpers/setBuildingStyle.ts | 122 +++++ features/Map/helpers/useOpenMapItem.tsx | 2 +- .../OKN/CardContent/CardContent.module.css | 35 -- features/OKN/CardContent/CardContent.tsx | 79 --- .../components/OKNInfo/OKNInfo.tsx | 12 +- features/OKN/CardContent/index.ts | 1 - features/OKN/Filter/OknFilter.state.ts | 43 -- features/OKN/Filter/OknFilter.tsx | 147 +---- features/OKN/Okn.constants.ts | 20 +- features/OKN/OknCardContent.tsx | 94 ++++ features/OKN/OknSource.tsx | 95 ++-- .../OKN.tsx => features/OKN/SvgOknIcon.tsx | 2 +- features/OKN/okn.ts | 19 +- features/OKN/oknObject.ts | 46 +- .../CardContent/CardContent.module.css | 30 -- features/Quarter/CardContent/CardContent.tsx | 60 --- features/Quarter/QuarterCardContent.tsx | 50 ++ .../Quarter/{Filter => }/QuarterFilter.tsx | 15 - features/Quarter/QuarterSource.tsx | 57 -- features/Quarter/quarter.ts | 6 +- features/Quarter/quarterObject.ts | 6 - package.json | 7 +- pages/_document.tsx | 4 +- pnpm-lock.yaml | 16 +- shared/UI/Icons/Auto.tsx | 21 - shared/UI/Icons/Bike.tsx | 21 - shared/UI/Icons/BrokenHeart.tsx | 47 -- shared/UI/Icons/Bycicle.tsx | 21 - shared/UI/Icons/Children.tsx | 21 - shared/UI/Icons/Copy.tsx | 34 -- shared/UI/Icons/Download.tsx | 20 - shared/UI/Icons/DownloadIcon.tsx | 17 - shared/UI/Icons/Edit.tsx | 26 - shared/UI/Icons/External.tsx | 12 - shared/UI/Icons/Heart.tsx | 35 -- shared/UI/Icons/Icons.constants.ts | 30 -- shared/UI/Icons/Icons.types.ts | 17 - shared/UI/Icons/Link.tsx | 21 - shared/UI/Icons/Pdf.tsx | 38 -- shared/UI/Icons/Pedestrian.tsx | 21 - shared/UI/Icons/PublicTransport.tsx | 21 - shared/UI/Icons/index.tsx | 14 - shared/helpers/getYearNameByValue.ts | 6 + state/config.ts | 505 ++++++++++++++++++ state/features/dataLayers.ts | 36 +- state/state.ts | 37 +- types/Content.types.ts | 6 +- types/Filters.types.ts | 2 +- types/Sources.types.ts | 19 - 127 files changed, 2012 insertions(+), 2925 deletions(-) rename components/Card/DesktopCard/{DesktopCard.tsx => index.tsx} (51%) delete mode 100644 components/Card/MobileCard.tsx create mode 100644 components/Card/components/CardActions.tsx delete mode 100644 components/Card/components/ConstructionInfo/ConstructionInfo.tsx delete mode 100644 components/Card/components/Header/Header.module.css delete mode 100644 components/Card/components/Header/Header.tsx delete mode 100644 components/Card/components/Section/Section.module.css delete mode 100644 components/Card/components/Section/Section.tsx delete mode 100644 components/Card/index.ts rename components/Card/{Card.tsx => index.tsx} (99%) create mode 100644 components/Filters/FilterGrid.tsx delete mode 100644 components/Filters/index.ts delete mode 100644 constants/sources.ts create mode 100644 features/Buildings/BuildingCard.tsx create mode 100644 features/Buildings/BuildingRange.tsx delete mode 100644 features/Buildings/CardContent/CardContent.module.css delete mode 100644 features/Buildings/CardContent/CardContent.tsx delete mode 100644 features/Buildings/Filter/HouseBaseFilter.tsx delete mode 100644 features/Buildings/Houses.constants.ts delete mode 100644 features/DTP/CardContent/CardContent.module.css rename features/DTP/{CardContent/CardContent.tsx => DtpCardContent.tsx} (52%) delete mode 100644 features/DTP/Filter/DTPFilter.state.ts delete mode 100644 features/DTP/Filter/DTPFilter.types.ts delete mode 100644 features/DesignCode/CardContent/CardContent.tsx delete mode 100644 features/DesignCode/DesignCode.constants.ts create mode 100644 features/DesignCode/DesignCodeCard.tsx delete mode 100644 features/DesignCode/DesignCodeSource.tsx delete mode 100644 features/DesignCode/Filter/DesignCodeFilter.state.ts delete mode 100644 features/DesignCode/Filter/DesignCodeFilter.tsx delete mode 100644 features/DesignCode/Filter/DesignCodeFilter.types.ts delete mode 100644 features/DesignCode/designCodeObject.ts delete mode 100644 features/Facade/CardContent/Facade.module.css delete mode 100644 features/Facade/CardContent/Facade.tsx rename {shared/UI => features/Facade}/DownloadButton/DownloadButton.module.css (100%) rename {shared/UI => features/Facade}/DownloadButton/DownloadButton.tsx (84%) rename features/Facade/{Filter => }/FacadeFilter.tsx (100%) rename {components => features}/Filters/Filters.tsx (54%) create mode 100644 features/Filters/LayerFilter.tsx create mode 100644 features/Filters/MapFilter.tsx delete mode 100644 features/HouseAge/HouseAgeFilter.tsx delete mode 100644 features/HouseFloor/HouseFloorFilter.tsx delete mode 100644 features/HouseWearTear/HouseWearTearFilter.tsx delete mode 100644 features/Lines/CardContent/CardContent.tsx delete mode 100644 features/Lines/Filter/LinesFilter.state.ts delete mode 100644 features/Lines/Filter/LinesFilter.tsx delete mode 100644 features/Lines/Filter/LinesFilter.types.ts delete mode 100644 features/Lines/Lines.constants.ts create mode 100644 features/Lines/LinesCardContent.tsx delete mode 100644 features/Lines/LinesSource.tsx delete mode 100644 features/Lines/lineType.ts create mode 100644 features/Map/ClickableLayer.tsx create mode 100644 features/Map/MapSource.tsx rename features/{DesignCode/DesignCodeMarker.module.css => Map/MarkersLayer.module.css} (100%) create mode 100644 features/Map/MarkersLayer.tsx create mode 100644 features/Map/helpers/getLayerProps.ts create mode 100644 features/Map/helpers/groupByProperty.tsx create mode 100644 features/Map/helpers/setBuildingStyle.ts delete mode 100644 features/OKN/CardContent/CardContent.module.css delete mode 100644 features/OKN/CardContent/CardContent.tsx delete mode 100644 features/OKN/CardContent/index.ts delete mode 100644 features/OKN/Filter/OknFilter.state.ts create mode 100644 features/OKN/OknCardContent.tsx rename shared/UI/Icons/OKN.tsx => features/OKN/SvgOknIcon.tsx (99%) delete mode 100644 features/Quarter/CardContent/CardContent.module.css delete mode 100644 features/Quarter/CardContent/CardContent.tsx create mode 100644 features/Quarter/QuarterCardContent.tsx rename features/Quarter/{Filter => }/QuarterFilter.tsx (80%) delete mode 100644 features/Quarter/QuarterSource.tsx delete mode 100644 features/Quarter/quarterObject.ts delete mode 100644 shared/UI/Icons/Auto.tsx delete mode 100644 shared/UI/Icons/Bike.tsx delete mode 100644 shared/UI/Icons/BrokenHeart.tsx delete mode 100644 shared/UI/Icons/Bycicle.tsx delete mode 100644 shared/UI/Icons/Children.tsx delete mode 100644 shared/UI/Icons/Copy.tsx delete mode 100644 shared/UI/Icons/Download.tsx delete mode 100644 shared/UI/Icons/DownloadIcon.tsx delete mode 100644 shared/UI/Icons/Edit.tsx delete mode 100644 shared/UI/Icons/External.tsx delete mode 100644 shared/UI/Icons/Heart.tsx delete mode 100644 shared/UI/Icons/Icons.constants.ts delete mode 100644 shared/UI/Icons/Icons.types.ts delete mode 100644 shared/UI/Icons/Link.tsx delete mode 100644 shared/UI/Icons/Pdf.tsx delete mode 100644 shared/UI/Icons/Pedestrian.tsx delete mode 100644 shared/UI/Icons/PublicTransport.tsx delete mode 100644 shared/UI/Icons/index.tsx create mode 100644 state/config.ts delete mode 100644 types/Sources.types.ts diff --git a/components/Card/DesktopCard/DesktopCard.tsx b/components/Card/DesktopCard/index.tsx similarity index 51% rename from components/Card/DesktopCard/DesktopCard.tsx rename to components/Card/DesktopCard/index.tsx index d2751952..2bb3612a 100644 --- a/components/Card/DesktopCard/DesktopCard.tsx +++ b/components/Card/DesktopCard/index.tsx @@ -1,17 +1,14 @@ -import React from 'react'; -import { Card } from 'components/Card/Card'; +import React, { ReactNode } from 'react'; import { Close } from 'shared/UI/Close'; -import { ContentConfig, MapItemType } from 'types/Content.types'; import styles from './DesktopCard.module.css'; interface Props { - contentConfig: ContentConfig; popupId?: string; - popupType: MapItemType | null; + children: ReactNode; closePopup: () => void; } -export function DesktopCard({ contentConfig, popupId, popupType, closePopup }: Props) { +export function DesktopCard({ popupId, children, closePopup }: Props) { if (!popupId) { return <>; } @@ -21,7 +18,7 @@ export function DesktopCard({ contentConfig, popupId, popupType, closePopup }: P
- + {children} ); } diff --git a/components/Card/MobileCard.tsx b/components/Card/MobileCard.tsx deleted file mode 100644 index 52ea9413..00000000 --- a/components/Card/MobileCard.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { SheetModal } from 'ekb'; -import { Card } from 'components/Card/Card'; -import { ContentConfig, MapItemType } from 'types/Content.types'; - -interface Props { - contentConfig: ContentConfig; - popupId?: string; - popupType: MapItemType | null; - closePopup: () => void; -} - -export function MobileCard({ contentConfig, popupId, popupType, closePopup }: Props) { - return ( - - - - ); -} diff --git a/components/Card/components/CardActions.tsx b/components/Card/components/CardActions.tsx new file mode 100644 index 00000000..ea6c5a27 --- /dev/null +++ b/components/Card/components/CardActions.tsx @@ -0,0 +1,54 @@ +import React, { useMemo } from 'react'; +import { Button, ButtonSize, ButtonType, Icon, IconType } from 'ekb'; +import { useCopyHref } from 'shared/helpers/useCopyHref'; + +type Props = { + coordinates?: [number, number] | number[]; +}; + +const COPY_RESET_TIMEOUT = 2000; + +export function CardActions({ coordinates }: Props) { + const { isCopied: isLinkCopied, onCopy: onCopyLink } = useCopyHref( + window.location.href, + COPY_RESET_TIMEOUT, + ); + + const coordsString = useMemo(() => { + if (!coordinates) { + return null; + } + + const coords = Array.isArray(coordinates[0]) ? coordinates[0] : coordinates; + + return `${coords[0]?.toFixed(6)}, ${coords[1]?.toFixed(6)}`; + }, [coordinates]); + + const { isCopied: isCoordsCopied, onCopy: onCopyCoords } = useCopyHref( + coordsString, + COPY_RESET_TIMEOUT, + ); + + return ( + <> + {coordsString && ( + + )} + + + ); +} diff --git a/components/Card/components/ConstructionInfo/ConstructionInfo.tsx b/components/Card/components/ConstructionInfo/ConstructionInfo.tsx deleted file mode 100644 index d45cf49e..00000000 --- a/components/Card/components/ConstructionInfo/ConstructionInfo.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import React, { useMemo } from 'react'; -import { getYearNameByValue } from 'shared/helpers/getYearNameByValue'; -import { Info } from 'components/Card/components/Info/Info'; - -const YEAR_RE = /\d{4}/; - -type ConstructionInfoProps = { - date: string; -}; - -export function ConstructionInfo({ date }: ConstructionInfoProps) { - const constructionDateInfo = useMemo(() => { - const result = [ - { - name: 'Когда построили', - text: date, - }, - ]; - - const constructionYearMatch = date.match(YEAR_RE); - - if (constructionYearMatch) { - const constructionYear = Number(constructionYearMatch[0]); - const age = new Date().getFullYear() - Number(constructionYear); - - result.push({ - name: 'Возраст здания', - text: `${String(age)} ${getYearNameByValue(age)}`, - }); - } - - return result; - }, [date]); - - return ( - - ); -} diff --git a/components/Card/components/Header/Header.module.css b/components/Card/components/Header/Header.module.css deleted file mode 100644 index c443ba4c..00000000 --- a/components/Card/components/Header/Header.module.css +++ /dev/null @@ -1,29 +0,0 @@ -.header { - display: flex; - flex-wrap: wrap; - column-gap: 4px; -} - -.header__title { - margin: 12px 0 0; - font-size: 30px; - font-weight: 500; - line-height: 1; -} - -.header__description { - margin: 4px 0 0; - font-size: 14px; - font-weight: 400; - line-height: 20px; -} - -@media screen and (width >= 1150px) { - .header__title { - font-size: 32px; - } - - .header__description { - font-size: 16px; - } -} diff --git a/components/Card/components/Header/Header.tsx b/components/Card/components/Header/Header.tsx deleted file mode 100644 index d63477e6..00000000 --- a/components/Card/components/Header/Header.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import React, { useMemo } from 'react'; -import { Button, ButtonSize, ButtonType } from 'ekb'; -import { Icon } from 'shared/UI/Icons'; -import { IconType } from 'shared/UI/Icons/Icons.types'; -import { useCopyHref } from 'shared/helpers/useCopyHref'; -import styles from './Header.module.css'; - -export type HeaderProps = { - coordinates?: [number, number] | number[]; - title?: string; - description?: string; -}; - -const COPY_RESET_TIMEOUT = 2000; - -export function Header({ coordinates, title, description }: HeaderProps) { - const { isCopied: isLinkCopied, onCopy: onCopyLink } = useCopyHref( - window.location.href, - COPY_RESET_TIMEOUT, - ); - - const coordsString = useMemo(() => { - if (!coordinates) { - return null; - } - - const coords = Array.isArray(coordinates[0]) ? coordinates[0] : coordinates; - - return `${coords[0]?.toFixed(6)}, ${coords[1]?.toFixed(6)}`; - }, [coordinates]); - const { isCopied: isCoordsCopied, onCopy: onCopyCoords } = useCopyHref( - coordsString, - COPY_RESET_TIMEOUT, - ); - - return ( - <> -
- {coordsString && ( - - )} - -
-

{title}

- {description &&

{description}

} - - ); -} diff --git a/components/Card/components/Section/Section.module.css b/components/Card/components/Section/Section.module.css deleted file mode 100644 index a47616fe..00000000 --- a/components/Card/components/Section/Section.module.css +++ /dev/null @@ -1,11 +0,0 @@ -.block { - margin-top: 16px; - padding-top: 16px; - border-top: 1px solid rgba(256, 256, 256, 0.16); -} - -.block_inline { - display: flex; - flex-wrap: wrap; - gap: 8px; -} diff --git a/components/Card/components/Section/Section.tsx b/components/Card/components/Section/Section.tsx deleted file mode 100644 index 7c82e9cf..00000000 --- a/components/Card/components/Section/Section.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from 'react'; - -import styles from './Section.module.css'; - -export function Section({ children }: React.PropsWithChildren) { - return
{children}
; -} diff --git a/components/Card/components/Sources/Sources.tsx b/components/Card/components/Sources/Sources.tsx index 812c60ed..5f2a3551 100644 --- a/components/Card/components/Sources/Sources.tsx +++ b/components/Card/components/Sources/Sources.tsx @@ -1,17 +1,15 @@ import React from 'react'; import { Link, LinkSize } from 'ekb'; -import { SourceInfo } from 'types/Sources.types'; import styles from './Sources.module.css'; -export function Sources({ sources }: { sources: SourceInfo[] }) { +export function Sources({ sources }: { sources: { name: string; link: string }[] }) { return (
-

Источники

    - {sources.map(({ link, name, data }) => { + {sources.map(({ link, name }) => { return (
  • - + {name}
  • diff --git a/components/Card/index.ts b/components/Card/index.ts deleted file mode 100644 index 984b6544..00000000 --- a/components/Card/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { DesktopCard } from './DesktopCard/DesktopCard'; -export { MobileCard } from './MobileCard'; diff --git a/components/Card/Card.tsx b/components/Card/index.tsx similarity index 99% rename from components/Card/Card.tsx rename to components/Card/index.tsx index cdbdbe84..d93f158c 100644 --- a/components/Card/Card.tsx +++ b/components/Card/index.tsx @@ -25,7 +25,6 @@ export function Card({ contentConfig, popupId, popupType }: Props) { } setLoading(true); - const requestFunction = contentConfig[popupType].oneItemRequest; const data = await requestFunction(popupId); diff --git a/components/Filters/FilterGrid.tsx b/components/Filters/FilterGrid.tsx new file mode 100644 index 00000000..2396f632 --- /dev/null +++ b/components/Filters/FilterGrid.tsx @@ -0,0 +1,53 @@ +import React, { ComponentProps, useCallback, useEffect, useState } from 'react'; +import { Checkbox, ListGrid, ListGridItem } from 'ekb'; + +export type IFilterGridItem = Partial> & { + type: string; + color?: string; +}; + +interface Props { + selectedByDefault?: string[]; + items?: IFilterGridItem[]; + onChange?: (state: string[]) => void; +} + +export function FilterGrid({ items, onChange, selectedByDefault = [] }: Props) { + const [selected, setSelected] = useState(selectedByDefault); + + const toggle = useCallback( + (type: string) => { + if (selected.includes(type)) { + setSelected(selected.filter((s) => s !== type)); + } else { + setSelected(selected.concat(type)); + } + }, + [selected], + ); + + useEffect(() => { + onChange?.(selected); + }, [onChange, selected]); + + return ( + + {items.map(({ type, subTitle, description, color }) => ( + toggle(type)} + /> + } + > + {type} + + ))} + + ); +} diff --git a/components/Filters/index.ts b/components/Filters/index.ts deleted file mode 100644 index 194f6207..00000000 --- a/components/Filters/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Filters } from './Filters'; diff --git a/constants/colors.ts b/constants/colors.ts index 6221a34b..d3d2f81e 100644 --- a/constants/colors.ts +++ b/constants/colors.ts @@ -1,7 +1 @@ -import { MapItemType } from 'types/Content.types'; - -export const MARKER_COLOR = { - [MapItemType.DTP]: '#05B506', -}; - export const DEFAULT_BULDING_COLOR_NORMAL = '#0c1021'; diff --git a/constants/sources.ts b/constants/sources.ts deleted file mode 100644 index 32c45a35..00000000 --- a/constants/sources.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { SourceType, SourcesConfig } from 'types/Sources.types'; - -export const SOURCES_BY_TYPE: SourcesConfig = { - [SourceType.osm]: { - name: 'OpenStreetMap', - link: 'https://www.openstreetmap.org/', - data: null, - }, - [SourceType.okn]: { - name: 'Объекты культурного наследия Свердловской области', - link: 'https://okn.midural.ru/kategorii/obekty-kulturnogo-naslediya-sverdlovskoy-oblasti', - data: null, - }, - [SourceType.howoldthishouse]: { - name: 'Карта возраста домов', - link: 'https://how-old-is-this.house/', - data: 'https://how-old-is-this.house/dataset?p=h-ekb', - }, - [SourceType.domaekb]: { - name: 'Жилые дома Екатеринбурга', - link: 'https://domaekb.ru', - data: null, - }, - [SourceType.mingkh]: { - name: 'МинЖКХ', - link: 'https://mingkh.ru', - data: null, - }, - [SourceType.ekaterinburgdesign]: { - name: 'Дизайн-код Ектеринбурга', - link: 'https://ekaterinburg.design', - data: 'https://ekaterinburg.design', - }, - [SourceType.dtp]: { - name: 'Карта ДТП', - link: 'https://dtp-stat.ru/', - data: 'https://dtp-stat.ru/opendata', - }, - [SourceType.ekb_quarter]: { - name: 'екатеринбург.рф', - link: 'https://екатеринбург.рф/справка/квартальные', - data: null, - }, - [SourceType.design_objects_map]: { - name: 'Карта объектов «Дизайн-кода»', - link: 'https://map.ekaterinburg.design', - data: 'https://map.ekaterinburg.design', - }, -}; diff --git a/features/App/App.tsx b/features/App/App.tsx index 663fe805..2c29bb26 100644 --- a/features/App/App.tsx +++ b/features/App/App.tsx @@ -8,7 +8,6 @@ import { Copyright } from 'features/Copyright/Copyright'; import { MapContextProvider } from 'features/Map/providers/MapProvider'; import { Footer } from 'components/Footer/Footer'; import { Map } from 'features/Map/Map'; -import { FILTERS_CONFIG } from './Filters.config'; import { Sidebars } from './Sidebars'; export default function App() { @@ -19,7 +18,7 @@ export default function App() { - +