joplin/ReactNativeClient/lib/components/base-screen.js

42 lines
847 B
JavaScript
Raw Normal View History

/* eslint-disable enforce-react-hooks/enforce-react-hooks */
2019-07-29 13:43:53 +00:00
const React = require('react');
2019-07-29 13:58:33 +00:00
const { StyleSheet } = require('react-native');
const { globalStyle, themeStyle } = require('lib/components/global-style.js');
2017-07-14 18:49:14 +00:00
2017-07-31 20:03:12 +00:00
const styleObject_ = {
2017-07-14 18:49:14 +00:00
screen: {
flex: 1,
2017-07-21 21:40:02 +00:00
backgroundColor: globalStyle.backgroundColor,
2017-07-14 18:49:14 +00:00
},
2017-07-31 20:03:12 +00:00
};
const styles_ = StyleSheet.create(styleObject_);
2017-07-14 18:49:14 +00:00
2017-08-01 17:59:01 +00:00
let rootStyles_ = {};
2017-07-14 18:49:14 +00:00
class BaseScreenComponent extends React.Component {
styles() {
return styles_;
}
2017-07-31 20:03:12 +00:00
styleObject() {
return styleObject_;
}
2017-08-01 17:59:01 +00:00
rootStyle(themeId) {
const theme = themeStyle(themeId);
if (rootStyles_[themeId]) return rootStyles_[themeId];
rootStyles_[themeId] = StyleSheet.create({
root: {
flex: 1,
backgroundColor: theme.backgroundColor,
},
});
return rootStyles_[themeId];
}
2017-07-14 18:49:14 +00:00
}
2019-07-29 13:43:53 +00:00
module.exports = { BaseScreenComponent };