feat: generování mock dat ve vývoji pro objednávky
CI / Generate TypeScript types (push) Successful in 11s
CI / Server unit tests (push) Successful in 27s
CI / Build server (push) Successful in 29s
CI / Build client (push) Successful in 42s
CI / Playwright E2E tests (push) Successful in 1m43s
CI / Build and push Docker image (push) Successful in 46s
CI / Notify (push) Successful in 2s

This commit is contained in:
mates committed 2026-09-04 16:57:10 +02:00
1 parent 1af40bd572
commit ecc28ee82d
7 files changed
+574 -5

No files matched your search

+26 -4
View File
@@ -24,6 +24,7 @@ import StoreAdminModal from '../components/modals/StoreAdminModal';
import PayForGroupModal from '../components/modals/PayForGroupModal';
import EditGroupFeesModal from '../components/modals/EditGroupFeesModal';
import BoltSimulationModal from '../components/modals/BoltSimulationModal';
import GenerateMockOrdersModal from '../components/modals/GenerateMockOrdersModal';
import PendingPayments from '../components/PendingPayments';
import OrderProgress, { PROVIDER_LABEL } from '../components/OrderProgress';
@@ -137,6 +138,7 @@ export default function OrderGroupsPage() {
const [payModal, setPayModal] = useState<OrderGroup | null>(null);
const [feesModal, setFeesModal] = useState<OrderGroup | null>(null);
const [boltSimModal, setBoltSimModal] = useState<OrderGroup | null>(null);
const [mockOrdersModalOpen, setMockOrdersModalOpen] = useState(false);
const [confirmOrderGroup, setConfirmOrderGroup] = useState<OrderGroup | null>(null);
const [pageError, setPageError] = useState<string | null>(null);
@@ -401,10 +403,17 @@ export default function OrderGroupsPage() {
<div className="wrapper">
<div className="d-flex align-items-center justify-content-between mb-1">
<h1 className="title mb-0">Objednání</h1>
<Button variant="outline-primary" size="sm" onClick={() => setAdminModalOpen(true)} title="Správa obchodů">
<FontAwesomeIcon icon={faGear} className="me-1" />
Obchody
</Button>
<div className="d-flex gap-2">
{IS_DEV && !isReadOnly && (
<Button variant="outline-warning" size="sm" onClick={() => setMockOrdersModalOpen(true)} title="Generovat mock objednávky (DEV)">
🔧 Mock objednávky
</Button>
)}
<Button variant="outline-primary" size="sm" onClick={() => setAdminModalOpen(true)} title="Správa obchodů">
<FontAwesomeIcon icon={faGear} className="me-1" />
Obchody
</Button>
</div>
</div>
<p style={{ color: 'var(--luncher-text-muted)' }}>Skupinové objednávky z obchodů a restaurací</p>
@@ -955,6 +964,19 @@ export default function OrderGroupsPage() {
}}
/>
)}
{IS_DEV && (
<GenerateMockOrdersModal
isOpen={mockOrdersModalOpen}
onClose={() => {
setMockOrdersModalOpen(false);
// Data přijdou i websocketem, po založení skupiny se ale mění i dny s objednávkou
fetchData();
fetchOrderDates();
}}
hasGroups={groups.length > 0}
hasStores={stores.length > 0}
/>
)}
{IS_DEV && boltSimModal && (
<BoltSimulationModal
isOpen={!!boltSimModal}