From 91cb8fa456993056c910b7f3e3b46b37acbcf92a Mon Sep 17 00:00:00 2001
From: Stefano Pigozzi
Date: Thu, 7 Oct 2021 01:56:17 +0200
Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20highlighting=20of=20the=20?=
=?UTF-8?q?LoginBox=20while=20logging=20in?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../authorization/AuthorizationLoginBox.tsx | 29 +++++++++++++++----
1 file changed, 23 insertions(+), 6 deletions(-)
diff --git a/frontend/src/components/authorization/AuthorizationLoginBox.tsx b/frontend/src/components/authorization/AuthorizationLoginBox.tsx
index 54fb376..afbc02d 100644
--- a/frontend/src/components/authorization/AuthorizationLoginBox.tsx
+++ b/frontend/src/components/authorization/AuthorizationLoginBox.tsx
@@ -21,7 +21,7 @@ export function AuthorizationLoginBox(): JSX.Element {
const canLogin =
React.useMemo(
() => (
- axios !== undefined && authorization !== undefined && !authorization.state.running && authorization.state.token === undefined
+ axios !== undefined && authorization !== undefined && authorization.state.token === undefined
),
[axios, authorization, username, password],
)
@@ -29,9 +29,9 @@ export function AuthorizationLoginBox(): JSX.Element {
const canClickLogin =
React.useMemo(
() => (
- canLogin && username.value !== "" && password.value !== ""
+ canLogin && !authorization!.state.running && username.value !== "" && password.value !== ""
),
- [canLogin, username, password],
+ [authorization, canLogin, username, password],
)
const doLogin =
@@ -70,6 +70,23 @@ export function AuthorizationLoginBox(): JSX.Element {
[axios, authorization, username, password],
)
+ const buttonColor =
+ React.useMemo(
+ () => {
+ if(!authorization) {
+ return ""
+ }
+ if(authorization.state.running) {
+ return "color-yellow"
+ }
+ if(error) {
+ return "color-red"
+ }
+ return ""
+ },
+ [authorization, error],
+ )
+
const buttonText =
React.useMemo(
() => {
@@ -96,10 +113,10 @@ export function AuthorizationLoginBox(): JSX.Element {
If you do not have one, you can ask your system administrator to create one for you.
-
+
+
-
+
{buttonText}