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