Separate Client Portal & Dashboard

This commit is contained in:
2022-05-23 10:38:16 +07:00
parent f2e84e6244
commit 89bb57f357
569 changed files with 60252 additions and 280 deletions

View File

@@ -0,0 +1,43 @@
import axios from './axios';
// ----------------------------------------------------------------------
// const isValidToken = (accessToken: string) => {
// if (!accessToken) {
// return false;
// }
// const decoded = jwtDecode<{ exp: number }>(accessToken);
// const currentTime = Date.now() / 1000;
// return decoded.exp > currentTime;
// };
// const handleTokenExpired = () => {
// let expiredTimer;
// window.clearTimeout(expiredTimer);
// const currentTime = Date.now();
// const timeLeft = exp * 1000 - currentTime;
// console.log(timeLeft);
// expiredTimer = window.setTimeout(() => {
// console.log('expired');
// // You can do what ever you want here, like show a notification
// }, timeLeft);
// };
const setSession = (accessToken: string | null) => {
if (accessToken) {
localStorage.setItem('accessToken', accessToken);
axios.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
// This function below will handle when token is expired
// const { exp } = jwtDecode(accessToken);
// handleTokenExpired(exp);
} else {
localStorage.removeItem('accessToken');
delete axios.defaults.headers.common.Authorization;
}
};
const getSession = () => window.localStorage.getItem('accessToken')
export { setSession, getSession };