summaryrefslogtreecommitdiff
path: root/app/components/header
diff options
context:
space:
mode:
authorKirill Rogovoy <[email protected]>2021-07-20 21:24:52 +0300
committerKirill Rogovoy <[email protected]>2021-07-20 21:24:52 +0300
commit5f4611d65e40eae3ca6191a15f68d69ea5a1c4cb (patch)
tree273dfc086444533d86d580961c92ba8d14781a67 /app/components/header
parentf0bf4e7afdcd8b02a62be45ab3e7d047ed865a79 (diff)
WIP
Diffstat (limited to 'app/components/header')
-rw-r--r--app/components/header/header.props.ts45
-rw-r--r--app/components/header/header.story.tsx43
-rw-r--r--app/components/header/header.tsx61
3 files changed, 0 insertions, 149 deletions
diff --git a/app/components/header/header.props.ts b/app/components/header/header.props.ts
deleted file mode 100644
index f142656..0000000
--- a/app/components/header/header.props.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { StyleProp, TextStyle, ViewStyle } from 'react-native'
-import { IconTypes } from '../icon/icons'
-import { TxKeyPath } from '../../i18n'
-
-export interface HeaderProps {
- /**
- * Main header, e.g. POWERED BY IGNITE
- */
- headerTx?: TxKeyPath
-
- /**
- * header non-i18n
- */
- headerText?: string
-
- /**
- * Icon that should appear on the left
- */
- leftIcon?: IconTypes
-
- /**
- * What happens when you press the left icon
- */
- onLeftPress?(): void
-
- /**
- * Icon that should appear on the right
- */
- rightIcon?: IconTypes
-
- /**
- * What happens when you press the right icon
- */
- onRightPress?(): void
-
- /**
- * Container style overrides.
- */
- style?: StyleProp<ViewStyle>
-
- /**
- * Title style overrides.
- */
- titleStyle?: StyleProp<TextStyle>
-}
diff --git a/app/components/header/header.story.tsx b/app/components/header/header.story.tsx
deleted file mode 100644
index db87b89..0000000
--- a/app/components/header/header.story.tsx
+++ /dev/null
@@ -1,43 +0,0 @@
-import * as React from 'react'
-import { View, Alert } from 'react-native'
-import { storiesOf } from '@storybook/react-native'
-import { StoryScreen, Story, UseCase } from '../../../storybook/views'
-import { Header } from './header'
-import { color } from '../../theme'
-
-declare let module
-
-const VIEWSTYLE = {
- flex: 1,
- backgroundColor: color.storybookDarkBg,
-}
-
-storiesOf('Header', module)
- .addDecorator((fn) => <StoryScreen>{fn()}</StoryScreen>)
- .add('Behavior', () => (
- <Story>
- <UseCase noPad text="default" usage="The default usage">
- <View style={VIEWSTYLE}>
- <Header headerTx="demoScreen.howTo" />
- </View>
- </UseCase>
- <UseCase noPad text="leftIcon" usage="A left nav icon">
- <View style={VIEWSTYLE}>
- <Header
- headerTx="demoScreen.howTo"
- leftIcon="back"
- onLeftPress={() => Alert.alert('left nav')}
- />
- </View>
- </UseCase>
- <UseCase noPad text="rightIcon" usage="A right nav icon">
- <View style={VIEWSTYLE}>
- <Header
- headerTx="demoScreen.howTo"
- rightIcon="bullet"
- onRightPress={() => Alert.alert('right nav')}
- />
- </View>
- </UseCase>
- </Story>
- ))
diff --git a/app/components/header/header.tsx b/app/components/header/header.tsx
deleted file mode 100644
index 25e0914..0000000
--- a/app/components/header/header.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-import React from 'react'
-import { View, ViewStyle, TextStyle } from 'react-native'
-import { HeaderProps } from './header.props'
-import { Button } from '../button/button'
-import { Text } from '../text/text'
-import { Icon } from '../icon/icon'
-import { spacing } from '../../theme'
-import { translate } from '../../i18n/'
-
-// static styles
-const ROOT: ViewStyle = {
- flexDirection: 'row',
- paddingHorizontal: spacing[4],
- alignItems: 'center',
- paddingTop: spacing[5],
- paddingBottom: spacing[5],
- justifyContent: 'flex-start',
-}
-const TITLE: TextStyle = { textAlign: 'center' }
-const TITLE_MIDDLE: ViewStyle = { flex: 1, justifyContent: 'center' }
-const LEFT: ViewStyle = { width: 32 }
-const RIGHT: ViewStyle = { width: 32 }
-
-/**
- * Header that appears on many screens. Will hold navigation buttons and screen title.
- */
-export function Header(props: HeaderProps) {
- const {
- onLeftPress,
- onRightPress,
- rightIcon,
- leftIcon,
- headerText,
- headerTx,
- style,
- titleStyle,
- } = props
- const header = headerText || (headerTx && translate(headerTx)) || ''
-
- return (
- <View style={[ROOT, style]}>
- {leftIcon ? (
- <Button preset="link" onPress={onLeftPress}>
- <Icon icon={leftIcon} />
- </Button>
- ) : (
- <View style={LEFT} />
- )}
- <View style={TITLE_MIDDLE}>
- <Text style={[TITLE, titleStyle]} text={header} />
- </View>
- {rightIcon ? (
- <Button preset="link" onPress={onRightPress}>
- <Icon icon={rightIcon} />
- </Button>
- ) : (
- <View style={RIGHT} />
- )}
- </View>
- )
-}