Заодно: отложенный revokeObjectURL в saveBlob (ревью Task 3). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
28 lines
767 B
TypeScript
28 lines
767 B
TypeScript
import { Collapse, List } from 'antd';
|
||
import type { GapOut } from '../../types/api';
|
||
|
||
export function OsvGaps({ gaps }: { gaps: GapOut[] }) {
|
||
if (gaps.length === 0) return null;
|
||
return (
|
||
<Collapse
|
||
items={[
|
||
{
|
||
key: 'gaps',
|
||
label: `Пробелы: ${gaps.length} — по этим счетам нет ОСВ за часть кварталов, их строк в своде нет`,
|
||
children: (
|
||
<List
|
||
size='small'
|
||
dataSource={gaps}
|
||
renderItem={(g) => (
|
||
<List.Item key={`${g.legal_entity_id}-${g.account_code}`}>
|
||
{g.legal_entity_name} — счёт {g.account_code} — нет кварталов: {g.missing_quarters.join(', ')}
|
||
</List.Item>
|
||
)}
|
||
/>
|
||
),
|
||
},
|
||
]}
|
||
/>
|
||
);
|
||
}
|