Skip to content

Commit 7675e82

Browse files
authored
feat: ai assistant placeholders (#2483)
1 parent d6f29a2 commit 7675e82

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

src/components/ComponentsProvider/componentsRegistry.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,15 @@ import {StaffCard} from '../User/StaffCard';
66
import type {ComponentsRegistryTemplate} from './registry';
77
import {Registry} from './registry';
88

9+
const EmptyPlaceholder = () => null;
10+
911
const componentsRegistryInner = new Registry()
1012
.register('StaffCard', StaffCard)
1113
.register('AsideNavigation', AsideNavigation)
1214
.register('ErrorBoundary', ErrorBoundaryInner)
13-
.register('ShardsTable', ShardsTable);
15+
.register('ShardsTable', ShardsTable)
16+
.register('AIAssistantButton', EmptyPlaceholder)
17+
.register('ChatPanel', EmptyPlaceholder);
1418

1519
export type ComponentsRegistry = ComponentsRegistryTemplate<typeof componentsRegistryInner>;
1620

src/containers/App/App.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import type {History} from 'history';
55
import {Helmet} from 'react-helmet-async';
66
import {connect} from 'react-redux';
77

8+
import {componentsRegistry} from '../../components/ComponentsProvider/componentsRegistry';
89
import {ErrorBoundary} from '../../components/ErrorBoundary/ErrorBoundary';
910
import type {RootState} from '../../store';
1011
import {Navigation} from '../AsideNavigation/Navigation';
@@ -32,6 +33,8 @@ function App({
3233
children,
3334
userSettings = getUserSettings({singleClusterMode}),
3435
}: AppProps) {
36+
const ChatPanel = componentsRegistry.get('ChatPanel');
37+
3538
return (
3639
<Providers store={store} history={history}>
3740
<Helmet defaultTitle="YDB Monitoring" titleTemplate="%s — YDB Monitoring" />
@@ -43,6 +46,7 @@ function App({
4346
</ErrorBoundary>
4447
</Navigation>
4548
</ContentWrapper>
49+
{ChatPanel && <ChatPanel />}
4650
<ReduxTooltip />
4751
</Providers>
4852
);

src/containers/Header/Header.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {ArrowUpRightFromSquare, CirclePlus, PlugConnection} from '@gravity-ui/ic
44
import {Breadcrumbs, Button, Divider, Flex, Icon} from '@gravity-ui/uikit';
55
import {useLocation} from 'react-router-dom';
66

7+
import {componentsRegistry} from '../../components/ComponentsProvider/componentsRegistry';
78
import {getConnectToDBDialog} from '../../components/ConnectToDB/ConnectToDBDialog';
89
import {InternalLink} from '../../components/InternalLink';
910
import {useAddClusterFeatureAvailable} from '../../store/reducers/capabilities/hooks';
@@ -38,6 +39,8 @@ function Header() {
3839
const isAddClusterAvailable =
3940
useAddClusterFeatureAvailable() && uiFactory.onAddCluster !== undefined;
4041

42+
const AIAssistantButton = componentsRegistry.get('AIAssistantButton');
43+
4144
const breadcrumbItems = React.useMemo(() => {
4245
let options = {...pageBreadcrumbsOptions, singleClusterMode};
4346

@@ -76,6 +79,10 @@ function Header() {
7679
);
7780
}
7881

82+
if (AIAssistantButton) {
83+
elements.push(<AIAssistantButton key="ai-assistant" />);
84+
}
85+
7986
if (!isClustersPage && isUserAllowedToMakeChanges) {
8087
elements.push(
8188
<Button view="flat" href={createDeveloperUIInternalPageHref()} target="_blank">

0 commit comments

Comments
 (0)