feat(studio): clearer store + channel switcher + approvals & welcome polish
Some checks failed
Security / Security check (push) Failing after 2s
Some checks failed
Security / Security check (push) Failing after 2s
- store: repair the filter dialog crash (a Spacer lived directly in
AlertDialog.actions, which is an OverflowBar, not a Flex — it threw
and rendered a broken dialog). Buttons now sit in a Row.
- store: promote the module-store manager from a bare icon to a
labelled 'Add store' button, and fully localize the dialog (DE/EN).
- store: add a curated 'Suggested stores' shelf with one-click
add/remove (first entry: Recl∆Im). Each suggestion is probed for
reachability and shows 'not available yet' until its index is
published, instead of failing only on click. Fail-open on network
errors so a transient hiccup never hides a real store.
- sidebar: the channel pill is now a one-click channel switcher
(menu with per-channel running state + active check; switching
writes ~/.chain/current-channel, restarts the daemon, and Studio
repoints to the new channel).
- approvals: lead the card with the human prompt ('what am I
releasing?') and demote the flow/step id to a metadata line; clear
fallback when the step left the prompt empty.
- welcome: tidy the docs grid into equal-height paired rows with a
full-width trailing card for the odd one out.
Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
62ed3951e5
commit
5220f19ff8
10 changed files with 865 additions and 148 deletions
|
|
@ -260,7 +260,7 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String get sidebarChannelTooltip =>
|
||||
'Active channel — click to switch in Settings (⌘;).\nproduction = stable · beta = pre-release · dev = rolling · local = workspace';
|
||||
'Active channel — click to switch.\nproduction = stable · beta = pre-release · dev = rolling · local = workspace';
|
||||
|
||||
@override
|
||||
String get buttonCancel => 'Cancel';
|
||||
|
|
@ -789,6 +789,61 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get storeReloadTooltip => 'Reload';
|
||||
|
||||
@override
|
||||
String get storesManagerButton => 'Add store';
|
||||
|
||||
@override
|
||||
String get storesManagerTitle => 'Module stores';
|
||||
|
||||
@override
|
||||
String get storesManagerIntro =>
|
||||
'The hub merges the modules from every store below into one index. Add a store\'s index URL to make its modules installable here.';
|
||||
|
||||
@override
|
||||
String get storesManagerAddSection => 'Add a store';
|
||||
|
||||
@override
|
||||
String get storesManagerNameLabel => 'Name';
|
||||
|
||||
@override
|
||||
String get storesManagerUrlLabel => 'Index URL (https:// or file://)';
|
||||
|
||||
@override
|
||||
String get storesManagerAddAction => 'Add store';
|
||||
|
||||
@override
|
||||
String storesManagerBundled(int count) {
|
||||
return '$count modules · bundled';
|
||||
}
|
||||
|
||||
@override
|
||||
String storesManagerModuleCount(int count) {
|
||||
return '$count modules';
|
||||
}
|
||||
|
||||
@override
|
||||
String get storesManagerAddFailed => 'Could not add store';
|
||||
|
||||
@override
|
||||
String get storesManagerRemoveFailed => 'Could not remove store';
|
||||
|
||||
@override
|
||||
String get storesManagerSuggested => 'Suggested stores';
|
||||
|
||||
@override
|
||||
String get storesManagerAddShort => 'Add';
|
||||
|
||||
@override
|
||||
String get storesManagerNotAvailable => 'Not available yet';
|
||||
|
||||
@override
|
||||
String get storesManagerNotAvailableHint =>
|
||||
'The provider hasn\'t published this store index yet. It will become installable once they do.';
|
||||
|
||||
@override
|
||||
String get storesSuggestedReclaimDesc =>
|
||||
'Recl∆Im — modules for law & duty reform-mapping';
|
||||
|
||||
@override
|
||||
String get storeTodayBadge => 'TODAY';
|
||||
|
||||
|
|
@ -1722,7 +1777,15 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
String get approvalsPillExpired => 'expired';
|
||||
|
||||
@override
|
||||
String get approvalsPayloadPreview => 'PAYLOAD PREVIEW';
|
||||
String get approvalsPayloadPreview => 'DATA TO BE RELEASED';
|
||||
|
||||
@override
|
||||
String get approvalsRequestFallback => 'Approval required for this step';
|
||||
|
||||
@override
|
||||
String approvalsFlowStepMeta(String flow, String step) {
|
||||
return 'Flow: $flow · Step: $step';
|
||||
}
|
||||
|
||||
@override
|
||||
String get approvalsApproveButton => 'Approve';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue