Add a disable share roll result feature
This commit is contained in:
parent
07ed4ce579
commit
e1fdb10793
4 changed files with 57 additions and 9 deletions
|
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<path
|
||||
android:pathData="M680,880q-50,0 -85,-35t-35,-85q0,-6 3,-28L282,568q-16,15 -37,23.5t-45,8.5q-50,0 -85,-35t-35,-85q0,-50 35,-85t85,-35q24,0 45,8.5t37,23.5l281,-164q-2,-7 -2.5,-13.5T560,200q0,-50 35,-85t85,-35q50,0 85,35t35,85q0,50 -35,85t-85,35q-24,0 -45,-8.5T598,288L317,452q2,7 2.5,13.5t0.5,14.5q0,8 -0.5,14.5T317,508l281,164q16,-15 37,-23.5t45,-8.5q50,0 85,35t35,85q0,50 -35,85t-85,35ZM680,800q17,0 28.5,-11.5T720,760q0,-17 -11.5,-28.5T680,720q-17,0 -28.5,11.5T640,760q0,17 11.5,28.5T680,800ZM200,520q17,0 28.5,-11.5T240,480q0,-17 -11.5,-28.5T200,440q-17,0 -28.5,11.5T160,480q0,17 11.5,28.5T200,520ZM680,240q17,0 28.5,-11.5T720,200q0,-17 -11.5,-28.5T680,160q-17,0 -28.5,11.5T640,200q0,17 11.5,28.5T680,240ZM680,760ZM200,480ZM680,200Z"
|
||||
android:fillColor="#5f6368"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<path
|
||||
android:pathData="M680,800q17,0 28.5,-11.5T720,760q0,-17 -11.5,-28.5T680,720q-17,0 -28.5,11.5T640,760q0,17 11.5,28.5T680,800ZM680,240q17,0 28.5,-11.5T720,200q0,-17 -11.5,-28.5T680,160q-17,0 -28.5,11.5T640,200q0,17 11.5,28.5T680,240ZM80,490v-10q0,-50 35,-85t85,-35q24,0 45,8.5t37,23.5l281,-164q-2,-7 -2.5,-13.5T560,200q0,-50 35,-85t85,-35q50,0 85,35t35,85q0,50 -35,85t-85,35q-24,0 -45,-8.5T598,288L318,451q-19,-5 -38.5,-8t-39.5,-3q-45,0 -85.5,13T80,490ZM680,880q-50,0 -85,-35t-35,-85q0,-6 3,-28l-43,-26q-2,-24 -7,-46.5T499,615l99,57q16,-15 37,-23.5t45,-8.5q50,0 85,35t35,85q0,50 -35,85t-85,35ZM240,920q-83,0 -141.5,-58.5T40,720q0,-83 58.5,-141.5T240,520q83,0 141.5,58.5T440,720q0,83 -58.5,141.5T240,920ZM240,748 L310,819 339,791 268,720 339,649 311,621 240,692 169,621 141,649 212,720 141,791 169,819 240,748ZM680,760ZM680,200Z"
|
||||
android:fillColor="#5f6368"/>
|
||||
</vector>
|
||||
|
|
@ -27,6 +27,7 @@ import androidx.compose.material.DropdownMenuItem
|
|||
import androidx.compose.material.ExperimentalMaterialApi
|
||||
import androidx.compose.material.ExposedDropdownMenuBox
|
||||
import androidx.compose.material.Icon
|
||||
import androidx.compose.material.IconButton
|
||||
import androidx.compose.material.MaterialTheme
|
||||
import androidx.compose.material.Text
|
||||
import androidx.compose.material.icons.Icons
|
||||
|
|
@ -44,9 +45,12 @@ import androidx.compose.ui.text.style.TextAlign
|
|||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.pixelized.desktop.lwa.ui.overlay.roll.DifficultyUio.Difficulty
|
||||
import com.pixelized.desktop.lwa.ui.theme.lwa
|
||||
import com.pixelized.desktop.lwa.utils.DisableInteractionSource
|
||||
import lwacharactersheet.composeapp.generated.resources.Res
|
||||
import lwacharactersheet.composeapp.generated.resources.ic_d20_24dp
|
||||
import lwacharactersheet.composeapp.generated.resources.ic_share_24dp
|
||||
import lwacharactersheet.composeapp.generated.resources.ic_share_off_24dp
|
||||
import lwacharactersheet.composeapp.generated.resources.roll_page__dc__label
|
||||
import lwacharactersheet.composeapp.generated.resources.roll_page__dc_easy__label
|
||||
import lwacharactersheet.composeapp.generated.resources.roll_page__dc_hard__label
|
||||
|
|
@ -93,12 +97,12 @@ fun RollPage(
|
|||
indication = null,
|
||||
onClick = onDismissRequest,
|
||||
)
|
||||
.padding(all = 32.dp)
|
||||
.padding(all = 16.dp)
|
||||
.then(other = modifier),
|
||||
) {
|
||||
viewModel.rollTitle.value?.let {
|
||||
Column(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
modifier = Modifier.fillMaxWidth().padding(top = 16.dp),
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
) {
|
||||
Text(
|
||||
|
|
@ -124,6 +128,20 @@ fun RollPage(
|
|||
}
|
||||
}
|
||||
|
||||
IconButton(
|
||||
modifier = Modifier.align(alignment = Alignment.TopEnd),
|
||||
onClick = { viewModel.toggleShareResult() },
|
||||
) {
|
||||
Icon(
|
||||
painter = when (viewModel.shareResult.value) {
|
||||
true -> painterResource(Res.drawable.ic_share_24dp)
|
||||
else -> painterResource(Res.drawable.ic_share_off_24dp)
|
||||
},
|
||||
tint = MaterialTheme.lwa.colorScheme.base.primary,
|
||||
contentDescription = null
|
||||
)
|
||||
}
|
||||
|
||||
Column(
|
||||
modifier = Modifier.matchParentSize(),
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
|
|
@ -199,6 +217,7 @@ fun RollPage(
|
|||
Box(
|
||||
modifier = Modifier
|
||||
.align(Alignment.BottomCenter)
|
||||
.padding(bottom = 16.dp)
|
||||
.clickable(
|
||||
interactionSource = remember { DisableInteractionSource() },
|
||||
indication = null,
|
||||
|
|
|
|||
|
|
@ -64,6 +64,9 @@ class RollViewModel(
|
|||
private val _rollDifficulty = mutableStateOf<DifficultyUio?>(null)
|
||||
val rollDifficulty: State<DifficultyUio?> get() = _rollDifficulty
|
||||
|
||||
private val _shareResult = mutableStateOf(true)
|
||||
val shareResult: State<Boolean> = _shareResult
|
||||
|
||||
suspend fun cleanRoll() {
|
||||
alteredCharacterSheet = null
|
||||
rollAction = null
|
||||
|
|
@ -73,6 +76,7 @@ class RollViewModel(
|
|||
rollRotation.snapTo(0f)
|
||||
rollScale.snapTo(1f)
|
||||
|
||||
_shareResult.value = true
|
||||
_cancellable.value = true
|
||||
_rollTitle.value = null
|
||||
_rollResult.value = null
|
||||
|
|
@ -111,6 +115,7 @@ class RollViewModel(
|
|||
skillStepUseCase.computeSkillStep(skill = it)
|
||||
}
|
||||
|
||||
_shareResult.value = true
|
||||
_cancellable.value = true
|
||||
_rollResult.value = null
|
||||
_rollTitle.value = RollTitleUio(
|
||||
|
|
@ -192,19 +197,25 @@ class RollViewModel(
|
|||
value = roll,
|
||||
)
|
||||
|
||||
launch {
|
||||
shareRollResult(
|
||||
rollTitle = rollTitle,
|
||||
roll = roll,
|
||||
rollStep = rollStep,
|
||||
success = resultLabel
|
||||
)
|
||||
if (shareResult.value) {
|
||||
launch {
|
||||
shareRollResult(
|
||||
rollTitle = rollTitle,
|
||||
roll = roll,
|
||||
rollStep = rollStep,
|
||||
success = resultLabel
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun toggleShareResult() {
|
||||
_shareResult.value = _shareResult.value.not()
|
||||
}
|
||||
|
||||
fun toggleDifficulty() {
|
||||
_rollDifficulty.value = _rollDifficulty.value?.copy(
|
||||
open = _rollDifficulty.value?.open?.not() ?: false
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue