feat: registrasion works

This commit is contained in:
PolishPigeon 2022-06-15 07:35:19 +02:00
parent 93047165d3
commit 736d9bb3be
95 changed files with 1380 additions and 28026 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"ast":null,"code":"var _jsxFileName = \"/home/kuchy/Zlew/Studia/NieNotatki/Projekty/nie_inzynierka/Programowanie/egui_lab1_krzysztof_rudnicki/lab3/front/src/components/pages/home/Home.jsx\",\n _s = $RefreshSig$();\n\nimport React, { useEffect, useState } from \"react\";\nimport Blogs from \"../../blogs/Blogs\";\nimport axios from \"axios\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function Home() {\n _s();\n\n const [blogEntries, setBlogEntires] = useState([]);\n useEffect(() => {\n const fetchEntries = async () => {\n console.log(\"Fetching: \");\n const response = await axios.get(\"/entries\");\n setBlogEntires(response.data);\n };\n\n fetchEntries();\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(Blogs, {\n entries: blogEntries\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 14\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 9\n }, this);\n}\n\n_s(Home, \"yti199pok4XmZHclVyomQs5sHLo=\");\n\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"names":["React","useEffect","useState","Blogs","axios","Home","blogEntries","setBlogEntires","fetchEntries","console","log","response","get","data"],"sources":["/home/kuchy/Zlew/Studia/NieNotatki/Projekty/nie_inzynierka/Programowanie/egui_lab1_krzysztof_rudnicki/lab3/front/src/components/pages/home/Home.jsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport Blogs from \"../../blogs/Blogs\";\nimport axios from \"axios\"\n\nexport default function Home() {\n const [blogEntries, setBlogEntires] = useState([]);\n \n useEffect(()=>{\n const fetchEntries = async () => {\n console.log(\"Fetching: \");\n const response = await axios.get(\"/entries\");\n setBlogEntires(response.data);\n }\n fetchEntries();\n },[])\n return (\n <div>\n\n <Blogs entries={blogEntries} /> \n </div> \n )\n}"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,EAA2BC,QAA3B,QAA2C,OAA3C;AAEA,OAAOC,KAAP,MAAkB,mBAAlB;AACA,OAAOC,KAAP,MAAkB,OAAlB;;AAEA,eAAe,SAASC,IAAT,GAAgB;EAAA;;EAC3B,MAAM,CAACC,WAAD,EAAcC,cAAd,IAAgCL,QAAQ,CAAC,EAAD,CAA9C;EAEAD,SAAS,CAAC,MAAI;IACV,MAAMO,YAAY,GAAG,YAAY;MAC7BC,OAAO,CAACC,GAAR,CAAY,YAAZ;MACA,MAAMC,QAAQ,GAAG,MAAMP,KAAK,CAACQ,GAAN,CAAU,UAAV,CAAvB;MACAL,cAAc,CAACI,QAAQ,CAACE,IAAV,CAAd;IACH,CAJD;;IAKAL,YAAY;EACf,CAPQ,EAOP,EAPO,CAAT;EAQA,oBACI;IAAA,uBAEK,QAAC,KAAD;MAAO,OAAO,EAAEF;IAAhB;MAAA;MAAA;MAAA;IAAA;EAFL;IAAA;IAAA;IAAA;EAAA,QADJ;AAMH;;GAjBuBD,I;;KAAAA,I"},"metadata":{},"sourceType":"module"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"ast":null,"code":"var _jsxFileName = \"/home/kuchy/Zlew/Studia/NieNotatki/Projekty/nie_inzynierka/Programowanie/egui_lab1_krzysztof_rudnicki/lab3/front/src/components/pages/home/Home.jsx\",\n _s = $RefreshSig$();\n\nimport React, { useEffect, useState } from \"react\";\nimport Blogs from \"../../blogs/Blogs\";\nimport Register from \"../Register/Register\";\nimport axios from \"axios\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function Home() {\n _s();\n\n const [blogEntries, setBlogEntires] = useState([]);\n useEffect(() => {\n const fetchEntries = async () => {\n console.log(\"Fetching: \");\n const response = await axios.post(\"/entries\");\n setBlogEntires(response.data);\n };\n\n fetchEntries();\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(Register, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 14\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this);\n}\n\n_s(Home, \"yti199pok4XmZHclVyomQs5sHLo=\");\n\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"names":["React","useEffect","useState","Blogs","Register","axios","Home","blogEntries","setBlogEntires","fetchEntries","console","log","response","post","data"],"sources":["/home/kuchy/Zlew/Studia/NieNotatki/Projekty/nie_inzynierka/Programowanie/egui_lab1_krzysztof_rudnicki/lab3/front/src/components/pages/home/Home.jsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport Blogs from \"../../blogs/Blogs\";\nimport Register from \"../Register/Register\";\nimport axios from \"axios\"\n\nexport default function Home() {\n const [blogEntries, setBlogEntires] = useState([]);\n \n useEffect(()=>{\n const fetchEntries = async () => {\n console.log(\"Fetching: \");\n const response = await axios.post(\"/entries\");\n setBlogEntires(response.data);\n }\n fetchEntries();\n },[])\n return (\n <div>\n\n <Register></Register>\n </div> \n )\n}"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,EAA2BC,QAA3B,QAA2C,OAA3C;AAEA,OAAOC,KAAP,MAAkB,mBAAlB;AACA,OAAOC,QAAP,MAAqB,sBAArB;AACA,OAAOC,KAAP,MAAkB,OAAlB;;AAEA,eAAe,SAASC,IAAT,GAAgB;EAAA;;EAC3B,MAAM,CAACC,WAAD,EAAcC,cAAd,IAAgCN,QAAQ,CAAC,EAAD,CAA9C;EAEAD,SAAS,CAAC,MAAI;IACV,MAAMQ,YAAY,GAAG,YAAY;MAC7BC,OAAO,CAACC,GAAR,CAAY,YAAZ;MACA,MAAMC,QAAQ,GAAG,MAAMP,KAAK,CAACQ,IAAN,CAAW,UAAX,CAAvB;MACAL,cAAc,CAACI,QAAQ,CAACE,IAAV,CAAd;IACH,CAJD;;IAKAL,YAAY;EACf,CAPQ,EAOP,EAPO,CAAT;EAQA,oBACI;IAAA,uBAEK,QAAC,QAAD;MAAA;MAAA;MAAA;IAAA;EAFL;IAAA;IAAA;IAAA;EAAA,QADJ;AAMH;;GAjBuBH,I;;KAAAA,I"},"metadata":{},"sourceType":"module"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"ast":null,"code":"var _jsxFileName = \"/home/kuchy/Zlew/Studia/NieNotatki/Projekty/nie_inzynierka/Programowanie/egui_lab1_krzysztof_rudnicki/lab3/front/src/components/pages/home/Home.jsx\",\n _s = $RefreshSig$();\n\nimport React, { useEffect, useState } from \"react\";\nimport Blogs from \"../../blogs/Blogs\";\nimport Register from \"../Register/Register\";\nimport axios from \"axios\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function Home() {\n _s();\n\n const [blogEntries, setBlogEntires] = useState([]);\n useEffect(() => {\n const fetchEntries = async () => {\n console.log(\"Fetching: \");\n const response = await axios.get(\"/entries\");\n setBlogEntires(response.data);\n };\n\n fetchEntries();\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(Register, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 14\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this);\n}\n\n_s(Home, \"yti199pok4XmZHclVyomQs5sHLo=\");\n\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"names":["React","useEffect","useState","Blogs","Register","axios","Home","blogEntries","setBlogEntires","fetchEntries","console","log","response","get","data"],"sources":["/home/kuchy/Zlew/Studia/NieNotatki/Projekty/nie_inzynierka/Programowanie/egui_lab1_krzysztof_rudnicki/lab3/front/src/components/pages/home/Home.jsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport Blogs from \"../../blogs/Blogs\";\nimport Register from \"../Register/Register\";\nimport axios from \"axios\"\n\nexport default function Home() {\n const [blogEntries, setBlogEntires] = useState([]);\n \n useEffect(()=>{\n const fetchEntries = async () => {\n console.log(\"Fetching: \");\n const response = await axios.get(\"/entries\");\n setBlogEntires(response.data);\n }\n fetchEntries();\n },[])\n return (\n <div>\n\n <Register></Register>\n </div> \n )\n}"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,EAA2BC,QAA3B,QAA2C,OAA3C;AAEA,OAAOC,KAAP,MAAkB,mBAAlB;AACA,OAAOC,QAAP,MAAqB,sBAArB;AACA,OAAOC,KAAP,MAAkB,OAAlB;;AAEA,eAAe,SAASC,IAAT,GAAgB;EAAA;;EAC3B,MAAM,CAACC,WAAD,EAAcC,cAAd,IAAgCN,QAAQ,CAAC,EAAD,CAA9C;EAEAD,SAAS,CAAC,MAAI;IACV,MAAMQ,YAAY,GAAG,YAAY;MAC7BC,OAAO,CAACC,GAAR,CAAY,YAAZ;MACA,MAAMC,QAAQ,GAAG,MAAMP,KAAK,CAACQ,GAAN,CAAU,UAAV,CAAvB;MACAL,cAAc,CAACI,QAAQ,CAACE,IAAV,CAAd;IACH,CAJD;;IAKAL,YAAY;EACf,CAPQ,EAOP,EAPO,CAAT;EAQA,oBACI;IAAA,uBAEK,QAAC,QAAD;MAAA;MAAA;MAAA;IAAA;EAFL;IAAA;IAAA;IAAA;EAAA,QADJ;AAMH;;GAjBuBH,I;;KAAAA,I"},"metadata":{},"sourceType":"module"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"ast":null,"code":"var _jsxFileName = \"/home/kuchy/Zlew/Studia/NieNotatki/Projekty/nie_inzynierka/Programowanie/egui_lab1_krzysztof_rudnicki/lab3/front/src/components/pages/home/Home.jsx\",\n _s = $RefreshSig$();\n\nimport React, { useEffect, useState } from \"react\";\nimport Blogs from \"../../blogs/Blogs\";\nimport axios from \"axios\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function Home() {\n _s();\n\n const [blogEntries, setBlogEntires] = useState([]);\n useEffect(() => {\n const fetchEntries = async () => {\n console.log(\"Fetching: \");\n const response = await axios.get(\"/entries\");\n setBlogEntires(response.data);\n };\n\n fetchEntries();\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 9\n }, this);\n}\n\n_s(Home, \"yti199pok4XmZHclVyomQs5sHLo=\");\n\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"names":["React","useEffect","useState","Blogs","axios","Home","blogEntries","setBlogEntires","fetchEntries","console","log","response","get","data"],"sources":["/home/kuchy/Zlew/Studia/NieNotatki/Projekty/nie_inzynierka/Programowanie/egui_lab1_krzysztof_rudnicki/lab3/front/src/components/pages/home/Home.jsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport Blogs from \"../../blogs/Blogs\";\nimport axios from \"axios\"\n\nexport default function Home() {\n const [blogEntries, setBlogEntires] = useState([]);\n \n useEffect(()=>{\n const fetchEntries = async () => {\n console.log(\"Fetching: \");\n const response = await axios.get(\"/entries\");\n setBlogEntires(response.data);\n }\n fetchEntries();\n },[])\n return (\n <div>\n\n \n </div> \n )\n}"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,EAA2BC,QAA3B,QAA2C,OAA3C;AAEA,OAAOC,KAAP,MAAkB,mBAAlB;AACA,OAAOC,KAAP,MAAkB,OAAlB;;AAEA,eAAe,SAASC,IAAT,GAAgB;EAAA;;EAC3B,MAAM,CAACC,WAAD,EAAcC,cAAd,IAAgCL,QAAQ,CAAC,EAAD,CAA9C;EAEAD,SAAS,CAAC,MAAI;IACV,MAAMO,YAAY,GAAG,YAAY;MAC7BC,OAAO,CAACC,GAAR,CAAY,YAAZ;MACA,MAAMC,QAAQ,GAAG,MAAMP,KAAK,CAACQ,GAAN,CAAU,UAAV,CAAvB;MACAL,cAAc,CAACI,QAAQ,CAACE,IAAV,CAAd;IACH,CAJD;;IAKAL,YAAY;EACf,CAPQ,EAOP,EAPO,CAAT;EAQA,oBACI;IAAA;IAAA;IAAA;EAAA,QADJ;AAMH;;GAjBuBH,I;;KAAAA,I"},"metadata":{},"sourceType":"module"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"ast":null,"code":"var _jsxFileName = \"/home/kuchy/Zlew/Studia/NieNotatki/Projekty/nie_inzynierka/Programowanie/egui_lab1_krzysztof_rudnicki/lab3/front/src/components/pages/home/Home.jsx\",\n _s = $RefreshSig$();\n\nimport React, { useEffect, useState } from \"react\";\nimport Blogs from \"../../blogs/Blogs\";\nimport axios from \"axios\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function Home() {\n _s();\n\n const [blogEntries, setBlogEntires] = useState([]);\n useEffect(() => {\n const fetchEntries = async () => {\n console.log(\"Fetching: \");\n const response = await axios.get(\"/entries\");\n setBlogEntires(response.data);\n };\n\n fetchEntries();\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(Register, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 14\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 9\n }, this);\n}\n\n_s(Home, \"yti199pok4XmZHclVyomQs5sHLo=\");\n\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"names":["React","useEffect","useState","Blogs","axios","Home","blogEntries","setBlogEntires","fetchEntries","console","log","response","get","data"],"sources":["/home/kuchy/Zlew/Studia/NieNotatki/Projekty/nie_inzynierka/Programowanie/egui_lab1_krzysztof_rudnicki/lab3/front/src/components/pages/home/Home.jsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport Blogs from \"../../blogs/Blogs\";\nimport axios from \"axios\"\n\nexport default function Home() {\n const [blogEntries, setBlogEntires] = useState([]);\n \n useEffect(()=>{\n const fetchEntries = async () => {\n console.log(\"Fetching: \");\n const response = await axios.get(\"/entries\");\n setBlogEntires(response.data);\n }\n fetchEntries();\n },[])\n return (\n <div>\n\n <Register></Register>\n </div> \n )\n}"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,EAA2BC,QAA3B,QAA2C,OAA3C;AAEA,OAAOC,KAAP,MAAkB,mBAAlB;AACA,OAAOC,KAAP,MAAkB,OAAlB;;AAEA,eAAe,SAASC,IAAT,GAAgB;EAAA;;EAC3B,MAAM,CAACC,WAAD,EAAcC,cAAd,IAAgCL,QAAQ,CAAC,EAAD,CAA9C;EAEAD,SAAS,CAAC,MAAI;IACV,MAAMO,YAAY,GAAG,YAAY;MAC7BC,OAAO,CAACC,GAAR,CAAY,YAAZ;MACA,MAAMC,QAAQ,GAAG,MAAMP,KAAK,CAACQ,GAAN,CAAU,UAAV,CAAvB;MACAL,cAAc,CAACI,QAAQ,CAACE,IAAV,CAAd;IACH,CAJD;;IAKAL,YAAY;EACf,CAPQ,EAOP,EAPO,CAAT;EAQA,oBACI;IAAA,uBAEK,QAAC,QAAD;MAAA;MAAA;MAAA;IAAA;EAFL;IAAA;IAAA;IAAA;EAAA,QADJ;AAMH;;GAjBuBH,I;;KAAAA,I"},"metadata":{},"sourceType":"module"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -8,6 +8,7 @@
"@testing-library/user-event": "^13.5.0",
"axios": "^0.27.2",
"bootstrap": "^5.1.3",
"http-proxy-middleware": "^2.0.6",
"react": "^18.2.0",
"react-bootstrap": "^2.4.0",
"react-dom": "^18.2.0",
@ -21,6 +22,7 @@
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"proxy": "http://localhost:5000/api/",
"eslintConfig": {
"extends": [
"react-app",
@ -38,5 +40,5 @@
"last 1 firefox version",
"last 1 safari version"
]
},"proxy": "http://localhost:5000/api/"
}
}

View File

@ -18,7 +18,7 @@ function App() {
<TopBar/>
<Routes>
<Route path="/" element={<Home />} />
<Route exact path="login" element={logged ? <Home/> :<Login />}/>
<Route exact path="login" element={logged ? <Home/> :<Login />}/>
<Route exact path="/register" element={logged ? <Home/> : <Register />} />
<Route exact path="createEntry" element={logged ? <CreateEntry /> : <Home/> } />
<Route path="blogEntry/:entryId" element={<BlogEntry />} />

View File

@ -10,19 +10,31 @@ export default function Register() {
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
const [blogTitle, setBlogTitle] = useState("");
const [error, setError] = useState(false);
const sendRegisterInfo = async (e) => {
const handleSubmit = async (e) => {
e.preventDefault();
const response = await axios.post("auth/register", {
setError(false);
try{
const response = await axios.post("http://localhost:5000/api/auth/register", {
login,
email,
password,
blogTitle,
});
response.data && window.location.replace("/login");
}catch(err)
{
setError(true);
if(err.status === 498) alert("THIS EMAIL ALREADY EXISTS");
if(err.status === 499) alert("THIS LOGIN ALREADY EXISTS");
}
}
return (
<Form onSubmit={sendRegisterInfo}>
<div>
{error ? <p class="text-danger">"SOMETHING WENT WRONG" </p>: ""}
<form onSubmit={handleSubmit}>
<Form.Group className="mb-3" controlId="formBasicEmail">
<Form.Label>Email address</Form.Label>
<Form.Control type="email" placeholder="Enter email"
@ -53,6 +65,7 @@ export default function Register() {
<Button variant="primary" type="submit">
Submit
</Button>
</Form>
</form>
</div>
);
}

View File

@ -17,7 +17,7 @@ export default function Home() {
return (
<div>
<Blogs entries={blogEntries} />
<Blogs entries={blogEntries} />
</div>
)
}

View File

View File

@ -0,0 +1,13 @@
import {createContext} from "react";
const INITIAL_STATE = {
user:null,
isFetching:false,
error:false
};
export const Context = createContext(INITIAL_STATE);
export const ContextProvider = ({children}) => {
}

View File