fix(welcome): concept cards speak everyday language first
Some checks are pending
Security / Security check (push) Waiting to run

The Hub/Module/Flow cards explained the basics in the very
vocabulary they were supposed to introduce (Rust binary, WASM,
YAML, hash-chained). Each card now leads with a plain-language
explanation; the technical wording moved behind a per-card
'for the technically curious' toggle. DE and EN.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-07-17 23:24:46 +02:00
parent cc1618f512
commit 3e1ce6e1fd
6 changed files with 163 additions and 28 deletions

View file

@ -233,9 +233,15 @@ abstract class AppLocalizations {
/// No description provided for @welcomePillarHubBody.
///
/// In en, this message translates to:
/// **'One Rust binary that loads modules and runs flows. SQLite for state. No Docker, no message broker, no background services to babysit.'**
/// **'The program that runs everything. It works right on your machine, needs no extra software, and keeps everything important in a single file.'**
String get welcomePillarHubBody;
/// No description provided for @welcomePillarHubTech.
///
/// In en, this message translates to:
/// **'One Rust binary that loads modules and runs flows. SQLite for state. No Docker, no message broker, no background services to babysit.'**
String get welcomePillarHubTech;
/// No description provided for @welcomePillarModuleTitle.
///
/// In en, this message translates to:
@ -245,9 +251,15 @@ abstract class AppLocalizations {
/// No description provided for @welcomePillarModuleBody.
///
/// In en, this message translates to:
/// **'A small WebAssembly component that does one thing. Declares the network endpoints, files, and environment variables it touches; the hub enforces the list.'**
/// **'A building block that does exactly one job — reading text out of documents, say. Every module states up front what it wants to touch; the hub allows nothing more.'**
String get welcomePillarModuleBody;
/// No description provided for @welcomePillarModuleTech.
///
/// In en, this message translates to:
/// **'A small, sandboxed WebAssembly component. Declares the network endpoints, files, and environment variables it touches; the hub enforces the list.'**
String get welcomePillarModuleTech;
/// No description provided for @welcomePillarFlowTitle.
///
/// In en, this message translates to:
@ -257,9 +269,21 @@ abstract class AppLocalizations {
/// No description provided for @welcomePillarFlowBody.
///
/// In en, this message translates to:
/// **'A YAML file that chains modules together. Inputs go in, modules run in declared order, outputs come out — every step recorded in a hash-chained audit log.'**
/// **'A recipe that connects modules into fixed steps. Inputs go in, steps run in order, the result comes out — and every step is recorded tamper-evidently.'**
String get welcomePillarFlowBody;
/// No description provided for @welcomePillarFlowTech.
///
/// In en, this message translates to:
/// **'A YAML file that chains modules together; every step is recorded in a hash-chained audit log that the Diagnostics page verifies in full.'**
String get welcomePillarFlowTech;
/// No description provided for @welcomePillarTechToggle.
///
/// In en, this message translates to:
/// **'For the technically curious'**
String get welcomePillarTechToggle;
/// No description provided for @welcomeTrustHeader.
///
/// In en, this message translates to:
@ -5056,15 +5080,21 @@ abstract class AppLocalizations {
/// No description provided for @runsEmptyTitle.
///
/// In en, this message translates to:
/// **'No detached runs'**
/// **'No background runs'**
String get runsEmptyTitle;
/// No description provided for @runsEmptyHint.
///
/// In en, this message translates to:
/// **'Runs submitted with detach stay here until they finish. Detached invocations are opt-in — enable detached.enabled in the operator config to use them.'**
/// **'Runs that keep working in the background while you do something else appear here. The feature is optional and off by default — the guide shows step by step how to turn it on.'**
String get runsEmptyHint;
/// No description provided for @runsEmptyGuideButton.
///
/// In en, this message translates to:
/// **'Open the guide'**
String get runsEmptyGuideButton;
/// No description provided for @runsCancelButton.
///
/// In en, this message translates to: