feat: Apply default text styles to ReText

This commit is contained in:
Lei Nelissen
2022-05-05 22:59:32 +02:00
parent b0961d3263
commit 37ead0ec98
14 changed files with 49 additions and 38 deletions

View File

@@ -2,6 +2,7 @@ import React from 'react';
import type { TextProps as RNTextProps } from 'react-native';
import { StyleSheet, TextInput } from 'react-native';
import Animated, { useAnimatedProps } from 'react-native-reanimated';
import useDefaultStyles from './Colors';
const styles = StyleSheet.create({
baseStyle: {
@@ -19,6 +20,8 @@ const AnimatedTextInput = Animated.createAnimatedComponent(TextInput);
const ReText = (props: TextProps) => {
const { text, style } = { style: {}, ...props };
const defaultStyles = useDefaultStyles();
const animatedProps = useAnimatedProps(() => {
return {
text: text.value,
@@ -26,12 +29,13 @@ const ReText = (props: TextProps) => {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
} as any;
});
return (
<AnimatedTextInput
underlineColorAndroid="transparent"
editable={false}
value={text.value}
style={[styles.baseStyle, style]}
style={[styles.baseStyle, defaultStyles.text, style]}
{...{ animatedProps }}
/>
);

View File

@@ -1,11 +0,0 @@
import React, { PropsWithChildren } from 'react';
import { Text as BaseText, TextProps } from 'react-native';
import useDefaultStyles from './Colors';
export default function Text(props: PropsWithChildren<TextProps>) {
const defaultStyles = useDefaultStyles();
return (
<BaseText {...props} style={[defaultStyles.text, props.style]} />
);
}

View File

@@ -1,15 +0,0 @@
import styled from 'styled-components/native';
import Text from './Text';
export const Header = styled(Text)`
margin: 0 0 6px 0;
font-size: 28px;
font-weight: 400;
`;
export const SubHeader = styled(Text)`
font-size: 16px;
margin: 0 0 6px 0;
font-weight: 400;
opacity: 0.5;
`;

View File

@@ -0,0 +1,26 @@
import React from 'react';
import styled from 'styled-components/native';
import { Text as BaseText, TextProps } from 'react-native';
import { PropsWithChildren } from 'react';
import useDefaultStyles from './Colors';
export function Text(props: PropsWithChildren<TextProps>) {
const defaultStyles = useDefaultStyles();
return (
<BaseText {...props} style={[defaultStyles.text, props.style]} />
);
}
export const Header = styled(Text)`
margin: 0 0 6px 0;
font-size: 28px;
font-weight: 400;
`;
export const SubHeader = styled(Text)`
font-size: 16px;
margin: 0 0 6px 0;
font-weight: 400;
opacity: 0.5;
`;