diff --git a/src/index-widget.tsx b/src/index-widget.tsx
index 33f8d476..2c7e90c4 100644
--- a/src/index-widget.tsx
+++ b/src/index-widget.tsx
@@ -6,6 +6,7 @@ import './assets/index.css';
import store from "./app/store";
import './i18n';
import { isDarkMode } from "./common/utils";
+import { Toaster } from "react-hot-toast";
const root = ReactDOM.createRoot(document.getElementById("root") as HTMLElement);
const hostId = new URLSearchParams(location.search).get("host") || 1;
@@ -18,6 +19,9 @@ if (isDarkMode()) {
root.render(
hostId ?
+
: null
diff --git a/src/widget/Popup/Login/index.tsx b/src/widget/Popup/Login/index.tsx
index cd01e7ed..3dc19c7f 100644
--- a/src/widget/Popup/Login/index.tsx
+++ b/src/widget/Popup/Login/index.tsx
@@ -1,6 +1,7 @@
// import React from 'react'
import clsx from 'clsx';
import { FormEvent, useEffect } from 'react';
+import { toast } from 'react-hot-toast';
import { useDispatch } from 'react-redux';
import { useRegisterMutation } from '../../../app/services/auth';
import { useGetLoginConfigQuery } from '../../../app/services/server';
@@ -21,7 +22,7 @@ const Login = () => {
const { color, fgColor, from } = useWidget();
const { clientId } = useGoogleAuthConfig();
const { config: githubAuthConfig } = useGithubAuthConfig();
- const [register, { isLoading, isSuccess, data }] = useRegisterMutation();
+ const [register, { isLoading, isSuccess, data, error }] = useRegisterMutation();
const { data: loginConfig, isSuccess: loginConfigSuccess } = useGetLoginConfigQuery();
const handleSubmit = (evt: FormEvent) => {
evt.preventDefault();
@@ -47,6 +48,20 @@ const Login = () => {
dispatch(setAuthData(data));
}
}, [isSuccess, data]);
+ // 报错处理
+ useEffect(() => {
+ if (error) {
+ switch (error.status) {
+ case 409:
+ toast.error("Email existed already!");
+ break;
+ default:
+ toast.error("Something error!");
+ break;
+ }
+ }
+ }, [error]);
+
if (!loginConfigSuccess) return null;