-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
06f5f58
commit bab5a43
Showing
29 changed files
with
6,171 additions
and
18,810 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 21 additions & 0 deletions
21
components/Layers/Quarter/CardContent/CardContent.module.css
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
.popup { | ||
border-top-left-radius: inherit; | ||
border-top-right-radius: inherit; | ||
padding: 16px 8px 16px 16px; | ||
} | ||
|
||
.mainLink { | ||
color: inherit; | ||
font-size: inherit; | ||
line-height: inherit; | ||
} | ||
|
||
.description { | ||
margin-top: 8px; | ||
position: relative; | ||
svg { | ||
position: relative; | ||
top: 2px; | ||
left: 2px; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
import React from 'react'; | ||
import { Section } from 'components/UI/Card/components/Section/Section'; | ||
import { Info } from 'components/UI/Card/components/Info/Info'; | ||
import { QuarterObject } from 'components/Layers/Quarter/quarterObject'; | ||
import { Link } from 'components/UI/Card/components/Link/Link'; | ||
import { Header } from 'components/UI/Card/components/Header/Header'; | ||
import linkStyles from 'components/UI/Card/components/Link/Link.module.css'; | ||
import { EditObjectButtonLink } from 'components/UI/EditObjectButtonLink/EditObjectButtonLink'; | ||
import sectionStyles from 'components/UI/Card/components/Section/Section.module.css'; | ||
import { Sources } from 'components/UI/Card/components/Sources/Sources'; | ||
import { Icon } from 'components/UI/Icons'; | ||
import { IconType } from 'components/UI/Icons/Icons.types'; | ||
import styles from './CardContent.module.css'; | ||
|
||
type QuarterCardContentProps = { | ||
placemark?: QuarterObject; | ||
}; | ||
|
||
export function QuarterCardContent({ placemark }: QuarterCardContentProps) { | ||
if (!placemark) return null; | ||
|
||
return ( | ||
<div className={styles.popup}> | ||
<Header title={placemark.quarterTitle} /> | ||
|
||
<div className={styles.description}> | ||
<Link | ||
className={linkStyles.link_size_l} | ||
href={placemark.url} | ||
text="Посмотреть телефон и почту квартального" | ||
/> | ||
<Icon type={IconType.External} /> | ||
</div> | ||
|
||
<Section> | ||
<Info | ||
nameColor="#9baac3" | ||
infos={[ | ||
{ | ||
name: 'Район', | ||
text: placemark.districtTitle, | ||
}, | ||
{ | ||
name: 'Границы квартала', | ||
text: placemark.quarterDescription, | ||
}, | ||
]} | ||
/> | ||
</Section> | ||
|
||
<Section> | ||
<Sources sources={['ekb']} /> | ||
</Section> | ||
<Section> | ||
<div className={sectionStyles.block_inline}> | ||
<EditObjectButtonLink | ||
text="Дополнить или поправить" | ||
address={placemark?.quarterTitle} | ||
/> | ||
</div> | ||
</Section> | ||
</div> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
.wrapper { | ||
font-size: 16px; | ||
line-height: 21px; | ||
|
||
p { | ||
margin: 16px 0 0 0; | ||
&:first-child { | ||
margin-top: 0; | ||
} | ||
} | ||
|
||
ul { | ||
list-style-type: '— '; | ||
margin: 0; | ||
padding: 0; | ||
padding-left: 16px; | ||
} | ||
|
||
li { | ||
padding: 0; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
import { useEffect } from 'react'; | ||
import { useDispatch } from 'react-redux'; | ||
import { setFilter } from 'state/features/dataLayers'; | ||
import { FilterType } from 'types/Filters.types'; | ||
import { Link } from 'components/UI/Card/components/Link/Link'; | ||
import styles from './QuarterFilter.module.css'; | ||
|
||
export function QuarterFilter() { | ||
const dispatch = useDispatch(); | ||
|
||
useEffect(() => { | ||
dispatch( | ||
setFilter({ | ||
activeFilter: FilterType.Quarter, | ||
activeFilterParams: {}, | ||
}), | ||
); | ||
}); | ||
|
||
return ( | ||
<div className={styles.wrapper}> | ||
<p> | ||
Квартальный — это человек, который следит за порядком на придомовых | ||
территориях, детских площадках, парковках, мусорках, объектах торговли и т. д. | ||
</p> | ||
<p>На что можно пожаловаться квартальному:</p> | ||
<ul> | ||
<li>общие вопросы благоустройства;</li> | ||
<li>незаконная торговля, парковки и постройки;</li> | ||
<li>вывески и незаконная реклама;</li> | ||
<li>самовольные ограничения;</li> | ||
<li>сломанные детские площадки.</li> | ||
</ul> | ||
<p> | ||
<Link | ||
href="https://екатеринбург.рф/справка/квартальные/" | ||
text="Подробнее о квартальных" | ||
/> | ||
</p> | ||
</div> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
import quarterObjects from 'public/quarter_inspectors.json'; | ||
import { QuarterObject } from './quarterObject'; | ||
|
||
export const quarter = { | ||
getObject(quarterTitle: string): Promise<QuarterObject> { | ||
return Promise.resolve( | ||
quarterObjects.features.find((f) => f.properties.quarterTitle === decodeURI(quarterTitle)).properties as unknown as QuarterObject, | ||
); | ||
}, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
export interface QuarterObject { | ||
districtTitle: string; | ||
quarterTitle: string; | ||
quarterDescription: string; | ||
url: string; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
import React, { useEffect } from 'react'; | ||
import { FillLayer, Layer, LineLayer, Source, useMap } from 'react-map-gl'; | ||
import { useSelector } from 'react-redux'; | ||
import { activeFilterSelector } from 'state/features/selectors'; | ||
import { FilterType } from 'types/Filters.types'; | ||
import { getLayerStyle } from 'components/Map/helpers/getFeatureState'; | ||
import { MapItemType } from 'types/map-item'; | ||
import { usePopup } from 'components/Map/providers/usePopup'; | ||
import useMapObjectState from '../providers/useMapObjectState'; | ||
|
||
const QUARTER_LAYER_ID = 'ekb-quarter-inspectors-layer'; | ||
const QUARTER_SOURCE_ID = 'ekb-quarter-inspectors-source'; | ||
|
||
export function QuarterSource() { | ||
const ekbMap = useMap(); | ||
const { openPopup } = usePopup(); | ||
const activeFilter = useSelector(activeFilterSelector); | ||
|
||
useMapObjectState(QUARTER_LAYER_ID); | ||
|
||
useEffect(() => { | ||
const map = ekbMap.current; | ||
|
||
const handlePointClick = (e) => { | ||
const item = e.target.queryRenderedFeatures(e.point)[0]; | ||
|
||
openPopup(decodeURI(item?.properties?.quarterTitle), MapItemType.Quarter); | ||
}; | ||
|
||
map.on('click', QUARTER_LAYER_ID, handlePointClick); | ||
|
||
return () => { | ||
map.off('click', QUARTER_LAYER_ID, handlePointClick); | ||
}; | ||
}, [ekbMap, openPopup]); | ||
|
||
const layerStyle: FillLayer = { | ||
type: 'fill', | ||
id: QUARTER_LAYER_ID, | ||
source: QUARTER_SOURCE_ID, | ||
paint: { | ||
'fill-color': getLayerStyle<string>({ | ||
initial: '#9AADCC', | ||
hover: '#636c7c', | ||
active: '#a86391', | ||
}), | ||
'fill-opacity': getLayerStyle<number>({ | ||
initial: 0.6, | ||
hover: 0.7, | ||
active: 0.9, | ||
}), | ||
}, | ||
}; | ||
|
||
const layerStrokeStyle: LineLayer = { | ||
id: `${QUARTER_LAYER_ID}-outline`, | ||
type: 'line', | ||
source: QUARTER_SOURCE_ID, | ||
paint: { | ||
'line-color': '#000', | ||
'line-opacity': 0.5, | ||
'line-width': 2, | ||
}, | ||
}; | ||
|
||
if (activeFilter !== FilterType.Quarter) { | ||
return null; | ||
} | ||
|
||
return ( | ||
<Source type="geojson" data="./quarter_inspectors.json" id={QUARTER_SOURCE_ID} generateId> | ||
<Layer {...layerStyle} /> | ||
<Layer {...layerStrokeStyle} /> | ||
</Source> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
export type HeaderProps = { | ||
coordinates: [number, number] | number[]; | ||
coordinates?: [number, number] | number[]; | ||
title?: string; | ||
description?: string; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,23 @@ | ||
.link { | ||
color: rgb(155, 170, 195); | ||
font-size: 18px; | ||
color: #55647d; | ||
font-size: 14px; | ||
line-height: 18px; | ||
font-weight: 400; | ||
text-decoration: underline; | ||
} | ||
transition: 0.15s ease; | ||
&:hover { | ||
text-decoration: none; | ||
color: #6e81a2; | ||
} | ||
} | ||
|
||
.link_size_l { | ||
font-size: 16px; | ||
font-style: normal; | ||
font-weight: 400; | ||
line-height: 20px; | ||
color: #9baac3; | ||
text-decoration: none; | ||
border-bottom: 1px solid rgba(155, 170, 195, 0.32); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
bab5a43
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Deploy preview for map ready!
✅ Preview
https://map-hxrkole32-ekbdev.vercel.app
https://ekbdev-map-feature-kvartalnye.vercel.app
Built with commit bab5a43.
This pull request is being automatically deployed with vercel-action