Skip to content

feat: redesign bean management screen (2.2.0) - #45

Merged
jodli merged 12 commits into
mainfrom
bean-mgmnt
Jul 25, 2026
Merged

feat: redesign bean management screen (2.2.0)#45
jodli merged 12 commits into
mainfrom
bean-mgmnt

Conversation

@jodli

@jodli jodli commented Nov 8, 2025

Copy link
Copy Markdown
Owner

2.2.0 — Bean Management Redesign

Redesigns the Bean Management screen around photo-prominent bean cards with smart sorting and live status, adds a shot-history-by-bean filter, and streamlines grind-setting setup.

What changed

Bean management

  • Bean card rewritten as a photo-prominent profile card (header-level selection, status/freshness badges, grinder · shots · last-used stats)
  • Filter row redesigned
  • Bean statistics + smart sorting in BeanManagementViewModel
  • New BeanStatusCalculator (with tests) + last-used date formatting (en + de)
  • Destructive delete moved into the edit screen

Shot history

  • New filter route to filter history by bean

Refactor

  • Streamlined grind-setting management; cleanup after grinder-settings deprecation (drops GetActiveBeansUseCase, GetBeanHistoryUseCase, trims BeanDao / BeanRepository / UpdateBeanUseCase)

Tooling

  • justfile (build / test / check / install / screenshot), CLAUDE.md, refreshed screenshots

Fixes

  • Selected bean reliably reloads on Record Shot screen
  • Restored missing German label_search translation

Changelog → Play Store "What's new"

Driven by [*] items in CHANGELOG.md via scripts/extract-whatsnew.sh 2.2.0 (209/500 chars):

  • Redesigned Bean Management screen with photo-prominent bean cards, smart sorting, and live status indicators (active, low, finished).
  • Filter your shot history by bean to focus on one coffee at a time.

Release

Tag v2.2.0 after merge + device test.

Comment thread app/src/main/java/com/jodli/coffeeshottimer/data/model/Bean.kt Fixed
jodli and others added 12 commits December 27, 2025 00:55
- Remove updateLastGrinderSetting tests from DAO, repository, and use case tests
- Remove unused SearchAndFilterRow composable (replaced by IntegratedSearchAndFilterBar)
- Extract helper methods in UpdateBeanUseCase to reduce return count
- Shorten deprecation message in Bean.kt to fix line length
Rewrite BeanListItem into a text-badge-driven profile card with header-level
selection, and relocate destructive actions (delete) into the edit screen.

- AddEditBeanViewModel: add deleteBean() mirroring the soft-delete path,
  plus a deleteSuccess UiState flag matching the saveSuccess convention.
- AddEditBeanScreen: destructive "Delete bean" button + confirmation dialog
  in the Bean Status card (portrait + landscape), pops back on success.
- BeanListItem: new header Row (64dp photo hero or inline bean icon,
  meta Column with name/roast date/badges/stats, trailing selection control).
- SelectedBadge: primaryContainer Surface + Check, fixes prior
  primary-content tint inconsistency.
- BeanPhotoThumbnailLarge: 64dp variant rendering nothing when no photo
  (caller decides no-photo treatment).
- BeanBadgesRow + StatusBadge: self-describing text badges for freshness
  tier and bean status, replacing the colored dot and freshness pill.
- BeanStatsRow: single grinder · shots · last used row.
- Delete dead private composables (BeanActionSection, BeanInformation,
  BeanStatistics, RoastFreshnessIndicator, GrinderSettingWithStatus).
- Add 5 short-label status/freshness strings (en + de, parity maintained).

Co-Authored-By: Claude <noreply@anthropic.com>
Bean management redesign, shot history filter, grind-setting streamlining,
and fixes. Priority items ([*]) feed the Play Store what's-new via
scripts/extract-whatsnew.sh.

Co-Authored-By: Claude <noreply@anthropic.com>
@jodli jodli changed the title feat: add filter route to shot history feat: redesign bean management screen (2.2.0) Jul 25, 2026
@jodli
jodli merged commit d858718 into main Jul 25, 2026
5 checks passed
@jodli
jodli deleted the bean-mgmnt branch July 25, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants