import { Button, Dialog, DialogActions, DialogTitle } from "@mui/material"; import { AccessToken, CharacterUpdate } from "../../../types"; import { useEffect, useState, KeyboardEvent } from "react"; import TextField from "@mui/material/TextField"; import { revokeToken } from "@/esi-sso"; export const CharacterDialog = ({ character, closeDialog, deleteCharacter, updateCharacter, }: { character: AccessToken | undefined; closeDialog: () => void; deleteCharacter: (character: AccessToken) => void; updateCharacter: (characer: AccessToken, update: CharacterUpdate) => void; }) => { const [account, setAccount] = useState(""); const [comment, setComment] = useState(""); const [system, setSystem] = useState(""); useEffect(() => { if (character?.account) setAccount(character.account); if (character?.comment) setComment(character.comment); if (character?.system) setSystem(character.system); }, [character]); const logout = (character: AccessToken) => { revokeToken(character) .then() .catch((e) => console.log("Logout failed")); }; const handleKeyDown = (event: KeyboardEvent) => { if (event.key === "Enter") { closeDialog(); character && updateCharacter(character, { account, comment }); } }; return ( {character && character.character.name} setAccount(event.target.value)} onKeyDown={handleKeyDown} /> setSystem(event.target.value)} /> setComment(event.target.value)} /> ); };