Files
mtdb_movie/common/resources/client/admin/custom-pages/custom-page-datable-page.tsx
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

46 lines
1.6 KiB
TypeScript
Executable File

import React, {useContext, useMemo} from 'react';
import {Link} from 'react-router-dom';
import {DataTablePage} from '../../datatable/page/data-table-page';
import {Trans} from '../../i18n/trans';
import {DataTableEmptyStateMessage} from '../../datatable/page/data-table-emty-state-message';
import articlesSvg from './articles.svg';
import {DataTableAddItemButton} from '../../datatable/data-table-add-item-button';
import {CustomPageDatatableFilters} from './custom-page-datatable-filters';
import {DeleteSelectedItemsAction} from '../../datatable/page/delete-selected-items-action';
import {CustomPageDatatableColumns} from '@common/admin/custom-pages/custom-page-datatable-columns';
import {SiteConfigContext} from '@common/core/settings/site-config-context';
export function CustomPageDatablePage() {
const config = useContext(SiteConfigContext);
const filters = useMemo(() => {
return CustomPageDatatableFilters(config);
}, [config]);
return (
<DataTablePage
endpoint="custom-pages"
title={<Trans message="Custom pages" />}
filters={filters}
columns={CustomPageDatatableColumns}
queryParams={{with: 'user'}}
actions={<Actions />}
selectedActions={<DeleteSelectedItemsAction />}
emptyStateMessage={
<DataTableEmptyStateMessage
image={articlesSvg}
title={<Trans message="No pages have been created yet" />}
filteringTitle={<Trans message="No matching pages" />}
/>
}
/>
);
}
function Actions() {
return (
<DataTableAddItemButton elementType={Link} to="new">
<Trans message="New page" />
</DataTableAddItemButton>
);
}