diff --git a/taskncoffee-app/src/lib/utils.js b/taskncoffee-app/src/lib/utils.js index c8fd144..bb8e902 100644 --- a/taskncoffee-app/src/lib/utils.js +++ b/taskncoffee-app/src/lib/utils.js @@ -6,13 +6,24 @@ export function cn(...inputs) { return twMerge(clsx(inputs)); } -export function jwtexp(token) { +export async function jwtexp(token) { const decoded = decode(token); - if (decoded.exp < Date.now() / 1000) { - console.log("Token expired"); - return false; - } else { - console.log("Token is valid"); - return true; + const currentTime = Date.now() / 1000; + const tokenExp = decoded.exp; + if (tokenExp < currentTime || tokenExp - currentTime < 120) { + console.log("Token needs refresh"); + + try { + const newTokenData = await refreshToken(); + console.log("Token refreshed successfully"); + return true; + + } catch (error) { + console.error("Failed to refresh token:", error); + return false; + } } + + console.log("Token is valid"); + return true; } \ No newline at end of file