cb6b8ed6e1
Improve suspend/resume identity continuity and external broker session handling, add Office UI internationalization with rebuilt assets, and expand company org configs. Co-authored-by: Cursor <cursoragent@cursor.com>
30 lines
897 B
TypeScript
30 lines
897 B
TypeScript
import type { KanbanBoard } from '../types/kanban'
|
|
import { useI18n } from '../i18n'
|
|
|
|
interface BoardSelectorProps {
|
|
boards: KanbanBoard[]
|
|
activeBoardId: string | null
|
|
onSelect: (id: string) => void
|
|
}
|
|
|
|
export function BoardSelector({ boards, activeBoardId, onSelect }: BoardSelectorProps) {
|
|
const { translateMaybe } = useI18n()
|
|
return (
|
|
<div className="board-selector">
|
|
<div className="board-tabs">
|
|
{boards.map(b => (
|
|
<button
|
|
key={b.id}
|
|
className={`board-tab${b.id === activeBoardId ? ' active' : ''}`}
|
|
style={{ '--board-color': b.color } as React.CSSProperties}
|
|
onClick={() => onSelect(b.id)}
|
|
>
|
|
<span className="board-tab-dot" style={{ background: b.color }} />
|
|
{translateMaybe('kanban.column', b.name) || b.name}
|
|
</button>
|
|
))}
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|