Fix skill header divider inconcistencies

This commit is contained in:
Thomas Andres Gomez 2023-11-20 16:10:46 +01:00
parent ad3750e702
commit 238ee347a1
2 changed files with 49 additions and 27 deletions

View file

@ -3,14 +3,17 @@ 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.annotation.StringRes
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
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.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.material3.minimumInteractiveComponentSize
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
@ -20,6 +23,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.pixelized.rplexicon.R
import com.pixelized.rplexicon.ui.theme.LexiconTheme
import com.pixelized.rplexicon.utilitary.LOS_HOLLOW
import com.pixelized.rplexicon.utilitary.annotateWithDropCap
import com.pixelized.rplexicon.utilitary.extentions.lexicon
@ -30,28 +34,40 @@ fun GenericHeader(
padding: PaddingValues = PaddingValues(horizontal = 16.dp),
@StringRes label: Int,
) {
Column(
Surface(
modifier = modifier,
) {
Surface(
modifier = Modifier.fillMaxWidth(),
Column(
modifier = modifier.padding(paddingValues = padding),
) {
Text(
modifier = Modifier.padding(paddingValues = padding),
style = MaterialTheme.typography.titleMedium,
fontWeight = FontWeight.Bold,
overflow = TextOverflow.Ellipsis,
maxLines = 1,
text = annotateWithDropCap(
text = stringResource(id = label),
style = MaterialTheme.lexicon.typography.titleMediumDropCap,
),
Row(
modifier = Modifier
.minimumInteractiveComponentSize()
.fillMaxWidth(),
horizontalArrangement = Arrangement.spacedBy(4.dp),
) {
Text(
modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.titleMedium,
text = LOS_HOLLOW,
)
Text(
modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.titleMedium,
fontWeight = FontWeight.Bold,
overflow = TextOverflow.Ellipsis,
maxLines = 1,
text = annotateWithDropCap(
text = stringResource(id = label),
style = MaterialTheme.lexicon.typography.titleMediumDropCap,
),
)
}
Divider(
color = MaterialTheme.lexicon.colorScheme.placeholder,
)
}
Divider(
modifier = Modifier.padding(paddingValues = padding),
color = MaterialTheme.lexicon.colorScheme.placeholder,
)
}
}

View file

@ -13,9 +13,9 @@ import androidx.compose.material3.Divider
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.material3.minimumInteractiveComponentSize
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Stable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
@ -27,6 +27,7 @@ import androidx.compose.ui.unit.dp
import com.pixelized.rplexicon.R
import com.pixelized.rplexicon.ui.screens.character.composable.common.CounterButton
import com.pixelized.rplexicon.ui.theme.LexiconTheme
import com.pixelized.rplexicon.utilitary.LOS_HOLLOW
import com.pixelized.rplexicon.utilitary.annotateWithDropCap
import com.pixelized.rplexicon.utilitary.extentions.lexicon
@ -49,17 +50,23 @@ fun SpellHeader(
header: SpellHeaderUio,
onSpell: (level: Int, value: Int, max: Int) -> Unit,
) {
Column(
Surface(
modifier = modifier,
) {
Surface {
Column(
modifier = modifier.padding(paddingValues = padding),
) {
Row(
modifier = Modifier
.fillMaxWidth()
.padding(paddingValues = padding),
verticalAlignment = Alignment.CenterVertically,
.minimumInteractiveComponentSize()
.fillMaxWidth(),
horizontalArrangement = Arrangement.spacedBy(4.dp),
) {
Text(
modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.titleMedium,
text = LOS_HOLLOW,
)
Text(
modifier = Modifier
.weight(1f)
@ -90,11 +97,10 @@ fun SpellHeader(
)
}
}
Divider(
color = MaterialTheme.lexicon.colorScheme.placeholder,
)
}
Divider(
modifier = Modifier.padding(paddingValues = padding),
color = MaterialTheme.lexicon.colorScheme.placeholder,
)
}
}