diff --git a/src/fireedge/src/client/components/Cards/ApplicationTemplateCard.js b/src/fireedge/src/client/components/Cards/ApplicationTemplateCard.js index 5d13923857..62a56fb1d7 100644 --- a/src/fireedge/src/client/components/Cards/ApplicationTemplateCard.js +++ b/src/fireedge/src/client/components/Cards/ApplicationTemplateCard.js @@ -10,7 +10,7 @@ import { CardActions } from '@material-ui/core' import FileIcon from '@material-ui/icons/Description' -import VideogameAssetIcon from '@material-ui/icons/VideogameAsset' +import HostIcon from '@material-ui/icons/Computer' import AccountTreeIcon from '@material-ui/icons/AccountTree' import SelectCard from 'client/components/Cards/SelectCard' @@ -51,7 +51,7 @@ const ApplicationTemplateCard = memo( badgeContent={numberOfTiers} anchorOrigin={badgePosition} > - + { const classes = sidebarStyles() const history = useHistory() @@ -25,7 +27,6 @@ const SidebarLink = ({ label, path, icon: Icon, devMode, isSubItem }) => { history.push(path) !isUpLg && fixMenu(false) } - const labelProps = {'data-cy':"main-menu-item-text"} return ( { selected={pathname === path} className={clsx({ [classes.subItem]: isSubItem })} classes={{ selected: classes.itemSelected }} - data-cy="main-menu-item" + data-cy='main-menu-item' > {Icon && ( @@ -42,9 +43,9 @@ const SidebarLink = ({ label, path, icon: Icon, devMode, isSubItem }) => { )} : label} + disableTypography={devMode} + primaryTypographyProps={STATIC_LABEL_PROPS} + primary={devMode ? : label} /> ) diff --git a/src/fireedge/src/client/components/Sidebar/index.js b/src/fireedge/src/client/components/Sidebar/index.js index 79e48625b7..4bec177ae9 100644 --- a/src/fireedge/src/client/components/Sidebar/index.js +++ b/src/fireedge/src/client/components/Sidebar/index.js @@ -63,15 +63,15 @@ const Sidebar = memo(({ endpoints }) => { [classes.drawerFixed]: isFixMenu }) }} - anchor="left" + anchor='left' open={isFixMenu} > { - + {SidebarEndpoints} diff --git a/src/fireedge/src/client/components/Widgets/TotalProviders/index.js b/src/fireedge/src/client/components/Widgets/TotalProviders/index.js index 7a08433e65..79de653395 100644 --- a/src/fireedge/src/client/components/Widgets/TotalProviders/index.js +++ b/src/fireedge/src/client/components/Widgets/TotalProviders/index.js @@ -1,37 +1,33 @@ import * as React from 'react' import { PieChart } from 'react-minimal-pie-chart' -import { Typography, useTheme, lighten, Paper } from '@material-ui/core' -import { Public as ProvidersIcon } from '@material-ui/icons' +import { Typography, Paper } from '@material-ui/core' import { useProvision } from 'client/hooks' import { TypographyWithPoint } from 'client/components/Typography' import Count from 'client/components/Count' -import { get } from 'client/utils' -import { T } from 'client/constants' +import { groupBy } from 'client/utils' +import { T, PROVIDERS_TYPES } from 'client/constants' import useStyles from 'client/components/Widgets/TotalProviders/styles' const TotalProviders = () => { - const { providers, provisions } = useProvision() + const { providers } = useProvision() const classes = useStyles() - const theme = useTheme() - const usedColor = theme.palette.secondary.main - const bgColor = lighten(theme.palette.background.paper, 0.8) - const totalProviders = React.useMemo(() => providers.length, [providers]) + const totalProviders = React.useMemo(() => providers.length, [providers.length]) - const usedProviders = React.useMemo(() => - provisions - ?.map(provision => get(provision, 'TEMPLATE.BODY.provider')) - ?.filter((provision, idx, self) => self.indexOf(provision) === idx) - ?.length ?? 0 - , [provisions]) + const chartData = React.useMemo(() => { + const groups = groupBy(providers, 'TEMPLATE.PLAIN.provider') - const usedPercent = React.useMemo(() => - totalProviders !== 0 ? (usedProviders * 100) / totalProviders : 0 - , [totalProviders, usedProviders]) + console.log({ groups }) + return PROVIDERS_TYPES?.map(({ name, color }) => ({ + color, + title: name, + value: groups[name]?.length ?? 0 + })) + }, [totalProviders]) const title = React.useMemo(() => (
@@ -47,39 +43,33 @@ const TotalProviders = () => { const legend = React.useMemo(() => (
- - - - - {T.Used} - + {chartData?.map(({ title: titleLegend, value, color }) => +
+ + + + {titleLegend} + + +
+ )}
- ), [classes, usedProviders]) + ), [classes, chartData]) const chart = React.useMemo(() => ( ( - - )} - labelPosition={0} /> - ), [classes, usedPercent]) + ), [classes, chartData]) return ( {title} diff --git a/src/fireedge/src/client/components/Widgets/TotalProvisionInfrastructures.js b/src/fireedge/src/client/components/Widgets/TotalProvisionInfrastructures.js index 810fc21478..bd82376343 100644 --- a/src/fireedge/src/client/components/Widgets/TotalProvisionInfrastructures.js +++ b/src/fireedge/src/client/components/Widgets/TotalProvisionInfrastructures.js @@ -2,7 +2,7 @@ import * as React from 'react' import { Storage as ClusterIcon, - VideogameAsset as HostIcon, + Computer as HostIcon, FolderOpen as DatastoreIcon, AccountTree as NetworkIcon } from '@material-ui/icons' diff --git a/src/fireedge/src/client/constants/provision.js b/src/fireedge/src/client/constants/provision.js index cb872d287a..9efb723b5b 100644 --- a/src/fireedge/src/client/constants/provision.js +++ b/src/fireedge/src/client/constants/provision.js @@ -27,3 +27,14 @@ export const PROVISIONS_STATES = [ meaning: '' } ] + +export const PROVIDERS_TYPES = [ + { + name: 'aws', + color: '#ef931f' + }, + { + name: 'packet', + color: '#364562' + } +] diff --git a/src/fireedge/src/client/containers/Provisions/DialogInfo/index.js b/src/fireedge/src/client/containers/Provisions/DialogInfo/index.js index cc1477c7bb..917c05cb8d 100644 --- a/src/fireedge/src/client/containers/Provisions/DialogInfo/index.js +++ b/src/fireedge/src/client/containers/Provisions/DialogInfo/index.js @@ -5,7 +5,7 @@ import { AppBar, Tabs, Tab, Box } from '@material-ui/core' import InfoIcon from '@material-ui/icons/Info' import DatastoreIcon from '@material-ui/icons/FolderOpen' import NetworkIcon from '@material-ui/icons/AccountTree' -import HostIcon from '@material-ui/icons/VideogameAsset' +import HostIcon from '@material-ui/icons/Computer' import LogIcon from '@material-ui/icons/InsertDriveFile' import InfoTab from 'client/containers/Provisions/DialogInfo/info'