mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-18 14:25:51 +00:00
53 lines
1.2 KiB
TypeScript
53 lines
1.2 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}
|
|
</>
|
|
)
|
|
}
|