@@ -12,11 +12,14 @@ import { Box, Stack, Text } from '@primer/react';
1212
1313import { AppContext } from '../../context/App' ;
1414import { IconColor , type SearchToken , Size } from '../../types' ;
15- import { hasExcludeSearchFilters , hasIncludeSearchFilters } from '../../utils/notifications/filters/search' ;
15+ import { cn } from '../../utils/cn' ;
16+ import {
17+ hasExcludeSearchFilters ,
18+ hasIncludeSearchFilters ,
19+ } from '../../utils/notifications/filters/search' ;
1620import { Title } from '../primitives/Title' ;
1721import { RequiresDetailedNotificationWarning } from './RequiresDetailedNotificationsWarning' ;
1822import { TokenSearchInput } from './TokenSearchInput' ;
19- import { cn } from '../../utils/cn' ;
2023
2124type InputToken = { id : number ; text : string } ;
2225
@@ -37,40 +40,50 @@ export const SearchFilter: FC = () => {
3740 const mapValuesToTokens = ( values : string [ ] ) : InputToken [ ] =>
3841 values . map ( ( value , index ) => ( { id : index , text : value } ) ) ;
3942
40- const [ includeSearchTokens , setIncludeSearchTokens ] = useState < InputToken [ ] > ( mapValuesToTokens ( settings . filterIncludeSearchTokens ) ) ;
43+ const [ includeSearchTokens , setIncludeSearchTokens ] = useState < InputToken [ ] > (
44+ mapValuesToTokens ( settings . filterIncludeSearchTokens ) ,
45+ ) ;
4146
4247 const addIncludeSearchToken = ( value : string ) => {
4348 if ( ! value || includeSearchTokens . some ( ( v ) => v . text === value ) ) return ;
44- const nextId = includeSearchTokens . reduce ( ( m , t ) => Math . max ( m , t . id ) , - 1 ) + 1 ;
45- setIncludeSearchTokens ( [ ...includeSearchTokens , { id : nextId , text : value } ] ) ;
49+ const nextId =
50+ includeSearchTokens . reduce ( ( m , t ) => Math . max ( m , t . id ) , - 1 ) + 1 ;
51+ setIncludeSearchTokens ( [
52+ ...includeSearchTokens ,
53+ { id : nextId , text : value } ,
54+ ] ) ;
4655 updateFilter ( 'filterIncludeSearchTokens' , value as SearchToken , true ) ;
4756 } ;
4857
4958 const removeIncludeSearchToken = ( tokenId : string | number ) => {
5059 const value = includeSearchTokens . find ( ( v ) => v . id === tokenId ) ?. text || '' ;
51- if ( value ) updateFilter ( 'filterIncludeSearchTokens' , value as SearchToken , false ) ;
60+ if ( value )
61+ updateFilter ( 'filterIncludeSearchTokens' , value as SearchToken , false ) ;
5262 setIncludeSearchTokens ( includeSearchTokens . filter ( ( v ) => v . id !== tokenId ) ) ;
5363 } ;
5464
55- // now handled inside TokenSearchInput
56-
57- const [ excludeSearchTokens , setExcludeSearchTokens ] = useState < InputToken [ ] > ( mapValuesToTokens ( settings . filterExcludeSearchTokens ) ) ;
65+ const [ excludeSearchTokens , setExcludeSearchTokens ] = useState < InputToken [ ] > (
66+ mapValuesToTokens ( settings . filterExcludeSearchTokens ) ,
67+ ) ;
5868
5969 const addExcludeSearchToken = ( value : string ) => {
6070 if ( ! value || excludeSearchTokens . some ( ( v ) => v . text === value ) ) return ;
61- const nextId = excludeSearchTokens . reduce ( ( m , t ) => Math . max ( m , t . id ) , - 1 ) + 1 ;
62- setExcludeSearchTokens ( [ ...excludeSearchTokens , { id : nextId , text : value } ] ) ;
71+ const nextId =
72+ excludeSearchTokens . reduce ( ( m , t ) => Math . max ( m , t . id ) , - 1 ) + 1 ;
73+ setExcludeSearchTokens ( [
74+ ...excludeSearchTokens ,
75+ { id : nextId , text : value } ,
76+ ] ) ;
6377 updateFilter ( 'filterExcludeSearchTokens' , value as SearchToken , true ) ;
6478 } ;
6579
6680 const removeExcludeSearchToken = ( tokenId : string | number ) => {
6781 const value = excludeSearchTokens . find ( ( v ) => v . id === tokenId ) ?. text || '' ;
68- if ( value ) updateFilter ( 'filterExcludeSearchTokens' , value as SearchToken , false ) ;
82+ if ( value )
83+ updateFilter ( 'filterExcludeSearchTokens' , value as SearchToken , false ) ;
6984 setExcludeSearchTokens ( excludeSearchTokens . filter ( ( v ) => v . id !== tokenId ) ) ;
7085 } ;
7186
72- // handled by TokenSearchInput
73-
7487 // Basic suggestions for prefixes
7588 const fieldsetId = useId ( ) ;
7689
@@ -85,7 +98,14 @@ export const SearchFilter: FC = () => {
8598 < Stack direction = "vertical" gap = "condensed" >
8699 < Stack direction = "horizontal" gap = "condensed" >
87100 < PersonIcon size = { Size . SMALL } />
88- < Text className = { cn ( "text-gitify-caution" , ! settings . detailedNotifications && "line-through" ) } > Author (author:handle)</ Text >
101+ < Text
102+ className = { cn (
103+ 'text-gitify-caution' ,
104+ ! settings . detailedNotifications && 'line-through' ,
105+ ) }
106+ >
107+ Author (author:handle)
108+ </ Text >
89109 </ Stack >
90110 < Stack direction = "horizontal" gap = "condensed" >
91111 < OrganizationIcon size = { Size . SMALL } />
@@ -111,9 +131,7 @@ export const SearchFilter: FC = () => {
111131 label = "Include"
112132 onAdd = { addIncludeSearchToken }
113133 onRemove = { removeIncludeSearchToken }
114- showSuggestionsOnFocusIfEmpty = {
115- ! hasIncludeSearchFilters ( settings )
116- }
134+ showSuggestionsOnFocusIfEmpty = { ! hasIncludeSearchFilters ( settings ) }
117135 tokens = { includeSearchTokens }
118136 />
119137 < TokenSearchInput
@@ -122,9 +140,7 @@ export const SearchFilter: FC = () => {
122140 label = "Exclude"
123141 onAdd = { addExcludeSearchToken }
124142 onRemove = { removeExcludeSearchToken }
125- showSuggestionsOnFocusIfEmpty = {
126- ! hasExcludeSearchFilters ( settings )
127- }
143+ showSuggestionsOnFocusIfEmpty = { ! hasExcludeSearchFilters ( settings ) }
128144 tokens = { excludeSearchTokens }
129145 />
130146 </ Stack >
0 commit comments