feat(#441): add profile cloning and description editing (#463)

* feat(#441): add profile cloning and description editing

* feat(#441): add profile builder wizard and API enhancements

Introduce 5-step Profile Builder wizard into ProfilesScreen and add support for create/clone endpoints.

* fix(#441): restore imports and add ProfileInfo constructor defaults

* style: run ktlint format on codebase to fix styling errors

* fix(#441): address PR review comments including provider slug bug, validation, and strings

* fix(#441): remove unused McpServerConfigInput import

---------

Co-authored-by: Hermes Agent <hermes@agent.local>
This commit is contained in:
M57andHermes Agent authored and GitHub committed 2026-07-03 22:24:42 +03:00
1 parent 846a9380e2
commit d181851670
37 files changed
+2299 -448

No files matched your search

@@ -27,10 +27,14 @@ import com.m57.hermescontrol.R
/** Sealed interface for navigation icon types — eliminates boolean-flag anti-pattern. */
sealed interface NavIcon {
/** Hamburger menu icon that opens the drawer. */
data class Menu(val onOpen: () -> Unit) : NavIcon
data class Menu(
val onOpen: () -> Unit,
) : NavIcon
/** Back arrow icon. */
data class Back(val onBack: () -> Unit) : NavIcon
data class Back(
val onBack: () -> Unit,
) : NavIcon
}
/**
@@ -354,7 +354,9 @@ fun ToastEffect(
val context = androidx.compose.ui.platform.LocalContext.current
androidx.compose.runtime.LaunchedEffect(toastMessage) {
toastMessage?.let { msg ->
android.widget.Toast.makeText(context, msg, android.widget.Toast.LENGTH_SHORT).show()
android.widget.Toast
.makeText(context, msg, android.widget.Toast.LENGTH_SHORT)
.show()
onClearToast()
}
}