Put players table in an OutlinedBox, makes the UI look more consistent.

This commit is contained in:
Tom Pratt authored and Tom Pratt committed 2026-05-19 12:02:56 +02:00
1 parent c32732714e
commit e49451b28e
3 files changed
+26 -3

No files matched your search

@@ -192,9 +192,18 @@ private fun PlayersAndSettings(
MenuSpacer() MenuSpacer()
OutlinedBox(
label = { Text(stringResource(R.string.netplay_players_label)) },
) {
PlayersTable( PlayersTable(
rows = buildList { rows = buildList {
add(listOf("Player", "Ping", "Mapping")) add(
listOf(
stringResource(R.string.netplay_players_name),
stringResource(R.string.netplay_players_ping),
stringResource(R.string.netplay_players_mapping),
)
)
addAll(players.map { listOf(it.name, it.ping.toString(), it.mapping) }) addAll(players.map { listOf(it.name, it.ping.toString(), it.mapping) })
repeat(4 - players.size) { add(listOf("", "", "")) } repeat(4 - players.size) { add(listOf("", "", "")) }
}, },
@@ -202,6 +211,7 @@ private fun PlayersAndSettings(
.fillMaxWidth() .fillMaxWidth()
) )
} }
}
} }
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@@ -135,9 +135,10 @@ fun MenuSpacer() = Spacer(modifier = Modifier.height(16.dp))
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun OutlinedBox( fun OutlinedBox(
onClick: () -> Unit,
label: @Composable () -> Unit, label: @Composable () -> Unit,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
onClick: (() -> Unit)? = null,
fadeContentTop: Boolean = false,
content: @Composable () -> Unit, content: @Composable () -> Unit,
) { ) {
Box( Box(
@@ -153,6 +154,7 @@ fun OutlinedBox(
.fillMaxSize() .fillMaxSize()
) { ) {
content() content()
if (fadeContentTop) {
Box( Box(
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
@@ -167,10 +169,15 @@ fun OutlinedBox(
) )
) )
} }
}
}, },
enabled = true, enabled = true,
singleLine = false, singleLine = false,
contentPadding = OutlinedTextFieldDefaults.contentPadding(top = 0.dp), contentPadding = if (fadeContentTop) {
OutlinedTextFieldDefaults.contentPadding(top = 0.dp)
} else {
OutlinedTextFieldDefaults.contentPadding()
},
visualTransformation = VisualTransformation.None, visualTransformation = VisualTransformation.None,
interactionSource = interactionSource, interactionSource = interactionSource,
label = { label() }, label = { label() },
@@ -183,6 +190,7 @@ fun OutlinedBox(
) )
} }
) )
if (onClick != null) {
Box( Box(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
@@ -194,4 +202,5 @@ fun OutlinedBox(
) )
) )
} }
}
} }
@@ -1003,4 +1003,8 @@ It can efficiently compress both junk data and encrypted Wii data.
<string name="netplay_message_buffer_changed">Buffer size changed to %1$d</string> <string name="netplay_message_buffer_changed">Buffer size changed to %1$d</string>
<string name="netplay_message_host_input_authority_changed">"Host input authority %1$s"</string> <string name="netplay_message_host_input_authority_changed">"Host input authority %1$s"</string>
<string name="netplay_game_label">Game</string> <string name="netplay_game_label">Game</string>
<string name="netplay_players_label">Players</string>
<string name="netplay_players_name">Name</string>
<string name="netplay_players_ping">Ping</string>
<string name="netplay_players_mapping">Mapping</string>
</resources> </resources>