chain-studio/lib/widgets
flemming-it 2592a23cc0
Some checks failed
Security / Security check (push) Failing after 2s
feat: workspace switcher, per-project filters and run stamping (stage 1)
Multi-project stage 1 against the shared hub (platform design
docs/architecture/projects.md, § Studio):

- ChainWorkspaceSwitcher in the Audit + Approvals AppBars: lists the
  registry (colour dot per project, shield for protected, honesty
  tooltip), 'All projects' stays reachable — a filter, not a jail.
  Selection is persisted and shared via the Workspace notifier.
- Audit page: list query AND live stream re-scoped hub-side on switch.
- Approvals page: pending + history scoped; the sidebar badge counts
  the active workspace's pending approvals.
- Flow runs are stamped with the active workspace; a flow file
  carrying its own project: keeps it (file wins, CLI semantics).
- Data layer: listProjects/ProjectRef; project fields on AuditEvent,
  PendingApproval(+Record), SavedFlow; project params through
  HubService. l10n DE+EN. Widget tests for the switcher contract.

Visual verification (light+dark screenshots) still pending — the
shared desktop was in active use; code paths are covered by
flutter test (26 green).

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
2026-07-12 13:49:51 +02:00
..
chain_binary_recovery.dart refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
chain_card.dart refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
chain_data_row.dart refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
chain_delta_mark.dart refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
chain_empty_state.dart refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
chain_en_badge.dart refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
chain_error_box.dart refactor: FaiError -> ChainError (SDK stub rename lockstep) 2026-07-11 23:14:33 +02:00
chain_flow_output.dart refactor: FaiError -> ChainError (SDK stub rename lockstep) 2026-07-11 23:14:33 +02:00
chain_log_viewer.dart refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
chain_module_sheet.dart refactor: FaiError -> ChainError (SDK stub rename lockstep) 2026-07-11 23:14:33 +02:00
chain_pill.dart refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
chain_search_palette.dart refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
chain_settings_dialog.dart refactor: FaiError -> ChainError (SDK stub rename lockstep) 2026-07-11 23:14:33 +02:00
chain_status_dot.dart refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
chain_stores_dialog.dart refactor: FaiError -> ChainError (SDK stub rename lockstep) 2026-07-11 23:14:33 +02:00
chain_system_ai_editor.dart refactor: FaiError -> ChainError (SDK stub rename lockstep) 2026-07-11 23:14:33 +02:00
chain_workspace_switcher.dart feat: workspace switcher, per-project filters and run stamping (stage 1) 2026-07-12 13:49:51 +02:00
guided_setup_dialog.dart feat(studio): guided-setup wizard (reuses chain init engine) 2026-06-21 21:04:13 +02:00
theme_picker_grid.dart refactor: rename internal Fai* design system + fai_ helpers to chain 2026-06-16 17:53:17 +02:00
widgets.dart feat: workspace switcher, per-project filters and run stamping (stage 1) 2026-07-12 13:49:51 +02:00