feat(studio): plain-language store, bottom-anchored ask bar (v0.33.0)
The store had three structural problems flagged in user feedback: 1. "Lernkurve zu hoch — alle bridge, debug, alpha, planned, keiner weiß was das heißt." Wire-level enum values bled through into the UI: `bridge`, `debug`, `published`, `alpha`, `planned`. Operators don't share the data model. 2. "Filter / Kategorien sollten oben in die Leiste neben Store zum ausklappen, der Body soll übersichtlicher werden." A chip-row plus category strip plus result-count line ate a full row of viewport on every screen. 3. "Suche passt besser an den unteren Bildschirmrand." The chat-style ask bar belongs at the bottom — Claude / ChatGPT / Slack pattern — not at the top where it competes with the Today hero. Plus: "Es gibt noch ganz viele overflows in den Beschreibungen." Changes: - Plain-language display names. New ARB keys for category labels (Connectors / Sample modules / AI models / Storage / Channels / Authentication / Orchestration / …) and updated status values (stable / experimental / coming soon). Wire ids stay in StoreEntry, RPCs, seed.yaml — only the rendered pills and dropdowns get translated. Helpers `_categoryDisplayName` and `_statusDisplayName` keep the mapping in one place. - Toolbar moves into the AppBar. The new `_CategoryDropdown` hosts the category picker as a popup-menu with localised labels; the existing `_FilterButton` lives next to it; the reload icon stays where it always was. The body no longer carries any chip strip or result-count line. - Bottom-anchored `_AskBar`. The Scaffold body becomes a Column of `Expanded(scrollable content)` plus a pinned composer row at the foot of the viewport, with a top divider matching the chat-input pattern of modern AI assistants. AI answers now render at the top of the scroll (above the Today-Hero) so the operator sees them right after submitting the question at the bottom. - Overflow sweep on descriptions. Today-Hero header row becomes a Wrap (badge + deck flow naturally on narrow windows), the title is bound to 3 lines, the body to 6. Card category text gets `maxLines: 1, ellipsis` in both StoreCard and FeaturedTile. Recommended-source card title gets the same treatment. - Better toast for the "added but zero capabilities" path. When MCP discovery succeeds but returns no tools (typical Streamable-HTTP servers without Mcp-Session-Id support, or servers that need `notifications/initialized`), the toast now explains the situation in plain language and points the operator at Settings → MCP Clients to retry. Old pluralised toast still fires when N > 0. Hub-side `notifications/initialized` for HTTP MCP and Mcp-Session-Id support are out of scope for this commit; tracked as a separate fai_hub follow-up. Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
c7869870c4
commit
de22791e86
8 changed files with 434 additions and 143 deletions
|
|
@ -127,10 +127,22 @@
|
|||
"storeNoMatchesHint": "Filter anpassen oder Suche leeren, um alle Einträge zu sehen.",
|
||||
"storeClearFilters": "Filter zurücksetzen",
|
||||
"storeStatusAll": "Alle",
|
||||
"storeStatusPublished": "Veröffentlicht",
|
||||
"storeStatusAlpha": "Alpha",
|
||||
"storeStatusPlanned": "Geplant",
|
||||
"storeStatusPublished": "stabil",
|
||||
"storeStatusAlpha": "experimentell",
|
||||
"storeStatusPlanned": "geplant",
|
||||
"storeInstalledOnly": "Installiert",
|
||||
"storeCategoryLabel": "Kategorie",
|
||||
"storeCategoryAll": "Alle Kategorien",
|
||||
"storeCategoryBridge": "Verbindungen",
|
||||
"storeCategoryDebug": "Beispiele",
|
||||
"storeCategoryText": "Text",
|
||||
"storeCategoryLlm": "KI-Modelle",
|
||||
"storeCategorySystem": "System",
|
||||
"storeCategoryAuth": "Authentifizierung",
|
||||
"storeCategoryStorage": "Speicher",
|
||||
"storeCategoryChannel": "Kanäle",
|
||||
"storeCategoryWeb": "Web",
|
||||
"storeCategoryOrchestrator": "Orchestrierung",
|
||||
"storeNResults": "{n} Treffer",
|
||||
"@storeNResults": {
|
||||
"placeholders": { "n": { "type": "int" } }
|
||||
|
|
@ -221,6 +233,10 @@
|
|||
"n": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"storeProviderAddedZeroToast": "{name} ist eingetragen, aber der Server hat noch keine Capabilities geliefert. Öffne Einstellungen → MCP-Clients, um Discovery erneut zu versuchen oder den Server zu prüfen.",
|
||||
"@storeProviderAddedZeroToast": {
|
||||
"placeholders": { "name": { "type": "String" } }
|
||||
},
|
||||
"storeProviderAddFailed": "{name} konnte nicht hinzugefügt werden: {error}",
|
||||
"@storeProviderAddFailed": {
|
||||
"placeholders": {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue