@@ -205,15 +205,15 @@ export function ReportTable({ onGroupClick }: ReportTableProps) {
205205 } ) ;
206206 } , [ ] ) ;
207207
208- const emptyRow : Partial < TableRow > = {
209- count : 0 , grossAmount : 0 , discountAmount : 0 , netAmount : 0 , quantity : 0 ,
210- totalInputTokens : 0 , totalOutputTokens : 0 , totalCacheCreationTokens : 0 , totalCacheReadTokens : 0 ,
211- totalMinutes : 0 , totalStorageGBH : 0 ,
212- } ;
213-
214208 const tableData = useMemo ( ( ) => {
215209 if ( ! activeReport ) return [ ] ;
216210
211+ const emptyRow = {
212+ count : 0 , grossAmount : 0 , discountAmount : 0 , netAmount : 0 , quantity : 0 ,
213+ totalInputTokens : 0 , totalOutputTokens : 0 , totalCacheCreationTokens : 0 , totalCacheReadTokens : 0 ,
214+ totalMinutes : 0 , totalStorageGBH : 0 ,
215+ } ;
216+
217217 // Helper to resolve a display value for group labels
218218 const resolveGroupLabel = ( val : unknown ) : string => {
219219 if ( typeof val === 'boolean' ) return val ? 'Yes' : 'No' ;
@@ -232,7 +232,7 @@ export function ReportTable({ onGroupClick }: ReportTableProps) {
232232 }
233233
234234 return [ ...groups . entries ( ) ] . map ( ( [ key , rows ] ) => {
235- const first = rows [ 0 ] as Record < string , unknown > ;
235+ const first = rows [ 0 ] as unknown as Record < string , unknown > ;
236236 const base : TableRow = {
237237 ...emptyRow ,
238238 id : key ,
@@ -303,18 +303,16 @@ export function ReportTable({ onGroupClick }: ReportTableProps) {
303303 return populated ;
304304 } , [ activeReport , isFlatReport , visibleRows ] ) ;
305305
306- const activeFilterValues = filters [ groupByColumn ] ?? [ ] ;
307-
308306 const handleGroupClick = useCallback (
309307 ( value : string , e : React . MouseEvent ) => {
310308 e . preventDefault ( ) ;
311309 e . stopPropagation ( ) ;
312- // Toggle: if already filtered to this value, clear the filter
313- const isActive = activeFilterValues . some ( ( v ) => v . toLowerCase ( ) === value . toLowerCase ( ) ) ;
310+ const currentFilterValues = filters [ groupByColumn ] ?? [ ] ;
311+ const isActive = currentFilterValues . some ( ( v ) => v . toLowerCase ( ) === value . toLowerCase ( ) ) ;
314312 setFilter ( groupByColumn , isActive ? [ ] : [ value ] ) ;
315313 if ( ! isActive ) onGroupClick ?.( ) ;
316314 } ,
317- [ groupByColumn , activeFilterValues , setFilter , onGroupClick ] ,
315+ [ groupByColumn , filters , setFilter , onGroupClick ] ,
318316 ) ;
319317
320318 const columns = useMemo < ColumnDef < TableRow , unknown > [ ] > ( ( ) => {
@@ -465,7 +463,7 @@ export function ReportTable({ onGroupClick }: ReportTableProps) {
465463 // Helper to build flat columns, skipping the one used as the group column
466464 const flatCol = ( key : string , header : string , fmt ?: 'datetime' | 'end' ) => {
467465 if ( key === groupByColumn ) return null ;
468- return columnHelper . accessor ( key as keyof TableRow , {
466+ return columnHelper . accessor ( key as string & keyof TableRow , {
469467 header,
470468 cell : ( info ) => {
471469 const v = info . getValue ( ) ;
0 commit comments