ragflow / web /src /hooks /authHook.ts
balibabu
feat: login with github and if it is not a pdf file, set the width of chunkContainer to 100% (#106)
b40a87c
raw
history blame
1 kB
import authorizationUtil from '@/utils/authorizationUtil';
import { useMemo, useState } from 'react';
import { useNavigate, useSearchParams } from 'umi';
export const useAuth = () => {
const [isLogin, setIsLogin] = useState(
() => !!authorizationUtil.getAuthorization(),
);
return { isLogin };
};
export const useLoginWithGithub = () => {
const [currentQueryParameters, setSearchParams] = useSearchParams();
const error = currentQueryParameters.get('error');
const newQueryParameters: URLSearchParams = useMemo(
() => new URLSearchParams(currentQueryParameters.toString()),
[currentQueryParameters],
);
const navigate = useNavigate();
if (error) {
navigate('/login');
newQueryParameters.delete('error');
setSearchParams(newQueryParameters);
return;
}
const auth = currentQueryParameters.get('auth');
if (auth) {
authorizationUtil.setAuthorization(auth);
newQueryParameters.delete('auth');
setSearchParams(newQueryParameters);
}
};