summaryrefslogtreecommitdiff
path: root/app_expo/components/local-button/local-button.tsx
blob: c1021a374e03d1077098ea223c9e25919192fd2b (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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>
  )
})