only do API checks on logged-in state

This commit is contained in:
f0x 2022-09-15 17:27:32 +02:00
parent fac0e28afb
commit 02ac28e832

View file

@ -58,32 +58,32 @@ function App() {
const [ tokenChecked, setTokenChecked ] = React.useState(false); const [ tokenChecked, setTokenChecked ] = React.useState(false);
React.useEffect(() => { React.useEffect(() => {
Promise.try(() => { if (loginState == "login" || loginState == "callback") {
// Process OAUTH authorization token from URL if available Promise.try(() => {
if (loginState == "callback") { // Process OAUTH authorization token from URL if available
let urlParams = new URLSearchParams(window.location.search); if (loginState == "callback") {
let code = urlParams.get("code"); let urlParams = new URLSearchParams(window.location.search);
let code = urlParams.get("code");
if (code == undefined) {
setErrorMsg(new Error("Waiting for OAUTH callback but no ?code= provided. You can try logging in again:")); if (code == undefined) {
} else { setErrorMsg(new Error("Waiting for OAUTH callback but no ?code= provided. You can try logging in again:"));
return dispatch(api.oauth.tokenize(code)); } else {
return dispatch(api.oauth.tokenize(code));
}
} }
} }).then(() => {
}).then(() => { // Fetch current instance info
// Fetch current instance info return dispatch(api.instance.fetch());
return dispatch(api.instance.fetch()); }).then(() => {
}).then(() => { // Check currently stored auth token for validity if available
// Check currently stored auth token for validity if available
if (loginState == "callback" || loginState == "login") {
return dispatch(api.user.fetchAccount()); return dispatch(api.user.fetchAccount());
} }).then(() => {
}).then(() => { setTokenChecked(true);
setTokenChecked(true); }).catch((e) => {
}).catch((e) => { setErrorMsg(e);
setErrorMsg(e); console.error(e.message);
console.error(e.message); });
}); }
}, []); }, []);
let ErrorElement = null; let ErrorElement = null;