diff --git a/src/App.js b/src/App.js index 35ab4e5..26a6b1d 100644 --- a/src/App.js +++ b/src/App.js @@ -7,32 +7,31 @@ import Pages from './components/Pages'; import Left from './components/patchs/Left'; const cookie = new Cookies(); -export default function App() { +export default function App() { return ( -
- {/* */} -
-
-
-
- + +
+ {/* */} +
+
+
+
+ +
+
+
+ +
+
+ {/* {rightMenu} */}
-
- +
+ {/* {popup} */}
-
- {/* {rightMenu} */} -
-
-
- {/* {popup} */}
-
+
); }; - - // - // \ No newline at end of file diff --git a/src/components/Pages.jsx b/src/components/Pages.jsx index ecf15ea..71d5c2a 100644 --- a/src/components/Pages.jsx +++ b/src/components/Pages.jsx @@ -4,6 +4,7 @@ import Books from './books/pages/Books'; import Book from './books/pages/Book'; import Publish from './quotes/pages/Publish'; import Page from './home/Page'; +import Login from './logins/Login'; export default function Pages() { return ( @@ -12,6 +13,7 @@ export default function Pages() { } /> } /> }/> + } /> ); }; diff --git a/src/components/books/pages/Books.jsx b/src/components/books/pages/Books.jsx index 96d2658..6b38dd8 100644 --- a/src/components/books/pages/Books.jsx +++ b/src/components/books/pages/Books.jsx @@ -1,6 +1,7 @@ import React, { useEffect, useState } from 'react' import { FetchPOST } from '../../../middlewares/Fetch'; import { Link } from 'react-router-dom'; +import Cookies from 'universal-cookie'; export default function Books() { const [loading, setLoading] = useState(true); diff --git a/src/components/logins/Login.jsx b/src/components/logins/Login.jsx new file mode 100644 index 0000000..526bde9 --- /dev/null +++ b/src/components/logins/Login.jsx @@ -0,0 +1,29 @@ +import React, { useContext, useEffect, useState } from 'react' +import { FetchPOST } from '../../middlewares/Fetch' +import { GSContext } from '../../middlewares/GlobalStore'; +import { checkLogin } from '../../middlewares/logins/Check'; + +export default function Login() { + const {data} = useContext(GSContext); + const [secure, setSecure] = useState(true); + + useEffect(() => { + checkLogin().then(res => { + setSecure(res.secure); + }); + },[secure]); + + if(secure === true){ + return( +
+

Zaten giriş yaptınız.

+
+ ) + }; + + return ( + + ); +}; \ No newline at end of file diff --git a/src/components/patchs/Left.jsx b/src/components/patchs/Left.jsx index 2d9e53e..7a88dfe 100644 --- a/src/components/patchs/Left.jsx +++ b/src/components/patchs/Left.jsx @@ -1,12 +1,32 @@ -import React from 'react' +import React, { useEffect, useState } from 'react' import { Link } from 'react-router-dom' +import { checkLogin } from '../../middlewares/logins/Check' function Left() { + const [secure, setSecure] = useState(false); + const [loading, setLoading] = useState(false); + + useEffect(() => { + checkLogin().then(res => { + setSecure(res.secure); + setLoading(true); + }); + },[secure]); + + if(loading === false){ + return(<>) + }; + return (
window.history.back()}>Geri Git - Gönderi Oluştur + { + (secure === true) ? + Gönderi Oluştur + : + Giriş Yap + }
Anasayfa diff --git a/src/components/quotes/pages/Publish.jsx b/src/components/quotes/pages/Publish.jsx index 9ba7a31..28d6ea6 100644 --- a/src/components/quotes/pages/Publish.jsx +++ b/src/components/quotes/pages/Publish.jsx @@ -1,9 +1,21 @@ -import React, { useState } from 'react' +import React, { useEffect, useState } from 'react' import { FetchPOST } from '../../../middlewares/Fetch'; +import { checkLogin } from '../../../middlewares/logins/Check'; export default function Publish() { const [books, setBooks] = useState([]); const [selectedBook, setSelectedBook] = useState(null); + const [secure, setSecure] = useState(false); + + useEffect(() => { + checkLogin().then(res => { + setSecure(res.secure); + }); + },[secure]); + + if(secure === false){ + return(<>); + }; return (
diff --git a/src/middlewares/GlobalStore.jsx b/src/middlewares/GlobalStore.jsx index bf31023..61fb703 100644 --- a/src/middlewares/GlobalStore.jsx +++ b/src/middlewares/GlobalStore.jsx @@ -2,12 +2,17 @@ import { createContext, useContext, useEffect, useState } from 'react'; const GSContext = createContext(); -const GSProvider = ({ children, data, locales }) => { - const [loading, setLoading] = useState(true); +const GSProvider = ({ children }) => { + const [loading, setLoading] = useState(false); + const data = { + protocol: window.location.protocol, + back_end: "localhost:3001", + front_end: "localhost:3000" + }; if(loading === false){ return ( - + {children} ); diff --git a/src/middlewares/logins/Check.jsx b/src/middlewares/logins/Check.jsx new file mode 100644 index 0000000..a323566 --- /dev/null +++ b/src/middlewares/logins/Check.jsx @@ -0,0 +1,21 @@ +import { FetchPOST } from "../Fetch"; + +export async function checkLogin() { + const data = { + secure: false + }; + + await FetchPOST({ + port: 3001, + pathname: "/api/v1/logins/normal/verify" + }).then(res => { + if(res.Status = 200 && res.Token){ + console.log(res); + data.secure = true; + }else{ + data.secure = false; + }; + }); + + return data; +}; \ No newline at end of file