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'}>
|
||||
Poslední změny:
|
||||
<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>
|
||||
</Alert>
|
||||
<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.NEOBEDVAM}>Mám vlastní/neobědvám</option>
|
||||
</Form.Select>
|
||||
<small>Je možné vybrat jen jednu možnost. Výběr jiné odstraní předchozí.</small>
|
||||
{foodChoiceList && <>
|
||||
<p style={{ marginTop: "10px" }}>Na co dobrého? <small>(nepovinné)</small></p>
|
||||
<Form.Select ref={foodChoiceRef} onChange={doAddFoodChoice}>
|
||||
|
@ -285,6 +285,24 @@ export function removeChoice(login: string, location: Locations, foodIndex: numb
|
||||
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.
|
||||
*
|
||||
@ -295,6 +313,10 @@ export function removeChoice(login: string, location: Locations, foodIndex: numb
|
||||
*/
|
||||
export function addChoice(login: string, location: Locations, foodIndex?: number) {
|
||||
initIfNeeded();
|
||||
// Pokud měníme pouze lokaci, mažeme případné předchozí
|
||||
if (foodIndex == null) {
|
||||
removeChoiceIfPresent(login);
|
||||
}
|
||||
const today = formatDate(getToday());
|
||||
let data: ClientData = db.get(today);
|
||||
if (!(location in data.choices)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user