/** * ClaudeMdItem - Single CLAUDE.md file item display. */ import React from 'react'; import { CopyablePath } from '@renderer/components/common/CopyablePath'; import { resolveAbsolutePath, shortenDisplayPath } from '@renderer/utils/pathDisplay'; import { formatTokens } from '../utils/formatting'; import { formatFirstSeen, parseTurnIndex } from '../utils/pathParsing'; import type { ClaudeMdContextInjection } from '@renderer/types/contextInjection'; interface ClaudeMdItemProps { injection: ClaudeMdContextInjection; projectRoot?: string; onNavigateToTurn?: (turnIndex: number) => void; } export const ClaudeMdItem = ({ injection, projectRoot, onNavigateToTurn, }: Readonly): React.ReactElement => { const turnIndex = parseTurnIndex(injection.firstSeenInGroup); const isClickable = onNavigateToTurn && turnIndex >= 0; const displayPath = shortenDisplayPath(injection.path, projectRoot); const absolutePath = resolveAbsolutePath(injection.path, projectRoot); return (
~{formatTokens(injection.estimatedTokens)} tokens {isClickable ? ( ) : ( @{formatFirstSeen(injection.firstSeenInGroup)} )}
); };