Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package co.touchlab.droidcon.ui

import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
Expand All @@ -11,6 +10,7 @@ import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.RadioButton
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
Expand All @@ -27,56 +27,56 @@ fun FirstRunConferenceSelector(
selectedConference: Conference? = null,
) {
Dialog(onDismissRequest = onDismiss) {
Column(
modifier = Modifier
.fillMaxWidth()
.background(
color = MaterialTheme.colorScheme.surface,
shape = RoundedCornerShape(16.dp),
)
.padding(16.dp),
Surface(
shape = RoundedCornerShape(16.dp),
) {
Text(
text = "Welcome to Droidcon!",
style = MaterialTheme.typography.headlineSmall,
modifier = Modifier.padding(bottom = 16.dp),
)
Column(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
) {
Text(
text = "Welcome to Droidcon!",
style = MaterialTheme.typography.headlineSmall,
modifier = Modifier.padding(bottom = 16.dp),
)

Text(
text = "Please select a conference to get started:",
style = MaterialTheme.typography.bodyMedium,
modifier = Modifier.padding(bottom = 16.dp),
)
Text(
text = "Please select a conference to get started:",
style = MaterialTheme.typography.bodyMedium,
modifier = Modifier.padding(bottom = 16.dp),
)

LazyColumn {
items(conferences) { conference ->
val isSelected = conference.id == selectedConference?.id
Row(
modifier = Modifier
.fillMaxWidth()
.clickable {
// Explicitly call selection function
onConferenceSelected(conference)
}
.padding(vertical = 8.dp),
verticalAlignment = Alignment.CenterVertically,
) {
RadioButton(
selected = isSelected,
onClick = {
// Handle radio button click separately
onConferenceSelected(conference)
},
)
Text(
text = if (isSelected) {
"${conference.name} (Selected)"
} else {
conference.name
},
style = MaterialTheme.typography.bodyLarge,
modifier = Modifier.padding(start = 8.dp),
)
LazyColumn {
items(conferences) { conference ->
val isSelected = conference.id == selectedConference?.id
Row(
modifier = Modifier
.fillMaxWidth()
.clickable {
// Explicitly call selection function
onConferenceSelected(conference)
}
.padding(vertical = 8.dp),
verticalAlignment = Alignment.CenterVertically,
) {
RadioButton(
selected = isSelected,
onClick = {
// Handle radio button click separately
onConferenceSelected(conference)
},
)
Text(
text = if (isSelected) {
"${conference.name} (Selected)"
} else {
conference.name
},
style = MaterialTheme.typography.bodyLarge,
modifier = Modifier.padding(start = 8.dp),
)
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,9 @@ private fun MainAppBody(waitForLoadedContextModel: WaitForLoadedContextModel, se
}

if (conferences.size == 1) {
onConferenceSelected(conferences.get(0))
LaunchedEffect(conferences) {
onConferenceSelected(conferences.first())
}
} else if (conferences.size > 1) {
FirstRunConferenceSelector(
conferences = conferences,
Expand Down