11import React from 'react'
22import cx from 'classnames'
3+ import { connect } from 'react-redux'
34
45import flag from 'cozy-flags'
56import { useWebviewIntent } from 'cozy-intent'
@@ -21,12 +22,19 @@ import Button from 'cozy-ui/transpiled/react/Buttons'
2122import Typography from 'cozy-ui/transpiled/react/Typography'
2223import { useBreakpoints } from 'cozy-ui/transpiled/react/providers/Breakpoints'
2324
25+ import { getIsSettingsAppInstalled } from 'lib/reducers'
2426import useI18n from 'components/useI18n'
2527import styles from 'styles/user-menu.styl'
2628import AvatarMyself from './components/AvatarMyself'
2729import { getSettingsLink , logOut } from './helpers'
2830
29- const UserMenuContent = ( { onLogOut, instance, diskUsage, closeMenu } ) => {
31+ const UserMenuContent = ( {
32+ onLogOut,
33+ instance,
34+ diskUsage,
35+ isSettingsAppInstalled,
36+ closeMenu
37+ } ) => {
3038 const webviewIntent = useWebviewIntent ( )
3139
3240 const client = useClient ( )
@@ -63,19 +71,21 @@ const UserMenuContent = ({ onLogOut, instance, diskUsage, closeMenu }) => {
6371 ) }
6472 </ div >
6573 < List className = "u-pb-0" >
66- < ListItem
67- button
68- gutters = { gutters }
69- size = "small"
70- component = "a"
71- href = { profileLink }
72- onClick = { closeMenu }
73- >
74- < ListItemIcon >
75- < Icon icon = { FromUserIcon } />
76- </ ListItemIcon >
77- < ListItemText primary = { t ( 'userMenu.manageProfile' ) } />
78- </ ListItem >
74+ { isSettingsAppInstalled && (
75+ < ListItem
76+ button
77+ gutters = { gutters }
78+ size = "small"
79+ component = "a"
80+ href = { profileLink }
81+ onClick = { closeMenu }
82+ >
83+ < ListItemIcon >
84+ < Icon icon = { FromUserIcon } />
85+ </ ListItemIcon >
86+ < ListItemText primary = { t ( 'userMenu.manageProfile' ) } />
87+ </ ListItem >
88+ ) }
7989 { flag ( 'cozy.b2b.enabled' ) && (
8090 < ListItem
8191 button
@@ -91,28 +101,30 @@ const UserMenuContent = ({ onLogOut, instance, diskUsage, closeMenu }) => {
91101 < ListItemText primary = { t ( 'userMenu.createBusinessAccount' ) } />
92102 </ ListItem >
93103 ) }
94- < ListItem
95- button
96- gutters = { gutters }
97- size = "small"
98- component = "a"
99- href = { storageLink }
100- onClick = { closeMenu }
101- >
102- < ListItemIcon >
103- < Icon icon = { CloudRainbowIcon } />
104- </ ListItemIcon >
105- < ListItemText
106- primary = { t ( 'userMenu.storage' ) }
107- secondary = { t (
108- 'userMenu.storageAvailable' ,
109- humanDiskQuota - humanDiskUsage
110- ) }
111- />
112- < ListItemIcon >
113- < Icon icon = { RightIcon } />
114- </ ListItemIcon >
115- </ ListItem >
104+ { isSettingsAppInstalled && (
105+ < ListItem
106+ button
107+ gutters = { gutters }
108+ size = "small"
109+ component = "a"
110+ href = { storageLink }
111+ onClick = { closeMenu }
112+ >
113+ < ListItemIcon >
114+ < Icon icon = { CloudRainbowIcon } />
115+ </ ListItemIcon >
116+ < ListItemText
117+ primary = { t ( 'userMenu.storage' ) }
118+ secondary = { t (
119+ 'userMenu.storageAvailable' ,
120+ humanDiskQuota - humanDiskUsage
121+ ) }
122+ />
123+ < ListItemIcon >
124+ < Icon icon = { RightIcon } />
125+ </ ListItemIcon >
126+ </ ListItem >
127+ ) }
116128
117129 < Divider component = "li" variant = "inset" />
118130
@@ -132,4 +144,8 @@ const UserMenuContent = ({ onLogOut, instance, diskUsage, closeMenu }) => {
132144 )
133145}
134146
135- export default UserMenuContent
147+ const mapStateToProps = state => ( {
148+ isSettingsAppInstalled : getIsSettingsAppInstalled ( state )
149+ } )
150+
151+ export default connect ( mapStateToProps ) ( UserMenuContent )
0 commit comments