Overview
InsightStatusBoard displays insights organized by status columns in a board view. Perfect for showing insight workflow status distribution with a kanban-style interface. Supports both full board and compact views.
Features
- Kanban-style column layout
- Score-based insight highlighting
- Compact mode for overview
- Configurable max items per column
- Click handlers for columns and cards
Examples
Full Board
Complete board view
App crashes on startup after update
Dark mode colors are inconsistent
Login takes too long
Push notifications not working
Search results are slow
Feature request: Export to PDF
Improve onboarding flow
Add keyboard shortcuts
Implement offline mode
Add analytics dashboard
Fix password reset flow
Update user profile page
Add two-factor auth
Compact View
Just headers and counts
Without Counts
Hiding count badges
App crashes on startup after update
Dark mode colors are inconsistent
Login takes too long
Push notifications not working
Search results are slow
Feature request: Export to PDF
Improve onboarding flow
Add keyboard shortcuts
Max 3 Items
Limited items per column
App crashes on startup after update
Dark mode colors are inconsistent
Login takes too long
Feature request: Export to PDF
Improve onboarding flow
Add keyboard shortcuts
Clickable Elements
Interactive columns and cards
App crashes on startup after update
Dark mode colors are inconsistent
Login takes too long
Feature request: Export to PDF
Improve onboarding flow
Add keyboard shortcuts
Implement offline mode
Add analytics dashboard
Compact with Click Handler
Clickable compact view
With ChartCard
Wrapped in ChartCard
Current status distribution of 49 insights
App crashes on startup after update
Dark mode colors are inconsistent
Login takes too long
Push notifications not working
Search results are slow
Feature request: Export to PDF
Improve onboarding flow
Add keyboard shortcuts
Implement offline mode
Add analytics dashboard
Fix password reset flow
Update user profile page
Add two-factor auth
Props Reference
| Prop | Type | Default | Description |
|---|---|---|---|
columns | StatusColumn[] | required | Array of status columns |
onCardClick | (insightId: string) => void | - | Click handler for cards |
onColumnClick | (status: string) => void | - | Click handler for column headers |
showCounts | boolean | true | Show count badges |
compact | boolean | false | Compact display (headers and counts only) |
maxItems | number | 5 | Maximum items to show per column |
className | string | - | Additional CSS classes |
StatusColumn Type
id: string - Unique identifier
label: string - Column label
count: number - Total count in column
color?: string - Column color
items?: StatusItem[] - Items in the column
Usage
import { InsightStatusBoard, ChartCard } from '@/ui/components/charts';
const columns = [
{
id: 'new',
label: 'New',
count: 12,
color: 'var(--chart-1)',
items: [
{ id: '1', title: 'App crashes on startup', score: 9 },
{ id: '2', title: 'Dark mode issues', score: 6 },
],
},
{
id: 'review',
label: 'In Review',
count: 8,
color: 'var(--chart-2)',
items: [
{ id: '3', title: 'Export to PDF feature', score: 7 },
],
},
];
// Basic board
<InsightStatusBoard columns={columns} />
// Compact view (just counts)
<InsightStatusBoard columns={columns} compact />
// With click handlers
<InsightStatusBoard
columns={columns}
showCounts
onColumnClick={(status) => console.log('Column:', status)}
onCardClick={(id) => console.log('Card:', id)}
/>
// With ChartCard
<ChartCard title="Insight Pipeline">
<InsightStatusBoard columns={columns} />
</ChartCard>