Skip to content

Commit ec98d70

Browse files
committed
refactor: prevent using StateStore for dialogManagersStore
1 parent fea0186 commit ec98d70

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

src/context/DialogManagerContext.tsx

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,22 @@ import React, { useContext, useEffect, useMemo } from 'react';
44
import { DialogManager } from '../components/Dialog/DialogManager';
55
import { DialogPortalDestination } from '../components/Dialog/DialogPortal';
66
import type { PropsWithChildrenOnly } from '../types/types';
7-
import { StateStore } from 'stream-chat';
87

98
type DialogManagerId = string;
109

11-
const dialogManagersStore = new StateStore<Record<DialogManagerId, DialogManager>>({});
10+
const dialogManagersStore: Record<DialogManagerId, DialogManager> = {};
1211

1312
const getDialogManager = (id: string): DialogManager | undefined =>
14-
dialogManagersStore.getLatestValue()[id];
13+
dialogManagersStore[id];
1514

1615
const addDialogManager = (dialogManager: DialogManager) => {
1716
if (getDialogManager(dialogManager.id)) return;
18-
dialogManagersStore.partialNext({ [dialogManager.id]: dialogManager });
17+
dialogManagersStore[dialogManager.id] = dialogManager;
1918
};
2019

2120
const removeDialogManager = (id: string) => {
22-
const { ...dialogManagers } = dialogManagersStore.getLatestValue();
23-
if (!dialogManagers[id]) return;
24-
delete dialogManagers[id];
25-
dialogManagersStore.next(dialogManagers);
21+
if (!dialogManagersStore[id]) return;
22+
delete dialogManagersStore[id];
2623
};
2724

2825
type DialogManagerProviderContextValue = {
@@ -83,16 +80,14 @@ export const useDialogManager = ({
8380

8481
if (!dialogId && !dialogManagerId) return context;
8582

86-
const dialogManagers = dialogManagersStore.getLatestValue();
87-
8883
if (
8984
(dialogManagerId && !dialogId) ||
90-
(dialogManagerId && dialogId && dialogManagers[dialogManagerId].get(dialogId))
85+
(dialogManagerId && dialogId && dialogManagersStore[dialogManagerId].get(dialogId))
9186
) {
92-
context.dialogManager = dialogManagers[dialogManagerId];
87+
context.dialogManager = dialogManagersStore[dialogManagerId];
9388
}
9489
if (dialogId) {
95-
context.dialogManager = Object.values(dialogManagers).find(
90+
context.dialogManager = Object.values(dialogManagersStore).find(
9691
(dialogMng) => dialogId && dialogMng.get(dialogId),
9792
);
9893
}

0 commit comments

Comments
 (0)