feat(studio): drop Modules tab, fold its content into Store detail (v0.35.0)
Modules-as-a-tab was redundant with the Store after the
"Installed" filter and the federation work landed. Two pieces
of unique content kept it alive: the per-module declared
permissions list and the on-disk module directory. Both now
live inside the Store detail sheet.
Changes:
- Sidebar nav loses the Modules entry. `_pages` no longer
carries a `'modules'` slot. The unused `import
'pages/modules.dart'` is dropped from main.dart. Smoke test
updated to skip the Modules-text expectation.
- Store detail sheet (`_StoreDetailSheet`) gains two new
sections, rendered only when the entry is installed and the
hub returned `ModuleDetail` for it:
Declared permissions → same icon-prefixed list the
old Modules sheet shipped
(`net:`, `fs.read:`, `fs.write:`,
`env:`, `hub:`).
Module directory → selectable mono path so the
operator can paste it into a
shell.
An async `moduleInfo` fetch fires from `initState` only when
`widget.item.installed` is true, so the regular
not-installed detail-sheet path takes no extra round-trip.
Failures stay silent — the sections just hide.
- The `FaiModuleSheet` widget stays intact. Cmd+K still uses
it as a quick-info modal for installed modules; the
longer-form Store detail sheet covers the same data plus
the description, screenshots, and docs that operators
reach for in the Store.
Three new ARB keys: `storeSectionPermissions`,
`storeSectionDirectory`, `storeSectionPermissionsNone`.
Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
3b5fb027c3
commit
a7e2eb101a
9 changed files with 149 additions and 10 deletions
|
|
@ -16,7 +16,6 @@ import 'pages/approvals.dart';
|
|||
import 'pages/audit.dart';
|
||||
import 'pages/doctor.dart';
|
||||
import 'pages/flows.dart';
|
||||
import 'pages/modules.dart';
|
||||
import 'pages/store.dart';
|
||||
import 'theme/theme.dart';
|
||||
import 'theme/tokens.dart';
|
||||
|
|
@ -26,7 +25,7 @@ import 'widgets/widgets.dart';
|
|||
/// Studio's own build version. Bump on every UI commit so the
|
||||
/// running app self-identifies — visible in the sidebar header
|
||||
/// and quick-glance proof that you're seeing the current build.
|
||||
const String kStudioVersion = '0.34.0';
|
||||
const String kStudioVersion = '0.35.0';
|
||||
|
||||
Future<void> main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
|
|
@ -146,12 +145,11 @@ class _StudioShellState extends State<StudioShell> {
|
|||
selectedIcon: Icons.health_and_safety,
|
||||
page: DoctorPage(),
|
||||
),
|
||||
_NavPage(
|
||||
id: 'modules',
|
||||
icon: Icons.extension_outlined,
|
||||
selectedIcon: Icons.extension,
|
||||
page: ModulesPage(),
|
||||
),
|
||||
// Modules tab dropped in v0.35.0 — installed-module info
|
||||
// (permissions, on-disk path, uninstall) now lives inside
|
||||
// the Store's detail sheet, and the Store with the
|
||||
// "Installed" filter covers the listing role. Cmd+K still
|
||||
// opens FaiModuleSheet for quick info.
|
||||
_NavPage(
|
||||
id: 'store',
|
||||
icon: Icons.storefront_outlined,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue