Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
e478e0d
feat(data): Implement cc entity
OffRange May 22, 2026
bc7c5a4
feat(core-item): Add Credit Card model and repository support
OffRange May 24, 2026
d5b3571
refactor(item): Move top app bar to item core
OffRange May 24, 2026
c44dfcf
refactor(item): extract core item related events
OffRange May 24, 2026
0fbd68c
feat(item): Add basic credit card UI
OffRange May 24, 2026
a66e03e
refactor(item-create): Extract base ItemViewModel and shared UI state
OffRange May 24, 2026
25a562f
refactor(security): Generalize LoginWithCryptoScopeUseCase to ItemWit…
OffRange May 24, 2026
f707247
feat(item-create): Load and decrypt existing credit card
OffRange May 24, 2026
436e598
feat(item-create): Add credit card number formatting and validation
OffRange May 25, 2026
d85f5b5
feat(credit-card): Add dynamic CVV length and progressive number form…
OffRange May 25, 2026
10cfd8b
feat(card): Add expiration date formatting and input transformation
OffRange May 25, 2026
a049027
refactor(credit-card): move field transformations to composable layer
OffRange May 25, 2026
74e1b01
docs: add Rust test and bindgen commands to CLAUDE.md
OffRange May 25, 2026
639f0fb
refactor(card): Modularize card logic and simplify bindings via Card API
OffRange May 25, 2026
81e5468
feat(credit-card): Add NFC card reader implementation
OffRange May 25, 2026
399c566
feat(credit-card): add scan UI
OffRange May 25, 2026
8bc40f7
feat(credit-card): Improve NFC scanner bottom sheet
OffRange May 26, 2026
ffb457b
feat(credit-card): Improve Card scan entry
OffRange May 26, 2026
22e87dd
feat(credit-card): Implement card persistence
OffRange May 26, 2026
9c557bc
fix(database): Allow nullable fields for cc
OffRange May 27, 2026
429590a
fix(credit-card): Improve UI/UX
OffRange May 27, 2026
e45683d
feat(credit-card): Implement view screen
OffRange May 27, 2026
604c8ec
feat(item-view): format and partially reveal credit card numbers
OffRange May 28, 2026
83cad64
fix(broadcastreceiver): registration twice
OffRange May 29, 2026
9cc1d5f
fix(credit-card): safely join card holder name parts
OffRange May 29, 2026
e3aa724
refactor(item-view): memoize obfuscated string calculation
OffRange May 29, 2026
d0bb085
refactor(rust/card): rename is_luhn_valid -> is_valid, accept unknown…
OffRange May 29, 2026
de22d41
refactor(credit-card): remove lastNumbers derived field
OffRange May 29, 2026
c59cd77
feat(credit-card): validate CVV length against card network
OffRange May 29, 2026
ccfc1a3
feat(credit-card): surface CVV validation error in create and view sc…
OffRange May 29, 2026
641e9ea
fix(view): release onHold state in a finally block
OffRange May 29, 2026
10f080e
feat(item-core): add InputFieldError.System for non-field failures
OffRange May 29, 2026
947ed63
fix: surface system errors in modification dialog
OffRange May 29, 2026
b7a2b7a
fix(card-scan): ignore new NFC tags during Success delay
OffRange May 29, 2026
114905a
refactor(item-core): make ItemUpsertError a sealed interface
OffRange May 29, 2026
865af61
fix(credit-card): suppress R8 missing-class error for slf4j
OffRange May 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat(item-core): add InputFieldError.System for non-field failures
  • Loading branch information
OffRange committed May 30, 2026
commit 10f080eb00308cab8761191c054526fb26975a3f
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ fun KeyGoFormField(
val text = when (error) {
InputFieldError.Empty -> stringResource(R.string.field_blank)
InputFieldError.Invalid -> stringResource(R.string.field_invalid)
InputFieldError.System -> stringResource(R.string.field_system)
}
Text(text = text, color = MaterialTheme.colorScheme.error)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ package de.davis.keygo.feature.item.core.presentation.model
sealed interface InputFieldError {
data object Empty : InputFieldError
data object Invalid : InputFieldError
}
data object System : InputFieldError
}
3 changes: 2 additions & 1 deletion feature/item/core/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,5 @@

<string name="field_blank">This field can not be blank</string>
<string name="field_invalid">This input is invalid</string>
</resources>
<string name="field_system">Something went wrong. Please try again.</string>
</resources>