1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-04-24 01:18:01 +02:00

fix: add feature toggles and projects to mobile navigation (#328)

* fix: add feature toggles and projects to mobile navigation

* fix: update mobile navigation
This commit is contained in:
Fredrik Strand Oseberg 2021-08-26 09:43:55 +02:00 committed by GitHub
parent cf990307d3
commit 260cec68f3
6 changed files with 35 additions and 17 deletions

View File

@ -114,6 +114,8 @@ const FeatureToggleList = ({
); );
}; };
const headerTitle = archive ? 'Archived Features' : 'Features';
return ( return (
<div className={styles.featureContainer}> <div className={styles.featureContainer}>
<div className={styles.searchBarContainer}> <div className={styles.searchBarContainer}>
@ -125,7 +127,7 @@ const FeatureToggleList = ({
})} })}
/> />
<ConditionallyRender <ConditionallyRender
condition={!mobileView} condition={!mobileView && !archive}
show={<Link to="/archive">Archive</Link>} show={<Link to="/archive">Archive</Link>}
/> />
</div> </div>
@ -134,7 +136,7 @@ const FeatureToggleList = ({
headerContent={ headerContent={
<HeaderTitle <HeaderTitle
loading={loading} loading={loading}
title="Feature toggles" title={headerTitle}
actions={ actions={
<div className={styles.actionsContainer}> <div className={styles.actionsContainer}>
<ConditionallyRender <ConditionallyRender

View File

@ -67,7 +67,7 @@ exports[`renders correctly with one feature 1`] = `
<h2 <h2
className="MuiTypography-root makeStyles-headerTitle-14 MuiTypography-h2" className="MuiTypography-root makeStyles-headerTitle-14 MuiTypography-h2"
> >
Feature toggles Features
</h2> </h2>
</div> </div>
<div <div
@ -318,7 +318,7 @@ exports[`renders correctly with one feature without permissions 1`] = `
<h2 <h2
className="MuiTypography-root makeStyles-headerTitle-14 MuiTypography-h2" className="MuiTypography-root makeStyles-headerTitle-14 MuiTypography-h2"
> >
Feature toggles Features
</h2> </h2>
</div> </div>
<div <div

View File

@ -53,6 +53,7 @@ const Header = () => {
const filteredMainRoutes = { const filteredMainRoutes = {
mainNavRoutes: routes.mainNavRoutes.filter(filterByFlags(flags)), mainNavRoutes: routes.mainNavRoutes.filter(filterByFlags(flags)),
mobileRoutes: routes.mobileRoutes.filter(filterByFlags(flags)),
adminRoutes: routes.adminRoutes, adminRoutes: routes.adminRoutes,
}; };

View File

@ -5,7 +5,9 @@ Array [
Object { Object {
"component": [Function], "component": [Function],
"layout": "main", "layout": "main",
"menu": Object {}, "menu": Object {
"mobile": true,
},
"path": "/features", "path": "/features",
"title": "Feature Toggles", "title": "Feature Toggles",
"type": "protected", "type": "protected",
@ -15,6 +17,7 @@ Array [
"layout": "main", "layout": "main",
"menu": Object { "menu": Object {
"advanced": true, "advanced": true,
"mobile": true,
}, },
"path": "/strategies", "path": "/strategies",
"title": "Strategies", "title": "Strategies",
@ -43,6 +46,7 @@ Array [
"layout": "main", "layout": "main",
"menu": Object { "menu": Object {
"advanced": true, "advanced": true,
"mobile": true,
}, },
"path": "/applications", "path": "/applications",
"title": "Applications", "title": "Applications",
@ -54,6 +58,7 @@ Array [
"layout": "main", "layout": "main",
"menu": Object { "menu": Object {
"advanced": true, "advanced": true,
"mobile": true,
}, },
"path": "/context", "path": "/context",
"title": "Context Fields", "title": "Context Fields",
@ -63,7 +68,9 @@ Array [
"component": [Function], "component": [Function],
"flag": "P", "flag": "P",
"layout": "main", "layout": "main",
"menu": Object {}, "menu": Object {
"mobile": true,
},
"path": "/projects", "path": "/projects",
"title": "Projects", "title": "Projects",
"type": "protected", "type": "protected",
@ -73,6 +80,7 @@ Array [
"layout": "main", "layout": "main",
"menu": Object { "menu": Object {
"advanced": true, "advanced": true,
"mobile": true,
}, },
"path": "/tag-types", "path": "/tag-types",
"title": "Tag types", "title": "Tag types",
@ -84,6 +92,7 @@ Array [
"layout": "main", "layout": "main",
"menu": Object { "menu": Object {
"advanced": true, "advanced": true,
"mobile": true,
}, },
"path": "/addons", "path": "/addons",
"title": "Addons", "title": "Addons",
@ -94,6 +103,7 @@ Array [
"layout": "main", "layout": "main",
"menu": Object { "menu": Object {
"advanced": true, "advanced": true,
"mobile": true,
}, },
"path": "/reporting", "path": "/reporting",
"title": "Reporting", "title": "Reporting",

View File

@ -62,7 +62,7 @@ export const DrawerMenu = ({
</div> </div>
<Divider /> <Divider />
<List className={styles.drawerList}> <List className={styles.drawerList}>
{routes.mainNavRoutes.map(item => ( {routes.mobileRoutes.map(item => (
<NavigationLink <NavigationLink
handleClose={() => toggleDrawer()} handleClose={() => toggleDrawer()}
path={item.path} path={item.path}
@ -93,7 +93,10 @@ export const DrawerMenu = ({
<Divider /> <Divider />
<div className={styles.iconLinkList}> <div className={styles.iconLinkList}>
{renderLinks()} {renderLinks()}
<a className={styles.navigationLink} href={`${getBasePath()}/logout`}> <a
className={styles.iconLink}
href={`${getBasePath()}/logout`}
>
<ExitToApp className={styles.navigationIcon} /> <ExitToApp className={styles.navigationIcon} />
Sign out Sign out
</a> </a>

View File

@ -58,7 +58,7 @@ export const routes = [
component: Features, component: Features,
type: 'protected', type: 'protected',
layout: 'main', layout: 'main',
menu: {}, menu: { mobile: true },
}, },
// Strategies // Strategies
@ -86,7 +86,7 @@ export const routes = [
component: Strategies, component: Strategies,
type: 'protected', type: 'protected',
layout: 'main', layout: 'main',
menu: { advanced: true }, menu: { mobile: true, advanced: true },
}, },
// History // History
@ -143,7 +143,7 @@ export const routes = [
component: Applications, component: Applications,
type: 'protected', type: 'protected',
layout: 'main', layout: 'main',
menu: { advanced: true }, menu: { mobile: true, advanced: true },
}, },
// Context // Context
@ -172,7 +172,7 @@ export const routes = [
type: 'protected', type: 'protected',
flag: C, flag: C,
layout: 'main', layout: 'main',
menu: { advanced: true }, menu: { mobile: true, advanced: true },
}, },
// Project // Project
@ -256,7 +256,7 @@ export const routes = [
flag: P, flag: P,
type: 'protected', type: 'protected',
layout: 'main', layout: 'main',
menu: {}, menu: { mobile: true },
}, },
{ {
@ -283,7 +283,7 @@ export const routes = [
component: ListTagTypes, component: ListTagTypes,
type: 'protected', type: 'protected',
layout: 'main', layout: 'main',
menu: { advanced: true }, menu: { mobile: true, advanced: true },
}, },
{ {
@ -331,7 +331,7 @@ export const routes = [
hidden: false, hidden: false,
type: 'protected', type: 'protected',
layout: 'main', layout: 'main',
menu: { advanced: true }, menu: { mobile: true, advanced: true },
}, },
{ {
path: '/reporting', path: '/reporting',
@ -339,7 +339,7 @@ export const routes = [
component: Reporting, component: Reporting,
type: 'protected', type: 'protected',
layout: 'main', layout: 'main',
menu: { advanced: true }, menu: { mobile: true, advanced: true },
}, },
// Admin // Admin
{ {
@ -349,7 +349,7 @@ export const routes = [
component: AdminApi, component: AdminApi,
type: 'protected', type: 'protected',
layout: 'main', layout: 'main',
menu: { advanced: true, adminSettings: true }, menu: { mobile: true, advanced: true, adminSettings: true },
}, },
{ {
path: '/admin/users', path: '/admin/users',
@ -434,10 +434,12 @@ export const baseRoutes = routes
const computeRoutes = () => { const computeRoutes = () => {
const mainNavRoutes = baseRoutes.filter(route => route.menu.advanced); const mainNavRoutes = baseRoutes.filter(route => route.menu.advanced);
const adminRoutes = routes.filter(route => route.menu.adminSettings); const adminRoutes = routes.filter(route => route.menu.adminSettings);
const mobileRoutes = routes.filter(route => route.menu.mobile);
const computedRoutes = { const computedRoutes = {
mainNavRoutes, mainNavRoutes,
adminRoutes, adminRoutes,
mobileRoutes,
}; };
return () => { return () => {
return computedRoutes; return computedRoutes;