balibabu
commited on
Commit
·
30910b7
1
Parent(s):
b40a87c
feat: call useLoginWithGithub in useAuth (#107)
Browse files- web/src/hooks/authHook.ts +15 -9
- web/src/layouts/index.tsx +0 -3
web/src/hooks/authHook.ts
CHANGED
|
@@ -1,15 +1,8 @@
|
|
| 1 |
import authorizationUtil from '@/utils/authorizationUtil';
|
| 2 |
-
import {
|
|
|
|
| 3 |
import { useNavigate, useSearchParams } from 'umi';
|
| 4 |
|
| 5 |
-
export const useAuth = () => {
|
| 6 |
-
const [isLogin, setIsLogin] = useState(
|
| 7 |
-
() => !!authorizationUtil.getAuthorization(),
|
| 8 |
-
);
|
| 9 |
-
|
| 10 |
-
return { isLogin };
|
| 11 |
-
};
|
| 12 |
-
|
| 13 |
export const useLoginWithGithub = () => {
|
| 14 |
const [currentQueryParameters, setSearchParams] = useSearchParams();
|
| 15 |
const error = currentQueryParameters.get('error');
|
|
@@ -20,6 +13,7 @@ export const useLoginWithGithub = () => {
|
|
| 20 |
const navigate = useNavigate();
|
| 21 |
|
| 22 |
if (error) {
|
|
|
|
| 23 |
navigate('/login');
|
| 24 |
newQueryParameters.delete('error');
|
| 25 |
setSearchParams(newQueryParameters);
|
|
@@ -33,4 +27,16 @@ export const useLoginWithGithub = () => {
|
|
| 33 |
newQueryParameters.delete('auth');
|
| 34 |
setSearchParams(newQueryParameters);
|
| 35 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
};
|
|
|
|
| 1 |
import authorizationUtil from '@/utils/authorizationUtil';
|
| 2 |
+
import { message } from 'antd';
|
| 3 |
+
import { useEffect, useMemo, useState } from 'react';
|
| 4 |
import { useNavigate, useSearchParams } from 'umi';
|
| 5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
export const useLoginWithGithub = () => {
|
| 7 |
const [currentQueryParameters, setSearchParams] = useSearchParams();
|
| 8 |
const error = currentQueryParameters.get('error');
|
|
|
|
| 13 |
const navigate = useNavigate();
|
| 14 |
|
| 15 |
if (error) {
|
| 16 |
+
message.error(error);
|
| 17 |
navigate('/login');
|
| 18 |
newQueryParameters.delete('error');
|
| 19 |
setSearchParams(newQueryParameters);
|
|
|
|
| 27 |
newQueryParameters.delete('auth');
|
| 28 |
setSearchParams(newQueryParameters);
|
| 29 |
}
|
| 30 |
+
return auth;
|
| 31 |
+
};
|
| 32 |
+
|
| 33 |
+
export const useAuth = () => {
|
| 34 |
+
const auth = useLoginWithGithub();
|
| 35 |
+
const [isLogin, setIsLogin] = useState(true);
|
| 36 |
+
|
| 37 |
+
useEffect(() => {
|
| 38 |
+
setIsLogin(!!auth || !!authorizationUtil.getAuthorization());
|
| 39 |
+
}, [auth]);
|
| 40 |
+
|
| 41 |
+
return { isLogin };
|
| 42 |
};
|
web/src/layouts/index.tsx
CHANGED
|
@@ -4,7 +4,6 @@ import { Outlet } from 'umi';
|
|
| 4 |
import '../locales/config';
|
| 5 |
import Header from './components/header';
|
| 6 |
|
| 7 |
-
import { useLoginWithGithub } from '@/hooks/authHook';
|
| 8 |
import styles from './index.less';
|
| 9 |
|
| 10 |
const { Content } = Layout;
|
|
@@ -14,8 +13,6 @@ const App: React.FC = () => {
|
|
| 14 |
token: { colorBgContainer, borderRadiusLG },
|
| 15 |
} = theme.useToken();
|
| 16 |
|
| 17 |
-
useLoginWithGithub();
|
| 18 |
-
|
| 19 |
return (
|
| 20 |
<Layout className={styles.layout}>
|
| 21 |
<Layout>
|
|
|
|
| 4 |
import '../locales/config';
|
| 5 |
import Header from './components/header';
|
| 6 |
|
|
|
|
| 7 |
import styles from './index.less';
|
| 8 |
|
| 9 |
const { Content } = Layout;
|
|
|
|
| 13 |
token: { colorBgContainer, borderRadiusLG },
|
| 14 |
} = theme.useToken();
|
| 15 |
|
|
|
|
|
|
|
| 16 |
return (
|
| 17 |
<Layout className={styles.layout}>
|
| 18 |
<Layout>
|