2023-11-09 21:19:08 +02:00
|
|
|
import * as React from 'react';
|
|
|
|
import { StyleSheet } from 'react-native';
|
2024-03-09 13:15:13 +02:00
|
|
|
import { themeStyle } from './global-style';
|
2017-07-14 20:49:14 +02:00
|
|
|
|
2024-04-05 13:16:49 +02:00
|
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
|
2023-11-09 21:19:08 +02:00
|
|
|
const rootStyles_: Record<number, any> = {};
|
2017-08-01 19:59:01 +02:00
|
|
|
|
2023-11-09 21:19:08 +02:00
|
|
|
class BaseScreenComponent<Props, State> extends React.Component<Props, State> {
|
2017-07-31 22:03:12 +02:00
|
|
|
|
2023-11-09 21:19:08 +02:00
|
|
|
protected rootStyle(themeId: number) {
|
2017-08-01 19:59:01 +02:00
|
|
|
const theme = themeStyle(themeId);
|
|
|
|
if (rootStyles_[themeId]) return rootStyles_[themeId];
|
|
|
|
rootStyles_[themeId] = StyleSheet.create({
|
2024-09-24 16:12:02 +02:00
|
|
|
root: theme.rootStyle,
|
2017-08-01 19:59:01 +02:00
|
|
|
});
|
|
|
|
return rootStyles_[themeId];
|
|
|
|
}
|
2017-07-14 20:49:14 +02:00
|
|
|
}
|
|
|
|
|
2023-11-09 21:19:08 +02:00
|
|
|
export { BaseScreenComponent };
|
|
|
|
export default BaseScreenComponent;
|