Allow firebase actions to be retried on error.
rodzic
f927db60c0
commit
bec2c4eb49
|
@ -85,9 +85,11 @@ export const FirebaseGithubAuthProvider: React.FC<{
|
||||||
providerName: "GitHub",
|
providerName: "GitHub",
|
||||||
error,
|
error,
|
||||||
login: useCallback(() => {
|
login: useCallback(() => {
|
||||||
|
setError(undefined);
|
||||||
state && signInWithPopup(state.auth, state.provider).catch(handleError);
|
state && signInWithPopup(state.auth, state.provider).catch(handleError);
|
||||||
}, [state]),
|
}, [state]),
|
||||||
logout: useCallback(() => {
|
logout: useCallback(() => {
|
||||||
|
setError(undefined);
|
||||||
state && signOut(state.auth).catch(handleError);
|
state && signOut(state.auth).catch(handleError);
|
||||||
}, [state]),
|
}, [state]),
|
||||||
};
|
};
|
||||||
|
|
|
@ -101,15 +101,20 @@ const AuthWidget: React.FC<{}> = () => {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ctx.error) {
|
const button = ctx.loggedInUser ? (
|
||||||
return <p style={{ color: "red" }}>{ctx.error}</p>;
|
<button onClick={ctx.logout}>Logout {ctx.loggedInUser}</button>
|
||||||
}
|
) : (
|
||||||
|
<button onClick={ctx.login}>Login with {ctx.providerName}</button>
|
||||||
|
);
|
||||||
|
|
||||||
if (ctx.loggedInUser) {
|
const error = ctx.error ? <p style={{ color: "red" }}>{ctx.error}</p> : null;
|
||||||
return <button onClick={ctx.logout}>Logout {ctx.loggedInUser}</button>;
|
|
||||||
}
|
|
||||||
|
|
||||||
return <button onClick={ctx.login}>Login with {ctx.providerName}</button>;
|
return (
|
||||||
|
<div className="thingy">
|
||||||
|
{button}
|
||||||
|
{error}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const DebugPage: React.FC<{}> = () => {
|
export const DebugPage: React.FC<{}> = () => {
|
||||||
|
|
Ładowanie…
Reference in New Issue