Handle token renewal and expiration

This commit is contained in:
2025-03-20 20:51:58 +01:00
parent c6f7830d9d
commit 133d0de084
3 changed files with 34 additions and 6 deletions

View File

@ -82,7 +82,7 @@ export function CreateTokenDialog(p: {
return (
<Dialog open={p.open} onClose={cancel}>
<DialogTitle>Nouveau jeton</DialogTitle>
<DialogTitle>New token</DialogTitle>
<DialogContent>
<TextInput
editable

View File

@ -1,5 +1,5 @@
import DeleteIcon from "@mui/icons-material/DeleteOutlined";
import { Alert, AlertTitle, Button } from "@mui/material";
import { Alert, AlertTitle, Button, IconButton, Tooltip } from "@mui/material";
import {
DataGrid,
GridActionsCellItem,
@ -18,6 +18,8 @@ import { MoneyMgrWebRouteContainer } from "../widgets/MoneyMgrWebRouteContainer"
import { TimeWidget } from "../widgets/TimeWidget";
import { QRCodeCanvas } from "qrcode.react";
import { APIClient } from "../api/ApiClient";
import AddIcon from "@mui/icons-material/Add";
import RefreshIcon from "@mui/icons-material/Refresh";
export function TokensRoute(): React.ReactElement {
const count = React.useRef(0);
@ -138,11 +140,11 @@ function TokensRouteInner(p: {
},
},
{
field: "last_used",
field: "time_used",
headerName: "Last usage",
flex: 3,
renderCell(params) {
return <TimeWidget time={params.row.last_used} />;
return <TimeWidget time={params.row.time_used} />;
},
},
{
@ -211,7 +213,20 @@ function TokensRouteInner(p: {
return (
<MoneyMgrWebRouteContainer
label="API Tokens"
actions={<Button onClick={p.onRequestCreateToken}>New</Button>}
actions={
<span>
<Tooltip title="Create new token">
<IconButton onClick={p.onRequestCreateToken}>
<AddIcon />
</IconButton>
</Tooltip>
<Tooltip title="Refresh table">
<IconButton onClick={p.onReload}>
<RefreshIcon />
</IconButton>
</Tooltip>
</span>
}
>
{p.createdToken && <CreatedToken token={p.createdToken} />}
<DataGrid