@@ -2,6 +2,7 @@ package co.touchlab.droidcon.ui
22
33import androidx.compose.foundation.background
44import androidx.compose.foundation.clickable
5+ import androidx.compose.foundation.isSystemInDarkTheme
56import androidx.compose.foundation.layout.Column
67import androidx.compose.foundation.layout.Row
78import androidx.compose.foundation.layout.fillMaxWidth
@@ -11,13 +12,15 @@ import androidx.compose.foundation.lazy.items
1112import androidx.compose.foundation.shape.RoundedCornerShape
1213import androidx.compose.material3.MaterialTheme
1314import androidx.compose.material3.RadioButton
15+ import androidx.compose.material3.Surface
1416import androidx.compose.material3.Text
1517import androidx.compose.runtime.Composable
1618import androidx.compose.ui.Alignment
1719import androidx.compose.ui.Modifier
1820import androidx.compose.ui.unit.dp
1921import androidx.compose.ui.window.Dialog
2022import co.touchlab.droidcon.domain.entity.Conference
23+ import co.touchlab.droidcon.ui.theme.DroidconTheme
2124
2225@Composable
2326fun 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 }
0 commit comments