-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathApp.js
59 lines (55 loc) · 1.83 KB
/
App.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
import React, { useState } from "react";
import IncomeList from "./components/income/IncomeList";
import IncomeContextProvider from "./components/income/IncomeContext";
import AddCoinForm from "./AddCoinForm";
import { Box, Button, Card, CssBaseline, Typography } from "@mui/material";
import { Container } from "@mui/system";
import { FormModal } from "./components/FormModal";
import { Add } from "@mui/icons-material";
const App = () => {
const [isFormOpen, setIsFormOpen] = useState(false);
return (
<Box
sx={{
backgroundColor: "#FBFBFF",
minHeight: "100vh",
minWidth: { sx: "100vw", md: "70vw" },
}}
>
<CssBaseline />
<Container sx={{minHeight:'100vh', display:'flex', flexDirection:'column'}}>
<Typography variant="h1" align="center" mb={"4rem"} pt={"3rem"}
sx={{fontSize: { xs: "3rem", md: "5rem", } }} >
Coin Tracker
</Typography>
<IncomeContextProvider>
<Box component="main">
{isFormOpen ? (
<FormModal
isFormOpen={isFormOpen}
handleClose={() => setIsFormOpen(false)}
>
<AddCoinForm setIsFormOpen={setIsFormOpen} />
</FormModal>
) : (
<Box sx={{ display: "flex", flexDirection: "column" }}>
<Card>
<IncomeList />
</Card>
<Button
variant="contained"
onClick={() => setIsFormOpen(true)}
sx={{ margin: "15px auto", alignItems: "cen" }}
startIcon={<Add />}
>
Add Income or Expense
</Button>
</Box>
)}
</Box>
</IncomeContextProvider>
</Container>
</Box>
);
};
export default App;