diff options
Diffstat (limited to 'app_expo/components/graph-ui')
-rw-r--r-- | app_expo/components/graph-ui/graph-ui.story.tsx | 15 | ||||
-rw-r--r-- | app_expo/components/graph-ui/graph-ui.tsx | 48 |
2 files changed, 63 insertions, 0 deletions
diff --git a/app_expo/components/graph-ui/graph-ui.story.tsx b/app_expo/components/graph-ui/graph-ui.story.tsx new file mode 100644 index 0000000..7564c93 --- /dev/null +++ b/app_expo/components/graph-ui/graph-ui.story.tsx @@ -0,0 +1,15 @@ +import * as React from 'react' +import { storiesOf } from '@storybook/react-native' +import { StoryScreen, Story, UseCase } from '../../../storybook/views' +import { color } from '../../theme' +import { GraphUi } from './graph-ui' + +storiesOf('GraphUi', module) + .addDecorator((fn) => <StoryScreen>{fn()}</StoryScreen>) + .add('Style Presets', () => ( + <Story> + <UseCase text="Primary" usage="The primary."> + <GraphUi style={{ backgroundColor: color.error }} /> + </UseCase> + </Story> + )) diff --git a/app_expo/components/graph-ui/graph-ui.tsx b/app_expo/components/graph-ui/graph-ui.tsx new file mode 100644 index 0000000..36a675a --- /dev/null +++ b/app_expo/components/graph-ui/graph-ui.tsx @@ -0,0 +1,48 @@ +import * as React from 'react' +import { StyleProp, TextStyle, View, ViewStyle } from 'react-native' +import { observer } from 'mobx-react-lite' +import { color, typography } from '../../theme' +import { LocalButton, Text, Tweaks } from '../' +import { flatten } from 'ramda' + +const CONTAINER: ViewStyle = { + justifyContent: 'center', +} + +const TEXT: TextStyle = { + fontFamily: typography.primary, + fontSize: 14, + color: color.primary, +} + +export interface GraphUiProps { + /** + * An optional style override useful for padding & margin. + */ + style?: StyleProp<ViewStyle> + physics + setPhysics +} + +/** + * Describe your component here + */ +export const GraphUi = observer(function GraphUi(props: GraphUiProps) { + const { style, physics, setPhysics } = props + const styles = flatten([CONTAINER, style]) + + return ( + <View + style={{ + height: '100%', + width: '100%', + borderStyle: 'solid', + borderWidth: 5, + position: 'relative', + }} + > + <Tweaks physics={physics} setPhysics={setPhysics} /> + <LocalButton physics={physics} setPhysics={setPhysics} /> + </View> + ) +}) |