feat: guided setup — clickable next steps, signature relaxation, fresh-install auto-open
Post-apply the wizard now renders real Studio actions instead of CLI
text: a start-hub button that polls until the daemon answers,
per-module install buttons (capability-name install via the hub's
store index) with done/progress states, and an open-the-starter-flow
button that navigates to the Flows page. Regulated plans explain in
plain language that modules come from a signed source; the preview
offers 'allow installing from the public store' as one deliberate,
reversible switch that re-assembles the plan (allow_unsigned_modules).
Fresh installs (no config, no setup-plan.yaml) auto-open the wizard
once per run — the wizard IS the onboarding — and it steps back once
a setup exists. The welcome CTA is framed honestly ('get started in
3 questions'), and after the wizard closes the onboarding checklist
remounts, re-probes, and says what the assistant already covered
(profile line from setup-plan.yaml) instead of acting as a second,
disconnected onboarding surface.
Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
140408d26a
commit
1f1e050b42
8 changed files with 704 additions and 51 deletions
|
|
@ -5329,23 +5329,95 @@ abstract class AppLocalizations {
|
|||
/// **'Start the hub'**
|
||||
String get setupNextHubStart;
|
||||
|
||||
/// No description provided for @setupNextInstall.
|
||||
/// No description provided for @setupHubRunning.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Install the modules'**
|
||||
String get setupNextInstall;
|
||||
/// **'The hub is running.'**
|
||||
String get setupHubRunning;
|
||||
|
||||
/// No description provided for @setupNextRunFlow.
|
||||
/// No description provided for @setupStartHubFirst.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Run the example flow'**
|
||||
String get setupNextRunFlow;
|
||||
/// **'Start the hub first — then the modules can be installed right here.'**
|
||||
String get setupStartHubFirst;
|
||||
|
||||
/// No description provided for @setupActionInstall.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Install {module}'**
|
||||
String setupActionInstall(String module);
|
||||
|
||||
/// No description provided for @setupActionInstalled.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{module} is installed.'**
|
||||
String setupActionInstalled(String module);
|
||||
|
||||
/// No description provided for @setupActionOpenFlow.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Open the “{flow}” example flow'**
|
||||
String setupActionOpenFlow(String flow);
|
||||
|
||||
/// No description provided for @setupModulesOfflineHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'The modules arrive as an offline bundle, without internet — the documentation explains this under “running without internet”.'**
|
||||
String get setupModulesOfflineHint;
|
||||
|
||||
/// No description provided for @setupModulesSignedHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'The modules come from your own, signed source — not from the public store.'**
|
||||
String get setupModulesSignedHint;
|
||||
|
||||
/// No description provided for @setupSigPublicStoreNotice.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'This setup only accepts signed modules. The public store currently ships unsigned bundles — the prepared modules therefore come from your own, signed source.'**
|
||||
String get setupSigPublicStoreNotice;
|
||||
|
||||
/// No description provided for @setupAllowUnsigned.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Allow installing from the public store'**
|
||||
String get setupAllowUnsigned;
|
||||
|
||||
/// No description provided for @setupAllowUnsignedSub.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Deliberately relaxes the signature requirement. Fine for trying things out — re-enable it for regulated operation.'**
|
||||
String get setupAllowUnsignedSub;
|
||||
|
||||
/// No description provided for @setupStartCta.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Get started in 3 questions'**
|
||||
String get setupStartCta;
|
||||
|
||||
/// No description provided for @setupProfileDev.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'straightforward workstation'**
|
||||
String get setupProfileDev;
|
||||
|
||||
/// No description provided for @setupProfileEnterprise.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'hardened team operation'**
|
||||
String get setupProfileEnterprise;
|
||||
|
||||
/// No description provided for @setupProfileAirgapped.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'fully local, regulated operation'**
|
||||
String get setupProfileAirgapped;
|
||||
|
||||
/// No description provided for @welcomeChecklistSetupDone.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'The setup assistant already took care of the basics ({profile}) — this list shows what has actually happened on your hub.'**
|
||||
String welcomeChecklistSetupDone(String profile);
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue