elpatron
4dfe2cea4e
feat(i18n): replace language cycle buttons with flag dropdown selector using inline SVGs
2026-06-07 12:59:40 +02:00
elpatron
594c65d1a5
feat: make photo capture attachments section collapsible by default
2026-06-07 09:00:14 +02:00
elpatron
4fd7f3c6cf
feat(journal): wrap Crew an diesem Reisetag card inside a collapsible accordion defaulting to collapsed
2026-06-06 21:59:25 +02:00
elpatron
9ad3c2cf38
Add Database Size single metric and time series history chart to Admin Dashboard
2026-06-06 21:45:19 +02:00
elpatron
65d2215a35
Render maximized photo overlay via React Portal to resolve CSS stacking context issue
2026-06-06 21:33:47 +02:00
elpatron
f321e5bbd1
Simplify photos_title localization across all languages by removing E2E encryption label
2026-06-06 21:32:01 +02:00
elpatron
d2961b050a
Rearrange journal cards layout according to user request order
2026-06-06 21:30:00 +02:00
elpatron
6943fd2dc4
Implement column selector customizer popover for chronological events logbook
2026-06-06 21:17:50 +02:00
elpatron
f332eccf22
fix: restore click events for editing logbook title in dashboard
2026-06-06 21:11:29 +02:00
elpatron
9d2a19dbf8
feat: group freshwater, fuel, and greywater cards in collapsible Tanks section
2026-06-06 21:07:51 +02:00
elpatron
e3cd89be5d
feat: separate chronological events list and add event form into separate cards
2026-06-06 21:04:25 +02:00
elpatron
a86da72b04
feat: implement collapsible accordions for event protocol list and form
2026-06-06 21:02:35 +02:00
elpatron
7d6f381f55
feat: implement responsive event cards for mobile viewports
2026-06-06 20:58:04 +02:00
elpatron
878be33b7c
feat: add fullscreen photo viewer overlay on click & resolve appearance compat warnings
2026-06-06 20:40:13 +02:00
elpatron
318f5e65da
feat: add camera/gallery choice for photos & sync AI profile pref to server
2026-06-06 20:37:21 +02:00
elpatron
a9c3e9ce3e
Fix custom dialog coloring to support Light Theme via CSS variable mapping
2026-06-06 12:17:40 +02:00
elpatron
3eaf59e2b3
Implement AI consent gating, user preference settings, and Ko-fi hint
2026-06-06 12:08:46 +02:00
elpatron
b1e17be7fd
feat(analytics): add Plausible custom event VOICE_MEMO_TRANSCRIBED with status and mode properties
2026-06-06 11:51:07 +02:00
elpatron
a4b3515711
feat: implement voice memo transcription with local parakeet container and fallback timeouts
2026-06-06 11:01:15 +02:00
elpatron
6c83cd7d36
feat: differentiate weather fetch errors by cause
2026-06-05 19:52:33 +02:00
elpatron
9089e1c6f9
feat: resolve user profile photos in chronological event log
2026-06-05 19:46:18 +02:00
elpatron
a2180a302c
refactor(tour): interne z-index-Schichtung im Overlay vereinfachen
...
Ersetzt irreführende 10001/10002-Werte durch relative Layer 1–3 innerhalb
von .app-tour-root und dokumentiert den Stacking-Context.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 18:15:17 +02:00
elpatron
cd29115233
fix(tour): Tour-Tooltip über hervorgehobenen Profil-Schritten anzeigen
...
Erhöht den z-index des Tour-Overlays über app-tour-target-active, damit
das Modal in Schritt 8 (Stammcrew & Skipper) nicht von der Spotlight-Karte verdeckt wird.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 18:12:28 +02:00
elpatron
f0c3cacb06
feat(analytics): Plausible über PLAUSIBLE_ENABLED und PLAUSIBLE_HOST steuerbar
...
Runtime-Konfiguration im Frontend-Container trennt Prod und Staging;
Staging deaktiviert Analytics standardmäßig.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 18:04:31 +02:00
elpatron
968e81f4fb
feat(auth): Session-Wiederherstellung nach Reload ohne vollen Login
...
Nach gültigem Server-Cookie wird automatisch Passkey oder PIN zum Entsperren angeboten, statt die komplette Anmelde-Maske zu zeigen.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 11:42:06 +02:00
elpatron
cdbc618521
fix(admin): kompakteres Mobile-Layout für Admin-Dashboard
...
KPI-Karten bleiben auf schmalen Viewports in zwei Spalten, Header und Filter nutzen weniger vertikalen Platz.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 11:30:25 +02:00
elpatron
cd1dd12c15
fix: require auth before rendering admin dashboard
...
Show login instead of AdminDashboard on /admin when unauthenticated to avoid pointless admin API calls.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 10:31:54 +02:00
elpatron
43cf589613
feat: add in-app admin navigation for whitelisted users
...
Detect admin access after login and expose a header button that opens /admin via client-side routing so the session stays unlocked when returning to the app.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 10:03:46 +02:00
elpatron
e1cb2754c4
fix: keep session when leaving admin
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 09:32:30 +02:00
elpatron
5dedb8fac0
feat: add admin dashboard with usage stats
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 09:26:55 +02:00
elpatron
935c263648
style: link KnorrLabs to dashy with compass icon badge
2026-06-04 19:29:59 +02:00
elpatron
4d3b7210b3
style: replace name with email address in footer mail link badge
2026-06-04 19:27:00 +02:00
elpatron
2fcc741f5e
style: style email link in footer as icon badge similar to Ko-Fi badge
2026-06-04 19:22:43 +02:00
elpatron
f790a6adcc
feat: add sharepic HTML template, generation script, and client package task
2026-06-04 18:36:12 +02:00
elpatron
16944c1a26
chore: update contact email in footer to moin@kapteins-daagbok.eu
2026-06-04 18:26:02 +02:00
elpatron
73e7613a1b
feat(logbook): attribute log events to creator and show in exports
2026-06-03 19:39:15 +02:00
elpatron
9554f4b66e
style(client): center PWA update and install banners properly
2026-06-03 19:16:56 +02:00
elpatron
5c77bbfdc3
style(client): hide version footer on mobile when bottom navigation is active
2026-06-03 19:15:09 +02:00
elpatron
f189317dfc
chore: remove visual debug logs panel from voice recording modal
2026-06-03 19:11:25 +02:00
elpatron
9d05005bb7
fix: allow blob and data urls in Content-Security-Policy media-src directive
2026-06-03 19:07:03 +02:00
elpatron
2de0636608
fix: call load() to force mobile browsers to fetch blob URL metadata and fix player duration
2026-06-03 18:56:32 +02:00
elpatron
6600ceafce
debug: add verbose console logging and on-screen logs area to LiveVoiceCapture
2026-06-03 18:51:08 +02:00
elpatron
4c04086d63
fix: solve audio recording on iOS/Safari and fix Dockerfile health check
2026-06-03 18:44:51 +02:00
elpatron
72c956162c
fix: resolve 0-second duration issue on WebM voice recordings in Chrome/Android
2026-06-03 18:33:35 +02:00
elpatron
d054e42cc0
style: add sunset background image to login screen
2026-06-03 18:26:52 +02:00
elpatron
6447e95d7d
fix: defer stopping media stream tracks until media recorder finishes stopping
2026-06-03 18:22:30 +02:00
elpatron
4cf70a3431
style: increase footer and Ko-Fi badge font-size
2026-06-03 18:14:07 +02:00
elpatron
bff00cf0a3
fix: camera error modal rendering and voice memo player box-sizing
2026-06-03 18:10:20 +02:00
elpatron
3cab735754
refactor: replace parseFloat with parseAppDecimal and formatAppDecimal for improved number handling
...
Updated various components to utilize parseAppDecimal and formatAppDecimal for consistent decimal parsing and formatting. This change enhances the handling of numeric inputs across the application, ensuring better accuracy and user experience in forms and displays.
2026-06-03 18:07:22 +02:00
elpatron
79762a0baf
fix(gps): Genauigkeitsanzeige unter und ab 100 m unterscheiden
...
Der tote Ternär lieferte in beiden Zweigen dieselbe Rundung; ab 100 m
wird jetzt auf 10 m gerundet, damit schwache Fixes nicht falsch präzise wirken.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-03 17:57:11 +02:00