import React, { useEffect } from "react"; import usePluginSettings from "./utils/settings"; import { api } from "./utils/trpc"; import Spinner from "./Spinner"; import { useNavigate } from "react-router-dom"; import Logo from "./Logo"; export default function OptionsPage() { const navigate = useNavigate(); const { settings, setSettings } = usePluginSettings(); const { data: whoami, error: whoAmIError } = api.users.whoami.useQuery( undefined, { enabled: settings.address != "", }, ); const invalidateWhoami = api.useUtils().users.whoami.refetch; useEffect(() => { invalidateWhoami(); }, [settings, invalidateWhoami]); let loggedInMessage: React.ReactNode; if (whoAmIError) { if (whoAmIError.data?.code == "UNAUTHORIZED") { loggedInMessage = Not logged in; } else { loggedInMessage = ( Something went wrong: {whoAmIError.message} ); } } else if (whoami) { loggedInMessage = {whoami.email}; } else { loggedInMessage = ; } const onLogout = () => { setSettings((s) => ({ ...s, apiKey: "" })); invalidateWhoami(); navigate("/notconfigured"); }; return (
Settings
Logged in as: {loggedInMessage}
); }