fix: page-named toolbar title + ellipsized needs-modules chip (0.21.1)
With no flow open the toolbar header said 'Kein Flow geöffnet' and
read as the page title (usertest finding); it now names the page
('Flows') while the empty state keeps the explanatory sentence. The
'needs N modules' chip ellipsizes in the narrow flow list instead of
overflowing its row on longer German labels.
Signed-off-by: flemming-it <sf@flemming.it>
This commit is contained in:
parent
fb41a518c9
commit
c4d3751e85
4 changed files with 35 additions and 10 deletions
13
CHANGELOG.md
13
CHANGELOG.md
|
|
@ -4,6 +4,19 @@ All notable changes to `chain_studio_flow_editor` recorded here.
|
|||
Studio bumps its `pubspec.yaml` git ref to a specific release
|
||||
of this package on every editor change.
|
||||
|
||||
## 0.21.1 — 2026-07-11
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Toolbar names the page, not the missing state.** With no flow
|
||||
open the header said "No flow open" / "Kein Flow geöffnet" — the
|
||||
usertest read it as a confusing page title. It now says "Flows";
|
||||
the state sentence stays in the centered empty state.
|
||||
- **"Needs N modules" chip no longer overflows the flow list.** The
|
||||
label ellipsizes inside the narrow sidebar (the tooltip keeps the
|
||||
full text); previously it tripped a RenderFlex overflow by a few
|
||||
pixels on longer German labels.
|
||||
|
||||
## 0.21.0 — 2026-06-09
|
||||
|
||||
### Added
|
||||
|
|
|
|||
|
|
@ -925,10 +925,13 @@ class _Toolbar extends StatelessWidget {
|
|||
),
|
||||
const SizedBox(width: FaiSpace.xs),
|
||||
],
|
||||
// With no flow open the toolbar acts as the page header, so
|
||||
// it says what the page IS ("Flows"), not what it lacks —
|
||||
// the state sentence stays in the centered empty state.
|
||||
Text(
|
||||
activeName == null ? strings.emptyTitle : '${activeName!}.yaml',
|
||||
activeName == null ? strings.pageTitle : '${activeName!}.yaml',
|
||||
style: theme.textTheme.titleSmall?.copyWith(
|
||||
fontFamily: 'monospace',
|
||||
fontFamily: activeName == null ? null : 'monospace',
|
||||
fontWeight: FontWeight.w600,
|
||||
// Dirty file name renders in the primary accent
|
||||
// so the operator sees "this file has unsaved
|
||||
|
|
@ -1486,8 +1489,13 @@ class _MissingModulesBadge extends StatelessWidget {
|
|||
children: [
|
||||
const Icon(Icons.extension_off_outlined, size: 10, color: warn),
|
||||
const SizedBox(width: 4),
|
||||
Text(
|
||||
// Flexible + ellipsis: the chip sits in the narrow flow
|
||||
// list, where the full label otherwise overflows by a few
|
||||
// pixels (the tooltip still carries the complete text).
|
||||
Flexible(
|
||||
child: Text(
|
||||
label,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: theme.textTheme.labelSmall?.copyWith(
|
||||
color: warn,
|
||||
fontSize: 10,
|
||||
|
|
@ -1495,6 +1503,7 @@ class _MissingModulesBadge extends StatelessWidget {
|
|||
letterSpacing: 0.2,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -20,6 +20,9 @@ class FlowEditorStrings {
|
|||
String get listHeader => _t('FLOWS', 'FLOWS');
|
||||
String get copy => _t('Copy', 'Kopieren');
|
||||
String get runOutput => _t('RUN OUTPUT', 'LAUF-ERGEBNIS');
|
||||
/// Toolbar title while no flow is open — names the page, never
|
||||
/// the missing state (that sentence lives in the empty state).
|
||||
String get pageTitle => _t('Flows', 'Flows');
|
||||
String get emptyTitle => _t('No flow open', 'Kein Flow geöffnet');
|
||||
String get emptyBody => _t(
|
||||
'Pick one from the left, or click New flow to start a fresh one.',
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
name: chain_studio_flow_editor
|
||||
description: Swappable inline YAML editor for F∆I Studio flows.
|
||||
version: 0.21.0
|
||||
version: 0.21.1
|
||||
publish_to: 'none'
|
||||
repository: https://git.flemming.ai/fai/studio-flow-editor
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue