aboutsummaryrefslogtreecommitdiff
path: root/modern/src/settings/UsersPage.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'modern/src/settings/UsersPage.jsx')
-rw-r--r--modern/src/settings/UsersPage.jsx22
1 files changed, 20 insertions, 2 deletions
diff --git a/modern/src/settings/UsersPage.jsx b/modern/src/settings/UsersPage.jsx
index d04f2a2b..2941965b 100644
--- a/modern/src/settings/UsersPage.jsx
+++ b/modern/src/settings/UsersPage.jsx
@@ -1,7 +1,7 @@
import React, { useState } from 'react';
import { useNavigate } from 'react-router-dom';
import {
- Table, TableRow, TableCell, TableHead, TableBody,
+ Table, TableRow, TableCell, TableHead, TableBody, Switch, TableFooter, FormControlLabel,
} from '@mui/material';
import LoginIcon from '@mui/icons-material/Login';
import LinkIcon from '@mui/icons-material/Link';
@@ -31,6 +31,7 @@ const UsersPage = () => {
const [items, setItems] = useState([]);
const [searchKeyword, setSearchKeyword] = useState('');
const [loading, setLoading] = useState(false);
+ const [temporary, setTemporary] = useState(false);
const handleLogin = useCatch(async (userId) => {
const response = await fetch(`/api/session/${userId}`);
@@ -84,7 +85,7 @@ const UsersPage = () => {
</TableRow>
</TableHead>
<TableBody>
- {!loading ? items.filter(filterByKeyword(searchKeyword)).map((item) => (
+ {!loading ? items.filter((u) => temporary || !u.temporary).filter(filterByKeyword(searchKeyword)).map((item) => (
<TableRow key={item.id}>
<TableCell>{item.name}</TableCell>
<TableCell>{item.email}</TableCell>
@@ -103,6 +104,23 @@ const UsersPage = () => {
</TableRow>
)) : (<TableShimmer columns={6} endAction />)}
</TableBody>
+ <TableFooter>
+ <TableRow>
+ <TableCell colSpan={6} align="right">
+ <FormControlLabel
+ control={(
+ <Switch
+ value={temporary}
+ onChange={(e) => setTemporary(e.target.checked)}
+ size="small"
+ />
+ )}
+ label={t('userTemporary')}
+ labelPlacement="start"
+ />
+ </TableCell>
+ </TableRow>
+ </TableFooter>
</Table>
<CollectionFab editPath="/settings/user" />
</PageLayout>