feat(tag): one switch hides the tags from Jellyfin while studying
Every tag the app makes for where words were met on Jellyfin (the show and the episode, the artist and the song) now says so (`origin` in tag schema 2, written only for such a tag), in place of a tag hidden one by one. Manage tags, where there are such tags, has one switch, Hide tags from Jellyfin while studying (`hideJellyfinTags`, settings schema 9, following the person): with it on, cards being studied leave them out of their row at once, and Tags and Manage tags list them faint. They still filter and narrow a session. The per-tag eye button is gone. A word added while watching no longer takes the line it was met in as its first hint: its hints are the dictionary's examples alone. Tatoeba's sentences are checked, a subtitle line may be wrong or mistyped, a word met again in a better line wouldn't get it, and every episode's line would pile up on a common word. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
cc777d6b06
commit
c6e7a53dd6
1 changed files with 426 additions and 245 deletions
|
|
@ -40,6 +40,7 @@ import 'package:halkyon_learn_flutter/src/feature/studyset/model/studyset_tree.d
|
|||
import 'package:halkyon_learn_flutter/src/feature/studyset/widget/library_screen.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/studyset/widget/studyset_language_scope.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/studyset/widget/studyset_screen.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/tag/bloc/jellyfin_tags_bloc.dart';
|
||||
import 'package:material_ui/material_ui.dart';
|
||||
|
||||
/// The router of one person's app: the four tabs in a shell, each with its own
|
||||
|
|
@ -204,17 +205,26 @@ GoRouter buildRouter({String initialLocation = RoutePaths.home}) => GoRouter(
|
|||
context,
|
||||
studysetId,
|
||||
(studyset, _) => FramedScreen(
|
||||
child: BlocProvider(
|
||||
create: (context) => StudySessionBloc(
|
||||
person.studysets,
|
||||
person.cards,
|
||||
person.cardDeletions,
|
||||
person.reviews,
|
||||
person.tags,
|
||||
person.settings,
|
||||
studysetId,
|
||||
focus: StudyFocus.fromQuery(state.uri.queryParameters),
|
||||
)..add(const StudySessionEventStarted()),
|
||||
child: MultiBlocProvider(
|
||||
providers: [
|
||||
BlocProvider(
|
||||
create: (context) => StudySessionBloc(
|
||||
person.studysets,
|
||||
person.cards,
|
||||
person.cardDeletions,
|
||||
person.reviews,
|
||||
person.tags,
|
||||
person.settings,
|
||||
studysetId,
|
||||
focus: StudyFocus.fromQuery(state.uri.queryParameters),
|
||||
)..add(const StudySessionEventStarted()),
|
||||
),
|
||||
BlocProvider(
|
||||
create: (context) =>
|
||||
JellyfinTagsBloc(person.settings)
|
||||
..add(const JellyfinTagsEventStarted()),
|
||||
),
|
||||
],
|
||||
child: StudyScreen(
|
||||
studysetId: studysetId,
|
||||
title: studyset.content.title,
|
||||
|
|
|
|||
Loading…
Reference in a new issue