Files
kandev/apps/web/components/task/chat/context-items/file-item.tsx
T
Carlos Florêncio f4d1dfd3a7 feat: better context files (#222)
feat: context files
2026-02-14 20:13:11 +00:00

31 lines
724 B
TypeScript

'use client';
import { memo, useCallback } from 'react';
import type { FileContextItem } from '@/lib/types/context';
import { ContextChip } from './context-chip';
import { LazyFilePreview } from './lazy-file-preview';
export const FileItem = memo(function FileItem({
item,
sessionId,
}: {
item: FileContextItem;
sessionId?: string | null;
}) {
const handleClick = useCallback(() => {
item.onOpen(item.path);
}, [item]);
return (
<ContextChip
kind="file"
label={item.label}
pinned={item.pinned}
preview={<LazyFilePreview path={item.path} sessionId={sessionId ?? null} />}
onClick={handleClick}
onUnpin={item.onUnpin}
onRemove={item.onRemove}
/>
);
});