diff --git a/app/src/main/java/com/isaakhanimann/journal/ui/tabs/journal/addingestion/dose/ChooseDoseScreen.kt b/app/src/main/java/com/isaakhanimann/journal/ui/tabs/journal/addingestion/dose/ChooseDoseScreen.kt index 0c7cdfc0..79352ad4 100644 --- a/app/src/main/java/com/isaakhanimann/journal/ui/tabs/journal/addingestion/dose/ChooseDoseScreen.kt +++ b/app/src/main/java/com/isaakhanimann/journal/ui/tabs/journal/addingestion/dose/ChooseDoseScreen.kt @@ -75,7 +75,6 @@ import com.isaakhanimann.journal.data.substances.classes.roa.RoaDose import com.isaakhanimann.journal.ui.DOSE_DISCLAIMER import com.isaakhanimann.journal.ui.tabs.search.substance.roa.dose.RoaDosePreviewProvider import com.isaakhanimann.journal.ui.tabs.search.substance.roa.dose.RoaDoseView -import com.isaakhanimann.journal.ui.tabs.settings.customunits.add.getSampleUnitText import com.isaakhanimann.journal.ui.theme.horizontalPadding @Composable @@ -424,10 +423,12 @@ fun ChooseDoseScreen( ) ) { Column( - modifier = Modifier.padding( - horizontal = horizontalPadding, - vertical = 10.dp - ).fillMaxWidth() + modifier = Modifier + .padding( + horizontal = horizontalPadding, + vertical = 10.dp + ) + .fillMaxWidth() ) { if (substanceName == "Cannabis" && administrationRoute == AdministrationRoute.SMOKED) { Text("Prefer to log weight of bud, hash or log another unit related to joint, vaporizer or bong?") @@ -435,8 +436,18 @@ fun ChooseDoseScreen( Text("Prefer to log weight of mushrooms instead of mg Psilocybin?") } else if (substanceName == "Alcohol") { Text("Prefer to log number of drinks, beer or wine instead of g of Ethanol?") + } else if (substanceName == "Caffeine") { + Text("Prefer to log coffee, tea or energy drink instead of mg Caffeine?") } else { - Text(text = "Prefer to log with a different unit such as ${getSampleUnitText(administrationRoute)}?") + val unitSuggestions = when (administrationRoute) { + AdministrationRoute.ORAL -> "pills, capsules or raw powder weight" + AdministrationRoute.SMOKED -> "hits" + AdministrationRoute.INSUFFLATED -> "sprays, spoons, scoops, lines or raw powder weight" + AdministrationRoute.BUCCAL -> "pouches" + AdministrationRoute.TRANSDERMAL -> "patches" + else -> "pills, sprays, spoons or powder weight" + } + Text(text = "Prefer to log with a different unit such as $unitSuggestions?") } Spacer(modifier = Modifier.height(5.dp)) OutlinedButton(onClick = navigateToCreateCustomUnit) { diff --git a/app/src/main/java/com/isaakhanimann/journal/ui/tabs/settings/customunits/add/FinishAddCustomUnitScreen.kt b/app/src/main/java/com/isaakhanimann/journal/ui/tabs/settings/customunits/add/FinishAddCustomUnitScreen.kt index 2527a7f2..8158cf4d 100644 --- a/app/src/main/java/com/isaakhanimann/journal/ui/tabs/settings/customunits/add/FinishAddCustomUnitScreen.kt +++ b/app/src/main/java/com/isaakhanimann/journal/ui/tabs/settings/customunits/add/FinishAddCustomUnitScreen.kt @@ -298,6 +298,51 @@ fun EditCustomUnitSections( } } ElevatedCard(modifier = Modifier.padding(horizontal = horizontalPadding, vertical = 4.dp)) { + val prompt = when (substanceName) { + "Cannabis" -> Prompt( + name = "e.g. flower in joint, bong, vaporizer", + unit = "mg" + ) + + "Psilocybin mushrooms" -> + Prompt(name = "Mushroom strain", unit = "g") + + "Alcohol" -> + Prompt(name = "e.g. beer, wine, spirit", unit = "e.g. ml, cup") + + "Caffeine" -> + Prompt(name = "e.g. coffee, tea, energy drink", unit = "e.g. cup, can") + + else -> + when (administrationRoute) { + AdministrationRoute.ORAL -> + Prompt( + name = "e.g. blue rocket, 85% powder", + unit = "e.g. pill, capsule, mg" + ) + + AdministrationRoute.SMOKED -> + Prompt(name = "e.g. 85% powder", unit = "e.g. mg, hit") + + AdministrationRoute.INSUFFLATED -> + Prompt( + name = "e.g. nasal solution, blue dispenser", + unit = "e.g. spray, spoon, scoop, line" + ) + + AdministrationRoute.BUCCAL -> + Prompt(name = "e.g. brand name", unit = "e.g. pouch") + + AdministrationRoute.TRANSDERMAL -> + Prompt(name = "e.g. brand name", unit = "e.g. patch") + + else -> + Prompt( + name = "e.g. 85% powder, blue rocket", + unit = "e.g. pill, spray, spoon" + ) + } + } Column( modifier = Modifier.padding( horizontal = horizontalPadding, @@ -311,18 +356,7 @@ fun EditCustomUnitSections( singleLine = true, label = { Text(text = "Name to identify") }, placeholder = { - when (substanceName) { - "Cannabis" -> { - Text("Flower in joint, bong, vaporizer") - } - "Psilocybin mushrooms" -> { - Text("Mushroom strain") - } - "Alcohol" -> { - Text("Beer, Wine, Spirit") - } - else -> Text("Blue rocket") - } + Text(prompt.name) }, keyboardActions = KeyboardActions(onNext = { focusRequesterUnit.requestFocus() }), keyboardOptions = KeyboardOptions.Default.copy( @@ -341,7 +375,7 @@ fun EditCustomUnitSections( singleLine = true, label = { Text(text = "Unit in singular form") }, placeholder = { - Text(getSampleUnitText(administrationRoute)) + Text(prompt.unit) }, keyboardActions = KeyboardActions(onNext = { focusRequesterNote.requestFocus() }), keyboardOptions = KeyboardOptions.Default.copy( @@ -561,23 +595,7 @@ fun EditCustomUnitSections( } } -fun getSampleUnitText(administrationRoute: AdministrationRoute) = when (administrationRoute) { - AdministrationRoute.ORAL -> { - "pill, capsule" - } - AdministrationRoute.SMOKED -> { - "mg, hit" - } - AdministrationRoute.INSUFFLATED -> { - "spray, spoon, scoop, line" - } - AdministrationRoute.BUCCAL -> { - "pouch" - } - AdministrationRoute.TRANSDERMAL -> { - "patch" - } - else -> { - "pill, spray, spoon" - } -} +data class Prompt( + val name: String, + val unit: String +)