Přesun autentizace na server
This commit is contained in:
@@ -31,8 +31,11 @@ function App() {
|
||||
const choiceRef = useRef<HTMLSelectElement>(null);
|
||||
const poznamkaRef = useRef<HTMLInputElement>(null);
|
||||
|
||||
// Prvotní načtení aktuálního stavu
|
||||
// Načtení dat po přihlášení
|
||||
useEffect(() => {
|
||||
if (!auth || !auth.login) {
|
||||
return
|
||||
}
|
||||
getPizzy().then(pizzy => {
|
||||
setPizzy(pizzy);
|
||||
});
|
||||
@@ -42,7 +45,7 @@ function App() {
|
||||
getFood().then(food => {
|
||||
setFood(food);
|
||||
})
|
||||
}, []);
|
||||
}, [auth, auth?.login]);
|
||||
|
||||
// Registrace socket eventů
|
||||
useEffect(() => {
|
||||
@@ -91,13 +94,13 @@ function App() {
|
||||
const changeChoice = async (event: React.ChangeEvent<HTMLSelectElement>) => {
|
||||
const index = Object.values(Locations).indexOf(event.target.value as unknown as Locations);
|
||||
if (auth?.login) {
|
||||
await updateChoice(auth.login, index > -1 ? index : null);
|
||||
await updateChoice(index > -1 ? index : null);
|
||||
}
|
||||
}
|
||||
|
||||
const removeChoice = async (key: string) => {
|
||||
if (auth?.login) {
|
||||
await updateChoice(auth.login, null);
|
||||
await updateChoice(null);
|
||||
if (choiceRef?.current?.value) {
|
||||
choiceRef.current.value = "";
|
||||
}
|
||||
@@ -126,24 +129,20 @@ function App() {
|
||||
const s = value.split('|');
|
||||
const pizzaIndex = Number.parseInt(s[0]);
|
||||
const pizzaSizeIndex = Number.parseInt(s[1]);
|
||||
await addPizza(auth.login, pizzaIndex, pizzaSizeIndex);
|
||||
await addPizza(pizzaIndex, pizzaSizeIndex);
|
||||
}
|
||||
}
|
||||
|
||||
const handlePizzaDelete = async (pizzaOrder: PizzaOrder) => {
|
||||
if (auth?.login) {
|
||||
await removePizza(auth?.login, pizzaOrder);
|
||||
}
|
||||
await removePizza(pizzaOrder);
|
||||
}
|
||||
|
||||
const handlePoznamkaChange = async () => {
|
||||
if (auth?.login) {
|
||||
if (poznamkaRef.current?.value && poznamkaRef.current.value.length > 100) {
|
||||
alert("Poznámka může mít maximálně 100 znaků");
|
||||
return;
|
||||
}
|
||||
updateNote(auth.login, poznamkaRef.current?.value);
|
||||
if (poznamkaRef.current?.value && poznamkaRef.current.value.length > 100) {
|
||||
alert("Poznámka může mít maximálně 100 znaků");
|
||||
return;
|
||||
}
|
||||
updateNote(poznamkaRef.current?.value);
|
||||
}
|
||||
|
||||
// const addToCart = async () => {
|
||||
@@ -205,10 +204,7 @@ function App() {
|
||||
<Alert variant={'primary'}>
|
||||
Poslední změny:
|
||||
<ul>
|
||||
<li>Nová žárovka zatím funguje</li>
|
||||
<li>Funkční generování a zobrazení QR kódů pro Pizza day</li>
|
||||
<li>Možnost zadat k Pizza day objednávce poznámku</li>
|
||||
<li>Zbavení se Food API, přepsání a zahrnutí parseru do serveru</li>
|
||||
<li>Zavedení JWT, přesun autentizace na server</li>
|
||||
</ul>
|
||||
</Alert>
|
||||
<h1 className='title'>Dnes je {data.date}</h1>
|
||||
@@ -260,7 +256,7 @@ function App() {
|
||||
<div style={{ textAlign: 'center' }}>
|
||||
<p>Pro dnešní den není aktuálně založen Pizza day.</p>
|
||||
<Button onClick={async () => {
|
||||
await createPizzaDay(auth.login);
|
||||
await createPizzaDay();
|
||||
}}>Založit Pizza day</Button>
|
||||
</div>
|
||||
}
|
||||
@@ -279,10 +275,10 @@ function App() {
|
||||
data.pizzaDay.creator === auth.login &&
|
||||
<>
|
||||
<Button className='danger mb-3' title="Smaže kompletně pizza day, včetně dosud zadaných objednávek." onClick={async () => {
|
||||
await deletePizzaDay(auth.login);
|
||||
await deletePizzaDay();
|
||||
}}>Smazat Pizza day</Button>
|
||||
<Button className='mb-3' style={{ marginLeft: '20px' }} title={noOrders ? "Nelze uzamknout - neexistuje žádná objednávka" : "Zamezí přidávat/odebírat objednávky. Použij před samotným objednáním, aby již nemohlo docházet ke změnám."} disabled={noOrders} onClick={async () => {
|
||||
await lockPizzaDay(auth.login);
|
||||
await lockPizzaDay();
|
||||
}}>Uzamknout</Button>
|
||||
</>
|
||||
}
|
||||
@@ -295,13 +291,13 @@ function App() {
|
||||
{data.pizzaDay.creator === auth.login &&
|
||||
<>
|
||||
<Button className='danger mb-3' title="Umožní znovu editovat objednávky." onClick={async () => {
|
||||
await unlockPizzaDay(auth.login);
|
||||
await unlockPizzaDay();
|
||||
}}>Odemknout</Button>
|
||||
{/* <Button className='danger mb-3' style={{ marginLeft: '20px' }} onClick={async () => {
|
||||
await addToCart();
|
||||
}}>Přidat vše do košíku</Button> */}
|
||||
<Button className='danger mb-3' style={{ marginLeft: '20px' }} title={noOrders ? "Nelze objednat - neexistuje žádná objednávka" : "Použij po objednání. Objednávky zůstanou zamčeny."} disabled={noOrders} onClick={async () => {
|
||||
await finishOrder(auth.login);
|
||||
await finishOrder();
|
||||
}}>Objednáno</Button>
|
||||
</>
|
||||
}
|
||||
@@ -314,10 +310,10 @@ function App() {
|
||||
{data.pizzaDay.creator === auth.login &&
|
||||
<div>
|
||||
<Button className='danger mb-3' title="Vrátí stav do předchozího kroku (před objednáním)." onClick={async () => {
|
||||
await lockPizzaDay(auth.login);
|
||||
await lockPizzaDay();
|
||||
}}>Vrátit do "uzamčeno"</Button>
|
||||
<Button className='danger mb-3' style={{ marginLeft: '20px' }} title="Nastaví stav na 'Doručeno' - koncový stav." onClick={async () => {
|
||||
await finishDelivery(auth.login, bank?.bankAccount, bank?.holderName);
|
||||
await finishDelivery(bank?.bankAccount, bank?.holderName);
|
||||
}}>Doručeno</Button>
|
||||
</div>
|
||||
}
|
||||
@@ -357,7 +353,7 @@ function App() {
|
||||
<div className='qr-code'>
|
||||
<h3>QR platba</h3>
|
||||
<div>Částka: {myOrder.totalPrice} Kč</div>
|
||||
<img src={getQrUrl(auth.login)} alt='QR kód' />
|
||||
<img src={getQrUrl()} alt='QR kód' />
|
||||
<p>Generování QR kódů je v experimentální fázi - doporučujeme si překontrolovat údaje před odesláním platby.</p>
|
||||
</div>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user