Skip to content

Commit 33ef92a

Browse files
fix(collab): made the inviteMetada to be updated when refreshed to get new comments
1 parent 23622bf commit 33ef92a

4 files changed

Lines changed: 31 additions & 9 deletions

File tree

src/visualBuilder/components/Collab/CollabIndicator.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/** @jsxImportSource preact */
22
import { collabStyles } from "../../collab.style";
3+
import { useState, useEffect } from "preact/hooks";
34
import classNames from "classnames";
45
import React from "preact/compat";
56
import ThreadPopup from "./ThreadPopup";
@@ -16,7 +17,13 @@ export interface ICollabIndicator {
1617

1718
const CollabIndicator: React.FC<ICollabIndicator> = (props) => {
1819
const config = Config.get();
19-
const inviteMetadata: IInviteMetadata = config?.collab?.inviteMetadata;
20+
const [inviteMetadata, setInviteMetadata] = useState<IInviteMetadata>(
21+
config?.collab?.inviteMetadata
22+
);
23+
24+
useEffect(() => {
25+
setInviteMetadata(config?.collab?.inviteMetadata);
26+
}, [config?.collab?.inviteMetadata]);
2027

2128
const {
2229
buttonRef,

src/visualBuilder/eventManager/useCollab.ts

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
IThreadDTO,
1717
ICollabConfig,
1818
IThreadIdentifier,
19+
IThreadRemove,
1920
IThreadReopen,
2021
} from "../types/collab.types";
2122
import { OnEvent } from "@contentstack/advanced-post-message";
@@ -63,7 +64,7 @@ export const useCollab = () => {
6364
);
6465

6566
const collabPayload = visualBuilderPostMessage?.on(
66-
VisualBuilderPostMessageEvents.COLLAB_THREAD_PAYLOAD,
67+
VisualBuilderPostMessageEvents.COLLAB_DATA_UPDATE,
6768
(data: OnEvent<ICollabConfig>) => {
6869
if (!config?.collab?.enable) return;
6970

@@ -72,6 +73,14 @@ export const useCollab = () => {
7273
return;
7374
}
7475

76+
if (data?.data?.collab?.inviteMetadata) {
77+
Config.set(
78+
"collab.inviteMetadata",
79+
data?.data?.collab?.inviteMetadata
80+
);
81+
return;
82+
}
83+
7584
const missingThreadIds =
7685
data?.data?.collab?.payload
7786
?.map((payload: IThreadDTO) => generateThread(payload))
@@ -105,17 +114,19 @@ export const useCollab = () => {
105114
);
106115

107116
const collabThreadRemove = visualBuilderPostMessage?.on(
108-
VisualBuilderPostMessageEvents.COLLAB_THREAD_REMOVE,
109-
(data: OnEvent<IThreadIdentifier>) => {
110-
const threadUid = data?.data?.threadUid;
117+
VisualBuilderPostMessageEvents.COLLAB_THREADS_REMOVE,
118+
(data: OnEvent<IThreadRemove>) => {
119+
const threadUids = data?.data?.threadUids;
111120

112121
if (!config?.collab?.enable) return;
113122

114123
if (data?.data?.updateConfig) {
115124
Config.set("collab.isFeedbackMode", true);
116125
}
117-
if (threadUid) {
118-
removeCollabIcon(threadUid);
126+
if (threadUids.length > 0) {
127+
threadUids.forEach((threadUid) => {
128+
removeCollabIcon(threadUid);
129+
});
119130
}
120131
}
121132
);

src/visualBuilder/types/collab.types.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,10 @@ export interface ICollabConfig {
281281

282282
export interface IThreadIdentifier {
283283
threadUid: string;
284+
}
285+
286+
export interface IThreadRemove {
287+
threadUids: string[];
284288
updateConfig?: boolean;
285289
}
286290

src/visualBuilder/utils/types/postMessage.types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ export enum VisualBuilderPostMessageEvents {
4343
GET_LOCALE = "get-locale",
4444
SEND_VARIANT_AND_LOCALE = "send-variant-and-locale",
4545
COLLAB_ENABLE = "collab-enable",
46-
COLLAB_THREAD_PAYLOAD = "collab-thread-payload",
46+
COLLAB_DATA_UPDATE = "collab-data-update",
4747
COLLAB_DISABLE = "collab-disable",
48-
COLLAB_THREAD_REMOVE = "collab-thread-remove",
48+
COLLAB_THREADS_REMOVE = "collab-threads-remove",
4949
COLLAB_THREAD_REOPEN = "collab-thread-reopen",
5050
COLLAB_THREAD_HIGHLIGHT = "collab-thread-highlight",
5151
}

0 commit comments

Comments
 (0)