mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-21 15:55:50 +00:00
45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
import * as React from 'react';
|
|
import { Text } from '@anthropic/ink';
|
|
import { useAppState } from '../../state/AppState.js';
|
|
|
|
type Props = {
|
|
teamsSelected: boolean;
|
|
showHint: boolean;
|
|
};
|
|
|
|
/**
|
|
* Footer status indicator showing teammate count
|
|
* Similar to BackgroundTaskStatus but for teammates
|
|
*/
|
|
export function TeamStatus({ teamsSelected, showHint }: Props): React.ReactNode {
|
|
const teamContext = useAppState(s => s.teamContext);
|
|
|
|
// Derive teammate count from teamContext (no filesystem I/O needed)
|
|
const totalTeammates = teamContext
|
|
? Object.values(teamContext.teammates).filter(t => t.name !== 'team-lead').length
|
|
: 0;
|
|
|
|
if (totalTeammates === 0) {
|
|
return null;
|
|
}
|
|
|
|
const hint =
|
|
showHint && teamsSelected ? (
|
|
<>
|
|
<Text dimColor>· </Text>
|
|
<Text dimColor>Enter to view</Text>
|
|
</>
|
|
) : null;
|
|
|
|
const statusText = `${totalTeammates} ${totalTeammates === 1 ? 'teammate' : 'teammates'}`;
|
|
|
|
return (
|
|
<>
|
|
<Text key={teamsSelected ? 'selected' : 'normal'} color="background" inverse={teamsSelected}>
|
|
{statusText}
|
|
</Text>
|
|
{hint ? <Text> {hint}</Text> : null}
|
|
</>
|
|
);
|
|
}
|