Loader při zakládání Pizza day, mock data
This commit is contained in:
parent
3f16485368
commit
f5ecedb3b9
@ -64,8 +64,8 @@ Aplikace sestává ze tří modulů.
|
|||||||
- [ ] Pizzy se samy budou při naklikání přidávat do košíku
|
- [ ] Pizzy se samy budou při naklikání přidávat do košíku
|
||||||
- [ ] Nutno nejprve vyřešit předávání PHPSESSIONID cookie na pizzachefie.cz pomocí fetch()
|
- [ ] Nutno nejprve vyřešit předávání PHPSESSIONID cookie na pizzachefie.cz pomocí fetch()
|
||||||
- [ ] Ceny krabic za pizzu jsou napevno v kódu - problém, pokud se někdy změní
|
- [ ] Ceny krabic za pizzu jsou napevno v kódu - problém, pokud se někdy změní
|
||||||
- [ ] Prvotní načtení pizz při založení Pizza Day trvá a nic se během toho nezobrazuje (např. loader)
|
|
||||||
- [ ] Umožnit u Pizza day ručně připočíst cenu za přísady
|
- [ ] Umožnit u Pizza day ručně připočíst cenu za přísady
|
||||||
|
- [X] Prvotní načtení pizz při založení Pizza Day trvá a nic se během toho nezobrazuje (např. loader)
|
||||||
- [X] Po doručení zobrazit komu zaplatit (kdo objednával)
|
- [X] Po doručení zobrazit komu zaplatit (kdo objednával)
|
||||||
- [x] Zbytečně nescrapovat každý den pizzy z Pizza Chefie, dokud není založen Pizza Day
|
- [x] Zbytečně nescrapovat každý den pizzy z Pizza Chefie, dokud není založen Pizza Day
|
||||||
- [x] Umožnit uzamčení objednávek zakladatelem
|
- [x] Umožnit uzamčení objednávek zakladatelem
|
||||||
|
@ -16,7 +16,7 @@ import { faCircleCheck, faTrashCan } from '@fortawesome/free-regular-svg-icons';
|
|||||||
import { useBank } from './context/bank';
|
import { useBank } from './context/bank';
|
||||||
import { ClientData, Restaurants, Food, Order, Locations, PizzaOrder, PizzaDayState, FoodChoices, Menu } from './types';
|
import { ClientData, Restaurants, Food, Order, Locations, PizzaOrder, PizzaDayState, FoodChoices, Menu } from './types';
|
||||||
import Footer from './components/Footer';
|
import Footer from './components/Footer';
|
||||||
import { faChainBroken, faChevronLeft, faChevronRight, faSatelliteDish, faSearch } from '@fortawesome/free-solid-svg-icons';
|
import { faChainBroken, faChevronLeft, faChevronRight, faGear, faSatelliteDish, faSearch } from '@fortawesome/free-solid-svg-icons';
|
||||||
import Loader from './components/Loader';
|
import Loader from './components/Loader';
|
||||||
|
|
||||||
const EVENT_CONNECT = "connect"
|
const EVENT_CONNECT = "connect"
|
||||||
@ -37,6 +37,7 @@ function App() {
|
|||||||
const poznamkaRef = useRef<HTMLInputElement>(null);
|
const poznamkaRef = useRef<HTMLInputElement>(null);
|
||||||
const [failure, setFailure] = useState<boolean>(false);
|
const [failure, setFailure] = useState<boolean>(false);
|
||||||
const [dayIndex, setDayIndex] = useState<number>();
|
const [dayIndex, setDayIndex] = useState<number>();
|
||||||
|
const [loadingPizzaDay, setLoadingPizzaDay] = useState<boolean>(false);
|
||||||
// Prazvláštní workaround, aby socket.io listener viděl aktuální hodnotu
|
// Prazvláštní workaround, aby socket.io listener viděl aktuální hodnotu
|
||||||
// https://medium.com/@kishorkrishna/cant-access-latest-state-inside-socket-io-listener-heres-how-to-fix-it-1522a5abebdb
|
// https://medium.com/@kishorkrishna/cant-access-latest-state-inside-socket-io-listener-heres-how-to-fix-it-1522a5abebdb
|
||||||
const dayIndexRef = useRef<number | undefined>(dayIndex);
|
const dayIndexRef = useRef<number | undefined>(dayIndex);
|
||||||
@ -353,6 +354,7 @@ function App() {
|
|||||||
<ul>
|
<ul>
|
||||||
<li>Oprava generování QR kódů pro Pizza day</li>
|
<li>Oprava generování QR kódů pro Pizza day</li>
|
||||||
<li>Serverová validace času odchodu</li>
|
<li>Serverová validace času odchodu</li>
|
||||||
|
<li>Loader při zakládání Pizza day</li>
|
||||||
</ul>
|
</ul>
|
||||||
</Alert>
|
</Alert>
|
||||||
{dayIndex != null &&
|
{dayIndex != null &&
|
||||||
@ -464,9 +466,16 @@ function App() {
|
|||||||
{!data.pizzaDay &&
|
{!data.pizzaDay &&
|
||||||
<div style={{ textAlign: 'center' }}>
|
<div style={{ textAlign: 'center' }}>
|
||||||
<p>Pro dnešní den není aktuálně založen Pizza day.</p>
|
<p>Pro dnešní den není aktuálně založen Pizza day.</p>
|
||||||
<Button onClick={async () => {
|
{loadingPizzaDay ?
|
||||||
await createPizzaDay();
|
<span>
|
||||||
}}>Založit Pizza day</Button>
|
<FontAwesomeIcon icon={faGear} className='fa-spin' /> Zjišťujeme dostupné pizzy
|
||||||
|
</span>
|
||||||
|
:
|
||||||
|
<Button onClick={async () => {
|
||||||
|
setLoadingPizzaDay(true);
|
||||||
|
await createPizzaDay().then(() => setLoadingPizzaDay(false));
|
||||||
|
}}>Založit Pizza day</Button>
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
{data.pizzaDay &&
|
{data.pizzaDay &&
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import { load } from 'cheerio';
|
import { load } from 'cheerio';
|
||||||
|
import { getPizzaListMock } from './mock';
|
||||||
|
|
||||||
// TODO přesunout do types
|
// TODO přesunout do types
|
||||||
type PizzaSize = {
|
type PizzaSize = {
|
||||||
@ -35,8 +36,14 @@ const boxPrices: { [key: string]: number } = {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Stáhne a scrapne aktuální pizzy ze stránek Pizza Chefie.
|
* Stáhne a scrapne aktuální pizzy ze stránek Pizza Chefie.
|
||||||
|
*
|
||||||
|
* @param mock zda vrátit pouze mock data
|
||||||
*/
|
*/
|
||||||
export async function downloadPizzy(): Promise<Pizza[]> {
|
export async function downloadPizzy(mock: boolean): Promise<Pizza[]> {
|
||||||
|
if (mock) {
|
||||||
|
// Záměrné zpoždění pro testování
|
||||||
|
return new Promise((resolve) => setTimeout(() => resolve(getPizzaListMock()), 3000));
|
||||||
|
}
|
||||||
// Získáme seznam pizz
|
// Získáme seznam pizz
|
||||||
const html = await axios.get(pizzyUrl).then(res => res.data);
|
const html = await axios.get(pizzyUrl).then(res => res.data);
|
||||||
const $ = load(html);
|
const $ = load(html);
|
||||||
|
@ -370,6 +370,756 @@ const MOCK_DATA = {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Mockovací data pro Pizza day
|
||||||
|
const MOCK_PIZZA_LIST = [
|
||||||
|
{
|
||||||
|
name: "Margherita",
|
||||||
|
ingredients: [
|
||||||
|
"tomato",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 1,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 138,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 151
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 2,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 166,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 181
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 3,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 223,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 241
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 4,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 306,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 331
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Salami",
|
||||||
|
ingredients: [
|
||||||
|
"tomato",
|
||||||
|
"pikantní salám",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 6,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 142,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 155
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 7,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 172,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 187
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 8,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 233,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 251
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 9,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 316,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 341
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Sausage",
|
||||||
|
ingredients: [
|
||||||
|
"tomato",
|
||||||
|
"klobása",
|
||||||
|
"pálivé papričky",
|
||||||
|
"česnek",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 10,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 142,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 155
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 11,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 172,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 187
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 12,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 233,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 251
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 13,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 316,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 341
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Classic Ham",
|
||||||
|
ingredients: [
|
||||||
|
"tomato",
|
||||||
|
"šunka výběrová",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 14,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 142,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 155
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 15,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 172,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 187
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 16,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 233,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 251
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 17,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 294,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 319
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Quattro Formaggi",
|
||||||
|
ingredients: [
|
||||||
|
"tomato",
|
||||||
|
"niva",
|
||||||
|
"mozzarella",
|
||||||
|
"uzený sýr",
|
||||||
|
"eidam 40%",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 22,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 162,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 175
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 23,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 186,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 201
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 24,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 263,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 281
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 25,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 346,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 371
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Hawai",
|
||||||
|
ingredients: [
|
||||||
|
"tomato",
|
||||||
|
"šunka výběrová",
|
||||||
|
"ananas",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 26,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 162,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 175
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 27,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 186,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 201
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 28,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 263,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 281
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 29,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 346,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 371
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Mushroom",
|
||||||
|
ingredients: [
|
||||||
|
"tomato",
|
||||||
|
"žampiony",
|
||||||
|
"zakysaná smetana",
|
||||||
|
"pórek",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 30,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 162,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 175
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 31,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 186,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 201
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 32,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 263,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 281
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 33,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 346,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 371
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Mexico",
|
||||||
|
ingredients: [
|
||||||
|
"tomato",
|
||||||
|
"pikantní salám",
|
||||||
|
"slanina",
|
||||||
|
"pálivé papričky",
|
||||||
|
"červená cibule",
|
||||||
|
"zelené olivy",
|
||||||
|
"kukuřice",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 34,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 162,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 175
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 35,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 186,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 201
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 36,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 263,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 281
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 37,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 346,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 371
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Bismark",
|
||||||
|
ingredients: [
|
||||||
|
"tomato",
|
||||||
|
"slanina",
|
||||||
|
"vejce",
|
||||||
|
"pórek",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"sýr"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 38,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 162,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 175
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 39,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 186,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 201
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 40,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 263,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 281
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 41,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 346,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 371
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Tuna",
|
||||||
|
ingredients: [
|
||||||
|
"tomato",
|
||||||
|
"tuňák",
|
||||||
|
"červená cibule",
|
||||||
|
"černé olivy",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 42,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 172,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 185
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 43,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 212,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 227
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 44,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 293,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 311
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 45,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 376,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 401
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Spinach",
|
||||||
|
ingredients: [
|
||||||
|
"listový špenát",
|
||||||
|
"kuřecí maso",
|
||||||
|
"smetana",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"česnek",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 46,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 182,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 195
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 47,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 222,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 237
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 48,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 303,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 321
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 49,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 386,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 411
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Persia",
|
||||||
|
ingredients: [
|
||||||
|
"smetana",
|
||||||
|
"česnek",
|
||||||
|
"slanina",
|
||||||
|
"červené cibule",
|
||||||
|
"paprika mix",
|
||||||
|
"černé olivy",
|
||||||
|
"kuřecí maso",
|
||||||
|
"2 druhy omáček",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 50,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 182,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 195
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 51,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 222,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 237
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 52,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 303,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 321
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 53,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 396,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 421
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "BBQ Dream",
|
||||||
|
ingredients: [
|
||||||
|
"tomato",
|
||||||
|
"slanina",
|
||||||
|
"paprika mix",
|
||||||
|
"kuřecí maso",
|
||||||
|
"červená cibule",
|
||||||
|
"BBQ omáčka",
|
||||||
|
"mozzarella, eidam 40%"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 54,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 182,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 195
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 55,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 222,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 237
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 56,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 303,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 321
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 57,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 396,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 421
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Cranberries",
|
||||||
|
ingredients: [
|
||||||
|
"niva",
|
||||||
|
"uzený sýr",
|
||||||
|
"kuřecí maso",
|
||||||
|
"brusinky",
|
||||||
|
"goldi",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"smetana",
|
||||||
|
"česnek"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 58,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 182,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 195
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 59,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 222,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 237
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 60,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 303,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 321
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 61,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 396,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 421
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Vegetarian",
|
||||||
|
ingredients: [
|
||||||
|
"tomato",
|
||||||
|
"listový špenát",
|
||||||
|
"rajčata",
|
||||||
|
"černé olivy",
|
||||||
|
"kukuřice",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 62,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 188,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 201
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 63,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 226,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 241
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 64,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 313,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 331
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 65,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 426,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 451
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Spicy Devil",
|
||||||
|
ingredients: [
|
||||||
|
"tomato",
|
||||||
|
"červené cibule",
|
||||||
|
"kuřecí maso",
|
||||||
|
"pálivé papričky",
|
||||||
|
"parmská šunka",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 66,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 188,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 201
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 67,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 226,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 241
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 68,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 313,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 331
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 69,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 426,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 451
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Dimi's pizza",
|
||||||
|
ingredients: [
|
||||||
|
"brokolice",
|
||||||
|
"slanina",
|
||||||
|
"kuřecí maso",
|
||||||
|
"kukuřice",
|
||||||
|
"kari",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"smetana",
|
||||||
|
"červená cibule",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 309,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 182,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 195
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 310,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 222,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 237
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 311,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 303,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 321
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 312,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 396,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 421
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Texas Pulled Pork",
|
||||||
|
ingredients: [
|
||||||
|
"tomato",
|
||||||
|
"trhané vepřové maso",
|
||||||
|
"kukuřice",
|
||||||
|
"jalapeňos",
|
||||||
|
"BBQ omáčka",
|
||||||
|
"mozzarella, eidam 40%",
|
||||||
|
"goldi"
|
||||||
|
],
|
||||||
|
sizes: [
|
||||||
|
{
|
||||||
|
varId: 394,
|
||||||
|
size: "30cm",
|
||||||
|
pizzaPrice: 188,
|
||||||
|
boxPrice: 13,
|
||||||
|
price: 201
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 395,
|
||||||
|
size: "35cm",
|
||||||
|
pizzaPrice: 226,
|
||||||
|
boxPrice: 15,
|
||||||
|
price: 241
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 396,
|
||||||
|
size: "40cm",
|
||||||
|
pizzaPrice: 313,
|
||||||
|
boxPrice: 18,
|
||||||
|
price: 331
|
||||||
|
},
|
||||||
|
{
|
||||||
|
varId: 397,
|
||||||
|
size: "50cm",
|
||||||
|
pizzaPrice: 426,
|
||||||
|
boxPrice: 25,
|
||||||
|
price: 451
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
export const getTodayMock = () => {
|
export const getTodayMock = () => {
|
||||||
return '2023-05-31'; // středa
|
return '2023-05-31'; // středa
|
||||||
}
|
}
|
||||||
@ -384,4 +1134,8 @@ export const getMenuUMotlikuMock = (date: Date) => {
|
|||||||
|
|
||||||
export const getMenuTechTowerMock = (date: Date) => {
|
export const getMenuTechTowerMock = (date: Date) => {
|
||||||
return MOCK_DATA['techTower'][getDayOfWeekIndex(date)];
|
return MOCK_DATA['techTower'][getDayOfWeekIndex(date)];
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getPizzaListMock = () => {
|
||||||
|
return MOCK_PIZZA_LIST;
|
||||||
}
|
}
|
@ -17,7 +17,8 @@ export async function getPizzaList(): Promise<Pizza[] | undefined> {
|
|||||||
const today = formatDate(getToday());
|
const today = formatDate(getToday());
|
||||||
let clientData: ClientData = await storage.getData(today);
|
let clientData: ClientData = await storage.getData(today);
|
||||||
if (!clientData.pizzaList) {
|
if (!clientData.pizzaList) {
|
||||||
clientData = await savePizzaList(await downloadPizzy());
|
const mock = process.env.MOCK_DATA === 'true';
|
||||||
|
clientData = await savePizzaList(await downloadPizzy(mock));
|
||||||
}
|
}
|
||||||
return Promise.resolve(clientData.pizzaList);
|
return Promise.resolve(clientData.pizzaList);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user