fix: type-safe ExchangeStatus cast in ButtonGroup onChange
Cast the Set<string> from ButtonGroup.onChange to Set<ExchangeStatus> before iterating, fixing TS2345 from DS TopBar decomposition. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,7 @@ import {
|
|||||||
useGlobalFilters,
|
useGlobalFilters,
|
||||||
useStarred,
|
useStarred,
|
||||||
} from '@cameleer/design-system';
|
} from '@cameleer/design-system';
|
||||||
import type { SearchResult, SidebarTreeNode, DropdownItem, ButtonGroupItem } from '@cameleer/design-system';
|
import type { SearchResult, SidebarTreeNode, DropdownItem, ButtonGroupItem, ExchangeStatus } from '@cameleer/design-system';
|
||||||
import sidebarLogo from '@cameleer/design-system/assets/cameleer3-logo.svg';
|
import sidebarLogo from '@cameleer/design-system/assets/cameleer3-logo.svg';
|
||||||
import { Box, Settings, FileText, ChevronRight, Square, Pause, Star, X, User } from 'lucide-react';
|
import { Box, Settings, FileText, ChevronRight, Square, Pause, Star, X, User } from 'lucide-react';
|
||||||
import { AboutMeDialog } from './AboutMeDialog';
|
import { AboutMeDialog } from './AboutMeDialog';
|
||||||
@@ -771,13 +771,15 @@ function LayoutContent() {
|
|||||||
<ButtonGroup
|
<ButtonGroup
|
||||||
items={STATUS_ITEMS}
|
items={STATUS_ITEMS}
|
||||||
value={globalFilters.statusFilters}
|
value={globalFilters.statusFilters}
|
||||||
onChange={(selected) => {
|
onChange={(sel) => {
|
||||||
|
type S = 'completed' | 'warning' | 'failed' | 'running'
|
||||||
|
const selected = sel as Set<S>
|
||||||
const current = globalFilters.statusFilters
|
const current = globalFilters.statusFilters
|
||||||
for (const v of selected) {
|
for (const v of selected) {
|
||||||
if (!current.has(v)) globalFilters.toggleStatus(v as 'completed' | 'warning' | 'failed' | 'running')
|
if (!current.has(v)) globalFilters.toggleStatus(v)
|
||||||
}
|
}
|
||||||
for (const v of current) {
|
for (const v of current) {
|
||||||
if (!selected.has(v)) globalFilters.toggleStatus(v as 'completed' | 'warning' | 'failed' | 'running')
|
if (!selected.has(v)) globalFilters.toggleStatus(v)
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user