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

36 行
1.0 KiB
React
Raw 通常表示 履歴

2021-12-31 12:00:47 +09:00
import axios from "axios";
2022-01-08 21:51:28 +09:00
import { useEffect, useState } from "react";
2022-01-04 17:44:38 +09:00
import { useLocation, useNavigate } from "react-router-dom";
2022-01-06 05:43:21 +09:00
import { useCookies } from 'react-cookie';
2022-01-08 21:51:28 +09:00
import Alert from './alert';
2021-12-19 04:32:51 +09:00
export default function PageChangeHandler() {
2021-12-19 04:32:51 +09:00
const { pathname } = useLocation();
2022-01-04 17:44:38 +09:00
const navigator = useNavigate();
2022-01-06 05:43:21 +09:00
const [cookies, setCookie] = useCookies(['user']);
2022-01-08 21:51:28 +09:00
const [_success, setSuccess] = useState('');
2021-12-19 04:32:51 +09:00
useEffect(() => {
2022-01-08 21:51:28 +09:00
if(localStorage.getItem('kiki_login_flag')) {
setSuccess('ログインに成功しました');
localStorage.removeItem('kiki_login_flag');
}
2021-12-31 11:19:58 +09:00
loginAccountCheck();
2021-12-19 04:32:51 +09:00
}, [pathname]);
2021-12-31 11:19:58 +09:00
const loginAccountCheck = () => {
let acc = pathname.split('/')[1];
2022-01-06 05:43:21 +09:00
let acc_type = localStorage.getItem('kiki_acc_type');
2022-01-08 21:57:37 +09:00
if((acc_type && (acc != acc_type))) {
2022-01-11 16:14:26 +09:00
window.location.href = `/${acc}/login`;
axios.get(`/${acc}/logout`);
2021-12-31 11:15:25 +09:00
}
2021-12-31 10:57:48 +09:00
}
2022-01-08 21:51:28 +09:00
return (
<>
{ _success ? <Alert type="success" hide={()=>setSuccess('')}>{ _success }</Alert> : null}
</>
);
2021-12-19 04:32:51 +09:00
}