11import { useMemo } from 'react' ;
22import { MapLayer } from '@togglecorp/re-map' ;
33import {
4+ type BackgroundLayer ,
45 type FillLayer ,
56 type LineLayer ,
67 type SymbolLayer ,
@@ -19,6 +20,18 @@ const hiddenFillLayerOptions: Omit<FillLayer, 'id'> = {
1920 } ,
2021} ;
2122
23+ const hiddenLineLayerOptions : Omit < LineLayer , 'id' > = {
24+ type : 'line' ,
25+ layout : {
26+ visibility : 'none' ,
27+ } ,
28+ } ;
29+
30+ const backgroundLayerOptions : Omit < BackgroundLayer , 'id' > = {
31+ type : 'background' ,
32+ paint : { 'background-color' : COLOR_WHITE } ,
33+ } ;
34+
2235interface Props {
2336 activeCountryIso3 : string | undefined | null ;
2437}
@@ -32,19 +45,11 @@ function ActiveCountryBaseMapLayer(props: Props) {
3245 layout : { visibility : 'visible' } ,
3346 paint : {
3447 'fill-color' : [
35- 'interpolate' ,
36- [ 'linear' ] ,
37- [ 'zoom' ] ,
38- 2 ,
39- [
40- 'match' ,
41- [ 'get' , 'iso3' ] ,
42- activeCountryIso3 ,
43- COLOR_ACTIVE_REGION ,
44- COLOR_LIGHT_GREY ,
45- ] ,
46- 10 ,
47- COLOR_LIGHT_GREY ,
48+ 'match' ,
49+ [ 'get' , 'iso3' ] ,
50+ activeCountryIso3 ,
51+ COLOR_ACTIVE_REGION ,
52+ COLOR_WHITE ,
4853 ] ,
4954 } ,
5055 } ) ,
@@ -56,17 +61,11 @@ function ActiveCountryBaseMapLayer(props: Props) {
5661 type : 'line' ,
5762 layout : { visibility : 'visible' } ,
5863 paint : {
59- 'line-color' : [
60- 'match' ,
61- [ 'get' , 'country_iso3' ] ,
62- activeCountryIso3 ,
63- COLOR_WHITE ,
64- COLOR_LIGHT_GREY ,
65- ] ,
64+ 'line-color' : COLOR_WHITE ,
6665 'line-opacity' : 1 ,
6766 } ,
6867 } ) ,
69- [ activeCountryIso3 ] ,
68+ [ ] ,
7069 ) ;
7170
7271 const adminOneLabelLayerOptions = useMemo < Omit < SymbolLayer , 'id' > > (
@@ -89,16 +88,54 @@ function ActiveCountryBaseMapLayer(props: Props) {
8988 [ activeCountryIso3 ] ,
9089 ) ;
9190
91+ const adminZeroLabelLayerOptions = useMemo < Omit < SymbolLayer , 'id' > > (
92+ ( ) => ( {
93+ type : 'symbol' ,
94+ layout : {
95+ visibility : 'none' ,
96+ } ,
97+ } ) ,
98+ [ ] ,
99+ ) ;
100+
92101 return (
93102 < >
94103 < MapLayer
95- layerKey = "admin-0"
96- layerOptions = { adminZeroHighlightLayerOptions }
104+ layerKey = "background"
105+ layerOptions = { backgroundLayerOptions }
106+ />
107+ < MapLayer
108+ layerKey = "hillshade"
109+ layerOptions = { hiddenFillLayerOptions }
110+ />
111+ < MapLayer
112+ layerKey = "admin-0-boundary-mask"
113+ layerOptions = { hiddenLineLayerOptions }
114+ />
115+ < MapLayer
116+ layerKey = "admin-0-boundary"
117+ layerOptions = { hiddenLineLayerOptions }
118+ />
119+ < MapLayer
120+ layerKey = "admin-0-boundary-disputed"
121+ layerOptions = { hiddenLineLayerOptions }
97122 />
98123 < MapLayer
99124 layerKey = "admin-0-highlight"
100125 layerOptions = { hiddenFillLayerOptions }
101126 />
127+ < MapLayer
128+ layerKey = "admin-0-label"
129+ layerOptions = { adminZeroLabelLayerOptions }
130+ />
131+ < MapLayer
132+ layerKey = "admin-0-priority-label"
133+ layerOptions = { adminZeroLabelLayerOptions }
134+ />
135+ < MapLayer
136+ layerKey = "admin-0"
137+ layerOptions = { adminZeroHighlightLayerOptions }
138+ />
102139 < MapLayer
103140 layerKey = "admin-1-boundary"
104141 layerOptions = { adminOneBoundaryLayerOptions }
0 commit comments