Skip to content

Commit 7cafb58

Browse files
authored
feat: add transfer navigation tree node type (#88)
1 parent 656ac64 commit 7cafb58

File tree

4 files changed

+21
-0
lines changed

4 files changed

+21
-0
lines changed

src/components/NavigationTree/NavigationTreeNode.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {IndexIcon} from '../icons/Index';
1212
import {ResourcePoolIcon} from '../icons/ResourcePool';
1313
import {TableIcon} from '../icons/Table';
1414
import {TopicIcon} from '../icons/Topic';
15+
import {TransferIcon} from '../icons/Transfer';
1516
import {ViewIcon} from '../icons/View';
1617

1718
import {NavigationTreeActionType} from './state';
@@ -37,6 +38,8 @@ function renderIcon(type: NavigationTreeNodeType, collapsed: boolean) {
3738
switch (type) {
3839
case 'async_replication':
3940
return <AsyncReplicationIcon height={16} />;
41+
case 'transfer':
42+
return <TransferIcon height={16} />;
4043
case 'database':
4144
// this icon is larger than the others, therefore 14 for a better fit
4245
return <DatabaseIcon height={14} />;

src/components/NavigationTree/__stories__/NavigationTree.stories.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,10 @@ async function fetchPath(path: string) {
117117
name: 'replication',
118118
type: 'async_replication',
119119
},
120+
{
121+
name: 'transfer',
122+
type: 'transfer',
123+
},
120124
{
121125
name: 'external_table',
122126
type: 'external_table',

src/components/NavigationTree/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export type NavigationTreeNodeType =
1313
| 'stream'
1414
| 'table'
1515
| 'topic'
16+
| 'transfer'
1617
| 'view';
1718

1819
export interface NavigationTreeDataItem {

src/components/icons/Transfer.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import React from 'react';
2+
3+
export function TransferIcon(props: React.SVGProps<SVGSVGElement>) {
4+
return (
5+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" {...props}>
6+
<path
7+
fillRule="evenodd"
8+
clipRule="evenodd"
9+
d="M9.22 15.03s-.001 0 0 0a.75.75 0 0 0 1.06-1.06l-.47-.47H10a3.016 3.016 0 0 0 1.507-.405A2.999 2.999 0 0 0 13 10.5V7.896h.003a2.735 2.735 0 0 0 .785-.366 2.75 2.75 0 1 0-2.288.366V10.5A1.5 1.5 0 0 1 10 12h-.19l.47-.47s0 .001 0 0a.75.75 0 0 0-1.06-1.06l-.47.47-1.28 1.28a.75.75 0 0 0 0 1.06l1.75 1.75ZM5.72 2.97a.75.75 0 0 1 1.06 0l.47.47 1.28 1.28a.748.748 0 0 1 0 1.06L6.78 7.53c.001 0 0 0 0 0a.751.751 0 0 1-1.06-1.06L6.19 6H6a1.5 1.5 0 0 0-1.5 1.5v2.604a2.757 2.757 0 0 1 2 2.646 2.738 2.738 0 0 1-1.212 2.28 2.737 2.737 0 0 1-1.538.47A2.747 2.747 0 0 1 1 12.75a2.751 2.751 0 0 1 2-2.646V7.5a2.999 2.999 0 0 1 3-3h.19l-.47-.47a.75.75 0 0 1 0-1.06Zm-.908 9.121A1.246 1.246 0 0 1 5 12.75a1.25 1.25 0 1 1-.188-.659ZM11 5.25a1.25 1.25 0 1 1 2.5 0 1.25 1.25 0 0 1-2.5 0Z"
10+
/>
11+
</svg>
12+
);
13+
}

0 commit comments

Comments
 (0)