diff options
Diffstat (limited to 'app_expo/components/button/button.presets.ts')
-rw-r--r-- | app_expo/components/button/button.presets.ts | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/app_expo/components/button/button.presets.ts b/app_expo/components/button/button.presets.ts new file mode 100644 index 0000000..bc0ad3f --- /dev/null +++ b/app_expo/components/button/button.presets.ts @@ -0,0 +1,58 @@ +import { ViewStyle, TextStyle } from 'react-native' +import { color, spacing } from '../../theme' + +/** + * All text will start off looking like this. + */ +const BASE_VIEW: ViewStyle = { + paddingVertical: spacing[2], + paddingHorizontal: spacing[2], + borderRadius: 4, + justifyContent: 'center', + alignItems: 'center', +} + +const BASE_TEXT: TextStyle = { + paddingHorizontal: spacing[3], +} + +/** + * All the variations of text styling within the app. + * + * You want to customize these to whatever you need in your app. + */ +export const viewPresets: Record<string, ViewStyle> = { + /** + * A smaller piece of secondard information. + */ + primary: { ...BASE_VIEW, backgroundColor: color.palette.orange } as ViewStyle, + + /** + * A button without extras. + */ + link: { + ...BASE_VIEW, + paddingHorizontal: 0, + paddingVertical: 0, + alignItems: 'flex-start', + } as ViewStyle, +} + +export const textPresets: Record<ButtonPresetNames, TextStyle> = { + primary: { + ...BASE_TEXT, + fontSize: 9, + color: color.palette.white, + } as TextStyle, + link: { + ...BASE_TEXT, + color: color.text, + paddingHorizontal: 0, + paddingVertical: 0, + } as TextStyle, +} + +/** + * A list of preset names. + */ +export type ButtonPresetNames = keyof typeof viewPresets |