Skip to content

Commit 461bda4

Browse files
committed
Fix RND-463.
1 parent 227ca64 commit 461bda4

File tree

2 files changed

+54
-48
lines changed

2 files changed

+54
-48
lines changed

shared-ui/src/commonMain/kotlin/co.touchlab.droidcon/ui/FirstRunConferenceSelector.kt

Lines changed: 51 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package co.touchlab.droidcon.ui
22

33
import androidx.compose.foundation.background
44
import androidx.compose.foundation.clickable
5+
import androidx.compose.foundation.isSystemInDarkTheme
56
import androidx.compose.foundation.layout.Column
67
import androidx.compose.foundation.layout.Row
78
import androidx.compose.foundation.layout.fillMaxWidth
@@ -11,13 +12,15 @@ import androidx.compose.foundation.lazy.items
1112
import androidx.compose.foundation.shape.RoundedCornerShape
1213
import androidx.compose.material3.MaterialTheme
1314
import androidx.compose.material3.RadioButton
15+
import androidx.compose.material3.Surface
1416
import androidx.compose.material3.Text
1517
import androidx.compose.runtime.Composable
1618
import androidx.compose.ui.Alignment
1719
import androidx.compose.ui.Modifier
1820
import androidx.compose.ui.unit.dp
1921
import androidx.compose.ui.window.Dialog
2022
import co.touchlab.droidcon.domain.entity.Conference
23+
import co.touchlab.droidcon.ui.theme.DroidconTheme
2124

2225
@Composable
2326
fun FirstRunConferenceSelector(
@@ -27,56 +30,57 @@ fun FirstRunConferenceSelector(
2730
selectedConference: Conference? = null,
2831
) {
2932
Dialog(onDismissRequest = onDismiss) {
30-
Column(
31-
modifier = Modifier
32-
.fillMaxWidth()
33-
.background(
34-
color = MaterialTheme.colorScheme.surface,
35-
shape = RoundedCornerShape(16.dp),
36-
)
37-
.padding(16.dp),
33+
Surface(
34+
shape = RoundedCornerShape(16.dp),
3835
) {
39-
Text(
40-
text = "Welcome to Droidcon!",
41-
style = MaterialTheme.typography.headlineSmall,
42-
modifier = Modifier.padding(bottom = 16.dp),
43-
)
36+
Column(
37+
modifier = Modifier
38+
.fillMaxWidth()
39+
.padding(16.dp),
40+
) {
41+
Text(
42+
text = "Welcome to Droidcon!",
43+
style = MaterialTheme.typography.headlineSmall,
44+
color = MaterialTheme.colorScheme.onBackground,
45+
modifier = Modifier.padding(bottom = 16.dp),
46+
)
4447

45-
Text(
46-
text = "Please select a conference to get started:",
47-
style = MaterialTheme.typography.bodyMedium,
48-
modifier = Modifier.padding(bottom = 16.dp),
49-
)
48+
Text(
49+
text = "Please select a conference to get started:",
50+
style = MaterialTheme.typography.bodyMedium,
51+
modifier = Modifier.padding(bottom = 16.dp),
52+
)
5053

51-
LazyColumn {
52-
items(conferences) { conference ->
53-
val isSelected = conference.id == selectedConference?.id
54-
Row(
55-
modifier = Modifier
56-
.fillMaxWidth()
57-
.clickable {
58-
// Explicitly call selection function
59-
onConferenceSelected(conference)
60-
}
61-
.padding(vertical = 8.dp),
62-
verticalAlignment = Alignment.CenterVertically,
63-
) {
64-
RadioButton(
65-
selected = isSelected,
66-
onClick = {
67-
// Handle radio button click separately
68-
onConferenceSelected(conference)
69-
},
70-
)
71-
Text(
72-
text = if (isSelected) {
73-
"${conference.name} (Selected)"
74-
} else {
75-
conference.name
76-
},
77-
style = MaterialTheme.typography.bodyLarge,
78-
modifier = Modifier.padding(start = 8.dp),
79-
)
54+
LazyColumn {
55+
items(conferences) { conference ->
56+
val isSelected = conference.id == selectedConference?.id
57+
Row(
58+
modifier = Modifier
59+
.fillMaxWidth()
60+
.clickable {
61+
// Explicitly call selection function
62+
onConferenceSelected(conference)
63+
}
64+
.padding(vertical = 8.dp),
65+
verticalAlignment = Alignment.CenterVertically,
66+
) {
67+
RadioButton(
68+
selected = isSelected,
69+
onClick = {
70+
// Handle radio button click separately
71+
onConferenceSelected(conference)
72+
},
73+
)
74+
Text(
75+
text = if (isSelected) {
76+
"${conference.name} (Selected)"
77+
} else {
78+
conference.name
79+
},
80+
style = MaterialTheme.typography.bodyLarge,
81+
modifier = Modifier.padding(start = 8.dp),
82+
)
83+
}
8084
}
8185
}
8286
}

shared-ui/src/commonMain/kotlin/co.touchlab.droidcon/ui/MainComposeView.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,9 @@ private fun MainAppBody(waitForLoadedContextModel: WaitForLoadedContextModel, se
8686
}
8787

8888
if (conferences.size == 1) {
89-
onConferenceSelected(conferences.get(0))
89+
LaunchedEffect(conferences) {
90+
onConferenceSelected(conferences.first())
91+
}
9092
} else if (conferences.size > 1) {
9193
FirstRunConferenceSelector(
9294
conferences = conferences,

0 commit comments

Comments
 (0)