-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathAddButton.js
74 lines (64 loc) · 3.1 KB
/
AddButton.js
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
import React,{useState} from "react"
import {Button} from 'react-native-elements'
import ModalDropdown from 'react-native-modal-dropdown'
import {TextInput,View,StyleSheet,ScrollView} from "react-native"
import categories from "./categories"
import modes from "./modes"
export default function AddButton(props){
const [transactionDescription,setTransactionDescription] = useState("")
const [transactionAmount,setTransactionAmount] = useState("0")
// const [transactionAmount,setTransactionAmount] = useState(0)
const [categoryIndex,setCategory] = useState(0)
const [modeIndex,setMode] = useState(0)
const transAmtHandler = (transAmt)=>{
// setTransactionAmount(parseFloat(transAmt))
setTransactionAmount(transAmt)
}
const transDescHandler= (transDesc)=>{
setTransactionDescription(transDesc)
}
const categoryDropdownHandler = (selectedIndex)=>{
setCategory(selectedIndex)
}
const modeDropdownHandler = (selectedMode)=>{
console.log(selectedMode)
setMode(selectedMode)
}
const addButtonPressHandler = ()=>{
props.onAddExpense({name: transactionDescription,amount: -parseFloat(transactionAmount),category: categoryIndex, mode:modeIndex})
setTransactionAmount("")
setTransactionDescription("")
setCategory(-1)
setMode(-1)
}
return (
<ScrollView>
<View style={styles.addButtonView}>
<View style={{width:"100%",paddingRight:20,paddingLeft:20,paddingTop:60,flexDirection:"column"}}>
<TextInput style={{borderBottomWidth:2,borderBottomColor:"#ED6D93",margin:10,height:"20%",color:"white"}} placeholder="Transaction Description" value= {transactionDescription} onChangeText={transDescHandler}>
</TextInput>
<ModalDropdown defaultIndex={categoryIndex} onSelect={(index)=>categoryDropdownHandler(index)} dropdownTextStyle={{fontSize: 20}} dropdownStyle={{width:"80%"}} textStyle={{color:"white",borderBottomWidth:2,fontSize:15,margin:10,borderBottomColor:"#ED6D93"}} style={{marginTop:10,height:"20%"}} options={categories} />
<ModalDropdown defaultIndex={modeIndex} onSelect={index=>modeDropdownHandler(index)} dropdownTextStyle={{fontSize: 20}} dropdownStyle={{width:"80%"}} textStyle={{color:"white",borderBottomWidth:2,fontSize:15,margin:10,borderBottomColor:"#ED6D93"}} style={{marginTop:10,height:"30%"}} options={modes} />
</View>
<View style={{width:"60%",alignItems:"center",paddingBottom:30, flexDirection:"row",paddingRight:100}}>
<TextInput style={{borderBottomWidth:2,borderBottomColor:"#ED6D93",margin:10,width:"100%",height:"30%",color:"white"}} keyboardType={'phone-pad'} placeholder="Amount" value={transactionAmount} onChangeText={transAmtHandler}>
</TextInput>
<Button titleStyle={{
justifyContent:"center",
alignItems:"center",
fontSize: 35
}} title="+" onPress={addButtonPressHandler} buttonStyle={{backgroundColor: "#ED6D93",width:60,height:60,marginBottom:20,borderRadius: 50}}>
</Button>
</View>
</View>
</ScrollView>
)
}
const styles= StyleSheet.create({
addButtonView:{
height:"100%",
justifyContent:"center",
alignItems:"center",
backgroundColor:"#010A43"
}
})