import { defineStore } from 'pinia' import {ref, type Ref} from 'vue' import axios from "axios"; const api = window?.__RUNTIME_CONFIG__?.API_URL; export const useUserInfo = defineStore('userInfo', () => { const username: Ref = ref(null); const userId: Ref = ref(null); const gameId: Ref = ref(null); function setUserInfo(name: string, id: number) { username.value = name; userId.value = id; } function setGameId(id: string) { gameId.value = id; } async function requestState() { await axios.get(`${api}/status`, {withCredentials: true}).then((response) => { console.log("STATUS DATA:" + response.data.status + response.data.inGame) if (response.data.status === 'authenticated') { username.value = response.data.username; userId.value = response.data.userId; if (response.data.gameId) { console.log("GAMEID:" + response.data.gameId) gameId.value = response.data.gameId; } else { gameId.value = null; } } else { username.value = null; userId.value = null; gameId.value = null; } }) } function clearUserInfo() { username.value = null; userId.value = null; } function clearGameId() { gameId.value = null; } return { username, userId, gameId, setUserInfo, requestState, clearUserInfo, setGameId, clearGameId }; });