Commit Graph

215 Commits

Author SHA1 Message Date
mates 94b8f0a452 fix: oprava zaokrouhlování
CI / Generate TypeScript types (push) Successful in 38s
CI / Build server (push) Successful in 25s
CI / Build client (push) Successful in 45s
CI / Playwright E2E tests (push) Successful in 1m18s
CI / Server unit tests (push) Successful in 3m20s
CI / Build and push Docker image (push) Successful in 9m29s
CI / Notify (push) Successful in 10s
2026-05-07 13:35:44 +02:00
mates 3e6ecd4e6a fix: oprava UI
CI / Generate TypeScript types (push) Successful in 1m21s
CI / Build server (push) Successful in 47s
CI / Build client (push) Successful in 34s
CI / Server unit tests (push) Successful in 2m54s
CI / Playwright E2E tests (push) Successful in 1m18s
CI / Build and push Docker image (push) Has been cancelled
CI / Notify (push) Has been cancelled
2026-05-07 13:29:30 +02:00
mates f12dc7b562 feat: celková částka objednávky, proklik na stránku s objednávkami
CI / Generate TypeScript types (push) Successful in 11s
CI / Server unit tests (push) Successful in 20s
CI / Build server (push) Successful in 33s
CI / Build client (push) Successful in 6m33s
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-07 13:17:45 +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 cca751752d fix: poplatky děleny všemi (včetně plátce), přejmenování Dýško → Poplatek
CI / Generate TypeScript types (push) Successful in 11s
CI / Generate TypeScript types (pull_request) Successful in 10s
CI / Build server (push) Successful in 46s
CI / Build client (push) Successful in 39s
CI / Server unit tests (pull_request) Successful in 21s
CI / Playwright E2E tests (push) Successful in 1m17s
CI / Server unit tests (push) Has been cancelled
CI / Build and push Docker image (push) Has been cancelled
CI / Notify (push) 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:19:50 +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 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 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 fdeb2636c2 fix: potvrzovací dialog pro Pizza day akce (#44)
ci/woodpecker/push/workflow Pipeline failed
2026-03-09 07:55:42 +01:00
mates 82ed16715f fix: odstranění textu "nepovinné"
ci/woodpecker/push/workflow Pipeline failed
2026-03-09 07:40:38 +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 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 27e56954bd fix: nahrazení selectu časovým inputem pro výběr času připomínky
ci/woodpecker/push/workflow Pipeline was successful
2026-03-04 14:14:29 +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 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
stanekpa a849f4e922 feat: zarovnani ikony varovani doprava
ci/woodpecker/push/workflow Pipeline was successful
2026-02-11 13:55:40 +01:00
mates ac6727efa5 feat: vylepšení Pizza day
ci/woodpecker/push/workflow Pipeline was successful
2026-02-10 23:59:58 +01:00
Stánek Pavel f13cd4ffa9 fix: opravy zobrazeni sekce vybranych jidel
ci/woodpecker/push/workflow Pipeline was successful
2026-02-05 10:18: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
batmanisko d366ac39d4 feat: podpora per-user notifikací s Discord, ntfy a Teams (#39)
Uživatelé mohou v nastavení konfigurovat vlastní webhook URL/topic
pro Discord, MS Teams a ntfy, a zvolit události k odběru.
Notifikace jsou odesílány pouze uživatelům se stejnou zvolenou lokalitou.
2026-02-04 17:33:53 +01:00
batmanisko fdd42dc46a feat: zobrazení minulého týdne o víkendu místo "Užívejte víkend" (#30)
Na víkendu se nyní zobrazuje páteční menu s možností procházet celý týden.
Editační ovládací prvky jsou automaticky skryté díky existující logice canChangeChoice.
2026-02-04 14:56:24 +01:00
batmanisko 2b7197eff6 fix: zobrazení popisů funkcí místo varnames ve statistikách (#26)
ci/woodpecker/push/workflow Pipeline failed
2026-02-04 13:40:20 +01:00
batmanisko 6f43c74769 fix: resolve 6 Gitea issues (#9, #10, #12, #14, #15, #21)
- #21: Add missing await in removeChoiceIfPresent() to prevent user appearing in two restaurants
- #15: Add 1-hour TTL for menu refetching to avoid scraping on every page load
- #9: Block stats API and UI navigation for future dates
- #14: Add restaurant warnings (missing soup/prices, stale data) with warning icon
- #12: Pre-fill restaurant/departure dropdowns from existing choices on page refresh
- #10: Add voting statistics endpoint and table on stats page
2026-02-04 13:18:27 +01:00
Stánek Pavel d85c764c88 fix: opravy a ladeni vzhledu a UX 2026-02-04 12:06:17 +01:00
Stánek Pavel 37cacd895a feat: redesign aplikace pomocí claude code 2026-02-03 10:37:27 +01:00
batmanisko 6a1da97ef1 feat: podpora dark mode 2026-01-30 07:47:03 +01:00
mates 7cf9179a87 Neumožnění výběru jídla kliknutím do minulosti 2026-01-13 16:03:31 +01:00
mates 54e5be6b6a Povýšení závislostí 2026-01-13 15:43:19 +01:00
mates c264f9921e Opravy dle SonarLint - klient 2026-01-13 15:35:00 +01:00
mates e03ba45415 Možnost označení objednávajícího 2026-01-13 14:06:16 +01:00
mates 20f4ee0427 Zimní atmosféra 2026-01-09 08:46:14 +01:00
mates 8285dd2780 Povýšení závislostí
ci/woodpecker/push/workflow Pipeline was successful
2025-11-10 22:03:48 +01:00
mates 039d8457f3 Povýšení závislostí
ci/woodpecker/push/workflow Pipeline was successful
2025-11-06 21:22:39 +01:00
mates 091e25f446 Kopírování poznámky jen pokud je vyplněna
ci/woodpecker/push/workflow Pipeline was successful
2025-11-03 14:17:22 +01:00
mates 00b4a0cce2 Oprava/narovnání ikony kopírování poznámky
ci/woodpecker/push/workflow Pipeline was successful
2025-11-03 14:05:01 +01:00
batmanisko 979c79e090 poznamka, pak icon
ci/woodpecker/push/workflow Pipeline was successful
2025-11-03 13:43:20 +01:00
batmanisko d29c7863dd chat ikona misto barvicek
ci/woodpecker/push/workflow Pipeline was successful
2025-11-03 13:36:54 +01:00
batmanisko 0781b84f11 Kopírování komentaře na kliknutí.
ci/woodpecker/push/workflow Pipeline was successful
2025-11-03 12:57:22 +01:00
mates e3d217822a Oprava výběru jídla při přepínání dnů šipkami
ci/woodpecker/push/workflow Pipeline was successful
2025-11-03 12:48:56 +01:00
mates 7407a3d881 Oprava hover popisků u Font Awesome ikon
ci/woodpecker/push/workflow Pipeline was successful
2025-10-16 08:06:22 +02:00
mates 8b139eba4e Oprava zobrazení tooltipu při hoveru
ci/woodpecker/push/workflow Pipeline was successful
2025-10-16 07:39:39 +02:00
mates 74eeef1de9 Aktualizace posledních změn
ci/woodpecker/push/workflow Pipeline was successful
2025-10-11 13:24:11 +02:00
mates fd67c0e646 Oprava buildu
ci/woodpecker/push/workflow Pipeline was successful
2025-10-11 13:15:47 +02:00
mates 60150889b0 Povýšení závislostí
ci/woodpecker/push/workflow Pipeline failed
2025-10-11 13:02:56 +02:00