diff --git a/space/core/store/issue-detail.store.ts b/space/core/store/issue-detail.store.ts index 31058f790f7..9abed296685 100644 --- a/space/core/store/issue-detail.store.ts +++ b/space/core/store/issue-detail.store.ts @@ -253,7 +253,7 @@ export class IssueDetailStore implements IIssueDetailStore { anchor, { entity_identifier: commentID ?? "", - entity_type: EFileAssetType.ISSUE_ATTACHMENT, + entity_type: EFileAssetType.ISSUE_DESCRIPTION, }, file ); diff --git a/web/core/services/inbox/inbox-issue.service.ts b/web/core/services/inbox/inbox-issue.service.ts index b1bf74999fa..8837b6e74a3 100644 --- a/web/core/services/inbox/inbox-issue.service.ts +++ b/web/core/services/inbox/inbox-issue.service.ts @@ -92,7 +92,7 @@ export class InboxIssueService extends APIService { }); } - async regeneratePublishForm(workspaceSlug: string, projectId: string): Promise { + async regeneratePublishForm(workspaceSlug: string, projectId: string): Promise { return this.post(`/api/workspaces/${workspaceSlug}/projects/${projectId}/publish-intake-regenerate/`) .then((response) => response?.data) .catch((error) => { diff --git a/web/core/store/inbox/project-inbox.store.ts b/web/core/store/inbox/project-inbox.store.ts index 9960faa1548..abb82ce79fe 100644 --- a/web/core/store/inbox/project-inbox.store.ts +++ b/web/core/store/inbox/project-inbox.store.ts @@ -351,7 +351,10 @@ export class ProjectInboxStore implements IProjectInboxStore { const form = await this.inboxIssueService.regeneratePublishForm(workspaceSlug, projectId); if (form) { runInAction(() => { - set(this.intakeForms, projectId, form); + set(this.intakeForms, projectId, { + ...this.intakeForms[projectId], + anchor: form?.anchor, + }); }); } } catch { diff --git a/web/core/store/project/project.store.ts b/web/core/store/project/project.store.ts index 8fa0a329599..d8b5f02b7b8 100644 --- a/web/core/store/project/project.store.ts +++ b/web/core/store/project/project.store.ts @@ -13,6 +13,7 @@ import { CoreRootStore } from "../root.store"; export interface IProjectStore { // observables + isUpdatingProject: boolean; loader: boolean; projectMap: { [projectId: string]: TProject; // projectId: project Info @@ -47,6 +48,7 @@ export interface IProjectStore { export class ProjectStore implements IProjectStore { // observables + isUpdatingProject: boolean = false; loader: boolean = false; projectMap: { [projectId: string]: TProject; // projectId: project Info @@ -63,6 +65,7 @@ export class ProjectStore implements IProjectStore { constructor(_rootStore: CoreRootStore) { makeObservable(this, { // observables + isUpdatingProject: observable, loader: observable.ref, projectMap: observable, // computed @@ -380,13 +383,20 @@ export class ProjectStore implements IProjectStore { const projectDetails = this.getProjectById(projectId); runInAction(() => { set(this.projectMap, [projectId], { ...projectDetails, ...data }); + this.isUpdatingProject = true; }); const response = await this.projectService.updateProject(workspaceSlug, projectId, data); + runInAction(() => { + this.isUpdatingProject = false; + }); return response; } catch (error) { console.log("Failed to create project from project store"); this.fetchProjects(workspaceSlug); this.fetchProjectDetails(workspaceSlug, projectId); + runInAction(() => { + this.isUpdatingProject = false; + }); throw error; } };