mates
bcec015c37
feat: skript pro import dat z Redis databáze
2026-06-12 19:19:36 +02:00
batmanisko
c404a3a03b
fix: správné mapování stavu waiting_delivery ve stepperu Bolt
...
CI / Generate TypeScript types (push) Successful in 12s
CI / Server unit tests (push) Successful in 20s
CI / Build server (push) Successful in 28s
CI / Build client (push) Successful in 1m10s
CI / Playwright E2E tests (push) Successful in 1m22s
CI / Build and push Docker image (push) Successful in 42s
CI / Notify (push) Successful in 1s
Stav waiting_delivery znamená "jídlo čeká v podniku na vyzvednutí",
heuristika ho ale kvůli slovu "delivery" mapovala na krok "Na cestě".
- waiting_delivery (a obecně waiting_*) se nyní mapuje na "Příprava"
- server nově ukládá i stav kurýra (boltCourierState z courier.state);
krok "Na cestě" se aktivuje až když kurýr objednávku skutečně veze
(picked_up, heading_to_client, ...), kurýr u podniku zůstává v "Příprava"
- tooltip stepperu zobrazuje oba raw stavy pro snadnější diagnostiku
- regresní test s reálnou odpovědí Bolt API
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-11 12:55:21 +02:00
batmanisko
84b95c6c70
feat: zobrazení stavu objednávky Bolt Food jako progress stepper
...
CI / Generate TypeScript types (push) Successful in 9s
CI / Server unit tests (push) Successful in 21s
CI / Build server (push) Successful in 24s
CI / Build client (push) Successful in 35s
CI / Playwright E2E tests (push) Successful in 1m22s
CI / Build and push Docker image (push) Successful in 41s
CI / Notify (push) Successful in 2s
Jak to funguje:
- OrderGroup má nové pole boltOrderState (raw order_state z Bolt API).
Polling scheduler ho ukládá při každé změně a rozesílá přes Socket.io,
takže stepper se posouvá živě všem uživatelům.
- Komponenta BoltOrderProgress vykresluje čtyři kroky
(Přijato → Příprava → Na cestě → Doručeno) pod časy skupiny.
Známé stavy se mapují explicitně, neznámé heuristikou podle
klíčových slov, zrušená objednávka se zobrazí červeně.
Tooltip ukazuje raw stav, aktivní krok pulzuje, dokud sledování běží.
- Po doručení (nebo zmizení objednávky z API) se token smaže,
ale boltOrderState zůstává "delivered" — dokončený stepper je vidět
po zbytek dne. Vynuluje se při změně/zrušení odkazu nebo návratu
skupiny do stavu uzamčeno.
- Nastavení odkazu nově spustí okamžitý poll, stepper se tak objeví
do vteřiny místo čekání na další tik scheduleru.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-11 12:28:26 +02:00
mates
b42b051e6f
feat: uživatelsky přívětivější možnost zadání sledovací URL pro Bolt Food
CI / Generate TypeScript types (push) Successful in 13s
CI / Server unit tests (push) Successful in 22s
CI / Build server (push) Successful in 29s
CI / Build client (push) Successful in 37s
CI / Playwright E2E tests (push) Successful in 1m24s
CI / Build and push Docker image (push) Successful in 40s
CI / Notify (push) Successful in 2s
2026-06-10 19:28:46 +02:00
mates
88b9e20e2d
feat: proklik na stránky podniku ze stránky objednávek
CI / Generate TypeScript types (push) Successful in 9s
CI / Server unit tests (push) Successful in 21s
CI / Build server (push) Successful in 25s
CI / Build client (push) Successful in 37s
CI / Playwright E2E tests (push) Successful in 1m18s
CI / Build and push Docker image (push) Successful in 39s
CI / Notify (push) Successful in 2s
2026-06-10 19:09:20 +02:00
mates
cc09ddbd2c
feat: možnost označení návrhu jako vyřešeného (resolved)
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 21s
CI / Build server (push) Successful in 24s
CI / Build client (push) Successful in 36s
CI / Playwright E2E tests (push) Successful in 1m18s
CI / Build and push Docker image (push) Successful in 41s
CI / Notify (push) Successful in 2s
2026-06-10 18:38:55 +02:00
batmanisko
491ec25b52
feat: automatické sledování doručení objednávky přes Bolt Food
...
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 21s
CI / Build server (push) Successful in 24s
CI / Build client (push) Successful in 36s
CI / Playwright E2E tests (push) Successful in 1m25s
CI / Build and push Docker image (push) Successful in 43s
CI / Notify (push) Successful in 2s
Zakladatel skupiny může na stránce objednání vložit sdílecí odkaz
Bolt Food. Server pak každou minutu dotazuje veřejné Bolt API
a automaticky aktualizuje čas doručení skupiny (deliveryAt).
Sledování se samo ukončí po doručení, zrušení objednávky nebo
opakovaných chybách. Leader lease vytažena do znovupoužitelného
modulu leaderLease.ts.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-10 12:22:07 +02:00
batmanisko
1df21edc1a
fix: oprava updateData v Redis storage (node-redis v5 nemá executeIsolated)
CI / Generate TypeScript types (push) Successful in 9s
CI / Server unit tests (push) Successful in 19s
CI / Build server (push) Successful in 23s
CI / Build client (push) Successful in 35s
CI / Playwright E2E tests (push) Successful in 1m18s
CI / Build and push Docker image (push) Successful in 36s
CI / Notify (push) Successful in 1s
2026-06-10 11:23:20 +02:00
batmanisko
df5423511f
feat: podpora high-availability a multi-replica nasazení
...
- Socket.io Redis adapter pro sdílený stav přes repliky
- graceful shutdown serveru
- WATCH/MULTI v updateData pro race-condition-safe aktualizace
- lease mechanismus pro push reminder (zabrání duplicitnímu odesílání)
- k8s/ manifesty pro testovací kind cluster
- Dockerfile: opraven EXPOSE port na 3001
- .gitignore: ignorovány Claude pracovní soubory
2026-06-10 11:23:20 +02:00
mates
17132d4124
feat: nová stránka pro návrhy na vylepšení
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 21s
CI / Build server (push) Successful in 24s
CI / Build client (push) Successful in 38s
CI / Playwright E2E tests (push) Successful in 1m18s
CI / Build and push Docker image (push) Successful in 40s
CI / Notify (push) Successful in 2s
2026-06-05 19:15:46 +02:00
mates
f28f127a92
feat: zvýraznění dnů v historii obsahujících objednávky
CI / Generate TypeScript types (push) Successful in 12s
CI / Server unit tests (push) Successful in 20s
CI / Build server (push) Successful in 24s
CI / Build client (push) Successful in 36s
CI / Playwright E2E tests (push) Successful in 1m17s
CI / Build and push Docker image (push) Successful in 40s
CI / Notify (push) Successful in 2s
2026-06-05 14:50:33 +02:00
mates
fb84bff687
feat: možnost zobrazení objednávek z historie
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 20s
CI / Build server (push) Successful in 23s
CI / Build client (push) Successful in 33s
CI / Playwright E2E tests (push) Successful in 1m17s
CI / Build and push Docker image (push) Successful in 41s
CI / Notify (push) Successful in 2s
2026-06-05 14:11:39 +02:00
mates
c85842267a
feat: podpora neplatících osob u objednávek
CI / Generate TypeScript types (push) Successful in 14s
CI / Server unit tests (push) Successful in 20s
CI / Build server (push) Successful in 24s
CI / Build client (push) Successful in 33s
CI / Playwright E2E tests (push) Successful in 1m17s
CI / Build and push Docker image (push) Successful in 39s
CI / Notify (push) Successful in 2s
2026-06-05 11:31:55 +02:00
mates
c2bbf7ea60
fix: opravy generování QR kódů, zobrazení také na stránce objednání
CI / Generate TypeScript types (push) Successful in 14s
CI / Server unit tests (push) Successful in 21s
CI / Build server (push) Successful in 25s
CI / Build client (push) Successful in 34s
CI / Playwright E2E tests (push) Successful in 1m18s
CI / Build and push Docker image (push) Successful in 49s
CI / Notify (push) Successful in 3s
2026-06-05 10:37:58 +02:00
mates
318d188495
fix: oprava pro aktuální podobu TechTower
CI / Generate TypeScript types (push) Successful in 11s
CI / Server unit tests (push) Successful in 21s
CI / Build server (push) Successful in 23s
CI / Build client (push) Successful in 33s
CI / Playwright E2E tests (push) Successful in 1m21s
CI / Build and push Docker image (push) Successful in 49s
CI / Notify (push) Successful in 2s
2026-06-03 10:04:36 +02:00
mates
5e596c3b99
refactor: opravy dle SonarQube
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 20s
CI / Build server (push) Successful in 29s
CI / Build client (push) Successful in 33s
CI / Playwright E2E tests (push) Has been cancelled
CI / Build and push Docker image (push) Has been cancelled
CI / Notify (push) Has been cancelled
2026-05-10 08:44:39 +02:00
mates
3ba5fdd086
feat: vylepšení funkce objednávání
CI / Generate TypeScript types (push) Successful in 1m24s
CI / Build server (push) Successful in 26s
CI / Build client (push) Successful in 41s
CI / Server unit tests (push) Successful in 3m25s
CI / Playwright E2E tests (push) Has been cancelled
CI / Build and push Docker image (push) Has been cancelled
CI / Notify (push) Has been cancelled
2026-05-10 08:24:01 +02:00
mates
03f4e438a3
test: oprava Playwright testů
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 21s
CI / Build server (push) Successful in 24s
CI / Build client (push) Successful in 33s
CI / Playwright E2E tests (push) Successful in 1m17s
CI / Build and push Docker image (push) Successful in 43s
CI / Notify (push) Successful in 2s
2026-05-07 17:17:21 +02:00
mates
b591411d10
test: oprava Playwright testů
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 19s
CI / Build server (push) Successful in 27s
CI / Build client (push) Successful in 33s
CI / Playwright E2E tests (push) Failing after 17m56s
CI / Build and push Docker image (push) Has been skipped
CI / Notify (push) Successful in 2s
2026-05-07 14:52:42 +02:00
mates
8a588cf486
fix: oprava přesměrování
CI / Generate TypeScript types (push) Successful in 9s
CI / Server unit tests (push) Successful in 20s
CI / Build server (push) Successful in 24s
CI / Build client (push) Successful in 4m37s
CI / Playwright E2E tests (push) Failing after 4m25s
CI / Build and push Docker image (push) Has been skipped
CI / Notify (push) Successful in 3s
2026-05-07 14:36:23 +02:00
mates
0e4dc061b8
fix: oprava refresh na stránce /objednani
2026-05-07 14:13:30 +02:00
mates
7fd3ba0fc4
fix: padding kontrolní číslice IBAN
CI / Generate TypeScript types (push) Successful in 35s
CI / Build server (push) Successful in 47s
CI / Build client (push) Successful in 51s
CI / Playwright E2E tests (push) Successful in 1m18s
CI / Server unit tests (push) Successful in 4m0s
CI / Build and push Docker image (push) Successful in 5m16s
CI / Notify (push) Successful in 45s
2026-05-07 14:07:36 +02:00
mates
8aef00ab05
fix: počítání částek v haléřích z důvodu přesnosti
CI / Generate TypeScript types (push) Successful in 21s
CI / Build server (push) Successful in 25s
CI / Server unit tests (push) Successful in 55s
CI / Build client (push) Successful in 33s
CI / Playwright E2E tests (push) Successful in 1m20s
CI / Build and push Docker image (push) Successful in 35s
CI / Notify (push) Successful in 2s
2026-05-07 13:09:15 +02:00
mates
d8714b2086
fix: oprava buildu
CI / Generate TypeScript types (push) Successful in 11s
CI / Generate TypeScript types (pull_request) Successful in 23s
CI / Server unit tests (push) Successful in 21s
CI / Build client (push) Successful in 34s
CI / Server unit tests (pull_request) Successful in 21s
CI / Build server (push) Successful in 1m4s
CI / Build server (pull_request) Successful in 25s
CI / Build client (pull_request) Successful in 1m40s
CI / Playwright E2E tests (push) Successful in 1m19s
CI / Build and push Docker image (push) Has been skipped
CI / Notify (push) Successful in 10s
CI / Playwright E2E tests (pull_request) Successful in 1m18s
CI / Build and push Docker image (pull_request) Has been skipped
CI / Notify (pull_request) Has been skipped
2026-05-07 10:50:40 +02:00
mates
c7f78cf2c9
feat: vylepšení objednávek
CI / Generate TypeScript types (pull_request) Successful in 20s
CI / Server unit tests (pull_request) Failing after 20s
CI / Build client (pull_request) Failing after 30s
CI / Build server (pull_request) Successful in 3m13s
CI / Playwright E2E tests (pull_request) Has been skipped
CI / Build and push Docker image (pull_request) Has been skipped
CI / Notify (pull_request) Has been skipped
CI / Build client (push) Failing after 10m5s
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Failing after 22s
CI / Build server (push) Successful in 41s
CI / Playwright E2E tests (push) Has been skipped
CI / Build and push Docker image (push) Has been skipped
CI / Notify (push) Successful in 4s
2026-05-07 09:50:51 +02:00
mates
1efe2b8f7d
feat: potvrzení o úhradě objednávky
CI / Generate TypeScript types (push) Successful in 9s
CI / Generate TypeScript types (pull_request) Successful in 9s
CI / Server unit tests (push) Successful in 21s
CI / Build client (push) Successful in 33s
CI / Server unit tests (pull_request) Successful in 20s
CI / Build server (pull_request) Successful in 35s
CI / Build client (pull_request) Successful in 47s
CI / Build server (push) Successful in 3m9s
CI / Playwright E2E tests (pull_request) Successful in 1m18s
CI / Build and push Docker image (pull_request) Has been skipped
CI / Notify (pull_request) Has been skipped
CI / Playwright E2E tests (push) Successful in 6m51s
CI / Build and push Docker image (push) Has been skipped
CI / Notify (push) Successful in 16s
2026-05-07 09:09:47 +02:00
mates
5f03471541
fix: opravy po review
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 21s
CI / Generate TypeScript types (pull_request) Successful in 47s
CI / Build server (push) Successful in 27s
CI / Server unit tests (pull_request) Successful in 20s
CI / Build server (pull_request) Successful in 27s
CI / Build client (pull_request) Successful in 40s
CI / Playwright E2E tests (pull_request) Successful in 1m20s
CI / Build and push Docker image (pull_request) Has been skipped
CI / Notify (pull_request) Has been skipped
CI / Build client (push) Successful in 4m13s
CI / Playwright E2E tests (push) Successful in 6m7s
CI / Build and push Docker image (push) Has been skipped
CI / Notify (push) Successful in 6s
2026-05-07 08:56:49 +02:00
batmanisko
21d7224fb4
Zbytečný changelog
CI / Generate TypeScript types (push) Successful in 19s
CI / Generate TypeScript types (pull_request) Successful in 14s
CI / Build server (push) Successful in 53s
CI / Server unit tests (pull_request) Has been cancelled
CI / Build server (pull_request) Has been cancelled
CI / Build client (pull_request) Has been cancelled
CI / Playwright E2E tests (pull_request) Has been cancelled
CI / Build and push Docker image (pull_request) Has been cancelled
CI / Notify (pull_request) Has been cancelled
CI / Build client (push) Successful in 54s
CI / Playwright E2E tests (push) Successful in 1m19s
CI / Server unit tests (push) Successful in 3m53s
CI / Build and push Docker image (push) Has been skipped
CI / Notify (push) Successful in 12s
2026-05-07 07:26:37 +02:00
batmanisko
abc3d070cc
feat: novinka /objednani, odebrání z hlasování (CUSTOM_QR implementováno)
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 20s
CI / Generate TypeScript types (pull_request) Successful in 35s
CI / Build server (push) Successful in 28s
CI / Build client (push) Has been cancelled
CI / Playwright E2E tests (push) Has been cancelled
CI / Build and push Docker image (push) Has been cancelled
CI / Notify (push) Has been cancelled
CI / Server unit tests (pull_request) Has been cancelled
CI / Build server (pull_request) Has been cancelled
CI / Build client (pull_request) Has been cancelled
CI / Playwright E2E tests (pull_request) Has been cancelled
CI / Build and push Docker image (pull_request) Has been cancelled
CI / Notify (pull_request) Has been cancelled
2026-05-07 07:24:52 +02:00
batmanisko
936b33cc80
feat: /objednani – skupinové objednávky s QR platbou
...
CI / Generate TypeScript types (push) Successful in 18s
CI / Generate TypeScript types (pull_request) Successful in 9s
CI / Server unit tests (push) Successful in 21s
CI / Build client (push) Successful in 40s
CI / Server unit tests (pull_request) Successful in 21s
CI / Build server (pull_request) Successful in 24s
CI / Build server (push) Has been cancelled
CI / Playwright E2E tests (push) Has been cancelled
CI / Build and push Docker image (push) Has been cancelled
CI / Notify (push) Has been cancelled
CI / Build client (pull_request) Has been cancelled
CI / Playwright E2E tests (pull_request) Has been cancelled
CI / Build and push Docker image (pull_request) Has been cancelled
CI / Notify (pull_request) Has been cancelled
Nahrazuje /vecere novou stránkou /objednani. Místo jednoho
OBJEDNAVAM bucketu umožňuje vytvářet více skupin, kde každá
objednává z jiného obchodu.
- Skupiny mají stavový automat: open → locked → ordered
- Obchody spravuje admin heslem (ADMIN_PASSWORD env var)
přes modal „Správa obchodů"
- Při stavu ordered zakladatel generuje QR kódy platby
(nový PayForGroupModal – volné částky bez menu)
- PayForAllModal (oběd) upraven: plátce nyní vidí svůj
vlastní díl jako informační řádek
- Nové testy: stores.test.ts + groups.test.ts (36 testů)
2026-05-07 07:05:01 +02:00
batmanisko
774be3df6d
feat: večeře (extra meal slot)
...
CI / Generate TypeScript types (pull_request) Successful in 11s
CI / Generate TypeScript types (push) Successful in 36s
CI / Server unit tests (pull_request) Successful in 25s
CI / Build client (pull_request) Successful in 37s
CI / Server unit tests (push) Successful in 22s
CI / Build server (push) Successful in 1m0s
CI / Build client (push) Successful in 37s
CI / Build server (pull_request) Successful in 3m14s
CI / Playwright E2E tests (push) Successful in 1m18s
CI / Build and push Docker image (push) Has been skipped
CI / Notify (push) Successful in 2s
CI / Playwright E2E tests (pull_request) Successful in 10m34s
CI / Build and push Docker image (pull_request) Has been skipped
CI / Notify (pull_request) Has been skipped
- Nová stránka /vecere pro evidenci extra jídla (večeře/pozdní oběd)
- MealSlot enum (obed/extra), oddělený storage namespace YYYY-MM-DD_extra
- slot parametr na všech food endpointech a GET /api/data
- Push reminder: přechod na 60min cooldown, login v payloadu místo endpointu
- server: slot?: string → slot?: MealSlot, enum konstanty místo literálů
- Jest testy izolace extra/obed storage namespace
- Aktualizace changelogů (saláty, SINGLE_PAYMENT, večeře)
2026-05-06 21:06:25 +02:00
batmanisko
a0d4921d87
fix: unit testy selhávaly v CI kvůli MOCK_DATA=true z workflow env
...
CI / Generate TypeScript types (push) Successful in 11s
CI / Generate TypeScript types (pull_request) Successful in 10s
CI / Server unit tests (push) Successful in 27s
CI / Build server (push) Successful in 24s
CI / Server unit tests (pull_request) Successful in 19s
CI / Build client (push) Successful in 32s
CI / Build server (pull_request) Successful in 26s
CI / Build client (pull_request) Successful in 31s
CI / Playwright E2E tests (push) Successful in 1m17s
CI / Build and push Docker image (push) Has been skipped
CI / Playwright E2E tests (pull_request) Successful in 1m10s
CI / Build and push Docker image (pull_request) Has been skipped
CI / Notify (push) Successful in 2s
CI / Notify (pull_request) Has been skipped
setupEnv.ts nyní explicitně ruší MOCK_DATA, aby getToday() vracelo
skutečné datum i když CI job nastavuje MOCK_DATA=true. seedPizzaDay
používá getToday() místo new Date() pro konzistenci s pizza funkcemi.
2026-04-30 00:45:15 +02:00
batmanisko
8b1703dce9
merge: master → feat/tests, resolve conflicts + fix all tests
...
CI / Generate TypeScript types (push) Successful in 10s
CI / Generate TypeScript types (pull_request) Successful in 11s
CI / Server unit tests (push) Failing after 24s
CI / Build server (push) Successful in 24s
CI / Server unit tests (pull_request) Failing after 18s
CI / Build client (push) Successful in 31s
CI / Build server (pull_request) Successful in 25s
CI / Build client (pull_request) Successful in 32s
CI / Playwright E2E tests (push) Successful in 1m17s
CI / Build and push Docker image (push) Has been skipped
CI / Playwright E2E tests (pull_request) Successful in 1m9s
CI / Notify (push) Successful in 2s
CI / Build and push Docker image (pull_request) Has been skipped
CI / Notify (pull_request) Has been skipped
- odstraněn .woodpecker/workflow.yaml (CI přesunuto na Gitea Actions)
- tsconfig.json: exclude src/tests/**/* (feat/tests verze)
- jest.config.js: testEnvironment node + master cesty
- auth/pizza/voting tests: union obou větví, použit resetMemoryStorage()
- service.test.ts: jest.useFakeTimers místo MOCK_DATA=true
- všechny testy: 167/167 PASS
2026-04-30 00:32:43 +02:00
mates
70ed59ab9d
test: opravy Playwright testů
CI / Generate TypeScript types (push) Successful in 12s
CI / Generate TypeScript types (pull_request) Successful in 11s
CI / Server unit tests (push) Successful in 23s
CI / Build server (push) Successful in 23s
CI / Server unit tests (pull_request) Successful in 19s
CI / Build client (push) Successful in 34s
CI / Build server (pull_request) Successful in 23s
CI / Build client (pull_request) Successful in 33s
CI / Playwright E2E tests (push) Failing after 2m24s
CI / Playwright E2E tests (pull_request) Failing after 2m14s
CI / Build and push Docker image (push) Has been skipped
CI / Build and push Docker image (pull_request) Has been skipped
CI / Notify (push) Successful in 4s
CI / Notify (pull_request) Has been skipped
2026-04-29 22:06:46 +02:00
mates
64d85036fd
test: rozšíření serverových testů
ci/woodpecker/push/workflow Pipeline failed
2026-04-29 15:42:08 +02:00
batmanisko
fe6bb3290e
feat: přidání testů – Jest unit testy + Playwright E2E + CI pipeline
...
ci/woodpecker/push/workflow Pipeline was canceled
ci/woodpecker/pr/workflow Pipeline failed
Server:
- Jest unit testy (88 testů): auth, utils, restaurants, service, voting, pizza
- in-memory storage mock pro izolaci testů
- oprava race condition při inicializaci Redis (storageReady promise)
- dev route dostupná i pro NODE_ENV=test
- getStatsMock deterministický (nahrazení Math.random)
- exporty interních helperů pro testovatelnost
- /api/health endpoint pro Playwright readiness check
- tsconfig vylučuje test soubory z produkčního buildu
E2E (e2e/):
- Playwright s Firefoxem + Chromiem
- testy: login, menu, výběr jídla, pizza day životní cyklus, QR/nastavení
- trusted-header auth bypass pro testy, video + trace při selhání
CI (Woodpecker):
- pipeline spouštěna na všech větvích a PR (nejen master)
- redis-stack-server service pro E2E – čistý Redis per větev automaticky
- kroky: unit testy, build, E2E testy (parallel kde možné)
- Docker build zůstává pouze pro master
Co-Authored-By: Claude Opus (extra usage) 4.7 <noreply@anthropic.com >
2026-04-29 00:25:22 +02:00
batmanisko
1e1e23df80
feat: úhrada za všechny jednou osobou (issue #29 , SINGLE_PAYMENT)
...
ci/woodpecker/push/workflow Pipeline was canceled
Přidává možnost, aby jeden strávník zaplatil celý účet v restauraci a ostatní
obdrželi QR kód pro refundaci.
Prerekvizita — podpora více QR kódů na (příjemce, den):
- PendingQr.id (UUID) nahrazuje deduplikaci podle data; každý QR má vlastní klíč
- QR obrázky uloženy do Redis/storage (base64) místo tmpdir — přežijí redeploy
- GET /api/qr vyžaduje ?id= parametr; dismissQr přijímá {id} místo {date}
Feature:
- Ikona 'Zaplatit za všechny' v choices-table pro každou LunchChoice (kromě
PIZZA/NEOBEDVAM/ROZHODUJI); viditelná jen při ≥2 strávnících a vyplněném účtu
- PayForAllModal: tabulka strávníků s prefillovanými cenami z menu, příplatky
per-diner, celkové dýško rozpočtené rovnoměrně, generování QR přes POST /api/qr/generate
- parsePriceCzk() helper pro parsing 'N Kč' → number
Co se nemění: POST /api/qr/generate API kontrakt, PizzaOrder.hasQr boolean
Co se mění v OpenAPI: PendingQr.id (required), getPizzaQr ?id param, dismissQr body
Co-Authored-By: opmrdkazkrtkaus <opmrdkazkrtkaus@melancholik.eu >
2026-04-28 22:44:32 +02:00
mates
4e7b83b667
fix: oprava parsování pro aktuální podobu TechTower
ci/woodpecker/push/workflow Pipeline failed
2026-04-28 12:50:19 +02:00
mates
d6729388ab
feat: podpora salátů z Pizza Chefie
ci/woodpecker/push/workflow Pipeline failed
2026-04-02 10:51:46 +02:00
mates
e9696f722c
feat: automatický výběr výchozího času
ci/woodpecker/push/workflow Pipeline failed
2026-03-09 11:50:24 +01:00
mates
44cf749bc9
feat: nový způsob zobrazování novinek
...
ci/woodpecker/push/workflow Pipeline is pending
fix: oprava kopírování changelogů do Docker image
fix: oprava kopírování changelogů do Docker image
fix: oprava
2026-03-08 10:55:50 +01:00
batmanisko
f8a65d7177
feat: detekce starého menu TechTower, příznak isStale
...
Pokud TechTower vrátí menu z jiného týdne, uloží data s příznakem
isStale a zobrazí varování "Data jsou z minulého týdne" místo chybové
hlášky. Odstraněno staré varování o datech starších 24 hodin.
2026-03-05 22:11:45 +01:00
batmanisko
607bcd9bf5
feat: uprava refresh menu hesel
...
každý může udělat refresh, jen ne tak často, bypass mimo zdrojak
2026-03-05 21:50:17 +01:00
batmanisko
b6fdf1de98
feat: akce "Neobědvám" přímo z push notifikace
ci/woodpecker/push/workflow Pipeline was successful
2026-03-04 14:37:05 +01:00
batmanisko
20cc7259a3
chore: test endpoint na push
2026-03-04 14:11:22 +01:00
batmanisko
d62f6c1f5a
feat: push notifikace pro připomínku výběru oběda
ci/woodpecker/push/workflow Pipeline was successful
2026-03-04 13:33:58 +01:00
mates
5f79a9431c
fix: oprava závislostí
ci/woodpecker/push/workflow Pipeline was successful
2026-02-20 14:32:02 +01:00
mates
cc98c2be0d
feat: podpora ručního generování QR kódů pro platby
ci/woodpecker/push/workflow Pipeline was successful
2026-02-20 14:17:39 +01:00
mates
ac6727efa5
feat: vylepšení Pizza day
ci/woodpecker/push/workflow Pipeline was successful
2026-02-10 23:59:58 +01:00
batmanisko
b8629afef2
feat: trvalé zobrazení QR kódu do ručního zavření ( #31 )
...
QR kódy pro platbu za pizza day jsou nyní zobrazeny persistentně
i po následující dny, dokud uživatel nepotvrdí platbu tlačítkem
"Zaplatil jsem". Nevyřízené QR kódy jsou uloženy per-user v storage
a zobrazeny v sekci "Nevyřízené platby".
2026-02-04 17:34:05 +01:00