@@ -5,9 +5,9 @@ import type { SxProps } from '@mui/joy/styles/types';
55import { Box , useTheme } from '@mui/joy' ;
66
77import { DEV_MODE_SETTINGS } from '../settings-modal/UxLabsSettings' ;
8- import { DiagramConfig , DiagramsModal } from '~/modules/aifn/digrams/DiagramsModal' ;
9- import { FlattenerModal } from '~/modules/aifn/flatten/FlattenerModal ' ;
10- import { TradeConfig , TradeModal } from '~/modules/trade/TradeModal' ;
8+
9+ import type { DiagramConfig } from '~/modules/aifn/digrams/DiagramsModal ' ;
10+ import type { TradeConfig } from '~/modules/trade/TradeModal' ;
1111import { downloadSingleChat , importConversationsFromFilesAtRest , openConversationsAtRestPicker } from '~/modules/trade/trade.client' ;
1212import { imaginePromptFromTextOrThrow } from '~/modules/aifn/imagine/imaginePromptFromText' ;
1313import { elevenLabsSpeakText } from '~/modules/elevenlabs/elevenlabs.client' ;
@@ -120,6 +120,12 @@ const composerOpenMobileSx: SxProps = {
120120// };
121121
122122
123+ // Lazy-loaded Modals
124+ const DiagramsModalLazy = React . lazy ( ( ) => import ( '~/modules/aifn/digrams/DiagramsModal' ) . then ( module => ( { default : module . DiagramsModal } ) ) ) ;
125+ const FlattenerModalLazy = React . lazy ( ( ) => import ( '~/modules/aifn/flatten/FlattenerModal' ) . then ( module => ( { default : module . FlattenerModal } ) ) ) ;
126+ const TradeModalLazy = React . lazy ( ( ) => import ( '~/modules/trade/TradeModal' ) . then ( module => ( { default : module . TradeModal } ) ) ) ;
127+
128+
123129export function AppChat ( ) {
124130
125131 // state
@@ -777,28 +783,34 @@ export function AppChat() {
777783
778784 { /* Diagrams */ }
779785 { ! ! diagramConfig && (
780- < DiagramsModal
781- config = { diagramConfig }
782- onClose = { ( ) => setDiagramConfig ( null ) }
783- />
786+ < React . Suspense fallback = { null } >
787+ < DiagramsModalLazy
788+ config = { diagramConfig }
789+ onClose = { ( ) => setDiagramConfig ( null ) }
790+ />
791+ </ React . Suspense >
784792 ) }
785793
786794 { /* Flatten */ }
787795 { ! ! flattenConversationId && (
788- < FlattenerModal
789- conversationId = { flattenConversationId }
790- onConversationBranch = { handleConversationBranch }
791- onClose = { ( ) => setFlattenConversationId ( null ) }
792- />
796+ < React . Suspense fallback = { null } >
797+ < FlattenerModalLazy
798+ conversationId = { flattenConversationId }
799+ onConversationBranch = { handleConversationBranch }
800+ onClose = { ( ) => setFlattenConversationId ( null ) }
801+ />
802+ </ React . Suspense >
793803 ) }
794804
795805 { /* Import / Export */ }
796806 { ! ! tradeConfig && (
797- < TradeModal
798- config = { tradeConfig }
799- onConversationActivate = { handleOpenConversationInFocusedPane }
800- onClose = { ( ) => setTradeConfig ( null ) }
801- />
807+ < React . Suspense fallback = { null } >
808+ < TradeModalLazy
809+ config = { tradeConfig }
810+ onConversationActivate = { handleOpenConversationInFocusedPane }
811+ onClose = { ( ) => setTradeConfig ( null ) }
812+ />
813+ </ React . Suspense >
802814 ) }
803815
804816 </ > ;
0 commit comments