diff options
Diffstat (limited to 'modern/src/settings/CommandsPage.jsx')
-rw-r--r-- | modern/src/settings/CommandsPage.jsx | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/modern/src/settings/CommandsPage.jsx b/modern/src/settings/CommandsPage.jsx deleted file mode 100644 index 1b893831..00000000 --- a/modern/src/settings/CommandsPage.jsx +++ /dev/null @@ -1,74 +0,0 @@ -import React, { useState } from 'react'; -import { - Table, TableRow, TableCell, TableHead, TableBody, -} from '@mui/material'; -import { useEffectAsync } from '../reactHelper'; -import { useTranslation } from '../common/components/LocalizationProvider'; -import { formatBoolean } from '../common/util/formatter'; -import { prefixString } from '../common/util/stringUtils'; -import PageLayout from '../common/components/PageLayout'; -import SettingsMenu from './components/SettingsMenu'; -import CollectionFab from './components/CollectionFab'; -import CollectionActions from './components/CollectionActions'; -import TableShimmer from '../common/components/TableShimmer'; -import SearchHeader, { filterByKeyword } from './components/SearchHeader'; -import { useRestriction } from '../common/util/permissions'; -import useSettingsStyles from './common/useSettingsStyles'; - -const CommandsPage = () => { - const classes = useSettingsStyles(); - const t = useTranslation(); - - const [timestamp, setTimestamp] = useState(Date.now()); - const [items, setItems] = useState([]); - const [searchKeyword, setSearchKeyword] = useState(''); - const [loading, setLoading] = useState(false); - const limitCommands = useRestriction('limitCommands'); - - useEffectAsync(async () => { - setLoading(true); - try { - const response = await fetch('/api/commands'); - if (response.ok) { - setItems(await response.json()); - } else { - throw Error(await response.text()); - } - } finally { - setLoading(false); - } - }, [timestamp]); - - return ( - <PageLayout menu={<SettingsMenu />} breadcrumbs={['settingsTitle', 'sharedSavedCommands']}> - <SearchHeader keyword={searchKeyword} setKeyword={setSearchKeyword} /> - <Table className={classes.table}> - <TableHead> - <TableRow> - <TableCell>{t('sharedDescription')}</TableCell> - <TableCell>{t('sharedType')}</TableCell> - <TableCell>{t('commandSendSms')}</TableCell> - {!limitCommands && <TableCell className={classes.columnAction} />} - </TableRow> - </TableHead> - <TableBody> - {!loading ? items.filter(filterByKeyword(searchKeyword)).map((item) => ( - <TableRow key={item.id}> - <TableCell>{item.description}</TableCell> - <TableCell>{t(prefixString('command', item.type))}</TableCell> - <TableCell>{formatBoolean(item.textChannel, t)}</TableCell> - {!limitCommands && ( - <TableCell className={classes.columnAction} padding="none"> - <CollectionActions itemId={item.id} editPath="/settings/command" endpoint="commands" setTimestamp={setTimestamp} /> - </TableCell> - )} - </TableRow> - )) : (<TableShimmer columns={limitCommands ? 3 : 4} endAction />)} - </TableBody> - </Table> - <CollectionFab editPath="/settings/command" disabled={limitCommands} /> - </PageLayout> - ); -}; - -export default CommandsPage; |