import React, { useState, useEffect } from 'react'; import { BrowserRouter as Router, Switch, Route, Link, useParams } from 'react-router-dom'; import './light.css'; import { Container, Divider, Dropdown, Form, Grid, Header, Icon, Image, Menu, Message, Segment, Table } from 'semantic-ui-react'; import { requester } from './utils.js'; export function LoginForm(props) { const [input, setInput] = useState({}); const [error, setError] = useState({}); const [loading, setLoading] = useState(false); const handleValues = (e, v) => setInput({ ...input, [v.name]: v.value }); const handleChange = (e) => handleValues(e, e.currentTarget); const handleSubmit = (e) => { setLoading(true); requester('/rest-auth/login/', 'POST', '', input) .then(res => { setError({}); props.setTokenCache(res.key); }) .catch(err => { setLoading(false); console.log(err); setError(err.data); }); }; return (
Login to Spaceport
Login ); }; export function SignupForm(props) { const [input, setInput] = useState({}); const [error, setError] = useState({}); const [loading, setLoading] = useState(false); const handleValues = (e, v) => setInput({ ...input, [v.name]: v.value }); const handleChange = (e) => handleValues(e, e.currentTarget); const genUsername = () => ( input.first_name && input.last_name ? (input.first_name + '.' + input.last_name).toLowerCase() : '' ); const handleSubmit = (e) => { setLoading(true); input.username = genUsername(); requester('/registration/', 'POST', '', input) .then(res => { setError({}); props.setTokenCache(res.key); }) .catch(err => { setLoading(false); console.log(err); setError(err.data); }); }; return (
Sign Up
Sign Up ); };