Create feature flag and use hook to display account tab conditionally (#2843)

create feature flag and use hook to display account tab conditionally
This commit is contained in:
bosiraphael
2023-12-05 12:23:18 +01:00
committed by GitHub
parent 72d696ad1b
commit 2dcce31ede
2 changed files with 21 additions and 13 deletions

View File

@ -16,6 +16,7 @@ import {
import NavItem from '@/ui/navigation/navigation-drawer/components/NavItem'; import NavItem from '@/ui/navigation/navigation-drawer/components/NavItem';
import NavTitle from '@/ui/navigation/navigation-drawer/components/NavTitle'; import NavTitle from '@/ui/navigation/navigation-drawer/components/NavTitle';
import SubMenuNavbar from '@/ui/navigation/navigation-drawer/components/SubMenuNavbar'; import SubMenuNavbar from '@/ui/navigation/navigation-drawer/components/SubMenuNavbar';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
export const SettingsNavbar = () => { export const SettingsNavbar = () => {
const navigate = useNavigate(); const navigate = useNavigate();
@ -27,6 +28,12 @@ export const SettingsNavbar = () => {
navigate(AppPath.SignIn); navigate(AppPath.SignIn);
}, [signOut, navigate]); }, [signOut, navigate]);
const isMessagingEnabled = useIsFeatureEnabled('IS_MESSAGING_ENABLED');
const isMessagingActive = !!useMatch({
path: useResolvedPath('/settings/accounts').pathname,
end: true,
});
return ( return (
<SubMenuNavbar backButtonTitle="Settings" displayVersion={true}> <SubMenuNavbar backButtonTitle="Settings" displayVersion={true}>
<NavTitle label="User" /> <NavTitle label="User" />
@ -52,17 +59,15 @@ export const SettingsNavbar = () => {
}) })
} }
/> />
<NavItem
label="Accounts" {isMessagingEnabled && (
to="/settings/accounts" <NavItem
Icon={IconAt} label="Accounts"
active={ to="/settings/accounts"
!!useMatch({ Icon={IconAt}
path: useResolvedPath('/settings/accounts').pathname, active={isMessagingActive}
end: true, />
}) )}
}
/>
<NavTitle label="Workspace" /> <NavTitle label="Workspace" />
<NavItem <NavItem

View File

@ -2,8 +2,6 @@ import { DataSource } from 'typeorm';
const tableName = 'featureFlag'; const tableName = 'featureFlag';
// import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
export const seedFeatureFlags = async ( export const seedFeatureFlags = async (
workspaceDataSource: DataSource, workspaceDataSource: DataSource,
schemaName: string, schemaName: string,
@ -20,6 +18,11 @@ export const seedFeatureFlags = async (
workspaceId: workspaceId, workspaceId: workspaceId,
value: true, value: true,
}, },
{
key: 'IS_MESSAGING_ENABLED',
workspaceId: workspaceId,
value: true,
},
]) ])
.execute(); .execute();
}; };