mirror of https://github.com/msgbyte/tailchat
feat(admin): added total file size statistics
parent
4ac6a0759a
commit
b26d34e8e2
@ -1,19 +1,40 @@
|
|||||||
|
import filesize from 'filesize';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { createTextField, ListTable } from 'tushan';
|
import {
|
||||||
|
createTextField,
|
||||||
|
ListTable,
|
||||||
|
useAsync,
|
||||||
|
useTranslation,
|
||||||
|
Typography,
|
||||||
|
} from 'tushan';
|
||||||
import { fileFields } from '../fields';
|
import { fileFields } from '../fields';
|
||||||
|
import { request } from '../request';
|
||||||
|
|
||||||
export const FileList: React.FC = React.memo(() => {
|
export const FileList: React.FC = React.memo(() => {
|
||||||
|
const { t } = useTranslation();
|
||||||
|
const { value: totalSize = 0 } = useAsync(async () => {
|
||||||
|
const { data } = await request.get('/file/filesizeSum');
|
||||||
|
|
||||||
|
return data.totalSize ?? 0;
|
||||||
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ListTable
|
<>
|
||||||
filter={[
|
<Typography.Paragraph style={{ textAlign: 'right' }}>
|
||||||
createTextField('q', {
|
{t('custom.file.fileTotalSize')}: {filesize(totalSize)}
|
||||||
label: 'Search',
|
</Typography.Paragraph>
|
||||||
}),
|
<ListTable
|
||||||
]}
|
filter={[
|
||||||
fields={fileFields}
|
createTextField('q', {
|
||||||
action={{ detail: true, delete: true }}
|
label: 'Search',
|
||||||
batchAction={{ delete: true }}
|
}),
|
||||||
/>
|
]}
|
||||||
|
fields={fileFields}
|
||||||
|
action={{ detail: true, delete: true }}
|
||||||
|
batchAction={{ delete: true }}
|
||||||
|
showSizeChanger={true}
|
||||||
|
/>
|
||||||
|
</>
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
FileList.displayName = 'FileList';
|
FileList.displayName = 'FileList';
|
||||||
|
Loading…
Reference in New Issue