diff --git a/packages/core/src/layout/Sidebar/Settings/AuthProviderList.tsx b/packages/core/src/layout/Sidebar/Settings/AuthProviderList.tsx
index 50832da681..34cf6fb837 100644
--- a/packages/core/src/layout/Sidebar/Settings/AuthProviderList.tsx
+++ b/packages/core/src/layout/Sidebar/Settings/AuthProviderList.tsx
@@ -17,23 +17,13 @@
import React from 'react';
import List from '@material-ui/core/List';
import ListSubheader from '@material-ui/core/ListSubheader';
-import { Divider } from '@material-ui/core';
type Props = {
- providerSettings?: React.ReactNode;
+ providerSettings: React.ReactNode;
};
-export const AuthProvidersList = ({ providerSettings }: Props) => {
- if (!providerSettings) {
- return null;
- }
-
- return (
- <>
-
- Available Auth Providers}>
- {providerSettings}
-
- >
- );
-};
+export const AuthProvidersList = ({ providerSettings }: Props) => (
+ Available Auth Providers}>
+ {providerSettings}
+
+);
diff --git a/packages/core/src/layout/Sidebar/Settings/FeatureFlagsItem.tsx b/packages/core/src/layout/Sidebar/Settings/FeatureFlagsItem.tsx
index 21074a5153..3e40ce69cc 100644
--- a/packages/core/src/layout/Sidebar/Settings/FeatureFlagsItem.tsx
+++ b/packages/core/src/layout/Sidebar/Settings/FeatureFlagsItem.tsx
@@ -15,7 +15,11 @@
*/
import React from 'react';
-import { FeatureFlagName, FeatureFlagsApi } from '@backstage/core-api';
+import {
+ FeatureFlagName,
+ useApi,
+ featureFlagsApiRef,
+} from '@backstage/core-api';
import {
ListItem,
ListItemSecondaryAction,
@@ -25,12 +29,18 @@ import {
import CheckIcon from '@material-ui/icons/CheckCircle';
import { ToggleButton } from '@material-ui/lab';
-type Props = {
- featureFlag: { name: FeatureFlagName; pluginId: string };
- api: FeatureFlagsApi;
+export type Item = {
+ name: FeatureFlagName;
+ pluginId: string;
};
-export const FlagItem = ({ featureFlag, api }: Props) => {
+type Props = {
+ featureFlag: Item;
+};
+
+export const FlagItem = ({ featureFlag }: Props) => {
+ const api = useApi(featureFlagsApiRef);
+
const [enabled, setEnabled] = React.useState(
Boolean(api.getFlags().get(featureFlag.name)),
);
diff --git a/packages/core/src/layout/Sidebar/Settings/FeatureFlagsList.tsx b/packages/core/src/layout/Sidebar/Settings/FeatureFlagsList.tsx
index d74a501c13..5687446511 100644
--- a/packages/core/src/layout/Sidebar/Settings/FeatureFlagsList.tsx
+++ b/packages/core/src/layout/Sidebar/Settings/FeatureFlagsList.tsx
@@ -17,30 +17,16 @@
import React from 'react';
import List from '@material-ui/core/List';
import ListSubheader from '@material-ui/core/ListSubheader';
-import { useApi, featureFlagsApiRef } from '@backstage/core-api';
-import { FlagItem } from './FeatureFlagsItem';
-import { Divider } from '@material-ui/core';
+import { FlagItem, Item } from './FeatureFlagsItem';
-export const FeatureFlagsList = () => {
- const featureFlagsApi = useApi(featureFlagsApiRef);
- const featureFlags = featureFlagsApi.getRegisteredFlags();
-
- if (featureFlags.length === 0) {
- return null;
- }
-
- return (
- <>
-
- Feature Flags}>
- {featureFlags.map(featureFlag => (
-
- ))}
-
- >
- );
+type Props = {
+ featureFlags: Item[];
};
+
+export const FeatureFlagsList = ({ featureFlags }: Props) => (
+ Feature Flags}>
+ {featureFlags.map(featureFlag => (
+
+ ))}
+
+);
diff --git a/packages/core/src/layout/Sidebar/Settings/SettingsDialog.tsx b/packages/core/src/layout/Sidebar/Settings/SettingsDialog.tsx
index 9c452982e3..71c4899862 100644
--- a/packages/core/src/layout/Sidebar/Settings/SettingsDialog.tsx
+++ b/packages/core/src/layout/Sidebar/Settings/SettingsDialog.tsx
@@ -15,13 +15,20 @@
*/
import React from 'react';
-import { Card, CardContent, CardHeader, makeStyles } from '@material-ui/core';
+import {
+ Card,
+ CardContent,
+ CardHeader,
+ makeStyles,
+ Divider,
+} from '@material-ui/core';
import { AppSettingsList } from './AppSettingsList';
import { AuthProvidersList } from './AuthProviderList';
import { FeatureFlagsList } from './FeatureFlagsList';
import { SignInAvatar } from './SignInAvatar';
import { UserSettingsMenu } from './UserSettingsMenu';
import { useUserProfile } from './useUserProfileInfo';
+import { useApi, featureFlagsApiRef } from '@backstage/core-api';
const useStyles = makeStyles({
root: {
@@ -36,6 +43,8 @@ type Props = {
export const SettingsDialog = ({ providerSettings }: Props) => {
const classes = useStyles();
const { profile, displayName } = useUserProfile();
+ const featureFlagsApi = useApi(featureFlagsApiRef);
+ const featureFlags = featureFlagsApi.getRegisteredFlags();
return (
@@ -47,8 +56,18 @@ export const SettingsDialog = ({ providerSettings }: Props) => {
/>
-
-
+ {providerSettings && (
+ <>
+
+
+ >
+ )}
+ {featureFlags.length > 0 && (
+ <>
+
+
+ >
+ )}
);