feat(studio): brand-agnostic onboarding hints + clickable checklist + theme-picker clarity
Some checks failed
Security / Security check (push) Failing after 2s

Three changes:

1. Onboarding checklist hints no longer mention DeepWiki,
   Semgrep, text.extract, or extract-summarize.yaml by
   name. Brand- and file-specific copy moved to neutral
   feature pointers ('add an MCP source', 'install a
   module'). Brand names belong on the welcome page only
   if they're load-bearing for understanding, which they
   aren't.

2. Checklist rows are now clickable. Tapping a row navigates
   to the page where the operator can complete it — MCP +
   AI open Settings, Module opens Store, Flow opens Flows.
   StudioShellState gains a public navigateTo(pageId) helper
   so descendants can drive sidebar selection without
   plumbing a controller through props.

3. Theme picker hint copy rewritten. Old hint suggested
   'Custom' was a single-colour tweak; new copy spells out
   that Material 3 derives a full palette (primary,
   secondary, tertiary, surface, …) from one seed colour.
   The Custom tile shows a small tune icon so its
   open-the-picker semantics is visually distinct from the
   apply-immediately plugin tiles.

Editor bumped to 0.12.0 (panel toggle + LabVIEW-style port
colours).

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-06-02 11:13:38 +02:00
parent c1c60d5434
commit 3db875c903
10 changed files with 105 additions and 31 deletions

View file

@ -128,21 +128,21 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get welcomeChecklistMcpHint =>
'Store → Today hero, or Settings → MCP Clients. DeepWiki and Semgrep are one click each.';
'Add an MCP source from the Store, or configure one under Settings → MCP Clients.';
@override
String get welcomeChecklistModule => 'Install a text module';
@override
String get welcomeChecklistModuleHint =>
'Store → search \"text\" → Install. Try text.extract for PDFs and DOCX.';
'Install a module from the Store — pick whichever category fits your work. Modules are sandboxed F∆I components.';
@override
String get welcomeChecklistFlow => 'Run a saved flow';
@override
String get welcomeChecklistFlowHint =>
'Flows → pick one → Run. The bundled extract-summarize.yaml is a good first run.';
'Flows → pick one → Run. Studio ships a few demo flows; one of your own works too.';
@override
String get welcomeChecklistAllDone => 'All four steps complete.';
@ -320,7 +320,7 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get themePluginHint =>
'Pick an installed studio.theme.* plugin to re-skin the whole app. Install one from the Store first.';
'Built-in and plugin tiles ship hand-curated palettes. The Custom tile derives a full Material 3 palette (primary, secondary, tertiary, surface, …) from one seed colour you pick — it\'s a complete theme, not a single-colour tweak.';
@override
String get themePluginEmpty =>