Refactoring..
All checks were successful
continuous-integration/drone/push Build is passing

- use STATES instead of multiple different variables
- add check if password is correct
-
This commit is contained in:
cami 2021-07-22 19:55:06 +02:00
parent fd205273fc
commit 52131aa3dd
4 changed files with 36 additions and 46 deletions

View file

@ -9,10 +9,10 @@ import Privacy from "./components/pages/Privacy";
import Login from "./components/pages/Login";
import Register from "./components/pages/Register";
import Manual from "./components/pages/Manual";
import Secret from "./components/pages/Secret";
import Umfrage from "./components/pages/Umfrage";
import PrivateRoute from "./auth/PrivateRoute";
import Study from "./components/pages/Study";
import Secret from "./components/pages/Secret"
function App() {
return (

View file

@ -44,11 +44,17 @@ function Navbar() {
Startseite
</Link>
</li>
<li className="nav-item">
<Link to="/study" className="nav-links" onClick={closeMobileMenu}>
Studie
</Link>
</li>
{isLoggedIn && (
<li className="nav-item">
<Link
to="/study"
className="nav-links"
onClick={closeMobileMenu}
>
Studie
</Link>
</li>
)}
<li className="nav-item">
<Link to="/Ueber" className="nav-links" onClick={closeMobileMenu}>
Über

View file

@ -15,6 +15,15 @@ import { authFetch } from "../../auth/AuthProvider";
export default function Study() {
const _logger = useRef(0);
const [serverUsername, setServerUsername] = useState("");
const [genPassword, setGenPassword] = useState("");
const STATES = {
START: "start",
NORMAL: "normal",
PHONE: "phone",
STANDING: "standing",
END: "end",
};
const [state, setState] = useState(STATES.START);
useEffect(() => {
_logger.current = new Logger({
@ -44,12 +53,6 @@ export default function Study() {
password = tmp_password;
};
const [isStepStart, setIsStepStart] = useState(true);
const [isStepNormal, setIsStepNormal] = useState(false);
const [isStepPhone, setIsStepPhone] = useState(false);
const [isStepStanding, setIsStepStanding] = useState(false);
const [isStepEnd, setIsStepEnd] = useState(false);
const handleLoggerOff = () => {
_logger.current.stop();
console.log("Logger ausgeschaltet");
@ -75,15 +78,9 @@ export default function Study() {
};
const checkIfUsernameIsCorrect = () => {
if (serverUsername === username) {
return true;
} else {
return false;
}
return serverUsername === username;
};
const [genPassword, setGenPassword] = useState("");
const receiveRandomPassword = () => {
fetch("/api/rcv_pw", {
method: "get",
@ -97,43 +94,31 @@ export default function Study() {
};
const checkIfPasswordIsCorrect = () => {
if (genPassword === password) {
return true;
} else {
return false;
}
return genPassword === password;
};
const checkIfValuesAreCorrect = () => {
console.log(checkIfPasswordIsCorrect());
if (checkIfPasswordIsCorrect() && checkIfUsernameIsCorrect()) {
return true;
} else {
alert("Passt nicht");
return false;
}
return checkIfPasswordIsCorrect() && checkIfUsernameIsCorrect();
};
const handleClickAtStepStart = () => {
receiveRandomPassword();
setIsStepStart(false);
setIsStepNormal(true);
setState(STATES.NORMAL);
handleLoggerOn();
};
const handleClickAtStepNormal = () => {
if (checkIfValuesAreCorrect()) {
receiveRandomPassword();
setIsStepNormal(false);
setIsStepPhone(true);
setState(STATES.PHONE);
}
};
const handleClickAtStepPhone = () => {
if (checkIfValuesAreCorrect()) {
receiveRandomPassword();
setIsStepPhone(false);
setIsStepStanding(true);
setState(STATES.STANDING);
} else {
console.log("Passwort und Benutzername stimmen nicht.");
}
@ -141,8 +126,7 @@ export default function Study() {
const handleClickAtStepStanding = () => {
if (checkIfValuesAreCorrect()) {
setIsStepStanding(false);
setIsStepEnd(true);
setState(STATES.END);
handleLoggerOff();
} else {
console.log("Passwort und Benutzername stimmen nicht.");
@ -241,7 +225,7 @@ export default function Study() {
onChange={handlePasswordChange}
InputType="password"
InputName="Passwort"
InputPlaceHolder="Benutzername"
InputPlaceHolder="Passwort"
onPaste={handleOnPasteEvent}
/>
<SubmitField
@ -260,11 +244,11 @@ export default function Study() {
<>
<div className="sitePage">
<h1>Studie</h1>
{isStepStart ? study_start : null}
{isStepNormal ? study_normal : null}
{isStepPhone ? study_phone : null}
{isStepStanding ? study_standing : null}
{isStepEnd ? study_end : null}
{state === STATES.START ? study_start : null}
{state === STATES.NORMAL ? study_normal : null}
{state === STATES.PHONE ? study_phone : null}
{state === STATES.STANDING ? study_standing : null}
{state === STATES.END ? study_end : null}
</div>
<Footer />
</>

View file

@ -51,8 +51,8 @@ export default function Umfrage() {
if (!Number(age)) {
setAgeErrorMessage("Das Alter muss als Zahl angegeben werden.");
//setIsSurveyValid(false);
// setIsAgeOk(false);
setIsSurveyValid(false);
setIsAgeOk(false);
}
if (gender === "DEFAULT" || gender === "") {
setGenderErrorMessage(