このリポジトリは2023-09-09にアーカイブされています。 ファイルの閲覧とクローンは可能ですが、プッシュ、イシューの作成、プルリクエストはできません。
kikikan/backend/resources/js/component/check_auth.jsx

32 行
887 B
JavaScript

import { useEffect, useState } from "react";
import { useLocation, useNavigate } from "react-router-dom";
import Alert from './alert';
export default function CheckAuthenticate() {
const { pathname } = useLocation();
const [_success, setSuccess] = useState('');
const navigator = useNavigate();
useEffect(() => {
const acc_type = pathname.split('/')[1];
let token = localStorage.getItem(`${acc_type}_token`);
if(!token){
navigator(`/${acc_type}/login`);
}
else{
token = JSON.parse(token);
if(token.from_login) {
setSuccess('ログインに成功しました');
token.from_login = false;
localStorage.setItem(`${acc_type}_token`, JSON.stringify(token));
}
}
}, [pathname]);
return (
<>
{ _success ? <Alert type="success" hide={()=>setSuccess('')}>{ _success }</Alert> : null}
</>
);
}