Commit graph

8 commits

Author SHA1 Message Date
Daniel
af35b70399 Fix image picker crash, add 7-day bar chart, bump to v1.2
All checks were successful
Android CI / build (push) Successful in 1m58s
Web CI / test (push) Successful in 49s
Android Release / release-apk (push) Successful in 1m35s
- Image reading moved to IO thread with runCatching to prevent main thread crash and OOM on large gallery images
- 7-day calorie bar chart added to dashboard using Canvas
- Version bumped to 1.2 (code 3)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 06:10:54 +02:00
Daniel
99bd1bff42 Fix UX issues across all screens
Some checks failed
Android CI / build (push) Successful in 1m59s
Web CI / test (push) Failing after 1m6s
ConnectScreen:
- Keyboard types: Uri for URL, Password for password
- IME chain: Next→Next→Done across all three fields
- Pressing Done on password submits the form
- Password visibility toggle (show/hide button)

PlansScreen:
- Delete plan now requires confirmation dialog
- Plan content bumped to bodyMedium (was too small)
- Plan history uses Card with primaryContainer highlight for active plan
- "Active" badge on selected plan instead of just bold text

SettingsScreen:
- "Profile saved" status auto-clears after 3 seconds

CalorieAiApp:
- Top bar title shows "Edit meal" when editing an existing entry

DiaryScreen:
- "Deselect" button next to "Trash" when items are selected

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 05:44:34 +02:00
Daniel
19d8899057 Replace two-button image picker with bottom sheet chooser
Some checks failed
Android CI / build (push) Successful in 1m42s
Web CI / test (push) Has been cancelled
Single "Add photo" button opens a ModalBottomSheet with camera
and gallery options, matching standard mobile UX patterns.
Switches to material-icons-extended for CameraAlt/PhotoLibrary icons.
Button label changes to "Change photo" once an image is selected.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 05:42:37 +02:00
Daniel
9f660d50bc Refactor Android app to production grade with improved UI and sync
Some checks failed
Android CI / build (push) Successful in 1m16s
Web CI / test (push) Failing after 1m46s
Android Release / release-apk (push) Successful in 1m16s
Android:
- Add adaptive app icon (blue background, white flame foreground)
- Add android:icon and roundIcon references to manifest
- Add windowSoftInputMode=adjustResize for keyboard handling
- Dark mode support via isSystemInDarkTheme() in Theme.kt
- Bump versionCode 1→2, versionName 1.0→1.1, named APK output
- Merge Trash into Diary as a tab (was a 6th bottom-nav item)
- Add sync refresh button in top bar with loading indicator
- Add CalorieGoalBar progress indicator on dashboard
- Add calorieTarget to ServerSettings, Settings screen, and API
- Add clearTrash() to ApiRepository (server route was unused)
- Fix onCancelEdit to also clear selected image state
- AiClient.kt: remove old pre-server AiClient class (replaced by ApiRepository)
- LogMealScreen: side-by-side field rows, DropdownField for meal type

Web server:
- Add calorieTarget to settings defaults and allowed field list
- Remove dead handleRequest() function (never called, Express routes it)

CI:
- Fix APK paths in android.yml and release.yml for renamed output

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 05:32:01 +02:00
Daniel
5fa4b59335 Update web plans and app capture
All checks were successful
Android CI / build (push) Successful in 1m12s
Web CI / test (push) Successful in 49s
2026-05-20 00:48:52 +02:00
Daniel
87102dbc5b Rewrite Android app with Kotlin Compose
All checks were successful
Android CI / build (push) Successful in 1m13s
Web CI / test (push) Successful in 51s
2026-05-19 19:35:15 +02:00
Daniel
71c8837b48 Add web calorie tracker and analytics 2026-05-19 17:13:41 +02:00
Daniel
5cdc1c1142 Add Calorie AI Android app 2026-05-17 17:43:16 +02:00