diff options
Diffstat (limited to 'app/components')
-rw-r--r-- | app/components/graph-ui/graph-ui.story.tsx | 15 | ||||
-rw-r--r-- | app/components/graph-ui/graph-ui.tsx | 40 | ||||
-rw-r--r-- | app/components/local-button/local-button.story.tsx | 15 | ||||
-rw-r--r-- | app/components/local-button/local-button.tsx | 45 |
4 files changed, 115 insertions, 0 deletions
diff --git a/app/components/graph-ui/graph-ui.story.tsx b/app/components/graph-ui/graph-ui.story.tsx new file mode 100644 index 0000000..71151c8 --- /dev/null +++ b/app/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/components/graph-ui/graph-ui.tsx b/app/components/graph-ui/graph-ui.tsx new file mode 100644 index 0000000..9ea792a --- /dev/null +++ b/app/components/graph-ui/graph-ui.tsx @@ -0,0 +1,40 @@ +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> + ) +}) diff --git a/app/components/local-button/local-button.story.tsx b/app/components/local-button/local-button.story.tsx new file mode 100644 index 0000000..22b2f0e --- /dev/null +++ b/app/components/local-button/local-button.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 { LocalButton } from "./local-button" + +storiesOf("LocalButton", module) + .addDecorator((fn) => <StoryScreen>{fn()}</StoryScreen>) + .add("Style Presets", () => ( + <Story> + <UseCase text="Primary" usage="The primary."> + <LocalButton style={{ backgroundColor: color.error }} /> + </UseCase> + </Story> + )) diff --git a/app/components/local-button/local-button.tsx b/app/components/local-button/local-button.tsx new file mode 100644 index 0000000..6507b76 --- /dev/null +++ b/app/components/local-button/local-button.tsx @@ -0,0 +1,45 @@ +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 { Text } from "../" +import { flatten } from "ramda" +import Icon from "react-native-vector-icons/MaterialCommunityIcons" + +const CONTAINER: ViewStyle = { + justifyContent: "center", +} + +const TEXT: TextStyle = { + fontFamily: typography.primary, + fontSize: 14, + color: color.primary, +} + +export interface LocalButtonProps { + /** + * An optional style override useful for padding & margin. + */ + style?: StyleProp<ViewStyle> + local + setLocal +} + +/** + * Describe your component here + */ +export const LocalButton = observer(function LocalButton(props: LocalButtonProps) { + const { style, local, setLocal } = props + const styles = flatten([CONTAINER, style]) + + return ( + <View style={[style, { height: 50, width: 150}]}> + <Icon.Button name={!local ? "graph-outline": "graph"} backgroundColor="#a991f1" + onPress={()=>{setLocal(!local)}} + size={30} + style={{textAlign: 'center'}}> + {!local ? "Global Graph" : "Local Graph"} + </Icon.Button> + </View> + ) +}) |