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})}
>
}
disabled={!query.data?.presets.length}
>
);
}
interface ApplyPresetDialogProps {
preset: string;
}
function ApplyPresetDialog({preset}: ApplyPresetDialogProps) {
const {close} = useDialogContext();
const resetChannels = useApplyChannelPreset();
return (
{
resetChannels.mutate({preset}, {onSuccess: () => close()});
}}
isDanger
title={}
body={
}
confirm={}
/>
);
}