import { ref } from 'vue' import { defineStore } from 'pinia' import type { IProject, IUser, NavMenuItem } from '../../utils/api' import { retrieveNavbar, retrieveUserInfo } from '../../utils/api' export const useGlobalStore = defineStore('global', () => { const user = ref({} as IUser) const project = ref() const projects = ref([]) const permissions = ref([]) const loading = ref(true) const navbar = ref([]) async function load() { loading.value = true retrieveNavbar().then((resp) => { navbar.value = resp }) const user_info = await retrieveUserInfo() user.value = user_info.user project.value = user_info.projects.find(p => p.id === user_info.user.defaultProject) projects.value = user_info.projects permissions.value = user_info.permissions loading.value = false } return { load, user, loading, project, projects, permissions, navbar, } })