import $ from "jquery";
import * as JSX from "./jsx";
import * as api from "./api";
import * as util from "./util";
import * as user from "./user";
import * as terminal from "./terminal";
import {
addPopup, onPopupClosed, closePopup,
Dropdown, DropdownItem,
Spinner,
OkPopup, OkCancelPopup
} from "./components";
let old_font = '';
const fonts = [
'Terminal',
'Arial',
'Monospace',
'Sans-serif',
'Serif',
'Times'
];
function showDeleteTokenPopup( id: number ) {
const deleteToken = async() => {
try {
await user.deleteToken( id );
$( `#token-${ id }` ).remove();
} catch( e: any ) {
addPopup( $(
Error deleting token: { e.message }
) );
}
}
addPopup( $(
Are you sure you want to erase this API token?
) );
}
function showDeleteAllTokensPopup() {
const deleteTokens = async() => {
try {
await user.deleteAllTokens();
closePopup();
} catch( e: any ) {
addPopup( $(
Error deleting all tokens: { e.message }
) );
}
}
addPopup( $(
Are you sure you want to erase all API tokens?
) );
}
function TokenEntry( props: any ) {
const token = props.token;
return
{ token.value }
}
async function createNewToken( e: Event ) {
const btn = $( e.target );
e.preventDefault();
e.stopPropagation();
const spinner = $( );
btn.append( spinner );
try {
const token = await user.createToken();
const tokens = await user.getTokens();
// re-draw token popup
closePopup();
addPopup( $( ) );
const copyTokenToClipboard = () => { navigator.clipboard.writeText( token ); }
addPopup( $(
Your api token has been created.
Make sure to save it as it will not be shown to you again.
{ token }
Press OK to copy the token to clipboard.
) );
} catch( e: any ) {
addPopup( $(
Error creating token: { e.message }
) );
}
spinner.remove();
}
function TokensPopup( props: any ) {
return