Skip to content

Expense details bottom sheet#170

Merged
rugged-bl merged 1 commit intomainfrom
expense-details
Mar 5, 2026
Merged

Expense details bottom sheet#170
rugged-bl merged 1 commit intomainfrom
expense-details

Conversation

@rugged-bl
Copy link
Contributor

No description provided.

@cursor
Copy link

cursor bot commented Mar 5, 2026

You have run out of free Bugbot PR reviews for this billing cycle. This will reset on April 22.

To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2c19aa9afe

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds an expense details bottom sheet flow in the Android app (replacing the previous “expense item dialog”), including a dedicated revert-confirmation dialog, improved exchange-rate formatting, and updated UI tests/docs to support the new navigation and selectors.

Changes:

  • Replace the expense item dialog with a Navigation3 bottom sheet (ExpenseItemPane) + Navigation3 dialog for revert confirmation.
  • Add exchange-rate calculation/formatting logic with unit tests, and extend instrumented tests to validate the details pane.
  • Update agent/docs/versioning guidance (tooling version sources of truth, workflows, iOS versioning) and add iOS app icon metadata.

Reviewed changes

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

Show a summary per file
File Description
web/AGENTS.md Link to root agent workflow guidance; avoid duplicating Node/npm versions in docs.
infra/AGENTS.md Link to root agent workflow guidance; avoid duplicating Docker versions in docs.
docs/agent-workflows.md New agent workflow lifecycle doc (Architect→Report) and validation-depth guidance.
backend/AGENTS.md Link to root agent workflow guidance; avoid duplicating Node/npm versions in docs.
android/shared/integration/base/MainNavHost.kt Wire new expense details bottom sheet + revert dialog nav modules into the app nav host.
android/shared/feature/expenses/src/commonTest/.../ExchangeRateCalculatorTest.kt Unit tests covering exchange-rate edge cases.
android/shared/feature/expenses/src/commonTest/.../ExpenseToUiModelTest.kt Unit tests for new UI-model fields (current person part).
android/shared/feature/expenses/.../dialog/revert/ExpenseRevertDialogViewModel.kt New/renamed revert confirmation view model using local stores + revert job guard.
android/shared/feature/expenses/.../dialog/revert/ExpenseRevertDialogDestination.kt New Navigation3 dialog destination + module for revert confirmation.
android/shared/feature/expenses/.../dialog/revert/ExpenseRevertDialog.kt New Compose AlertDialog UI for revert confirmation.
android/shared/feature/expenses/.../dialog/item/ExpenseItemDialogUiModel.kt Remove obsolete dialog UI model.
android/shared/feature/expenses/.../dialog/item/ExpenseItemDialog.kt Remove obsolete dialog UI.
android/shared/feature/expenses/.../bottom_sheet/item/ExpenseItemPaneViewModel.kt New bottom-sheet view model: expense flow → UI model + navigate to revert dialog.
android/shared/feature/expenses/.../bottom_sheet/item/ExpenseItemPaneUiModel.kt New UI model for expense details pane.
android/shared/feature/expenses/.../bottom_sheet/item/ExpenseItemPaneDestination.kt Replace dialog destination with bottom-sheet destination/module.
android/shared/feature/expenses/.../bottom_sheet/item/ExpenseItemPane.kt New Compose UI for expense details (details rows, split section, revert action, test tags).
android/shared/feature/expenses/.../bottom_sheet/item/ExchangeRateCalculator.kt New exchange-rate formatting logic (DecimalMode division + fixed-scale string).
android/shared/feature/expenses/.../ui/list/ExpensesViewModel.kt Navigate to new bottom sheet on expense click; pass current person id into UI conversion.
android/shared/feature/expenses/.../ui/list/ExpensesPaneUiModel.kt Add eventId, isPaidByCurrentPerson, and currentPersonPartAmount to expense UI model.
android/shared/feature/expenses/.../ui/list/ExpensesPaneDestination.kt Update pane callback wiring from “revert click” to “expense click”.
android/shared/feature/expenses/.../ui/list/ExpensesPane.kt Update list item UI and interactions; surface-based list items + “your part” label.
android/shared/feature/expenses/.../ui/converter/toUi.kt Extend Expense.toUiModel to include current-person dependent fields.
android/shared/feature/expenses/.../ui/add/AddExpensePane.kt Add currency option test tags for stable UI test selection.
android/shared/feature/expenses/.../domain/store/ExpensesLocalStore.kt Add getExpenseFlow(expenseId) API for reactive details screen.
android/shared/feature/expenses/.../data/db/dao/ExpensesDao.kt Add queryByIdFlow() Room DAO method for details screen flow.
android/shared/feature/expenses/.../data/db/ExpensesLocalStoreImpl.kt Implement getExpenseFlow() using DAO flow + mapping + distinctUntilChanged.
android/shared/feature/expenses/.../composeResources/values/strings.xml Add strings for details pane, exchange rate, revert confirmation, “your part”, etc.
android/shared/feature/expenses/.../composeResources/values-ru/strings.xml RU translations for newly added strings.
android/shared/core/utils/.../bigNumbers.kt Formatting-only change (whitespace/line ending).
android/shared/core/ui-design/.../MultiSelectConnectedButtonGroupWithFlowLayout.kt Add optional testTag to toggle options and apply it to buttons.
android/iosApp/iosApp/Info.plist Add CFBundleDisplayName.
android/iosApp/.../AppIcon.appiconset/Contents.json Reference the icon filename in the app icon set.
android/iosApp/.../AppIcon.appiconset/AppIcon.png Add/replace iOS app icon asset.
android/iosApp/iosApp.xcodeproj/project.pbxproj Update iOS MARKETING_VERSION + CURRENT_PROJECT_VERSION.
android/docs/patterns.md Document Navigation3 revert confirmation pattern, overlay-safe selectors, and exchange-rate formatting patterns/tests.
android/docs/local-agent-prerequisites.md New consolidated Android local prerequisites doc (sources of truth, device/Marathon guidance, worktree copying).
android/docs/ios-versioning.md New doc describing iOS versioning fields and alignment with Android.
android/app/src/androidTest/.../ExpensesScreen.kt Update to return the new ExpenseDetailsScreen object.
android/app/src/androidTest/.../ExpenseDetailsScreen.kt New screen object for details bottom sheet + revert dialog selectors and actions.
android/app/src/androidTest/.../ExpenseDetailsDialog.kt Remove obsolete dialog screen object.
android/app/src/androidTest/.../AddExpenseScreen.kt Add currency selection by test tag (code) for stability.
android/app/src/androidTest/.../BasicInstrumentedTest.kt Extend E2E flow to validate details pane sections and exchange-rate visibility; stabilize currency selection.
android/README.md Point to android/AGENTS.md instead of placeholder README.
android/AGENTS.md Update tooling/version guidance and add strict Compose UI rules + workflow freshness pointers.
android/.agents/skills/run-android-local-long-task/SKILL.md New skill doc for long local Android runs (profiles, stop/ask, reporting).
android/.agents/skills/prepare-mobile-release/agents/openai.yaml New agent UI metadata for the mobile release SOP skill.
android/.agents/skills/prepare-mobile-release/SKILL.md Rename/expand release SOP from Android-only to Android+iOS version bump + baseline profile flow.
android/.agents/skills/prepare-android-release/agents/openai.yaml Remove obsolete Android-only release skill metadata.
README.md Add contributor/agent pointer to AGENTS.md.
AGENTS.md Add workflow lifecycle + freshness policy section; point to new skills/docs.
.github/copilot-instructions.md Add a thin adapter pointing Copilot to repo source-of-truth instructions.
.cursor/worktrees.json Add worktree setup commands for copying local Android tooling into worktrees.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 51 out of 53 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

android/shared/feature/expenses/src/commonMain/kotlin/com/inwords/expenses/feature/expenses/ui/list/dialog/revert/ExpenseRevertDialogViewModel.kt:50

  • revertExpense(...) description is built from expenseDescription passed via navigation rather than the originalExpense.description you just loaded from ExpensesLocalStore. This can create inconsistencies if the stored expense description differs (e.g. edited/updated) and also makes the dialog arguments carry redundant data. Prefer using originalExpense.description here (and consider removing expenseDescription from the destination/viewmodel params if it’s only needed for this).

@rugged-bl rugged-bl merged commit de49518 into main Mar 5, 2026
17 checks passed
@rugged-bl rugged-bl deleted the expense-details branch March 5, 2026 23:37
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