0b140aa3ad
Expense editor (S-7) and expense detail (S-8) in :feature:expense against the :core:model interfaces and :core:design components: defaults (AC-8.6), keypad input (§9.6), the four split modes with live preview (AC-8.5, AC-8.7, AC-8.8), category suggestion with the picked-by-hand flag (CS-2, CS-3, CS-7), quick row from frequentCategoryIds (D-059, D-060), inline errors, delete and discard confirmations; detail with hero, facts, timeline, recurring, deleted and missing states. Fake scenarios in fakes/expense, view-model tests and 127 goldens. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TQd3pEP9UeN2uifbHknQ7B
22 lines
785 B
Kotlin
22 lines
785 B
Kotlin
// :feature:expense — Expense editor, expense detail and timeline (S-7, S-8; M7c). Convention: android/README.md.
|
|
plugins {
|
|
id("kvitt.android.feature")
|
|
alias(libs.plugins.roborazzi)
|
|
}
|
|
|
|
roborazzi {
|
|
outputDir.set(file("src/test/screenshots"))
|
|
}
|
|
|
|
dependencies {
|
|
// BackHandler: back with the keypad up hides it instead of closing the editor (design-spec §3.7).
|
|
implementation(libs.androidx.activity.compose)
|
|
debugImplementation(libs.androidx.compose.ui.test.manifest)
|
|
testImplementation(libs.kotlinx.coroutines.test)
|
|
testImplementation(libs.androidx.compose.ui.test.junit4)
|
|
testImplementation(libs.robolectric)
|
|
testImplementation(libs.roborazzi)
|
|
testImplementation(libs.roborazzi.compose)
|
|
testImplementation(libs.roborazzi.junit.rule)
|
|
}
|