Skip to content

Commit 86bcac3

Browse files
Merge pull request #3596 from RedisInsight/revert-3595-CR-109-breadcrumbs
Revert "CR-109-breadcrumbs"
2 parents a04ebec + 62f20e9 commit 86bcac3

File tree

12 files changed

+114
-82
lines changed

12 files changed

+114
-82
lines changed

redisinsight/api/config/features-config.json

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,23 @@
9090
"strategy": "ioredis"
9191
}
9292
},
93-
"isDesktop": {
93+
"appSettings": {
94+
"flag": true,
95+
"perc": [[0,100]]
96+
},
97+
"profiler": {
98+
"flag": true,
99+
"perc": [[0,100]]
100+
},
101+
"dbAnalysis": {
102+
"flag": true,
103+
"perc": [[0,100]]
104+
},
105+
"appNotifications": {
106+
"flag": true,
107+
"perc": [[0,100]]
108+
},
109+
"triggersAndFunctions": {
94110
"flag": true,
95111
"perc": [[0,100]]
96112
}

redisinsight/api/src/modules/feature/constants/index.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,11 @@ export enum KnownFeatures {
2525
CloudSsoRecommendedSettings = 'cloudSsoRecommendedSettings',
2626
RedisModuleFilter = 'redisModuleFilter',
2727
RedisClient = 'redisClient',
28-
isDesktop = 'isDesktop',
28+
appSettings = 'appSettings',
29+
profiler = 'profiler',
30+
dbAnalysis = 'dbAnalysis',
31+
appNotifications = 'appNotifications',
32+
triggersAndFunctions = 'triggersAndFunctions',
2933
DocumentationChat = 'documentationChat',
3034
DatabaseChat = 'databaseChat',
3135
}

redisinsight/api/src/modules/feature/constants/known-features.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,24 @@ export const knownFeatures: Record<KnownFeatures, IFeatureFlag> = {
2323
name: KnownFeatures.RedisClient,
2424
storage: FeatureStorage.Database,
2525
},
26-
[KnownFeatures.isDesktop]: {
27-
name: KnownFeatures.isDesktop,
26+
[KnownFeatures.appSettings]: {
27+
name: KnownFeatures.appSettings,
28+
storage: FeatureStorage.Database,
29+
},
30+
[KnownFeatures.profiler]: {
31+
name: KnownFeatures.profiler,
32+
storage: FeatureStorage.Database,
33+
},
34+
[KnownFeatures.dbAnalysis]: {
35+
name: KnownFeatures.dbAnalysis,
36+
storage: FeatureStorage.Database,
37+
},
38+
[KnownFeatures.appNotifications]: {
39+
name: KnownFeatures.appNotifications,
40+
storage: FeatureStorage.Database,
41+
},
42+
[KnownFeatures.triggersAndFunctions]: {
43+
name: KnownFeatures.triggersAndFunctions,
2844
storage: FeatureStorage.Database,
2945
},
3046
[KnownFeatures.DocumentationChat]: {

redisinsight/api/src/modules/feature/providers/feature-flag/feature-flag.provider.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,23 @@ export class FeatureFlagProvider {
5252
this.featuresConfigService,
5353
this.settingsService,
5454
));
55-
this.strategies.set(KnownFeatures.isDesktop, new CommonFlagStrategy(
55+
this.strategies.set(KnownFeatures.appSettings, new CommonFlagStrategy(
56+
this.featuresConfigService,
57+
this.settingsService,
58+
));
59+
this.strategies.set(KnownFeatures.profiler, new CommonFlagStrategy(
60+
this.featuresConfigService,
61+
this.settingsService,
62+
));
63+
this.strategies.set(KnownFeatures.dbAnalysis, new CommonFlagStrategy(
64+
this.featuresConfigService,
65+
this.settingsService,
66+
));
67+
this.strategies.set(KnownFeatures.appNotifications, new CommonFlagStrategy(
68+
this.featuresConfigService,
69+
this.settingsService,
70+
));
71+
this.strategies.set(KnownFeatures.triggersAndFunctions, new CommonFlagStrategy(
5672
this.featuresConfigService,
5773
this.settingsService,
5874
));

redisinsight/ui/src/components/bottom-group-components/components/bottom-group-minimized/BottomGroupMinimized.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ const BottomGroupMinimized = () => {
111111
<span>Command Helper</span>
112112
</EuiBadge>
113113
</EuiFlexItem>
114-
<FeatureFlagComponent name={FeatureFlags.isDesktop}>
114+
<FeatureFlagComponent name={FeatureFlags.profiler}>
115115
<EuiFlexItem
116116
className={styles.componentBadgeItem}
117117
grow={false}

redisinsight/ui/src/components/instance-header/InstanceHeader.spec.tsx

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import {
1111
import { appContextDbIndex } from 'uiSrc/slices/app/context'
1212

1313
import InstanceHeader, { Props } from './InstanceHeader'
14-
import { isRediStack } from 'uiSrc/utils'
1514

1615
const mockedProps = mock<Props>()
1716

@@ -49,15 +48,6 @@ jest.mock('uiSrc/slices/app/context', () => ({
4948
})
5049
}))
5150

52-
jest.mock('uiSrc/slices/app/features', () => ({
53-
...jest.requireActual('uiSrc/slices/app/features'),
54-
appFeatureFlagsFeaturesSelector: jest.fn().mockReturnValue({
55-
isDesktop: {
56-
flag: true,
57-
},
58-
}),
59-
}))
60-
6151
jest.mock('react-router-dom', () => ({
6252
...jest.requireActual('react-router-dom'),
6353
useHistory: () => ({

redisinsight/ui/src/components/instance-header/InstanceHeader.tsx

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -101,31 +101,27 @@ const InstanceHeader = ({ onChangeDbIndex }: Props) => {
101101
<EuiFlexItem style={{ overflow: 'hidden' }}>
102102
<div className={styles.breadcrumbsContainer} data-testid="breadcrumbs-container">
103103
<div>
104-
<FeatureFlagComponent name={FeatureFlags.isDesktop}>
105-
<EuiToolTip
106-
position="bottom"
107-
content={server?.buildType === BuildType.RedisStack ? 'Edit database' : 'My Redis databases'}
104+
<EuiToolTip
105+
position="bottom"
106+
content={server?.buildType === BuildType.RedisStack ? 'Edit database' : 'My Redis databases'}
107+
>
108+
<EuiText
109+
className={styles.breadCrumbLink}
110+
aria-label={server?.buildType === BuildType.RedisStack ? 'Edit database' : 'My Redis databases'}
111+
data-testid="my-redis-db-btn"
112+
onClick={goHome}
113+
onKeyDown={goHome}
108114
>
109-
<EuiText
110-
className={styles.breadCrumbLink}
111-
aria-label={server?.buildType === BuildType.RedisStack ? 'Edit database' : 'My Redis databases'}
112-
data-testid="my-redis-db-btn"
113-
onClick={goHome}
114-
onKeyDown={goHome}
115-
>
116-
Databases
117-
</EuiText>
118-
</EuiToolTip>
119-
</FeatureFlagComponent>
115+
Databases
116+
</EuiText>
117+
</EuiToolTip>
120118
</div>
121119
<div style={{ flex: 1, overflow: 'hidden' }}>
122120
<div style={{ maxWidth: '100%' }}>
123121
<EuiFlexGroup gutterSize="none" alignItems="center" responsive={false}>
124-
<FeatureFlagComponent name={FeatureFlags.isDesktop}>
125-
<EuiFlexItem grow={false}>
126-
<EuiText className={styles.divider}>&#62;</EuiText>
127-
</EuiFlexItem>
128-
</FeatureFlagComponent>
122+
<EuiFlexItem grow={false}>
123+
<EuiText className={styles.divider}>&#62;</EuiText>
124+
</EuiFlexItem>
129125
<EuiFlexItem style={{ overflow: 'hidden' }}>
130126
<b className={styles.dbName}>{name}</b>
131127
</EuiFlexItem>

redisinsight/ui/src/components/navigation-menu/NavigationMenu.spec.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jest.mock('uiSrc/slices/app/info', () => ({
2626
jest.mock('uiSrc/slices/app/features', () => ({
2727
...jest.requireActual('uiSrc/slices/app/features'),
2828
appFeatureFlagsFeaturesSelector: jest.fn().mockReturnValue({
29-
isDesktop: {
29+
appSettings: {
3030
flag: true,
3131
},
3232
}),

redisinsight/ui/src/components/navigation-menu/NavigationMenu.tsx

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,13 @@ import { ANALYTICS_ROUTES, TRIGGERED_FUNCTIONS_ROUTES } from 'uiSrc/components/m
1717

1818
import { FeatureFlags, PageNames, Pages } from 'uiSrc/constants'
1919
import { EXTERNAL_LINKS } from 'uiSrc/constants/links'
20+
import { getRouterLinkProps } from 'uiSrc/services'
2021
import { appFeaturePagesHighlightingSelector, removeFeatureFromHighlighting } from 'uiSrc/slices/app/features'
2122
import { connectedInstanceSelector } from 'uiSrc/slices/instances/instances'
23+
import {
24+
appInfoSelector,
25+
} from 'uiSrc/slices/app/info'
26+
import LogoSVG from 'uiSrc/assets/img/logo_small.svg?react'
2227
import SettingsSVG from 'uiSrc/assets/img/sidebar/settings.svg'
2328
import SettingsActiveSVG from 'uiSrc/assets/img/sidebar/settings_active.svg'
2429
import BrowserSVG from 'uiSrc/assets/img/sidebar/browser.svg'
@@ -33,14 +38,14 @@ import TriggeredFunctionsSVG from 'uiSrc/assets/img/sidebar/gears.svg'
3338
import TriggeredFunctionsActiveSVG from 'uiSrc/assets/img/sidebar/gears_active.svg'
3439
import GithubSVG from 'uiSrc/assets/img/sidebar/github.svg'
3540
import Divider from 'uiSrc/components/divider/Divider'
41+
import { BuildType } from 'uiSrc/constants/env'
3642
import { renderOnboardingTourWithChild } from 'uiSrc/utils/onboarding'
3743
import { ONBOARDING_FEATURES } from 'uiSrc/components/onboarding-features'
3844
import { BUILD_FEATURES } from 'uiSrc/constants/featuresHighlighting'
3945
import { FeatureFlagComponent } from 'uiSrc/components'
4046

4147
import HelpMenu from './components/help-menu/HelpMenu'
4248
import NotificationMenu from './components/notifications-center'
43-
import { RedisLogo } from './components/redis-logo/RedisLogo'
4449

4550
import styles from './styles.module.scss'
4651

@@ -71,6 +76,7 @@ const NavigationMenu = () => {
7176
const [activePage, setActivePage] = useState(Pages.home)
7277

7378
const { id: connectedInstanceId = '' } = useSelector(connectedInstanceSelector)
79+
const { server } = useSelector(appInfoSelector)
7480
const highlightedPages = useSelector(appFeaturePagesHighlightingSelector)
7581

7682
useEffect(() => {
@@ -140,7 +146,7 @@ const NavigationMenu = () => {
140146
dataTestId: 'analytics-page-btn',
141147
connectedInstanceId,
142148
isActivePage: isAnalyticsPath(activePage),
143-
featureFlag: FeatureFlags.isDesktop,
149+
featureFlag: FeatureFlags.dbAnalysis,
144150
getClassName() {
145151
return cx(styles.navigationButton, { [styles.active]: this.isActivePage })
146152
},
@@ -173,7 +179,7 @@ const NavigationMenu = () => {
173179
connectedInstanceId,
174180
isActivePage: isTriggeredFunctionsPath(activePage),
175181
isBeta: true,
176-
featureFlag: FeatureFlags.isDesktop,
182+
featureFlag: FeatureFlags.triggersAndFunctions,
177183
getClassName() {
178184
return cx(styles.navigationButton, { [styles.active]: this.isActivePage })
179185
},
@@ -192,7 +198,7 @@ const NavigationMenu = () => {
192198
onClick: () => handleGoPage(Pages.settings),
193199
dataTestId: 'settings-page-btn',
194200
isActivePage: activePage === Pages.settings,
195-
featureFlag: FeatureFlags.isDesktop,
201+
featureFlag: FeatureFlags.appSettings,
196202
getClassName() {
197203
return cx(styles.navigationButton, { [styles.active]: this.isActivePage })
198204
},
@@ -254,7 +260,16 @@ const NavigationMenu = () => {
254260
return (
255261
<EuiPageSideBar aria-label="Main navigation" className={cx(styles.navigation, 'eui-yScroll')}>
256262
<div className={styles.container}>
257-
<RedisLogo />
263+
<EuiToolTip
264+
content={server?.buildType === BuildType.RedisStack ? 'Edit database' : 'My Redis databases'}
265+
position="right"
266+
>
267+
<span className={cx(styles.iconNavItem, styles.homeIcon)}>
268+
<EuiLink {...getRouterLinkProps(Pages.home)} className={styles.logo} data-test-subj="home-page-btn">
269+
<EuiIcon aria-label="redisinsight home page" type={LogoSVG} />
270+
</EuiLink>
271+
</span>
272+
</EuiToolTip>
258273

259274
{connectedInstanceId && (
260275
privateRoutes.map((nav) => (
@@ -267,7 +282,7 @@ const NavigationMenu = () => {
267282
)}
268283
</div>
269284
<div className={styles.bottomContainer}>
270-
<FeatureFlagComponent name={FeatureFlags.isDesktop}>
285+
<FeatureFlagComponent name={FeatureFlags.appNotifications}>
271286
<NotificationMenu />
272287
</FeatureFlagComponent>
273288
<HelpMenu />

redisinsight/ui/src/components/navigation-menu/components/redis-logo/RedisLogo.tsx

Lines changed: 0 additions & 37 deletions
This file was deleted.

0 commit comments

Comments
 (0)