balibabu
feat: login with github and if it is not a pdf file, set the width of chunkContainer to 100% (#106)
b40a87c
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); | |
} | |
}; | |