import { At, Key, Block } from "@styled-icons/boxicons-regular"; import { Envelope, HelpCircle, Lock, Trash } from "@styled-icons/boxicons-solid"; import { observer } from "mobx-react-lite"; import { Link, useHistory } from "react-router-dom"; import { Profile } from "revolt-api/types/Users"; import styles from "./Panes.module.scss"; import { Text } from "preact-i18n"; import { useContext, useEffect, useState } from "preact/hooks"; import { useIntermediate } from "../../../context/intermediate/Intermediate"; import { ClientStatus, StatusContext, useClient, } from "../../../context/revoltjs/RevoltClient"; import Tooltip from "../../../components/common/Tooltip"; import UserIcon from "../../../components/common/user/UserIcon"; import Button from "../../../components/ui/Button"; import Tip from "../../../components/ui/Tip"; export const Account = observer(() => { const { openScreen, writeClipboard } = useIntermediate(); const status = useContext(StatusContext); const client = useClient(); const [email, setEmail] = useState("..."); const [revealEmail, setRevealEmail] = useState(false); const [profile, setProfile] = useState(undefined); const history = useHistory(); function switchPage(to: string) { history.replace(`/settings/${to}`); } useEffect(() => { if (email === "..." && status === ClientStatus.ONLINE) { client .req("GET", "/auth/user") .then((account) => setEmail(account.email)); } if (profile === undefined && status === ClientStatus.ONLINE) { client .user!.fetchProfile() .then((profile) => setProfile(profile ?? {})); } }, [status]); return (
switchPage("profile")} />
{( [ ["username", client.user!.username, ], ["email", email, ], ["password", "•••••••••", ], ] as const ).map(([field, value, icon]) => (
{icon}
{field === "email" ? ( revealEmail ? ( <> {value}{" "} setRevealEmail(false) }> ) : ( <> •••••••••••@{value.split("@").pop()}{" "} setRevealEmail(true) }> ) ) : ( value )}
))}

Currently not available
Two-factor auth is currently work-in-progress, see{" "} tracking issue here .

Disable your account. You won't be able to access it unless you log back in.
Delete your account, including all of your data.
{/* */}
{" "} switchPage("profile")}>
); });