@@ -4,25 +4,22 @@ import React, { useContext, useEffect, useMemo } from 'react';
44import { DialogManager } from '../components/Dialog/DialogManager' ;
55import { DialogPortalDestination } from '../components/Dialog/DialogPortal' ;
66import type { PropsWithChildrenOnly } from '../types/types' ;
7- import { StateStore } from 'stream-chat' ;
87
98type DialogManagerId = string ;
109
11- const dialogManagersStore = new StateStore < Record < DialogManagerId , DialogManager > > ( { } ) ;
10+ const dialogManagersStore : Record < DialogManagerId , DialogManager > = { } ;
1211
1312const getDialogManager = ( id : string ) : DialogManager | undefined =>
14- dialogManagersStore . getLatestValue ( ) [ id ] ;
13+ dialogManagersStore [ id ] ;
1514
1615const addDialogManager = ( dialogManager : DialogManager ) => {
1716 if ( getDialogManager ( dialogManager . id ) ) return ;
18- dialogManagersStore . partialNext ( { [ dialogManager . id ] : dialogManager } ) ;
17+ dialogManagersStore [ dialogManager . id ] = dialogManager ;
1918} ;
2019
2120const 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
2825type 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