Možnost zvolit pouze jednu variantu obědu
This commit is contained in:
parent
c0efb01803
commit
028186c8ea
@ -257,7 +257,8 @@ function App() {
|
|||||||
<Alert variant={'primary'}>
|
<Alert variant={'primary'}>
|
||||||
Poslední změny:
|
Poslední změny:
|
||||||
<ul>
|
<ul>
|
||||||
<li>Přehlednější zobrazení tabulky</li>
|
<li>(Trochu) přehlednější zobrazení tabulky</li>
|
||||||
|
<li>(Opět) možnost vybrat jen jednu variantu</li>
|
||||||
</ul>
|
</ul>
|
||||||
</Alert>
|
</Alert>
|
||||||
<h1 className='title'>Dnes je {data.date}</h1>
|
<h1 className='title'>Dnes je {data.date}</h1>
|
||||||
@ -279,6 +280,7 @@ function App() {
|
|||||||
<option value={Locations.OBJEDNAVAM}>Budu objednávat (mimo pizzu)</option>
|
<option value={Locations.OBJEDNAVAM}>Budu objednávat (mimo pizzu)</option>
|
||||||
<option value={Locations.NEOBEDVAM}>Mám vlastní/neobědvám</option>
|
<option value={Locations.NEOBEDVAM}>Mám vlastní/neobědvám</option>
|
||||||
</Form.Select>
|
</Form.Select>
|
||||||
|
<small>Je možné vybrat jen jednu možnost. Výběr jiné odstraní předchozí.</small>
|
||||||
{foodChoiceList && <>
|
{foodChoiceList && <>
|
||||||
<p style={{ marginTop: "10px" }}>Na co dobrého? <small>(nepovinné)</small></p>
|
<p style={{ marginTop: "10px" }}>Na co dobrého? <small>(nepovinné)</small></p>
|
||||||
<Form.Select ref={foodChoiceRef} onChange={doAddFoodChoice}>
|
<Form.Select ref={foodChoiceRef} onChange={doAddFoodChoice}>
|
||||||
|
@ -285,6 +285,24 @@ export function removeChoice(login: string, location: Locations, foodIndex: numb
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Odstraní kompletně volbu uživatele.
|
||||||
|
*
|
||||||
|
* @param login login uživatele
|
||||||
|
*/
|
||||||
|
function removeChoiceIfPresent(login: string) {
|
||||||
|
const today = formatDate(getToday());
|
||||||
|
let data: ClientData = db.get(today);
|
||||||
|
for (const key of Object.keys(data.choices)) {
|
||||||
|
if (login in data.choices[key]) {
|
||||||
|
delete data.choices[key][login];
|
||||||
|
if (Object.keys(data.choices[key]).length === 0) {
|
||||||
|
delete data.choices[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Přidá volbu uživatele.
|
* Přidá volbu uživatele.
|
||||||
*
|
*
|
||||||
@ -295,6 +313,10 @@ export function removeChoice(login: string, location: Locations, foodIndex: numb
|
|||||||
*/
|
*/
|
||||||
export function addChoice(login: string, location: Locations, foodIndex?: number) {
|
export function addChoice(login: string, location: Locations, foodIndex?: number) {
|
||||||
initIfNeeded();
|
initIfNeeded();
|
||||||
|
// Pokud měníme pouze lokaci, mažeme případné předchozí
|
||||||
|
if (foodIndex == null) {
|
||||||
|
removeChoiceIfPresent(login);
|
||||||
|
}
|
||||||
const today = formatDate(getToday());
|
const today = formatDate(getToday());
|
||||||
let data: ClientData = db.get(today);
|
let data: ClientData = db.get(today);
|
||||||
if (!(location in data.choices)) {
|
if (!(location in data.choices)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user