You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.3 KiB
93 lines
2.3 KiB
import React from 'react';
|
|
import {Pressable, StyleProp, ViewStyle} from 'react-native';
|
|
import {ColorScheme} from './Design';
|
|
import {Text} from 'react-native';
|
|
|
|
export default function EFullButton(props: {
|
|
text: string;
|
|
active?: boolean;
|
|
onPress?: () => void;
|
|
style?: StyleProp<ViewStyle>;
|
|
}) {
|
|
return (
|
|
<Pressable
|
|
style={[
|
|
{
|
|
width: '100%',
|
|
borderRadius: 4,
|
|
backgroundColor: ColorScheme.frostedfill.black[10],
|
|
paddingHorizontal: 16,
|
|
paddingVertical: 12,
|
|
},
|
|
props.style,
|
|
]}
|
|
onPress={() => props.active && props.onPress && props.onPress()}>
|
|
<Text
|
|
style={{
|
|
color: props.active ? ColorScheme.fill[10] : ColorScheme.fill[40],
|
|
textAlign: 'center',
|
|
textAlignVertical: 'center',
|
|
fontSize: 17,
|
|
fontWeight: '600',
|
|
}}>
|
|
{props.text}
|
|
</Text>
|
|
</Pressable>
|
|
);
|
|
}
|
|
|
|
export function ESmallButton(props: {
|
|
text: string;
|
|
active?: boolean;
|
|
onPress?: () => void;
|
|
style?: StyleProp<ViewStyle>;
|
|
}) {
|
|
return (
|
|
<Pressable
|
|
style={[{
|
|
borderRadius: 4,
|
|
backgroundColor: ColorScheme.frostedfill.white[10],
|
|
paddingHorizontal: 16,
|
|
paddingTop: 12,
|
|
paddingBottom: 13,
|
|
alignSelf: 'flex-start',
|
|
flex: 1,
|
|
},props.style]}
|
|
onPress={() => props.active && props.onPress && props.onPress()}>
|
|
<Text
|
|
style={{
|
|
color: props.active ? ColorScheme.fill[10] : ColorScheme.fill[40],
|
|
fontFamily: 'Pretendard-SemiBold',
|
|
textAlign: 'center',
|
|
textAlignVertical: 'center',
|
|
fontSize: 15,
|
|
flex: 1,
|
|
}}>
|
|
{props.text}
|
|
</Text>
|
|
</Pressable>
|
|
);
|
|
}
|
|
|
|
export function EIconButton(props: {
|
|
children: React.ReactNode,
|
|
active?: boolean;
|
|
onPress?: () => void;
|
|
style?: StyleProp<ViewStyle>;
|
|
}) {
|
|
return (
|
|
<Pressable
|
|
style={[{
|
|
borderRadius: 4,
|
|
backgroundColor: ColorScheme.frostedfill.white[10],
|
|
paddingHorizontal: 8,
|
|
paddingVertical: 8,
|
|
justifyContent: 'center',
|
|
alignContent: 'center',
|
|
height: 40,
|
|
},props.style]}
|
|
onPress={() => props.active && props.onPress && props.onPress()}>
|
|
{props.children}
|
|
</Pressable>
|
|
);
|
|
}
|