import DeleteOutline from '@mui/icons-material/DeleteOutline' import type { IconButtonProps } from '@mui/material' import { Button, DialogActions, DialogContent, DialogContentText, DialogTitle, IconButton, List, useTheme, } from '@mui/material' import { useCallback, useMemo, useState } from 'react' import { useTranslation } from 'react-i18next' import { ActiveTransactionItem } from '../../components/ActiveTransactions/ActiveTransactionItem.js' import { Dialog } from '../../components/Dialog.js' import { PageContainer } from '../../components/PageContainer.js' import { useHeader } from '../../hooks/useHeader.js' import { useRouteExecutionStore } from '../../stores/routes/RouteExecutionStore.js' import { useExecutingRoutesIds } from '../../stores/routes/useExecutingRoutesIds.js' import { ActiveTransactionsEmpty } from './ActiveTransactionsEmpty.js' const DeleteIconButton: React.FC = ({ onClick }) => { const theme = useTheme() return ( ) } export const ActiveTransactionsPage = () => { const { t } = useTranslation() const executingRoutes = useExecutingRoutesIds() const deleteRoutes = useRouteExecutionStore((store) => store.deleteRoutes) const [open, setOpen] = useState(false) const toggleDialog = useCallback(() => { setOpen((open) => !open) }, []) const headerAction = useMemo( () => executingRoutes.length ? ( ) : undefined, [executingRoutes.length, toggleDialog] ) useHeader(t('header.activeTransactions'), headerAction) if (!executingRoutes.length) { return } return ( {executingRoutes.map((routeId) => ( ))} {t('warning.title.deleteActiveTransactions')} {t('warning.message.deleteActiveTransactions')} ) }