@@ -9,11 +9,8 @@ import {
99import { useTranslation } from "react-i18next" ;
1010
1111import IconCopy from "@/components/Icons/IconCopy" ;
12- import IconEraser from "@/components/Icons/IconEraser" ;
1312import IconSelected from "@/components/Icons/IconSelected" ;
1413import IconSelectNew from "@/components/Icons/IconSelectNew" ;
15- import IconAnimal from "@/components/Icons/IconAnimal" ;
16- import IconCrown from "@/components/Icons/IconCrown" ;
1714
1815import Space from "@/components/UI/Space" ;
1916import ButtonText from "@/components/UI/ButtonText" ;
@@ -25,32 +22,28 @@ import { copyText } from "@/utils/text";
2522import { MarkerParamsWithResult } from "@/topic/Heraldry/types" ;
2623
2724import FilterModifications from "@/topic/Heraldry/features/modifyMarkers/components/DevelopmentPaneSidebarListOfFilters/FilterModifications" ;
28- import {
29- useFilterModificationStore ,
30- selectShortcuts ,
31- resetModifications ,
32- } from "@/topic/Heraldry/features/modifyMarkers/stores/filtersModificationStore" ;
3325
3426import DevelopmentPaneSnippet from "./DevelopmentPaneSnippet" ;
3527import FilterSelect from "./ListOfFilters/FilterSelect" ;
28+ import ShortcutsSelect from "./ListOfFilters/ShortcutsSelect" ;
29+ import FilterSeeds from "./ListOfFilters/FilterSeeds" ;
3630
3731type Props = {
3832 country : string ;
3933 setDraftFilter : Dispatch < SetStateAction < MarkerParamsWithResult > > ;
4034 onUse : ( ) => void ;
4135} ;
4236
37+ export type SelectState =
38+ | { type : "type" | "animal" | "item" ; name : string }
39+ | undefined ;
40+
4341const DevelopmentPaneSidebarListOfFilters = ( {
4442 country,
4543 setDraftFilter,
4644 onUse,
4745} : Props ) => {
48- const shortcuts = useFilterModificationStore ( ( state ) =>
49- selectShortcuts ( state , 100 )
50- ) ;
51- const [ selected , setSelected ] = useState <
52- { type : "type" | "animal" | "item" ; name : string } | undefined
53- > ( ) ;
46+ const [ selected , setSelected ] = useState < SelectState > ( ) ;
5447 const { t } = useTranslation ( ) ;
5548
5649 const handleDraftUpdate = useCallback (
@@ -61,7 +54,7 @@ const DevelopmentPaneSidebarListOfFilters = ({
6154 [ onUse , setDraftFilter ]
6255 ) ;
6356
64- const { isLoading , isError, error, data } = useQueryFiltersSeeds ( { country } ) ;
57+ const { isError, error, data } = useQueryFiltersSeeds ( { country } ) ;
6558
6659 const handleChange = useCallback (
6760 ( event : React . ChangeEvent < HTMLSelectElement > ) => {
@@ -125,38 +118,13 @@ const DevelopmentPaneSidebarListOfFilters = ({
125118 < a
126119 href = "https://github.com/Deykun/maps/blob/main/docs/FILTERS.md"
127120 target = "_blank"
128- className = "font-[500] text-white"
121+ className = "font-[500] text-white underline "
129122 >
130123 here
131124 </ a >
132125 { ". " }
133126 </ p >
134- { shortcuts . length > 0 && (
135- < div className = "flex gap-2 flex-wrap" >
136- < ButtonText size = "small" onClick = { resetModifications } >
137- < IconEraser />
138- < span > { t ( "heraldry.list.clear" ) } </ span >
139- </ ButtonText >
140- { shortcuts . map ( ( { name, type, total } ) => (
141- < ButtonText
142- size = "small"
143- key = { name }
144- onClick = { ( ) => setSelected ( { name, type } ) }
145- isActive = { selected ?. name === name && selected ?. type === type }
146- isDisabled = { ! data }
147- >
148- { type === "animal" ? (
149- < IconAnimal animals = { [ name ] } />
150- ) : (
151- < IconCrown />
152- ) }
153- < span >
154- { t ( `heraldry.${ type } .${ name } ` ) } < small > ({ total } )</ small >
155- </ span >
156- </ ButtonText >
157- ) ) }
158- </ div >
159- ) }
127+ < ShortcutsSelect selected = { selected } setSelected = { setSelected } />
160128 < FilterSelect country = { country } setSelected = { setSelected } />
161129 < div className = "flex gap-2" >
162130 { selectedFilter && (
@@ -198,6 +166,7 @@ const DevelopmentPaneSidebarListOfFilters = ({
198166 setDraftFilter = { handleDraftUpdate }
199167 />
200168 ) }
169+ < FilterSeeds country = { country } />
201170 </ div >
202171 < Space side = "left" isLast isLarge className = "bg-ui-dark mb-5" />
203172 </ div >
0 commit comments