diff --git a/web/pages/access-tokens.tsx b/web/pages/access-tokens.tsx index a87de960f..f259ea50c 100644 --- a/web/pages/access-tokens.tsx +++ b/web/pages/access-tokens.tsx @@ -1,196 +1,228 @@ -import React, { useState, useEffect } from "react"; +import React, { useState, useEffect } from 'react'; import { Table, Tag, Space, Button, Modal, Checkbox, Input, Typography, Tooltip } from 'antd'; import { DeleteOutlined, EyeTwoTone, EyeInvisibleOutlined } from '@ant-design/icons'; const { Title, Paragraph, Text } = Typography; -import format from 'date-fns/format' +import format from 'date-fns/format'; -import { - fetchData, - ACCESS_TOKENS, - DELETE_ACCESS_TOKEN, - CREATE_ACCESS_TOKEN, -} from "../utils/apis"; +import { fetchData, ACCESS_TOKENS, DELETE_ACCESS_TOKEN, CREATE_ACCESS_TOKEN } from '../utils/apis'; const availableScopes = { - 'CAN_SEND_SYSTEM_MESSAGES': { name: 'System messages', description: 'You can send official messages on behalf of the system', color: 'purple' }, - 'CAN_SEND_MESSAGES': { name: 'User chat messages', description: 'You can send messages on behalf of a username', color: 'green' }, - 'HAS_ADMIN_ACCESS': { name: 'Has admin access', description: 'Can perform administrative actions such as moderation, get server statuses, etc', color: 'red' }, + CAN_SEND_SYSTEM_MESSAGES: { + name: 'System messages', + description: 'You can send official messages on behalf of the system', + color: 'purple', + }, + CAN_SEND_MESSAGES: { + name: 'User chat messages', + description: 'You can send messages on behalf of a username', + color: 'green', + }, + HAS_ADMIN_ACCESS: { + name: 'Has admin access', + description: 'Can perform administrative actions such as moderation, get server statuses, etc', + color: 'red', + }, }; function convertScopeStringToTag(scopeString) { - if (!scopeString || !availableScopes[scopeString]) { - return null; - } + if (!scopeString || !availableScopes[scopeString]) { + return null; + } - const scope = availableScopes[scopeString]; + const scope = availableScopes[scopeString]; - return ( - - - {scope.name} - - - ); + return ( + + {scope.name} + + ); } function NewTokenModal(props) { - const [selectedScopes, setSelectedScopes] = useState([]); - const [name, setName] = useState(''); + const [selectedScopes, setSelectedScopes] = useState([]); + const [name, setName] = useState(''); - const scopes = Object.keys(availableScopes).map(function (key) { - return { value: key, label: availableScopes[key].description } - }); + const scopes = Object.keys(availableScopes).map(function (key) { + return { value: key, label: availableScopes[key].description }; + }); - function onChange(checkedValues) { - setSelectedScopes(checkedValues); - } + function onChange(checkedValues) { + setSelectedScopes(checkedValues); + } - function saveToken() { - props.onOk(name, selectedScopes); + function saveToken() { + props.onOk(name, selectedScopes); - // Clear the modal - setSelectedScopes([]); - setName(''); - } + // Clear the modal + setSelectedScopes([]); + setName(''); + } - const okButtonProps = { - disabled: selectedScopes.length === 0 || name === '' - }; + const okButtonProps = { + disabled: selectedScopes.length === 0 || name === '', + }; - function selectAll() { - setSelectedScopes(Object.keys(availableScopes)); - } + function selectAll() { + setSelectedScopes(Object.keys(availableScopes)); + } - return ( - -

setName(input.currentTarget.value)} />

+ return ( + +

+ setName(input.currentTarget.value)} + /> +

-

- Select the permissions this access token will have. It cannot be edited after it's created. -

- - -
- ) +

+ Select the permissions this access token will have. It cannot be edited after it's created. +

+ + +
+ ); } export default function AccessTokens() { - const [tokens, setTokens] = useState([]); - const [isTokenModalVisible, setIsTokenModalVisible] = useState(false); + const [tokens, setTokens] = useState([]); + const [isTokenModalVisible, setIsTokenModalVisible] = useState(false); - const columns = [ - { - title: '', - key: 'delete', - render: (text, record) => ( - -