-
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 0019552
Showing
31 changed files
with
6,175 additions
and
18,825 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,62 @@ | ||
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}> | ||
Посмотреть телефон и почту квартального | ||
<Icon type={IconType.External} /> | ||
</Link> | ||
</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,73 @@ | ||
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'; | ||
import { colorLuminance } from '../helpers/colorLuminance'; | ||
|
||
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: colorLuminance('#9AADCC', 0.2), | ||
active: colorLuminance('#9AADCC', 0.4), | ||
}), | ||
'fill-opacity': 0.6, | ||
}, | ||
}; | ||
|
||
const layerStrokeStyle: LineLayer = { | ||
id: `${QUARTER_LAYER_ID}-outline`, | ||
type: 'line', | ||
source: QUARTER_SOURCE_ID, | ||
paint: { | ||
'line-color': '#000', | ||
'line-opacity': 0.5, | ||
'line-width': 1.5, | ||
}, | ||
}; | ||
|
||
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: rgba(var(--color-text-secondary), 1); | ||
font-size: 14px; | ||
line-height: 18px; | ||
font-weight: 400; | ||
text-decoration: underline; | ||
} | ||
text-decoration: none; | ||
border-bottom: 1px solid rgba(var(--color-text-secondary), 1); | ||
&:hover, | ||
&:hover path { | ||
color: white; | ||
fill: white; | ||
} | ||
&:active { | ||
border-bottom-color: white; | ||
} | ||
} | ||
|
||
.link_size_l { | ||
font-size: 16px; | ||
font-style: normal; | ||
font-weight: 400; | ||
line-height: 20px; | ||
} |
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,15 +1,23 @@ | ||
import React from 'react'; | ||
import classNames from 'classnames'; | ||
import styles from './Link.module.css'; | ||
|
||
type TLinkProps = { | ||
text?: string; | ||
className?: string; | ||
href: string; | ||
children?: React.ReactNode; | ||
}; | ||
|
||
export function Link({ href, text }: TLinkProps) { | ||
export function Link({ href, text, className, children }: TLinkProps) { | ||
return ( | ||
<a href={href} target="_blank" rel="noreferrer" className={styles.link}> | ||
{text || href} | ||
<a | ||
href={href} | ||
target="_blank" | ||
rel="noreferrer" | ||
className={classNames(styles.link, className)} | ||
> | ||
{text || children || href} | ||
</a> | ||
); | ||
} |
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.
0019552
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-j2athkihi-ekbdev.vercel.app
https://ekbdev-map-feature-kvartalnye.vercel.app
Built with commit 0019552.
This pull request is being automatically deployed with vercel-action