Skip to content

Commit

Permalink
Add better prompts when adding custom units
Browse files Browse the repository at this point in the history
  • Loading branch information
isaakhanimann committed Dec 2, 2024
1 parent 8bb5acf commit d424ea2
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 39 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -424,19 +423,31 @@ 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?")
} else if (substanceName == "Psilocybin mushrooms") {
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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(
Expand All @@ -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(
Expand Down Expand Up @@ -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
)

0 comments on commit d424ea2

Please sign in to comment.