@@ -45,48 +45,50 @@ const FilterTagList = ({
4545 }
4646 return t ( "searchForm:filters.duration" , { unit } ) ;
4747 } ;
48+
49+ const sortedValues = [ ...formValueKeys ] . sort (
50+ ( a , b ) => filterOrder . indexOf ( a ) - filterOrder . indexOf ( b )
51+ ) ;
4852 return (
4953 < FilterTags data-test-id = "search-form__filter--tags" >
50- { formValueKeys
51- . toSorted ( ( a , b ) => filterOrder . indexOf ( a ) - filterOrder . indexOf ( b ) )
52- . map ( ( formValueKey ) => {
53- // we don't want to show "showOnlyReservable" as a FilterTag, as it has its own checkbox in the form
54- if ( formValueKey === "showOnlyReservable" ) return null ;
55- const label = t ( `searchForm:filters.${ formValueKey } ` , {
56- label : formValueKey ,
57- value : formValues [ formValueKey ] ,
58- count : Number ( formValues [ formValueKey ] ) ,
59- } ) ;
60- return multiSelectFilters . includes ( formValueKey ) ? (
61- ( formValues [ formValueKey ] ?? "" ) . split ( "," ) . map ( ( subValue ) => (
62- < StyledTag
63- id = { `filter-tag__${ formValueKey } -${ subValue } ` }
64- onClick = { ( ) => removeValue ?.( [ subValue ] , formValueKey ) }
65- onDelete = { ( ) => removeValue ?.( [ subValue ] , formValueKey ) }
66- key = { `${ formValueKey } -${ subValue } ` }
67- deleteButtonAriaLabel = { t ( `searchForm:removeFilter` , {
68- value : getFormSubValueLabel ( formValueKey , subValue ) ,
69- } ) }
70- >
71- { getFormSubValueLabel ( formValueKey , subValue ) }
72- </ StyledTag >
73- ) )
74- ) : (
54+ { sortedValues . map ( ( formValueKey ) => {
55+ // we don't want to show "showOnlyReservable" as a FilterTag, as it has its own checkbox in the form
56+ if ( formValueKey === "showOnlyReservable" ) return null ;
57+ const label = t ( `searchForm:filters.${ formValueKey } ` , {
58+ label : formValueKey ,
59+ value : formValues [ formValueKey ] ,
60+ count : Number ( formValues [ formValueKey ] ) ,
61+ } ) ;
62+ return multiSelectFilters . includes ( formValueKey ) ? (
63+ ( formValues [ formValueKey ] ?? "" ) . split ( "," ) . map ( ( subValue ) => (
7564 < StyledTag
76- id = { `filter-tag__${ formValueKey } ` }
77- onDelete = { ( ) => removeValue ?.( [ formValueKey ] ) }
78- key = { formValueKey }
65+ id = { `filter-tag__${ formValueKey } -${ subValue } ` }
66+ onClick = { ( ) => removeValue ?.( [ subValue ] , formValueKey ) }
67+ onDelete = { ( ) => removeValue ?.( [ subValue ] , formValueKey ) }
68+ key = { `${ formValueKey } -${ subValue } ` }
7969 deleteButtonAriaLabel = { t ( `searchForm:removeFilter` , {
80- value : label ,
70+ value : getFormSubValueLabel ( formValueKey , subValue ) ,
8171 } ) }
8272 >
83- { formValueKey === "duration" &&
84- ! Number . isNaN ( Number ( formValues . duration ) )
85- ? durationTranslation ( Number ( formValues . duration ) )
86- : label }
73+ { getFormSubValueLabel ( formValueKey , subValue ) }
8774 </ StyledTag >
88- ) ;
89- } ) }
75+ ) )
76+ ) : (
77+ < StyledTag
78+ id = { `filter-tag__${ formValueKey } ` }
79+ onDelete = { ( ) => removeValue ?.( [ formValueKey ] ) }
80+ key = { formValueKey }
81+ deleteButtonAriaLabel = { t ( `searchForm:removeFilter` , {
82+ value : label ,
83+ } ) }
84+ >
85+ { formValueKey === "duration" &&
86+ ! Number . isNaN ( Number ( formValues . duration ) )
87+ ? durationTranslation ( Number ( formValues . duration ) )
88+ : label }
89+ </ StyledTag >
90+ ) ;
91+ } ) }
9092 { formValueKeys . filter ( ( key ) => key !== "showOnlyReservable" ) . length >
9193 0 && (
9294 < ResetButton
0 commit comments