-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathSceneContainer.js
46 lines (40 loc) · 1.06 KB
/
SceneContainer.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import React, { Component } from 'react';
import {
Navigator,
Image,
} from 'react-native';
import { themeable } from '../themes';
import TodoList from './TodoListScene';
class Navigation extends Component {
configureScene() {
return {
...Navigator.SceneConfigs.PushFromRight,
gestures: {}
};
}
renderScene(route, navigator) {
if (route.component) {
return React.createElement(route.component, { navigator, ...route.passProps });
}
}
render() {
const {mainBgImgStyle, mainBgImgSrc} = this.props;
return (
<Image style={mainBgImgStyle} resizeMode={'cover'} source={mainBgImgSrc}>
<Navigator
initialRoute={{name: 'List', component: TodoList}}
configureScene={this.configureScene}
renderScene={this.renderScene}
/>
</Image>
);
}
}
const ThemeableNavigation = themeable(Navigation, (theme) => {
const { styles, variables } = theme;
return {
mainBgImgStyle: styles.mainBgImg,
mainBgImgSrc: variables.mainBgImg
};
});
export default ThemeableNavigation;