import React, {Fragment} from 'react'; import {Trans} from '@common/i18n/trans'; import {DataTableEmptyStateMessage} from '@common/datatable/page/data-table-emty-state-message'; import playlist from './playlist.svg'; import {DataTableAddItemButton} from '@common/datatable/data-table-add-item-button'; import {InfoDialogTrigger} from '@common/ui/overlays/dialog/info-dialog-trigger/info-dialog-trigger'; import {Link} from 'react-router-dom'; import {ChannelsDatatableColumns} from '@common/admin/channels/channels-datatable-columns'; import {ConfirmationDialog} from '@common/ui/overlays/dialog/confirmation-dialog'; import {useApplyChannelPreset} from '@common/admin/channels/requests/use-apply-channel-preset'; import {useDialogContext} from '@common/ui/overlays/dialog/dialog-context'; import {DataTablePage} from '@common/datatable/page/data-table-page'; import {DeleteSelectedItemsAction} from '@common/datatable/page/delete-selected-items-action'; import {useDataTable} from '@common/datatable/page/data-table-context'; import {Channel} from '@common/channels/channel'; import {Menu, MenuTrigger} from '@common/ui/navigation/menu/menu-trigger'; import {Button} from '@common/ui/buttons/button'; import {Item} from '@common/ui/forms/listbox/item'; import {KeyboardArrowDownIcon} from '@common/icons/material/KeyboardArrowDown'; import {openDialog} from '@common/ui/overlays/store/dialog-store'; import {ChannelsDocsLink} from '@common/admin/channels/channels-docs-link'; interface ChannelPresetConfig { preset: string; name: string; description: string; } export function ChannelsDatatablePage() { return ( } headerContent={} headerItemsAlign="items-center" queryParams={{type: 'channel'}} columns={ChannelsDatatableColumns} actions={} selectedActions={} cellHeight="h-52" emptyStateMessage={ } filteringTitle={} /> } /> ); } function InfoTrigger() { return ( } /> ); } function Actions() { const {query} = useDataTable(); return ( openDialog(ApplyPresetDialog, {preset})} > {query.data?.presets.map(preset => ( } > ))} ); } interface ApplyPresetDialogProps { preset: string; } function ApplyPresetDialog({preset}: ApplyPresetDialogProps) { const {close} = useDialogContext(); const resetChannels = useApplyChannelPreset(); return ( { resetChannels.mutate({preset}, {onSuccess: () => close()}); }} isDanger title={} body={ } confirm={} /> ); }