UI: fix the model unload dialog message; elevate the model card and hide it by default on Conversation screen;
This commit is contained in:
parent
b75377676f
commit
7313b41574
|
|
@ -94,7 +94,7 @@ fun ModelCardCoreExpandable(
|
|||
)
|
||||
false -> CardDefaults.cardColors()
|
||||
},
|
||||
elevation = CardDefaults.cardElevation(defaultElevation = 2.dp)
|
||||
elevation = CardDefaults.cardElevation(defaultElevation = 12.dp)
|
||||
) {
|
||||
Column(
|
||||
modifier = Modifier.padding(16.dp),
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ import com.example.llama.viewmodel.UnloadModelState
|
|||
*/
|
||||
@Composable
|
||||
fun ModelUnloadDialogHandler(
|
||||
message: String,
|
||||
unloadModelState: UnloadModelState,
|
||||
onUnloadConfirmed: (onNavigateBack: () -> Unit) -> Unit,
|
||||
onUnloadDismissed: () -> Unit,
|
||||
|
|
@ -38,15 +39,17 @@ fun ModelUnloadDialogHandler(
|
|||
when (unloadModelState) {
|
||||
is UnloadModelState.Confirming -> {
|
||||
UnloadModelDialog(
|
||||
message = message,
|
||||
onConfirm = {
|
||||
onUnloadConfirmed(onNavigateBack)
|
||||
},
|
||||
onDismiss = onUnloadDismissed,
|
||||
isUnloading = false
|
||||
isUnloading = false,
|
||||
)
|
||||
}
|
||||
is UnloadModelState.Unloading -> {
|
||||
UnloadModelDialog(
|
||||
message = message,
|
||||
onConfirm = {
|
||||
onUnloadConfirmed(onNavigateBack)
|
||||
},
|
||||
|
|
@ -72,6 +75,7 @@ fun ModelUnloadDialogHandler(
|
|||
|
||||
@Composable
|
||||
private fun UnloadModelDialog(
|
||||
message: String,
|
||||
onConfirm: () -> Unit,
|
||||
onDismiss: () -> Unit,
|
||||
isUnloading: Boolean = false
|
||||
|
|
@ -86,10 +90,7 @@ private fun UnloadModelDialog(
|
|||
},
|
||||
text = {
|
||||
Column {
|
||||
Text(
|
||||
"Going back will unload the current model. " +
|
||||
"Any unsaved conversation will be lost."
|
||||
)
|
||||
Text(message)
|
||||
|
||||
if (isUnloading) {
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
|
|
|
|||
|
|
@ -178,6 +178,7 @@ fun BenchmarkScreen(
|
|||
|
||||
// Unload confirmation dialog
|
||||
ModelUnloadDialogHandler(
|
||||
message = "Going back will unload the current model and clear all the benchmark results.",
|
||||
unloadModelState = unloadDialogState,
|
||||
onUnloadConfirmed = { viewModel.onUnloadConfirmed(onNavigateBack) },
|
||||
onUnloadDismissed = { viewModel.onUnloadDismissed() },
|
||||
|
|
|
|||
|
|
@ -205,6 +205,7 @@ fun ConversationScreen(
|
|||
|
||||
// Unload confirmation dialog
|
||||
ModelUnloadDialogHandler(
|
||||
message = "Going back will unload the current model and clear the whole conversation.",
|
||||
unloadModelState = unloadDialogState,
|
||||
onUnloadConfirmed = { viewModel.onUnloadConfirmed(onNavigateBack) },
|
||||
onUnloadDismissed = { viewModel.onUnloadDismissed() },
|
||||
|
|
|
|||
|
|
@ -83,7 +83,6 @@ fun ModelLoadingScreen(
|
|||
val selectedModel by viewModel.selectedModel.collectAsState()
|
||||
val presetPrompts by viewModel.presetPrompts.collectAsState()
|
||||
val recentPrompts by viewModel.recentPrompts.collectAsState()
|
||||
val unloadDialogState by viewModel.unloadModelState.collectAsState()
|
||||
|
||||
// UI states
|
||||
var isModelCardExpanded by remember { mutableStateOf(false) }
|
||||
|
|
@ -385,14 +384,6 @@ fun ModelLoadingScreen(
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Unload confirmation dialog
|
||||
ModelUnloadDialogHandler(
|
||||
unloadModelState = unloadDialogState,
|
||||
onUnloadConfirmed = { viewModel.onUnloadConfirmed(onNavigateBack) },
|
||||
onUnloadDismissed = { viewModel.onUnloadDismissed() },
|
||||
onNavigateBack = onNavigateBack,
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ class ConversationViewModel @Inject constructor(
|
|||
val systemPrompt = conversationService.systemPrompt
|
||||
|
||||
// UI state: Model card
|
||||
private val _showModelCard = MutableStateFlow(true)
|
||||
private val _showModelCard = MutableStateFlow(false)
|
||||
val showModelCard = _showModelCard.asStateFlow()
|
||||
|
||||
fun toggleModelCard(show: Boolean) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue