feat(studio): module sheet permissions get a help icon → security doc
Some checks failed
Security / Security check (push) Failing after 2s

When operators open a module's detail sheet from the Store,
the Permissions section now grows a small help icon next to
the section header. Tapping it opens the bundled security.md
explainer in the existing bottom-sheet reader, the same
in-app help system Approvals + Audit + Doctor already use.

Closes the zero-learning-curve gap: every operator-facing
declaration of permissions ('net: api.openai.com', 'fs.read:
…') now has a clickable affordance to learn what those
permission categories mean and how the sandbox enforces them.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-06-09 09:32:37 +02:00
parent ce923d8325
commit 5aae3285df

View file

@ -8,6 +8,7 @@ import 'package:flutter/material.dart';
import '../data/error_presentation.dart';
import '../data/hub.dart';
import '../l10n/app_localizations.dart';
import '../pages/welcome.dart' show showFaiDoc;
import '../theme/theme.dart';
import '../theme/tokens.dart';
import 'fai_pill.dart';
@ -239,7 +240,24 @@ class _Body extends StatelessWidget {
.toList(),
),
const SizedBox(height: FaiSpace.xl),
_SectionHeader(l.moduleSheetPermissions),
Row(
children: [
_SectionHeader(l.moduleSheetPermissions),
const SizedBox(width: 4),
InkWell(
onTap: () => showFaiDoc(context, 'security'),
borderRadius: BorderRadius.circular(8),
child: Padding(
padding: const EdgeInsets.all(4),
child: Icon(
Icons.help_outline,
size: 14,
color: theme.colorScheme.onSurfaceVariant,
),
),
),
],
),
const SizedBox(height: FaiSpace.sm),
if (detail.permissions.isEmpty)
Text(