feat(studyset): every menu of a studyset offers all of its options

The library's card offered six options, a topic three, the studyset's
own screen all of them. Each now offers the same, from one list: edit,
move, study options, import and export content, reset progress, archive
or unarchive, delete, more info, and for a copy reporting to its author
and its reports and suggestions. Importing runs where the studyset's
blocs are, so from the library or a topic it opens the studyset's
screen, which asks what to import as it opens.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-12 23:34:26 +02:00
commit b7e5b695b9
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -86,7 +86,12 @@ GoRouter buildRouter({String initialLocation = RoutePaths.home}) => GoRouter(
return MaterialPage<void>(
key: ValueKey('studyset-$id'),
name: RoutePaths.studyset(id),
child: _studysetScreen(context, id),
child: _studysetScreen(
context,
id,
importOnOpen:
state.uri.queryParameters['import'] == 'content',
),
);
},
),
@ -314,10 +319,15 @@ Widget _stepEditor(
);
}
Widget _studysetScreen(BuildContext context, String id) => _inStudyset(
Widget _studysetScreen(
BuildContext context,
String id, {
bool importOnOpen = false,
}) => _inStudyset(
context,
id,
(studyset, all) => StudysetScreen(studyset: studyset, all: all),
(studyset, all) =>
StudysetScreen(studyset: studyset, all: all, importOnOpen: importOnOpen),
wayBack: (
label: AppLocalizations.of(context).studysetBackToLibrary,
location: RoutePaths.library,