Deduplikace typů a sloučení kontejnerů
- Zavedení yarn workspaces - Sloučení klienta a serveru do jednoho Docker kontejneru - Společný dockerfile, builder - Zbavení se nginx (není již potřeba)
This commit is contained in:
@@ -4,17 +4,17 @@ import { EVENT_DISCONNECT, EVENT_MESSAGE, SocketContext } from './context/socket
|
||||
import { addPizza, createPizzaDay, deletePizzaDay, finishDelivery, finishOrder, getData, getFood, getPizzy, getQrUrl, lockPizzaDay, removePizza, unlockPizzaDay, updateChoice, updateNote } from './Api';
|
||||
import { useAuth } from './context/auth';
|
||||
import Login from './Login';
|
||||
import { Locations, ClientData, Pizza, PizzaOrder, State, Order, Food, Restaurants } from './Types';
|
||||
import { Alert, Button, Col, Form, Row, Table } from 'react-bootstrap';
|
||||
import Header from './components/Header';
|
||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
||||
import PizzaOrderList from './components/PizzaOrderList';
|
||||
import SelectSearch from 'react-select-search';
|
||||
import SelectSearch, { SelectedOptionValue } from 'react-select-search';
|
||||
import 'react-select-search/style.css';
|
||||
import './App.css';
|
||||
import { SelectSearchOption } from 'react-select-search';
|
||||
import { faTrashCan } from '@fortawesome/free-regular-svg-icons';
|
||||
import { useBank } from './context/bank';
|
||||
import { ClientData, Restaurants, Food, Pizza, Order, Locations, PizzaOrder, PizzaDayState } from './types';
|
||||
|
||||
|
||||
const EVENT_CONNECT = "connect"
|
||||
@@ -77,7 +77,8 @@ function App() {
|
||||
if (data?.choices && choiceRef.current) {
|
||||
for (let entry of Object.entries(data.choices)) {
|
||||
if (entry[1].includes(auth.login)) {
|
||||
choiceRef.current.value = Object.values(Locations)[entry[0]]
|
||||
const value = entry[0] as any as number; // TODO tohle je absurdní
|
||||
choiceRef.current.value = Object.values(Locations)[value];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -124,8 +125,11 @@ function App() {
|
||||
return suggestions;
|
||||
}, [pizzy]);
|
||||
|
||||
const handlePizzaChange = async (value) => {
|
||||
const handlePizzaChange = async (value: SelectedOptionValue | SelectedOptionValue[]) => {
|
||||
if (auth?.login && pizzy) {
|
||||
if (!(typeof value === 'string')) {
|
||||
throw Error('Nepodporovaný typ hodnoty');
|
||||
}
|
||||
const s = value.split('|');
|
||||
const pizzaIndex = Number.parseInt(s[0]);
|
||||
const pizzaSizeIndex = Number.parseInt(s[1]);
|
||||
@@ -169,7 +173,7 @@ function App() {
|
||||
// }
|
||||
// }
|
||||
|
||||
const renderFoodTable = (name, food) => {
|
||||
const renderFoodTable = (name: string, food: Food[]) => {
|
||||
return <Col md={12} lg={4}>
|
||||
<h3>{name}</h3>
|
||||
<Table striped bordered hover>
|
||||
@@ -268,7 +272,7 @@ function App() {
|
||||
<div style={{ textAlign: 'center' }}>
|
||||
<h3>Pizza day</h3>
|
||||
{
|
||||
data.pizzaDay.state === State.CREATED &&
|
||||
data.pizzaDay.state === PizzaDayState.CREATED &&
|
||||
<div>
|
||||
<p>
|
||||
Pizza Day je založen a spravován uživatelem {data.pizzaDay.creator}.<br />
|
||||
@@ -288,7 +292,7 @@ function App() {
|
||||
</div>
|
||||
}
|
||||
{
|
||||
data.pizzaDay.state === State.LOCKED &&
|
||||
data.pizzaDay.state === PizzaDayState.LOCKED &&
|
||||
<div>
|
||||
<p>Objednávky jsou uzamčeny uživatelem {data.pizzaDay.creator}</p>
|
||||
{data.pizzaDay.creator === auth.login &&
|
||||
@@ -307,7 +311,7 @@ function App() {
|
||||
</div>
|
||||
}
|
||||
{
|
||||
data.pizzaDay.state === State.ORDERED &&
|
||||
data.pizzaDay.state === PizzaDayState.ORDERED &&
|
||||
<div>
|
||||
<p>Pizzy byly objednány uživatelem {data.pizzaDay.creator}</p>
|
||||
{data.pizzaDay.creator === auth.login &&
|
||||
@@ -323,13 +327,13 @@ function App() {
|
||||
</div>
|
||||
}
|
||||
{
|
||||
data.pizzaDay.state === State.DELIVERED &&
|
||||
data.pizzaDay.state === PizzaDayState.DELIVERED &&
|
||||
<div>
|
||||
<p>Pizzy byly doručeny. Objednávku můžete uhradit pomocí QR kódu níže.</p>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
{data.pizzaDay.state === State.CREATED &&
|
||||
{data.pizzaDay.state === PizzaDayState.CREATED &&
|
||||
<div style={{ textAlign: 'center' }}>
|
||||
<SelectSearch
|
||||
search={true}
|
||||
@@ -352,7 +356,7 @@ function App() {
|
||||
}
|
||||
<PizzaOrderList state={data.pizzaDay.state} orders={data.pizzaDay.orders} onDelete={handlePizzaDelete} />
|
||||
{
|
||||
data.pizzaDay.state === State.DELIVERED && myOrder?.hasQr &&
|
||||
data.pizzaDay.state === PizzaDayState.DELIVERED && myOrder?.hasQr &&
|
||||
<div className='qr-code'>
|
||||
<h3>QR platba</h3>
|
||||
<div>Částka: {myOrder.totalPrice} Kč</div>
|
||||
|
||||
Reference in New Issue
Block a user