Turn dead-end empty states into on-ramps by wiring the existing EmptyState actionLabel/onAction params to real next actions. Screens wired (real, existing actions): - Skills (installed): Browse skill hub -> setViewMode(HUB) - Skills (hub): Retry search -> searchHub(hubQuery) - Cron Jobs: Create your first job -> openNewJobDialog() - MCP servers: Add a server -> toggleAddForm() (literal moved to strings.xml) - Webhooks: Create subscription -> showCreateDialog() (literal moved to strings.xml) - Channels: Connect a Telegram channel -> startTelegramOnboarding() - Model: Configure model -> navigateTo(SettingsConnection) - Sessions (history): Start a new chat -> navigateTo(ChatScreen) - Analytics: Explore Skills or Cron jobs -> navigateTo(SkillsScreen) - Keys (no match): Clear search -> query = "" All new labels use strings.xml (empty_action_* / screenname_empty_*). Deviations from issue (documented honestly): - Toolsets, Profiles, Plugins keep Refresh. No in-app create path exists (toolsets are server-defined toggles; profiles/plugins have no create dialog wired in UI). Refresh is the correct recovery there, not a fake 'create' CTA. Flagged for follow-up if create flows get built. - Skills: edited the real private InstalledSkillsView in SkillsScreen.kt; the duplicate internal one in InstalledSkillsTab.kt is dead code. Verified: ktlintCheck clean, assembleDebug green. Co-authored-by: M57 <hy4ri@users.noreply.github.com> Co-authored-by: Ronia <ronia@hermes>
This commit is contained in:
11 files changed
+59
-7
No files matched your search
@@ -341,7 +341,7 @@ fun WebhooksScreen(
|
||||
EmptyState(
|
||||
title =
|
||||
if (state.subscriptions.isEmpty()) {
|
||||
"No subscriptions"
|
||||
stringResource(R.string.webhooks_empty_title)
|
||||
} else {
|
||||
stringResource(R.string.webhooks_no_matching)
|
||||
},
|
||||
@@ -351,6 +351,18 @@ fun WebhooksScreen(
|
||||
} else {
|
||||
stringResource(R.string.webhooks_no_matching_desc)
|
||||
},
|
||||
actionLabel =
|
||||
if (state.subscriptions.isEmpty()) {
|
||||
stringResource(R.string.webhooks_action_add)
|
||||
} else {
|
||||
null
|
||||
},
|
||||
onAction =
|
||||
if (state.subscriptions.isEmpty()) {
|
||||
{ viewModel.showCreateDialog() }
|
||||
} else {
|
||||
null
|
||||
},
|
||||
)
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in new issue
Block a user