Files
jrshikoku/components/atom/BigButton.tsx
harukin-expo-dev-env 10df37d0a2 feat: Expo SDK 52→53 upgrade + full dark mode support
- Upgrade Expo SDK 52→53 (React 18→19, RN 0.76→0.79)
- Remove deprecated packages (native-base, react-native-elements)
- Migrate to @rneui/themed 5.0.0 + modular vector icons
- Fix breaking changes: defaultProps, BackHandler, notifications, key props
- Add Babel plugin for font scaling (replaces Text.defaultProps)
- Configure expo-font for native font preloading
- Add complete dark mode theme system (lib/theme/)
  - AppThemeProvider + useThemeColors hook
  - Light/dark/fixed color token definitions
  - Migrate ~60 files across all screens to use theme colors
- Set userInterfaceStyle to "automatic" for system dark mode
2026-03-17 22:19:46 +00:00

44 lines
989 B
TypeScript

import React, { FC } from "react";
import { useThemeColors } from "@/lib/theme";
import {
Text,
TextStyle,
TouchableOpacity,
View,
ViewStyle,
} from "react-native";
type Props = {
onPress: () => void;
string: string;
style?: ViewStyle;
tS?: TextStyle;
children?: React.ReactNode;
};
export const BigButton: FC<Props> = (props) => {
const { fixed } = useThemeColors();
const { onPress, string, style, tS, children } = props;
return (
<TouchableOpacity
style={{
padding: 10,
flexDirection: "row",
borderColor: fixed.textOnPrimary,
borderWidth: 1,
margin: 10,
borderRadius: 5,
alignItems: "center",
...style,
}}
onPress={onPress}
>
<View style={{ flex: 1 }} />
{children}
<Text style={{ fontSize: 25, fontWeight: "bold", color: fixed.textOnPrimary, ...tS }}>
{string}
</Text>
<View style={{ flex: 1 }} />
</TouchableOpacity>
);
};