import { defineStore } from 'pinia' import { ref } from 'vue' import { API_BASE_URL } from '@/config.js' export const useAuthStore = defineStore("auth", () => { const adminToken = ref(""); const isAuth = ref(false); const error = ref(false); function login(token) { adminToken.value = ""; isAuth.value = false; error.value = false; return fetch(API_BASE_URL + "/admin/auth/check", { headers: { "X-admin-token": token } }).then(resp => { if (resp.ok) { adminToken.value = token; isAuth.value = true; localStorage.setItem("kektus-summer-admin-token", token) } else { error.value = true; } }) } function checkFromLocalStorage() { const storedToken = localStorage.getItem("kektus-summer-admin-token") if (storedToken) { return login(storedToken) } return Promise.resolve(); } return { adminToken, login, checkFromLocalStorage, isAuth, error } })