import { ActionIcon, Drawer, Tooltip } from '@mantine/core'; import { useHotkeys } from '@mantine/hooks'; import { IconBrandDocker } from '@tabler/icons-react'; import Docker from 'dockerode'; import { useTranslation } from 'next-i18next'; import { useState } from 'react'; import { useCardStyles } from '../../components/layout/useCardStyles'; import { useConfigContext } from '../../config/provider'; import { api } from '~/utils/api'; import ContainerActionBar from './ContainerActionBar'; import DockerTable from './DockerTable'; export default function DockerMenuButton(props: any) { const [opened, setOpened] = useState(false); const [selection, setSelection] = useState([]); const { config } = useConfigContext(); const { classes } = useCardStyles(true); const dockerEnabled = config?.settings.customization.layout.enabledDocker || false; const { data, refetch } = api.docker.containers.useQuery(undefined, { enabled: dockerEnabled, }); useHotkeys([['mod+B', () => setOpened(!opened)]]); const { t } = useTranslation('modules/docker'); const reload = () => { refetch(); setSelection([]); }; if (!dockerEnabled) return null; return ( <> setOpened(false)} padding="xl" position="right" size="100%" title={} transitionProps={{ transition: 'pop', }} styles={{ content: { display: 'flex', flexDirection: 'column', }, body: { minHeight: 0, }, }} > setOpened(true)} > ); }