import React from 'react'; import { cn } from '@/lib/utils'; import { useConfigStore } from '@/stores/useConfigStore'; import { useSessionUIStore } from '@/sync/session-ui-store'; import { useContextStore } from '@/stores/contextStore'; import { formatEffortLabel, getAgentDisplayName, getModelDisplayName } from './mobileControlsUtils'; interface StatusChipProps { onClick: () => void; className?: string; } export const StatusChip: React.FC = ({ onClick, className }) => { const { currentModelId, currentVariant, currentAgentName, getCurrentProvider, getCurrentModelVariants, getVisibleAgents, } = useConfigStore(); const currentSessionId = useSessionUIStore((state) => state.currentSessionId); const sessionAgentName = useContextStore((state) => currentSessionId ? state.getSessionAgentSelection(currentSessionId) : null ); const agents = getVisibleAgents(); const uiAgentName = currentSessionId ? (sessionAgentName || currentAgentName) : currentAgentName; const agentLabel = getAgentDisplayName(agents, uiAgentName); const currentProvider = getCurrentProvider(); const modelLabel = getModelDisplayName(currentProvider, currentModelId); const hasEffort = getCurrentModelVariants().length > 0; const effortLabel = hasEffort ? formatEffortLabel(currentVariant) : null; const fullLabel = [agentLabel, modelLabel, effortLabel].filter(Boolean).join(' · '); return ( ); }; export default StatusChip;