aboutsummaryrefslogtreecommitdiffstats
path: root/components/Menu.jsx
blob: fb82f34dd2d174215432453fe9f3908a4fdaf8f2 (plain) (blame)
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import { StyleSheet, Text, View, Alert } from 'react-native';
import AsyncStorage from '@react-native-async-storage/async-storage';
import { confirmLogout } from '../helpers'

const Menu = ({ session, setSession, setEdit, showError, saveNote }) => {
  const logout = async () => {
    try {
      await AsyncStorage.clear();
      setSession(null)
    } catch(e) {
      showError('Error while logging out')
    }
  }

  return (
    <View style={styles.menu}>
      {
        saveNote
          ? (
            <>
              <Text
                style={styles.menuText}
                onPress={() => setEdit(null)}
              >
                Back
              </Text>
              <Text
                style={styles.menuText}
                onPress={saveNote}
              >
                Save
              </Text>
            </>
          ) : (
            <>
              <Text
                style={styles.menuText}
                onPress={() => setEdit({})}
              >
                New Note
              </Text>
              <Text
                style={styles.menuText}
              >
                Sort
              </Text>
              <Text
                style={styles.menuText}
                onPress={() => confirmLogout({ logout, email: session.email })}
              >
                {session.email}
              </Text>
            </>
          )
      }
    </View>
  )
}

const styles = StyleSheet.create({
  menu: {
    backgroundColor: '#333',
    height: 60,
    width: '100%',
    flexDirection: 'row',
    alignItems: 'flex-end',
    justifyContent: 'space-between',
    padding: 10,
  },
  menuText: {
    fontWeight: 'bold',
    paddingHorizontal: 15,
    color: 'white',
  },
});

export default Menu