From 6b824a49abe8854045c7670fcd6da50539c9fce5 Mon Sep 17 00:00:00 2001 From: kolaente Date: Wed, 12 Apr 2023 12:07:50 +0200 Subject: [PATCH] chore: redirect to new project after creating from store --- src/components/quick-actions/quick-actions.vue | 6 +----- src/stores/projects.ts | 7 ++++++- src/views/project/NewProject.vue | 6 +----- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/components/quick-actions/quick-actions.vue b/src/components/quick-actions/quick-actions.vue index 5a84f4e9d..f5606a181 100644 --- a/src/components/quick-actions/quick-actions.vue +++ b/src/components/quick-actions/quick-actions.vue @@ -477,14 +477,10 @@ async function newProject() { if (currentProject.value === null) { return } - const newProject = await projectStore.createProject(new ProjectModel({ + await projectStore.createProject(new ProjectModel({ title: query.value, })) success({ message: t('project.create.createdSuccess')}) - await router.push({ - name: 'project.index', - params: { projectId: newProject.id }, - }) } async function newTeam() { diff --git a/src/stores/projects.ts b/src/stores/projects.ts index 634a616ce..39c621445 100644 --- a/src/stores/projects.ts +++ b/src/stores/projects.ts @@ -1,7 +1,7 @@ import {watch, reactive, shallowReactive, unref, toRefs, readonly, ref, computed} from 'vue' import {acceptHMRUpdate, defineStore} from 'pinia' import {useI18n} from 'vue-i18n' -import {klona} from 'klona/lite' +import {useRouter} from 'vue-router' import ProjectService from '@/services/project' import {setModuleLoading} from '@/stores/helper' @@ -24,6 +24,7 @@ export interface ProjectState { export const useProjectStore = defineStore('project', () => { const baseStore = useBaseStore() + const router = useRouter() const isLoading = ref(false) @@ -100,6 +101,10 @@ export const useProjectStore = defineStore('project', () => { try { const createdProject = await projectService.create(project) setProject(createdProject) + router.push({ + name: 'project.index', + params: { projectId: createdProject.id }, + }) return createdProject } finally { cancel() diff --git a/src/views/project/NewProject.vue b/src/views/project/NewProject.vue index a33ff54bc..ab2a6f5a1 100644 --- a/src/views/project/NewProject.vue +++ b/src/views/project/NewProject.vue @@ -76,11 +76,7 @@ async function createNewProject() { project.parentProjectId = parentProject.value.id } - const newProject = await projectStore.createProject(project) - await router.push({ - name: 'project.index', - params: { projectId: newProject.id }, - }) + await projectStore.createProject(project) success({message: t('project.create.createdSuccess') }) } \ No newline at end of file