function parseJwt(token) { try { var base64Url = token.split(".")[1]; var base64 = base64Url.replace(/-/g, "+").replace(/_/g, "/"); var jsonPayload = decodeURIComponent( window .atob(base64) .split("") .map(function (c) { return "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2); }) .join("") ); return { valid: true, ...JSON.parse(jsonPayload) }; } catch (e) { return { valid: false }; } } function redirectToPage(token) { const jwt = parseJwt(token); if (jwt.valid && jwt.user_id) { window.location.href = jwt.role == "ADMIN" ? "/admin_dashboard" : "/dashboard"; } else { window.location.href = "/login"; } }