import { computed } from 'vue'; import { useStore } from '@/store'; import { WorkspaceDispatcher } from '@/store/dispatchers'; import { useRouter } from 'vue-router'; export const useProjectList = () => { const store = useStore(); const router = useRouter(); const projectList = computed(() => store.state.workspace.projectList); const selectedProject = computed(() => store.getters.currentProjectInfo); const handleProjectChange = (projectId: number) => { WorkspaceDispatcher.changeProject(projectId); if (router.currentRoute.value.path.includes('schedule')) { router.go(0); } else { router.push(`/project/${projectId}/schedule`); } }; return { projectList, selectedProject, handleProjectChange, }; };