import { ChevronRight, Trash2 } from 'lucide-react'; import DiffViewer from '../../../DiffViewer.jsx'; import type { FileStatusCode } from '../../types/types'; import { getStatusBadgeClass, getStatusLabel } from '../../utils/gitPanelUtils'; type DiffViewerProps = { diff: string; fileName: string; isMobile: boolean; wrapText: boolean; }; const DiffViewerComponent = DiffViewer as unknown as (props: DiffViewerProps) => JSX.Element; type FileChangeItemProps = { filePath: string; status: FileStatusCode; isMobile: boolean; isExpanded: boolean; isSelected: boolean; diff?: string; wrapText: boolean; onToggleSelected: (filePath: string) => void; onToggleExpanded: (filePath: string) => void; onOpenFile: (filePath: string) => void; onToggleWrapText: () => void; onRequestFileAction: (filePath: string, status: FileStatusCode) => void; }; export default function FileChangeItem({ filePath, status, isMobile, isExpanded, isSelected, diff, wrapText, onToggleSelected, onToggleExpanded, onOpenFile, onToggleWrapText, onRequestFileAction, }: FileChangeItemProps) { const statusLabel = getStatusLabel(status); const badgeClass = getStatusBadgeClass(status); return (