fix: github login

This commit is contained in:
Tristan Yang
2023-02-26 21:14:05 +08:00
parent f04a2f087d
commit 89004c28d1
2 changed files with 23 additions and 16 deletions
@@ -18,10 +18,16 @@ const GithubLoginButton: FC<Props> = ({ type = "login", source = "webapp", clien
if (key == 'widget' && !!newValue) { if (key == 'widget' && !!newValue) {
console.log("github logged in"); console.log("github logged in");
localStorage.removeItem("widget"); localStorage.removeItem("widget");
if (window.location !== window.parent.location) {
// in iframe
const parentWindow = window.parent; const parentWindow = window.parent;
if (parentWindow) { if (parentWindow) {
parentWindow.postMessage("RELOAD_WITH_OPEN", '*'); parentWindow.postMessage("RELOAD_WITH_OPEN", '*');
} }
} else {
// 刷新页面
location.reload();
}
} }
}; };
if (source == "widget") { if (source == "widget") {
+3 -2
View File
@@ -1,4 +1,4 @@
import { FC, useEffect, useState } from "react"; import { FC, Suspense, useEffect, useState } from "react";
import { GoogleLogin, GoogleOAuthProvider } from "@react-oauth/google"; import { GoogleLogin, GoogleOAuthProvider } from "@react-oauth/google";
import toast from "react-hot-toast"; import toast from "react-hot-toast";
import { KEY_LOCAL_MAGIC_TOKEN } from "../../app/config"; import { KEY_LOCAL_MAGIC_TOKEN } from "../../app/config";
@@ -39,7 +39,6 @@ const GoogleLoginInner: FC<Props> = ({ type = "login", loaded, loadError }) => {
toast.error("Something Error"); toast.error("Something Error");
break; break;
} }
return;
} }
}, [error]); }, [error]);
@@ -74,6 +73,7 @@ const GoogleLoginButton: FC<Props> = ({ type = "login", clientId }) => {
const [hasError, setHasError] = useState(false); const [hasError, setHasError] = useState(false);
if (!clientId) return null; if (!clientId) return null;
return ( return (
<Suspense fallback={<span>loading...</span>}>
<GoogleOAuthProvider <GoogleOAuthProvider
onScriptLoadError={() => { onScriptLoadError={() => {
setHasError(true); setHasError(true);
@@ -85,6 +85,7 @@ const GoogleLoginButton: FC<Props> = ({ type = "login", clientId }) => {
> >
<GoogleLoginInner type={type} loaded={scriptLoaded} loadError={hasError} /> <GoogleLoginInner type={type} loaded={scriptLoaded} loadError={hasError} />
</GoogleOAuthProvider> </GoogleOAuthProvider>
</Suspense>
); );
}; };