import axios from 'axios' import React, { useState, useContext } from 'react' import PropTypes from 'prop-types' import { CssBaseline, Box, TextField, Button } from '@mui/material' import { AppContext } from '../context/appContext' const login = async (payload: { username: string; password: string }) => axios.post('/SASLogon/login', payload).then((res) => res.data) const Login = () => { const appContext = useContext(AppContext) const [username, setUsername] = useState('') const [password, setPassword] = useState('') const [errorMessage, setErrorMessage] = useState('') const handleSubmit = async (e: any) => { setErrorMessage('') e.preventDefault() const { loggedIn, user } = await login({ username, password }).catch((err: any) => { setErrorMessage(err.response?.data || err.toString()) return {} }) if (loggedIn) { appContext.setUserId?.(user.id) appContext.setUsername?.(user.username) appContext.setDisplayName?.(user.displayName) appContext.setIsAdmin?.(user.isAdmin) appContext.setLoggedIn?.(loggedIn) appContext.setNeedsToUpdatePassword?.(user.needsToUpdatePassword) } } return ( :not(style)': { m: 1, width: '25ch' } }} >

Welcome to SASjs Server!

setUsername(e.target.value)} required /> setPassword(e.target.value)} required /> {errorMessage && {errorMessage}}
) } Login.propTypes = { getCodeOnly: PropTypes.bool } export default Login