Fix a crash in SummaryFactory & update deprecated composable.
This commit is contained in:
parent
51ffc9a303
commit
aa1603819f
10 changed files with 73 additions and 35 deletions
|
|
@ -131,7 +131,6 @@ fun CharacterSheetScreen(
|
|||
)
|
||||
val tabs = rememberHeaderTabsState()
|
||||
val pagerState = rememberPagerState { tabs.value.size }
|
||||
val isMenuExpended = remember { mutableStateOf(false) }
|
||||
|
||||
Surface(
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import androidx.compose.foundation.layout.Row
|
|||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material3.Divider
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
|
|
@ -64,7 +65,7 @@ fun GenericHeader(
|
|||
),
|
||||
)
|
||||
}
|
||||
Divider(
|
||||
HorizontalDivider(
|
||||
color = MaterialTheme.lexicon.colorScheme.placeholder,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ package com.pixelized.rplexicon.ui.screens.character.composable.actions
|
|||
|
||||
import android.content.res.Configuration.UI_MODE_NIGHT_NO
|
||||
import android.content.res.Configuration.UI_MODE_NIGHT_YES
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.ExperimentalLayoutApi
|
||||
import androidx.compose.foundation.layout.FlowRow
|
||||
|
|
@ -13,6 +15,7 @@ import androidx.compose.foundation.layout.height
|
|||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.material3.Divider
|
||||
import androidx.compose.material3.DividerDefaults
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
|
|
@ -75,23 +78,26 @@ fun InventoryItem(
|
|||
) {
|
||||
val size = rememberTextSize(style = MaterialTheme.typography.bodyMedium)
|
||||
if (index == lastIndex) {
|
||||
Divider(
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.height(height = 3.dp + size.height / 2)
|
||||
.width(1.dp)
|
||||
.background(color = DividerDefaults.color)
|
||||
)
|
||||
} else {
|
||||
Divider(
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.fillMaxHeight()
|
||||
.width(1.dp)
|
||||
.background(color = DividerDefaults.color)
|
||||
)
|
||||
}
|
||||
Divider(
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.padding(top = 2.dp + size.height / 2)
|
||||
.height(1.dp)
|
||||
.width(8.dp)
|
||||
.background(color = DividerDefaults.color)
|
||||
)
|
||||
InventoryItem(
|
||||
padding = PaddingValues(start = 7.dp, top = 2.dp, bottom = 2.dp),
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
|||
import androidx.compose.foundation.layout.offset
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material3.Divider
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
|
|
@ -97,7 +98,7 @@ fun SpellHeader(
|
|||
)
|
||||
}
|
||||
}
|
||||
Divider(
|
||||
HorizontalDivider(
|
||||
color = MaterialTheme.lexicon.colorScheme.placeholder,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ import androidx.compose.foundation.layout.size
|
|||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.material3.Divider
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
|
|
@ -130,18 +131,18 @@ private fun DeathMark(
|
|||
Circle(
|
||||
full = counter > 0,
|
||||
)
|
||||
Divider(
|
||||
HorizontalDivider(
|
||||
modifier = Modifier.width(width = 8.dp),
|
||||
thickness = 2.dp,
|
||||
color = MaterialTheme.colorScheme.onSurface,
|
||||
color = MaterialTheme.colorScheme.onSurface
|
||||
)
|
||||
Circle(
|
||||
full = counter > 1,
|
||||
)
|
||||
Divider(
|
||||
HorizontalDivider(
|
||||
modifier = Modifier.width(width = 8.dp),
|
||||
thickness = 2.dp,
|
||||
color = MaterialTheme.colorScheme.onSurface,
|
||||
color = MaterialTheme.colorScheme.onSurface
|
||||
)
|
||||
Circle(
|
||||
full = counter > 2,
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import androidx.compose.foundation.layout.width
|
|||
import androidx.compose.foundation.shape.CutCornerShape
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material3.Divider
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
|
|
@ -68,7 +69,7 @@ fun Stat(
|
|||
style = MaterialTheme.typography.displayMedium,
|
||||
text = stat.modifier.toLabel(),
|
||||
)
|
||||
Divider(
|
||||
HorizontalDivider(
|
||||
modifier = Modifier.width(width = 32.dp),
|
||||
)
|
||||
Text(
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import androidx.compose.foundation.layout.padding
|
|||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.itemsIndexed
|
||||
import androidx.compose.material3.Divider
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
|
|
@ -52,7 +53,9 @@ fun SpellLevelChooser(
|
|||
onSpellCast = onLevel,
|
||||
)
|
||||
if (index < (spells.value?.spells?.lastIndex ?: 0)) {
|
||||
Divider(modifier = Modifier.padding(horizontal = 16.dp))
|
||||
HorizontalDivider(
|
||||
modifier = Modifier.padding(horizontal = 16.dp),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import android.content.res.Configuration
|
|||
import androidx.annotation.DrawableRes
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.animation.animateContentSize
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
|
@ -15,7 +16,7 @@ import androidx.compose.foundation.layout.padding
|
|||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.shape.CutCornerShape
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material3.Divider
|
||||
import androidx.compose.material3.DividerDefaults
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
|
|
@ -101,8 +102,10 @@ fun StatusSummary(
|
|||
status.c1.value.getOrNull(index)
|
||||
}
|
||||
}
|
||||
Divider(
|
||||
modifier = Modifier.verticalDivider(),
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.verticalDivider()
|
||||
.background(color = DividerDefaults.color),
|
||||
)
|
||||
SummaryIcon(
|
||||
icon = c1?.icon,
|
||||
|
|
@ -114,8 +117,10 @@ fun StatusSummary(
|
|||
status.c2.value.getOrNull(index)
|
||||
}
|
||||
}
|
||||
Divider(
|
||||
modifier = Modifier.verticalDivider(),
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.verticalDivider()
|
||||
.background(color = DividerDefaults.color),
|
||||
)
|
||||
SummaryIcon(
|
||||
icon = c2?.icon,
|
||||
|
|
@ -127,8 +132,10 @@ fun StatusSummary(
|
|||
status.c3.value.getOrNull(index)
|
||||
}
|
||||
}
|
||||
Divider(
|
||||
modifier = Modifier.verticalDivider(),
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.verticalDivider()
|
||||
.background(color = DividerDefaults.color),
|
||||
)
|
||||
SummaryIcon(
|
||||
icon = c3?.icon,
|
||||
|
|
@ -140,8 +147,10 @@ fun StatusSummary(
|
|||
status.c4.value.getOrNull(index)
|
||||
}
|
||||
}
|
||||
Divider(
|
||||
modifier = Modifier.verticalDivider(),
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.verticalDivider()
|
||||
.background(color = DividerDefaults.color),
|
||||
)
|
||||
SummaryIcon(
|
||||
icon = c4?.icon,
|
||||
|
|
@ -153,8 +162,10 @@ fun StatusSummary(
|
|||
status.c5.value.getOrNull(index)
|
||||
}
|
||||
}
|
||||
Divider(
|
||||
modifier = Modifier.verticalDivider(),
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.verticalDivider()
|
||||
.background(color = DividerDefaults.color),
|
||||
)
|
||||
SummaryIcon(
|
||||
icon = c5?.icon,
|
||||
|
|
|
|||
|
|
@ -1,13 +1,15 @@
|
|||
package com.pixelized.rplexicon.ui.screens.summary.composable.common
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.IntrinsicSize
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.material3.Divider
|
||||
import androidx.compose.material3.DividerDefaults
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
|
|
@ -71,40 +73,50 @@ fun SummaryRow(
|
|||
Row(
|
||||
modifier = Modifier.height(intrinsicSize = IntrinsicSize.Min),
|
||||
) {
|
||||
Divider(
|
||||
modifier = Modifier.verticalDivider(),
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.verticalDivider()
|
||||
.background(color = DividerDefaults.color),
|
||||
)
|
||||
SummaryValue(
|
||||
cell = row.c1,
|
||||
style = style,
|
||||
color = color,
|
||||
)
|
||||
Divider(
|
||||
modifier = Modifier.verticalDivider(),
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.verticalDivider()
|
||||
.background(color = DividerDefaults.color),
|
||||
)
|
||||
SummaryValue(
|
||||
cell = row.c2,
|
||||
style = style,
|
||||
color = color,
|
||||
)
|
||||
Divider(
|
||||
modifier = Modifier.verticalDivider(),
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.verticalDivider()
|
||||
.background(color = DividerDefaults.color),
|
||||
)
|
||||
SummaryValue(
|
||||
cell = row.c3,
|
||||
style = style,
|
||||
color = color,
|
||||
)
|
||||
Divider(
|
||||
modifier = Modifier.verticalDivider(),
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.verticalDivider()
|
||||
.background(color = DividerDefaults.color),
|
||||
)
|
||||
SummaryValue(
|
||||
cell = row.c4,
|
||||
style = style,
|
||||
color = color,
|
||||
)
|
||||
Divider(
|
||||
modifier = Modifier.verticalDivider(),
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.verticalDivider()
|
||||
.background(color = DividerDefaults.color),
|
||||
)
|
||||
SummaryValue(
|
||||
cell = row.c5,
|
||||
|
|
|
|||
|
|
@ -656,7 +656,7 @@ class SummaryFactory @Inject constructor(
|
|||
dices.getOrNull(index = characters.indexOf(name))
|
||||
|
||||
throws.forEach { entry ->
|
||||
header.getDice(name = entry.key)?.value = if (entry.value.hidden) {
|
||||
val headerValue = if (entry.value.hidden) {
|
||||
ClassHeaderSummaryUio.Dice(
|
||||
characterName = entry.key,
|
||||
timestamp = entry.value.timestamp,
|
||||
|
|
@ -673,6 +673,9 @@ class SummaryFactory @Inject constructor(
|
|||
isCriticalFailure = entry.value.isCriticalFailure ?: false,
|
||||
)
|
||||
}
|
||||
withContext(Dispatchers.Main) {
|
||||
header.getDice(name = entry.key)?.value = headerValue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue