diff --git a/src/app/components/Login/RefreshButton.tsx b/src/app/components/Login/RefreshButton.tsx
index 6e67d36..8d31fba 100644
--- a/src/app/components/Login/RefreshButton.tsx
+++ b/src/app/components/Login/RefreshButton.tsx
@@ -1,14 +1,15 @@
-import { SessionContext } from "@/app/context/Context";
+import { CharacterContext, SessionContext } from "@/app/context/Context";
import { Button } from "@mui/material";
import { useContext } from "react";
export const RefreshButton = () => {
const { refreshSession } = useContext(SessionContext);
+ const { characters } = useContext(CharacterContext);
return (
diff --git a/src/app/context/Context.tsx b/src/app/context/Context.tsx
index f5f5cae..0f00ac4 100644
--- a/src/app/context/Context.tsx
+++ b/src/app/context/Context.tsx
@@ -13,7 +13,7 @@ export const CharacterContext = createContext<{
export const SessionContext = createContext<{
sessionReady: boolean;
- refreshSession: () => void;
+ refreshSession: (characters: AccessToken[]) => void;
setSessionReady: Dispatch>;
EVE_SSO_CALLBACK_URL: string;
EVE_SSO_CLIENT_ID: string;
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 8c3e8fa..d9c77ab 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -67,6 +67,12 @@ const Home = () => {
[characters]
);
+ const refreshSession = useCallback((characters: AccessToken[]) => {
+ Promise.all(characters.map((c) => refreshToken(c)))
+ .then(setCharacters)
+ .finally(() => setSessionReady(true));
+ }, []);
+
// Handle EVE SSO callback
useEffect(() => {
if (code) {
@@ -92,12 +98,6 @@ const Home = () => {
localStorage.setItem("characters", JSON.stringify(characters));
}, [characters]);
- const refreshSession = () => {
- Promise.all(characters.map((c) => refreshToken(c)))
- .then(setCharacters)
- .finally(() => setSessionReady(true));
- };
-
return (