feat: opakovaný výběr jídla zvýší počet kusů (2x)
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 25s
CI / Build server (push) Successful in 27s
CI / Build client (push) Successful in 40s
CI / Playwright E2E tests (push) Successful in 1m50s
CI / Build and push Docker image (push) Successful in 44s
CI / Notify (push) Successful in 1s
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 25s
CI / Build server (push) Successful in 27s
CI / Build client (push) Successful in 40s
CI / Playwright E2E tests (push) Successful in 1m50s
CI / Build and push Docker image (push) Successful in 44s
CI / Notify (push) Successful in 1s
This commit is contained in:
3 files changed
+41
-19
No files matched your search
@@ -12,7 +12,7 @@ import {
|
||||
} from '../../../types';
|
||||
import MenuHintCell from '../components/MenuHintCell';
|
||||
import EaterBadge from '../components/EaterBadge';
|
||||
import { countNoteItems, removeNoteItem } from '../utils/menuMatch';
|
||||
import { addNoteItem, countNoteItems, removeNoteItem } from '../utils/menuMatch';
|
||||
import { computeFeeShare, computeMemberTotal, countActiveMembers } from '../utils/groupFees';
|
||||
import { getStoreUrls, isHttpUrl, storeUrlLabel } from '../utils/storeUrls';
|
||||
import { EVENT_MESSAGE, EVENT_PENDING_QR, SocketContext } from '../context/socket';
|
||||
@@ -332,9 +332,9 @@ export default function OrderGroupsPage() {
|
||||
const getGroupMenu = (group: OrderGroup): StoreMenuDish[] | undefined =>
|
||||
Object.entries(storeMenus).find(([name]) => name.toLowerCase() === group.name.toLowerCase())?.[1] ?? undefined;
|
||||
|
||||
/** Výběr položky z nabídky — připojí ji k poznámce a její cenu přičte k částce. */
|
||||
/** Výběr položky z nabídky — připojí ji k poznámce (opakovaný výběr zvýší počet „2x") a cenu přičte k částce. */
|
||||
const handlePickDish = (group: OrderGroup, login: string, member: OrderGroupMember, dish: StoreMenuDish) => {
|
||||
const note = member.note?.trim() ? `${member.note.trim()} + ${dish.name}` : dish.name;
|
||||
const note = addNoteItem(member.note, dish.name, getGroupMenu(group) ?? []);
|
||||
const amount = dish.price != null ? (member.amount ?? 0) + Math.round(dish.price * 100) : member.amount;
|
||||
return refresh(() => updateGroupMember({ body: { id: group.id, login, note, ...(amount != null && { amount }) } }));
|
||||
};
|
||||
@@ -690,7 +690,7 @@ export default function OrderGroupsPage() {
|
||||
<tr key={memberLogin}>
|
||||
<td>
|
||||
<span className="user-info">
|
||||
<EaterBadge items={countNoteItems(member.note)} />
|
||||
<EaterBadge items={countNoteItems(member.note, getGroupMenu(group) ?? [])} />
|
||||
<strong>{memberLogin}</strong>
|
||||
{memberLogin === group.creatorLogin && (
|
||||
<OverlayTrigger placement="top" overlay={<Tooltip>Zakladatel / objednávající</Tooltip>}>
|
||||
|
||||
Reference in new issue
Block a user