@@ -14,24 +14,20 @@ import {
1414import { LoadingFrame } from '../Utils/LoadingFrame'
1515import RawIcon from '../Utils/RawIcon'
1616import ReputationGuard from '../Utils/ReputationGuard'
17- import LanguageSelector from './LanguageSelector'
1817import ScoreTag from '../Users/ScoreTag'
19- import { logout } from '../../state/users/current_user/effects'
2018import { closeSidebar , toggleSidebar } from '../../state/user_preferences/reducer'
2119import UserPicture from '../Users/UserPicture'
22- import i18n from '../../i18n/i18n'
2320import Logo from './Logo'
2421import Button from '../Utils/Button'
22+ import { withLoggedInUser } from '../LoggedInUser/UserProvider'
23+ import UserLanguageSelector from '../LoggedInUser/UserLanguageSelector'
2524
2625@connect (
27- state => ( {
28- CurrentUser : state . CurrentUser . data ,
29- isLoadingUser : state . CurrentUser . isLoading ,
30- sidebarExpended : state . UserPreferences . sidebarExpended
31- } ) ,
32- { logout, toggleSidebar, closeSidebar }
26+ state => ( { sidebarExpended : state . UserPreferences . sidebarExpended } ) ,
27+ { toggleSidebar, closeSidebar }
3328)
3429@withNamespaces ( 'main' )
30+ @withLoggedInUser
3531export default class Sidebar extends React . PureComponent {
3632 constructor ( props ) {
3733 super ( props )
@@ -65,7 +61,7 @@ export default class Sidebar extends React.PureComponent {
6561
6662 renderUserLinks ( ) {
6763 const {
68- CurrentUser : { username, reputation } ,
64+ loggedInUser : { username, reputation } ,
6965 t
7066 } = this . props
7167 const baseLink = `/u/${ username } `
@@ -75,7 +71,7 @@ export default class Sidebar extends React.PureComponent {
7571 < div className = "level-left menu-list" >
7672 < this . MenuLink to = { baseLink } className = "my-profile-link" onlyActiveOnIndex >
7773 < div className = "current-user-link" >
78- < UserPicture size = { USER_PICTURE_SMALL } user = { this . props . CurrentUser } />
74+ < UserPicture size = { USER_PICTURE_SMALL } user = { this . props . loggedInUser } />
7975 < span className = "username" style = { { fontSize : this . usernameFontSize ( ) } } >
8076 { username }
8177 </ span >
@@ -121,14 +117,15 @@ export default class Sidebar extends React.PureComponent {
121117 }
122118
123119 renderUserSection ( ) {
124- if ( this . props . isLoadingUser )
120+ if ( this . props . loggedInUserLoading ) {
125121 return (
126122 < div className = "user-section" >
127123 < LoadingFrame size = "mini" />
128124 </ div >
129125 )
130- if ( this . props . CurrentUser . id !== 0 ) return this . renderUserLinks ( )
131- return this . renderConnectLinks ( )
126+ }
127+
128+ return this . props . isAuthenticated ? this . renderUserLinks ( ) : this . renderConnectLinks ( )
132129 }
133130
134131 render ( ) {
@@ -153,13 +150,7 @@ export default class Sidebar extends React.PureComponent {
153150 < div className = "menu-content" >
154151 { this . renderUserSection ( ) }
155152 < p className = "menu-label hide-when-collapsed" > { t ( 'menu.language' ) } </ p >
156- < LanguageSelector
157- className = "hide-when-collapsed"
158- handleChange = { v => i18n . changeLanguage ( v ) }
159- value = { i18n . language }
160- size = "small"
161- withIcon
162- />
153+ < UserLanguageSelector className = "hide-when-collapsed" size = "small" />
163154 < p className = "menu-label" > { t ( 'menu.content' ) } </ p >
164155 { this . renderMenuContent ( ) }
165156 < p className = "menu-label" > { t ( 'menu.other' ) } </ p >
@@ -212,6 +203,6 @@ export default class Sidebar extends React.PureComponent {
212203 }
213204
214205 usernameFontSize ( ) {
215- return `${ 1.4 - this . props . CurrentUser . username . length / 30 } em`
206+ return `${ 1.4 - this . props . loggedInUser . username . length / 30 } em`
216207 }
217208}
0 commit comments