import React, { Fragment, useEffect, useState } from 'react' import axios from 'axios' import Sites from './Sites' const App = () => { const initialFormState = { username: '', password: '' } const [ user, setUser ] = useState(initialFormState) const [ auth, setAuth ] = useState(false) const handleInputChange = event => { const { name, value } = event.target setUser({ ...user, [name]: value }) } const logout = event => { localStorage.removeItem('token'); setAuth(false); } const doAuth = (token) => { axios.get('/.netlify/functions/auth?token=' + token) .then((response) => { console.log(response) localStorage.setItem('token', token); setAuth(true) setUser(initialFormState) }) .catch((err) => { if (err.response && err.response.status && err.response.status === 401) { alert("Invalid Password"); logout(); }else{ console.error(err) } }) } useEffect(() => { const token = localStorage.getItem('token'); if(token){ doAuth(token) } }, []) // eslint-disable-line react-hooks/exhaustive-deps return (

FastSite Console

{auth ? (
) : (
{ event.preventDefault() if (!user.username || !user.password){ alert("Please provide username and password"); return } doAuth(user.password); }} >
)}
) } export default App