(stats: ClaudeCodeStats, activeTab: 'Overview' | 'Models', setStatus: (status: string | null) => void)
| 1057 | |
| 1058 | // Screenshot functionality |
| 1059 | async function handleScreenshot(stats: ClaudeCodeStats, activeTab: 'Overview' | 'Models', setStatus: (status: string | null) => void): Promise<void> { |
| 1060 | setStatus('copying…'); |
| 1061 | const ansiText = renderStatsToAnsi(stats, activeTab); |
| 1062 | const result = await copyAnsiToClipboard(ansiText); |
| 1063 | setStatus(result.success ? 'copied!' : 'copy failed'); |
| 1064 | |
| 1065 | // Clear status after 2 seconds |
| 1066 | setTimeout(setStatus, 2000, null); |
| 1067 | } |
| 1068 | function renderStatsToAnsi(stats: ClaudeCodeStats, activeTab: 'Overview' | 'Models'): string { |
| 1069 | const lines: string[] = []; |
| 1070 | if (activeTab === 'Overview') { |
no test coverage detected