From 2e11365c1b9bd1c5f685282a76b94cc40f52b51c Mon Sep 17 00:00:00 2001 From: Manuel Prodinger Date: Fri, 10 Jun 2022 12:47:15 +0200 Subject: [PATCH] add Anmeldung add Anmeldung with admin E-Mail adress No registration --- package-lock.json | 21 +++++++++++++++++++++ package.json | 1 + src/Components/buttonPrimary.jsx | 2 +- src/Components/buttonSecondary.jsx | 2 +- src/Components/eingabefeld.jsx | 5 ++--- src/Components/liste.jsx | 5 ++--- src/Pages/anmeldepage.jsx | 29 ++++++++++++++++++++++++++--- src/Pages/listenansicht.jsx | 20 ++++++++++++++------ src/Pages/mainpage.jsx | 1 - src/Pages/warenkorb.jsx | 19 +++++++++++++++---- 10 files changed, 83 insertions(+), 22 deletions(-) diff --git a/package-lock.json b/package-lock.json index 203616f..7c1ee0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3199,6 +3199,27 @@ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==" }, + "axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, "axobject-query": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", diff --git a/package.json b/package.json index 45e97d2..f8fc7dd 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^12.1.5", "@testing-library/user-event": "^13.5.0", + "axios": "^0.27.2", "font-awesome": "^4.7.0", "react": "^17.0.2", "react-dom": "^17.0.2", diff --git a/src/Components/buttonPrimary.jsx b/src/Components/buttonPrimary.jsx index b751d5e..8878047 100644 --- a/src/Components/buttonPrimary.jsx +++ b/src/Components/buttonPrimary.jsx @@ -2,7 +2,7 @@ import React from "react"; function ButtonPrimary(props) { return ( - diff --git a/src/Components/buttonSecondary.jsx b/src/Components/buttonSecondary.jsx index ba6a689..e7baec6 100644 --- a/src/Components/buttonSecondary.jsx +++ b/src/Components/buttonSecondary.jsx @@ -2,7 +2,7 @@ import React from "react"; function ButtonSecondary(props) { return ( - diff --git a/src/Components/eingabefeld.jsx b/src/Components/eingabefeld.jsx index b6a219d..53ccd29 100644 --- a/src/Components/eingabefeld.jsx +++ b/src/Components/eingabefeld.jsx @@ -1,7 +1,6 @@ import React, { useState } from "react"; function Eingabefeld(props) { - const [usepollName, setPollName] = useState(""); return (

@@ -18,8 +17,8 @@ function Eingabefeld(props) { font-normal border border-solid border-gray-300 rounded" - onChange={(e) => setPollName(e.target.value)} - value={usepollName} + onChange={props.onChange} + value={props.value} placeholder={props.placeholder} type={props.isPassword ? "password" : "text"} /> diff --git a/src/Components/liste.jsx b/src/Components/liste.jsx index 72cdc86..60e8e8b 100644 --- a/src/Components/liste.jsx +++ b/src/Components/liste.jsx @@ -4,10 +4,11 @@ import ButtonRound from "./buttonRound"; function Liste(props) { var gericht = props.gericht; var price = props.price; + var id = props.id; let icon_button = props.icon_button; var key = 0; var i = props.index; - const gericht1 = { name: gericht, preis: price, index: i }; + const gericht1 = { name: gericht, preis: price, index: i, id }; //localStorage.setItem("gericht", JSON.stringify(gericht1)); @@ -25,7 +26,6 @@ function Liste(props) { name={icon_button} onaction={() => { if (props.icon_button == "-") { - console.log(i); let gerichte = JSON.parse(localStorage.getItem("gerichte")); gerichte.splice(i, 1); props.setlisten(gerichte); @@ -33,7 +33,6 @@ function Liste(props) { } else { const gerichte = JSON.parse(localStorage.getItem("gerichte")) ?? []; gerichte.push(gericht1); - console.log(gerichte); localStorage.setItem("gerichte", JSON.stringify(gerichte)); i++; } diff --git a/src/Pages/anmeldepage.jsx b/src/Pages/anmeldepage.jsx index b4881de..23406bf 100644 --- a/src/Pages/anmeldepage.jsx +++ b/src/Pages/anmeldepage.jsx @@ -3,8 +3,23 @@ import ButtonPrimary from "../Components/buttonPrimary"; import Eingabefeld from "../Components/eingabefeld"; import bild from "../pizza_logo_dark.png"; import { Link } from "react-router-dom"; +import axios from "axios"; function Anmeldepage(props) { + const [username, setusername] = useState(); + const [password, setpassword] = useState(); + const onsubmit = () => { + axios + .post(process.env.REACT_APP_SERVER_IP + "auth/authenthicate", { + name: username, + password: password, + }) + .then((data) => { + localStorage.setItem("token", data.data.payload.context.token); + }) + .catch((error) => console.log(error)); + }; + return (
@@ -19,14 +34,22 @@ function Anmeldepage(props) {
- + setusername(e.target.value)} + value={username}>
- + setpassword(e.target.value)} + value={password}>




@@ -35,7 +58,7 @@ function Anmeldepage(props) { - +
diff --git a/src/Pages/listenansicht.jsx b/src/Pages/listenansicht.jsx index 3eb840c..0ddbe46 100644 --- a/src/Pages/listenansicht.jsx +++ b/src/Pages/listenansicht.jsx @@ -19,13 +19,15 @@ function Listenansicht() { if (isLoading) return "Loading..."; if (error) return "An error has occurred: " + error.message; - console.log(data); + if (!(typeof data.pizzas == "object")) return "Loading..."; for (let index = 0; index < data.pizzas.length; index++) { listen.push( ); @@ -42,11 +44,17 @@ function Listenansicht() { Speisekartenlogo {listen} -
- - - - +
+
+ + + +
+
+ + + +
); diff --git a/src/Pages/mainpage.jsx b/src/Pages/mainpage.jsx index a9f3310..2d691bd 100644 --- a/src/Pages/mainpage.jsx +++ b/src/Pages/mainpage.jsx @@ -16,7 +16,6 @@ function MainPage() { if (error) return "An error has occurred: " + error.message; for (let index = 0; index < data.length; index++) { - console.log(data); listen.push(); } diff --git a/src/Pages/warenkorb.jsx b/src/Pages/warenkorb.jsx index 83162e0..9a58da2 100644 --- a/src/Pages/warenkorb.jsx +++ b/src/Pages/warenkorb.jsx @@ -6,6 +6,7 @@ import kassa_image from "../kassa_icon.png"; import Liste from "../Components/liste"; import ButtonSecondary from "../Components/buttonSecondary"; import { Link } from "react-router-dom"; +import axios from "axios"; function Warenkorb(props) { //Übergabe vom Namen des Restaurants (merken von Cards?!) @@ -18,12 +19,10 @@ function Warenkorb(props) { var color_liste = true; var sum = 0; var number = localStorage; - console.log(number); const [listen, setlisten] = useState(JSON.parse(localStorage.getItem("gerichte")) ?? []); var liste = []; - console.log(listen); /*for (let index = 0; index < number; index++) { var name = listen.at(index).name; @@ -38,7 +37,6 @@ function Warenkorb(props) { //console.log(JSON.parse(localStorage.getItem("gerichte")) ?? []); listen.forEach(function (g, i) { - console.log(g.preis, g.name, g.index); liste.push( { + console.log("hallo"); + let gerichte = JSON.parse(localStorage.getItem("gerichte")).map((a) => a.id); + axios + .post( + process.env.REACT_APP_SERVER_IP + "order/", + { pizzas: gerichte }, + { headers: { Authorization: `Bearer ${localStorage.getItem("token")}` } } + ) + .then((data) => console.log(data)) + .catch((e) => console.log(e)); + }; + return (
@@ -88,7 +99,7 @@ function Warenkorb(props) { - +