summaryrefslogtreecommitdiff
path: root/app_expo/components/graph-ui
diff options
context:
space:
mode:
Diffstat (limited to 'app_expo/components/graph-ui')
-rw-r--r--app_expo/components/graph-ui/graph-ui.story.tsx15
-rw-r--r--app_expo/components/graph-ui/graph-ui.tsx48
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>
+ )
+})