type LoginFormProps = DispatchProp<any> & WithStyles<CssRules> & {
handleSubmit: (username: string, password: string) => AxiosPromise;
+ loginLabel?: string,
};
export const LoginForm = withStyles(styles)(
- ({ handleSubmit, dispatch, classes }: LoginFormProps) => {
+ ({ handleSubmit, loginLabel, dispatch, classes }: LoginFormProps) => {
const userInput = useRef<HTMLInputElement>(null);
const [username, setUsername] = useState('');
const [password, setPassword] = useState('');
handleSubmit(username, password)
.then((response) => {
setSubmitting(false);
- const apiToken = response.data.token;
- if (apiToken) {
+ if (response.data.uuid && response.data.api_token) {
+ const apiToken = `v2/${response.data.uuid}/${response.data.api_token}`;
dispatch<any>(saveApiToken(apiToken)).finally(
() => dispatch(navigateToRootProject));
} else {
<Button variant="contained" size="large" color="primary"
className={classes.loginBtn} onClick={() => handleLogin()}
disabled={isSubmitting || isButtonDisabled}>
- Log in
+ {loginLabel || 'Log in'}
</Button>
</CardActions>
{ isSubmitting && <CircularProgress color='secondary' className={classes.progress} />}