Skip to content

UI and feature update#111

Draft
pawcoding wants to merge 8 commits into
stagingfrom
feat/v2
Draft

UI and feature update#111
pawcoding wants to merge 8 commits into
stagingfrom
feat/v2

Conversation

@pawcoding

Copy link
Copy Markdown
Owner

Some visual changes and new small features I wanted to add

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Android UI and introduces a “favorites” feature for cards, along with various UX feedback changes (moving from Snackbars to Toasts) and some icon/resource updates.

Changes:

  • Add is_favorite support end-to-end (DB schema + migration, ViewModel toggle, UI filtering/sorting, new “Favorites” label chip).
  • Update UI visuals (new card layout styling, new vector icons, delete icon swap) and add multiple new user-facing strings (EN/DE).
  • Replace app-wide SnackbarService usage with Toast notifications and adjust barcode scan error handling.

Reviewed changes

Copilot reviewed 28 out of 28 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
renovate.json Increases Renovate minimum release age to reduce churn from very recent releases.
app/src/main/res/values/strings.xml Adds strings for favorites, deletion feedback, shortcut feedback, and updates scan error messaging.
app/src/main/res/values-de/strings.xml German translations for new strings and updated scan error messaging.
app/src/main/res/drawable/qr_code_solid.xml Adds solid QR icon used in card UI.
app/src/main/res/drawable/heart_plus_solid.xml Adds “add favorite” icon for option sheet action.
app/src/main/res/drawable/heart_minus_solid.xml Adds “remove favorite” icon for option sheet action.
app/src/main/res/drawable/favorite.xml Adds outline favorite icon for chips/UI.
app/src/main/res/drawable/favorite_solid.xml Adds solid favorite icon for chips/UI.
app/src/main/res/drawable/delete_solid.xml Adds replacement solid delete icon.
app/src/main/res/drawable/delete_forever_solid.xml Removes old delete icon asset referenced previously.
app/src/main/res/drawable/barcode_solid.xml Adds solid barcode icon used in card UI.
app/src/main/java/de/pawcode/cardstore/ui/viewmodels/CardViewModel.kt Adds toggleFavorite() and supports updating isFavorite via repository.
app/src/main/java/de/pawcode/cardstore/ui/utils/BarcodeScanner.kt Reworks scan error flow to copy details to clipboard + Toast feedback (replacing snackbar copy action).
app/src/main/java/de/pawcode/cardstore/ui/sheets/OptionsSheet.kt Updates preview to use the new delete icon resource.
app/src/main/java/de/pawcode/cardstore/ui/screens/LabelListScreen.kt Adds delete confirmation Toast and updates delete icon usage.
app/src/main/java/de/pawcode/cardstore/ui/screens/EditLabelScreen.kt Replaces snackbar feedback after save with Toast.
app/src/main/java/de/pawcode/cardstore/ui/screens/EditCardScreen.kt Replaces snackbar feedback after save with Toast.
app/src/main/java/de/pawcode/cardstore/ui/screens/CardListScreen.kt Adds favorites actions/filtering, sorting favorites to top, and multiple Toast feedback paths.
app/src/main/java/de/pawcode/cardstore/ui/screens/AboutScreen.kt Adds Toast feedback for enabling biometrics.
app/src/main/java/de/pawcode/cardstore/ui/components/LabelsListComponent.kt Adds a Favorites filter chip and sentinel favorites label ID.
app/src/main/java/de/pawcode/cardstore/ui/components/EditCardForm.kt Updates leading icon behavior for label chips (check vs add).
app/src/main/java/de/pawcode/cardstore/ui/components/CardComponent.kt Updates card UI layout; adds favorites indicator and barcode type/icon display.
app/src/main/java/de/pawcode/cardstore/ui/components/AddCardComponent.kt Rounds card shape to match updated visual style.
app/src/main/java/de/pawcode/cardstore/ui/CardStore.kt Removes Scaffold SnackbarHost integration now that SnackbarService is removed.
app/src/main/java/de/pawcode/cardstore/data/services/SnackbarService.kt Deletes SnackbarService in favor of Toast-based feedback.
app/src/main/java/de/pawcode/cardstore/data/database/migrations/2026_07_26_ADD_FAVORITE_COLUMN.kt Adds a Room migration for the new is_favorite column.
app/src/main/java/de/pawcode/cardstore/data/database/entities/CardEntity.kt Adds isFavorite column mapping to the Card entity.
app/src/main/java/de/pawcode/cardstore/data/database/CardDatabase.kt Bumps DB version and registers the migration.
Comments suppressed due to low confidence (1)

app/src/main/java/de/pawcode/cardstore/ui/screens/CardListScreen.kt:137

  • toggleFavorite() launches work asynchronously, but the UI immediately shows a toast. If the update fails, the user still sees a success message. Consider running the toggle in a coroutine and awaiting completion before showing feedback.
    onToggleFavorite = { card ->
      viewModel.toggleFavorite(card)
      val message =
        if (card.isFavorite) context.getString(R.string.card_favorite_removed)
        else context.getString(R.string.card_favorite_added)

Comment thread app/src/main/java/de/pawcode/cardstore/ui/screens/LabelListScreen.kt Outdated
Comment thread app/src/main/java/de/pawcode/cardstore/ui/screens/CardListScreen.kt Outdated
Comment thread app/src/main/java/de/pawcode/cardstore/ui/utils/BarcodeScanner.kt
Comment thread app/src/main/java/de/pawcode/cardstore/ui/components/CardComponent.kt Outdated
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