import { CopyAll } from '@mui/icons-material' import { Box, Button, Card, Chip, Divider, IconButton, Input, Typography, } from '@mui/joy' import moment from 'moment' import { useEffect, useState } from 'react' import { useUserProfile } from '../../queries/UserQueries' import { useNotification } from '../../service/NotificationProvider' import { CreateLongLiveToken, DeleteLongLiveToken, GetLongLiveTokens, } from '../../utils/Fetcher' import { isPlusAccount } from '../../utils/Helpers' import ConfirmationModal from '../Modals/Inputs/ConfirmationModal' import TextModal from '../Modals/Inputs/TextModal' const APITokenSettings = () => { const { data: userProfile } = useUserProfile() const { showNotification } = useNotification() const [tokens, setTokens] = useState([]) const [isGetTokenNameModalOpen, setIsGetTokenNameModalOpen] = useState(false) const [showTokenId, setShowTokenId] = useState(null) const [confirmModalConfig, setConfirmModalConfig] = useState({}) const showConfirmation = ( message, title, onConfirm, confirmText = 'Confirm', cancelText = 'Cancel', color = 'primary', ) => { setConfirmModalConfig({ isOpen: true, message, title, confirmText, cancelText, color, onClose: isConfirmed => { if (isConfirmed) { onConfirm() } setConfirmModalConfig({}) }, }) } useEffect(() => { GetLongLiveTokens().then(resp => { resp.json().then(data => { setTokens(data.res) }) }) }, []) const handleSaveToken = name => { CreateLongLiveToken(name).then(resp => { if (resp.ok) { resp.json().then(data => { // add the token to the list: console.log(data) const newTokens = [...tokens] newTokens.push(data.res) setTokens(newTokens) }) } }) } return (