Conversation
… currencies Why: - At three decimals, typing the separator that is not the active preference, followed by exactly three digits, was claimed by the thousands branch and stripped: "1,234" stored 1234 dinars instead of 1.234, a silent factor of one thousand. The fraction-digit cap could not catch it because the separator was already gone. "0,500" stored 500 dinars for half a dinar, and a leading zero rules the grouping reading out entirely, so that case was not even ambiguous. The default separator is "dot" and is never locale-derived, so a comma-locale user in a three-decimal currency hits this on a nominal input path. What: - When a body carries a single grouping separator, no decimal separator, and exactly as many trailing digits as the currency's exponent, the decimal reading now wins: grouping is a writing convenience, the decimal separator carries value, and a user who means one thousand can always type "1000". Grouping stays authoritative when the string carries two separators or several groups, so formatter output still round-trips. Zero- and two-decimal currencies are byte-identical.
…ores-decimals fix(input): read a lone separator group as the fraction for 3-decimal…
…resenter Why: - No UI could delete a transaction, so a wrong entry stayed in the ledger with no way out. The delete use case existed but was unreachable - and unsafe: it reversed the balance with a two-way sign branch that had no TRANSFER case, so deleting an outgoing transfer leg applied the wrong sign, off by twice the amount, and left an orphaned counter-entry that the per-wallet integrity audit cannot see. Separately, a row showed the note in place of the wallet, so two neighbouring rows presented different kinds of information with no marker. What: - The reversal derives from ledgerEffect, which moved to the domain layer where a ledger rule belongs. Transfers are refused in depth: the use case throws before opening a transaction, and the affordance is hidden on transfer rows. Deletion is reachable from the detail screen behind a single confirmation. - A shared presenter owns the row content for both list renderers and the detail hero, so the category is always the title and the wallet always the subtitle, with a discreet indicator when a note exists. Sign and amount colour can no longer diverge between screens.
…and-row-presenter feat(transactions): allow deleting a transaction, and unify the row p…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.