1
1
import React , { Component , Suspense } from 'react' ;
2
2
import { Redirect , Route , Switch } from 'react-router-dom' ;
3
3
import { Container } from 'reactstrap' ;
4
+ import { getVersion } from "../../actions/versionActions" ;
4
5
5
6
import {
6
7
AppAside ,
@@ -26,14 +27,34 @@ const DefaultAside = React.lazy(() => import('./DefaultAside'));
26
27
const DefaultFooter = React . lazy ( ( ) => import ( './DefaultFooter' ) ) ;
27
28
const DefaultHeader = React . lazy ( ( ) => import ( './DefaultHeader' ) ) ;
28
29
30
+ const VERSION_NAV_ITEM_ATTRS = {
31
+ attributes : { target : '_blank' } ,
32
+ class : 'mt-auto' ,
33
+ icon : 'cui-cog' ,
34
+ url : 'https://rclone.org/changelog' ,
35
+ variant : 'success'
36
+ }
29
37
class DefaultLayout extends Component {
30
38
31
39
loading = ( ) => < div className = "animated fadeIn pt-1 text-center" > Loading...</ div > ;
32
40
41
+ get navConfig ( ) {
42
+ return {
43
+ items : [
44
+ ...navigation . items ,
45
+ {
46
+ name : this . props . version . version ,
47
+ ...VERSION_NAV_ITEM_ATTRS
48
+ }
49
+ ]
50
+ }
51
+ }
33
52
34
53
componentWillMount ( ) {
35
54
if ( ! localStorage . getItem ( AUTH_KEY ) ) {
36
55
this . props . history . push ( '/login' ) ;
56
+ } else {
57
+ this . props . getVersion ( ) ;
37
58
}
38
59
}
39
60
@@ -54,7 +75,7 @@ class DefaultLayout extends Component {
54
75
< AppSidebarHeader />
55
76
< AppSidebarForm />
56
77
< Suspense fallback = { this . loading ( ) } >
57
- < AppSidebarNav navConfig = { navigation } { ... this . props } />
78
+ < AppSidebarNav navConfig = { this . navConfig } />
58
79
</ Suspense >
59
80
< AppSidebarFooter />
60
81
< AppSidebarMinimizer />
@@ -102,6 +123,7 @@ class DefaultLayout extends Component {
102
123
103
124
const mapStateToProps = ( state ) => ( {
104
125
isConnected : state . status . isConnected ,
126
+ version : state . version ,
105
127
} ) ;
106
128
107
- export default connect ( mapStateToProps , { } ) ( DefaultLayout ) ;
129
+ export default connect ( mapStateToProps , { getVersion } ) ( DefaultLayout ) ;
0 commit comments