Skip to content

Commit fc06013

Browse files
committed
help
1 parent f360608 commit fc06013

File tree

3 files changed

+49
-118
lines changed

3 files changed

+49
-118
lines changed

packages/compass-connections/src/index.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,10 @@ export const ConnectFnProvider: React.FunctionComponent<{
7777
};
7878

7979
export default function CompassConnections(
80-
props: Omit<React.ComponentProps<typeof ConnectionsComponent>, 'connectFn'>
80+
props: Omit<
81+
React.ComponentProps<typeof CompassConnectionsPlugin>,
82+
'connectFn'
83+
>
8184
) {
8285
const connectFn = useContext(ConnectFnContext);
8386
return (

packages/compass-connections/src/plugin.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ const ConnectionsComponent: React.FunctionComponent<{
2929
preloadStorageConnectionInfos?: ConnectionInfo[];
3030
editingConnectionInfoId?: ConnectionId;
3131
}> = ({ editingConnectionInfoId, children }) => {
32+
console.log({ editingConnectionInfoId });
3233
const formPreferences = useConnectionFormPreferences();
3334
return (
3435
<ConnectionActionsProvider>

packages/compass/src/app/components/home.tsx

Lines changed: 44 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,15 @@ import {
88
getScrollbarStyles,
99
palette,
1010
resetGlobalCSS,
11-
useEffectOnChange,
1211
} from '@mongodb-js/compass-components';
13-
import CompassConnections, {
14-
SingleConnectionForm,
15-
LegacyConnectionsModal,
16-
} from '@mongodb-js/compass-connections';
1712
import { CompassFindInPagePlugin } from '@mongodb-js/compass-find-in-page';
1813
import type { SettingsTabId } from '@mongodb-js/compass-settings';
1914
import { CompassSettingsPlugin } from '@mongodb-js/compass-settings';
15+
import CompassConnections from '@mongodb-js/compass-connections';
2016
import { WelcomeModal } from '@mongodb-js/compass-welcome';
21-
import * as hadronIpc from 'hadron-ipc';
2217
import { type ConnectionStorage } from '@mongodb-js/connection-storage/provider';
23-
import { AppRegistryProvider, useLocalAppRegistry } from 'hadron-app-registry';
24-
import type AppRegistry from 'hadron-app-registry';
25-
import { useSingleConnectionModeConnectionInfoStatus } from '@mongodb-js/compass-connections/provider';
26-
import React, { useCallback, useEffect, useState } from 'react';
18+
import { AppRegistryProvider } from 'hadron-app-registry';
19+
import React, { useCallback, useState } from 'react';
2720
import Workspace from './workspace';
2821
import { getExtraConnectionData } from '../utils/telemetry';
2922
// The only place where the app-stores plugin can be used as a plugin and not a
@@ -35,26 +28,11 @@ import { AtlasAuthPlugin } from '@mongodb-js/atlas-service/renderer';
3528
import { CompassGenerativeAIPlugin } from '@mongodb-js/compass-generative-ai';
3629
import type { WorkspaceTab } from '@mongodb-js/compass-workspaces';
3730
import { ConnectionStorageProvider } from '@mongodb-js/connection-storage/provider';
38-
import {
39-
ConnectionImportExportProvider,
40-
useOpenConnectionImportExportModal,
41-
} from '@mongodb-js/compass-connection-import-export';
42-
import { usePreference } from 'compass-preferences-model/provider';
31+
import { ConnectionImportExportProvider } from '@mongodb-js/compass-connection-import-export';
4332
import { useTelemetry } from '@mongodb-js/compass-telemetry/provider';
44-
import { ConnectionInfoProvider } from '@mongodb-js/compass-connections/provider';
45-
import { CompassShellPlugin } from '@mongodb-js/compass-shell';
4633

4734
resetGlobalCSS();
4835

49-
const homePageStyles = css({
50-
display: 'flex',
51-
flexDirection: 'row',
52-
alignItems: 'stretch',
53-
flex: 1,
54-
overflow: 'auto',
55-
height: '100%',
56-
});
57-
5836
const homeContainerStyles = css({
5937
height: '100vh',
6038
width: '100vw',
@@ -83,26 +61,10 @@ export type HomeProps = {
8361
showCollectionSubMenu: (args: { isReadOnly: boolean }) => void;
8462
hideCollectionSubMenu: () => void;
8563
showSettings: (tab?: SettingsTabId) => void;
86-
};
87-
88-
function SingleConnectionFormWithConnectionImportExport({
89-
appRegistry,
90-
}: {
91-
appRegistry: AppRegistry;
92-
}) {
93-
const { supportsConnectionImportExport, openConnectionImportExportModal } =
94-
useOpenConnectionImportExportModal({ context: 'connectionsList' });
95-
return (
96-
<SingleConnectionForm
97-
appRegistry={appRegistry}
98-
openConnectionImportExportModal={
99-
supportsConnectionImportExport
100-
? openConnectionImportExportModal
101-
: undefined
102-
}
103-
/>
104-
);
105-
}
64+
} & Pick<
65+
React.ComponentProps<typeof CompassConnections>,
66+
'onAutoconnectInfoRequest'
67+
>;
10668

10769
const verticalSplitStyles = css({
10870
width: '100vw',
@@ -113,23 +75,18 @@ const verticalSplitStyles = css({
11375
overflow: 'hidden',
11476
});
11577

116-
const shellContainerStyles = css({
117-
zIndex: 5,
118-
});
119-
12078
function Home({
12179
appName,
12280
showWelcomeModal = false,
12381
createFileInputBackend,
124-
onDisconnect,
82+
//onDisconnect,
12583
showCollectionSubMenu,
12684
hideCollectionSubMenu,
12785
showSettings,
86+
onAutoconnectInfoRequest,
12887
}: Omit<HomeProps, 'connectionStorage'>): React.ReactElement | null {
129-
const appRegistry = useLocalAppRegistry();
130-
const { connectionInfo, isConnected, disconnect } =
131-
useSingleConnectionModeConnectionInfoStatus();
132-
88+
// TODO: port single connection code
89+
/*
13390
useEffect(() => {
13491
function onDisconnect() {
13592
void disconnect();
@@ -142,6 +99,7 @@ function Home({
14299
hadronIpc.ipcRenderer?.removeListener('app:disconnect', onDisconnect);
143100
};
144101
}, [disconnect]);
102+
*/
145103

146104
const onWorkspaceChange = useCallback(
147105
(ws: WorkspaceTab | null, collectionInfo) => {
@@ -154,12 +112,15 @@ function Home({
154112
[showCollectionSubMenu, hideCollectionSubMenu]
155113
);
156114

115+
// TODO: port single connection code
116+
/*
157117
useEffectOnChange(() => {
158118
if (!isConnected) {
159119
hideCollectionSubMenu();
160120
onDisconnect();
161121
}
162122
}, [isConnected, onDisconnect, hideCollectionSubMenu]);
123+
*/
163124

164125
const [isWelcomeOpen, setIsWelcomeOpen] = useState(showWelcomeModal);
165126

@@ -173,60 +134,37 @@ function Home({
173134
[setIsWelcomeOpen, showSettings]
174135
);
175136

176-
const multiConnectionsEnabled = usePreference(
177-
'enableMultipleConnectionSystem'
178-
);
179-
180137
return (
181-
<FileInputBackendProvider createFileInputBackend={createFileInputBackend}>
182-
<ConnectionImportExportProvider>
183-
<CompassInstanceStorePlugin>
184-
<FieldStorePlugin>
185-
<div data-testid="home" className={verticalSplitStyles}>
186-
{multiConnectionsEnabled && (
138+
<CompassConnections
139+
appName={appName}
140+
onExtraConnectionDataRequest={getExtraConnectionData}
141+
onAutoconnectInfoRequest={onAutoconnectInfoRequest}
142+
>
143+
<FileInputBackendProvider createFileInputBackend={createFileInputBackend}>
144+
<ConnectionImportExportProvider>
145+
<CompassInstanceStorePlugin>
146+
<FieldStorePlugin>
147+
<div data-testid="home" className={verticalSplitStyles}>
187148
<AppRegistryProvider scopeName="Multiple Connections">
188149
<Workspace
189150
appName={appName}
190151
onActiveWorkspaceTabChange={onWorkspaceChange}
191152
/>
192153
</AppRegistryProvider>
193-
)}
194-
{!multiConnectionsEnabled &&
195-
(isConnected ? (
196-
<AppRegistryProvider scopeName="Single Connection">
197-
<ConnectionInfoProvider
198-
connectionInfoId={connectionInfo.id}
199-
>
200-
<Workspace
201-
appName={appName}
202-
onActiveWorkspaceTabChange={onWorkspaceChange}
203-
/>
204-
<div className={shellContainerStyles}>
205-
<CompassShellPlugin />
206-
</div>
207-
</ConnectionInfoProvider>
208-
</AppRegistryProvider>
209-
) : (
210-
<div className={homePageStyles}>
211-
<SingleConnectionFormWithConnectionImportExport
212-
appRegistry={appRegistry}
213-
/>
214-
</div>
215-
))}
216-
</div>
217-
<WelcomeModal
218-
isOpen={isWelcomeOpen}
219-
closeModal={closeWelcomeModal}
220-
/>
221-
<CompassSettingsPlugin></CompassSettingsPlugin>
222-
<CompassFindInPagePlugin></CompassFindInPagePlugin>
223-
<AtlasAuthPlugin></AtlasAuthPlugin>
224-
<CompassGenerativeAIPlugin></CompassGenerativeAIPlugin>
225-
<LegacyConnectionsModal />
226-
</FieldStorePlugin>
227-
</CompassInstanceStorePlugin>
228-
</ConnectionImportExportProvider>
229-
</FileInputBackendProvider>
154+
</div>
155+
<WelcomeModal
156+
isOpen={isWelcomeOpen}
157+
closeModal={closeWelcomeModal}
158+
/>
159+
<CompassSettingsPlugin></CompassSettingsPlugin>
160+
<CompassFindInPagePlugin></CompassFindInPagePlugin>
161+
<AtlasAuthPlugin></AtlasAuthPlugin>
162+
<CompassGenerativeAIPlugin></CompassGenerativeAIPlugin>
163+
</FieldStorePlugin>
164+
</CompassInstanceStorePlugin>
165+
</ConnectionImportExportProvider>
166+
</FileInputBackendProvider>
167+
</CompassConnections>
230168
);
231169
}
232170

@@ -297,25 +235,14 @@ export function ThemedHome(
297235
}
298236

299237
export default function HomeWithConnections({
300-
onAutoconnectInfoRequest,
301238
connectionStorage,
302239
...props
303-
}: HomeProps &
304-
Pick<
305-
React.ComponentProps<typeof CompassConnections>,
306-
'onAutoconnectInfoRequest'
307-
> & {
308-
connectionStorage: ConnectionStorage;
309-
}) {
240+
}: HomeProps & {
241+
connectionStorage: ConnectionStorage;
242+
}) {
310243
return (
311244
<ConnectionStorageProvider value={connectionStorage}>
312-
<CompassConnections
313-
appName={props.appName}
314-
onExtraConnectionDataRequest={getExtraConnectionData}
315-
onAutoconnectInfoRequest={onAutoconnectInfoRequest}
316-
>
317-
<ThemedHome {...props}></ThemedHome>
318-
</CompassConnections>
245+
<ThemedHome {...props}></ThemedHome>
319246
</ConnectionStorageProvider>
320247
);
321248
}

0 commit comments

Comments
 (0)