Improve app UX (server setup, status, gallery, log) and allow
build / build (push) Failing after 3m0s

manual CI publishes

- Settings: prefill an editable example server URL, add a "Test
  connection" button
- Front page now shows the receipts list (Overview) with a column
  header and an empty-state message
- Add a connection status bar (polls /health) shown on every screen
- Capture: add "Choose from gallery" alongside the camera
- Add an in-app "App log" screen; ApiClient/CaptureViewModel/
  OverviewViewModel/ConnectionStatusViewModel now log key events,
  including the actual connection-failure reason (not just pass/fail)
- .gitea/workflows/build.yml: publish to dl.ladkau.de on a manual
  "Run workflow" dispatch too, not just push
- README.md: document the CI secrets (REGISTRY_USER/PASSWORD,
  DL_SFTP_KEY) that must be configured in Gitea, separate from the
  local registry.env
This commit is contained in:
ml
2026-09-29 19:33:39 +02:00
parent d5f4381169
commit ad2ef1689e
15 changed files with 488 additions and 46 deletions
+20 -2
View File
@@ -5,8 +5,10 @@
<string name="nav_capture">Scan receipt</string>
<string name="nav_overview">Receipts</string>
<string name="nav_settings">Settings</string>
<string name="nav_log">App log</string>
<string name="capture_take_photo">Take photo</string>
<string name="capture_choose_gallery">Choose from gallery</string>
<string name="capture_stage_uploading">Uploading…</string>
<string name="capture_stage_preprocessing">Preprocessing image…</string>
<string name="capture_stage_ocr">Reading text (OCR)…</string>
@@ -23,11 +25,27 @@
<string name="capture_field_discount">Discount</string>
<string name="capture_field_total_price">Total price</string>
<string name="overview_empty">No receipts saved yet</string>
<string name="overview_empty">No receipts have been scanned yet</string>
<string name="overview_column_date">Date</string>
<string name="overview_column_station">Station</string>
<string name="overview_column_total">Total</string>
<string name="overview_delete">Delete</string>
<string name="overview_export_csv">Export CSV</string>
<string name="overview_export_ods">Export ODS</string>
<string name="overview_export_done">Exported to %1$s</string>
<string name="settings_server_url">Server URL</string>
<string name="settings_server_url_hint">http://192.168.1.10:8080</string>
<string name="settings_server_url_example">http://192.168.1.10:8080</string>
<string name="settings_test_connection">Test connection</string>
<string name="settings_test_testing">Testing…</string>
<string name="settings_test_success">Connected successfully</string>
<string name="settings_test_failure">Could not reach server: %1$s</string>
<string name="status_connected">Connected to %1$s</string>
<string name="status_disconnected">Cannot reach %1$s</string>
<string name="status_not_configured">No server configured - see Settings</string>
<string name="status_checking">Checking connection…</string>
<string name="log_clear">Clear log</string>
<string name="log_empty">Nothing logged yet</string>
</resources>