themes and some refractoring

This commit is contained in:
Rene Kievits
2025-10-31 17:18:33 +01:00
parent 4eb488e28c
commit de3501c3e4
15 changed files with 443 additions and 414 deletions

View File

@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart';
import '../models/kanji_item.dart';
import '../models/srs_item.dart';
import '../services/deck_repository.dart';
import '../services/distractor_generator.dart';
import '../widgets/kanji_card.dart';
@@ -61,9 +62,6 @@ class _HomeScreenState extends State<HomeScreen>
super.initState();
_tabController = TabController(length: 3, vsync: this);
_tabController.addListener(() {
if (_tabController.indexIsChanging) {
_nextQuestion();
}
setState(() {});
});
_dg = widget.distractorGenerator ?? DistractorGenerator();
@@ -266,6 +264,10 @@ class _HomeScreenState extends State<HomeScreen>
...distractors.take(3),
])..shuffle();
break;
default:
// Handle other QuizMode cases if necessary, or throw an error
// if these modes are not expected in this context.
break;
}
setState(() {
@@ -294,7 +296,7 @@ class _HomeScreenState extends State<HomeScreen>
var srsItem = current.srsItems[srsKey];
final isNew = srsItem == null;
final srsItemForUpdate = srsItem ??= SrsItem(
kanjiId: current.id,
subjectId: current.id,
quizMode: mode,
readingType: readingType,
);
@@ -432,6 +434,10 @@ class _HomeScreenState extends State<HomeScreen>
prompt = quizState.current!.characters;
subtitle = quizState.readingHint;
break;
default:
// Handle other QuizMode cases if necessary, or throw an error
// if these modes are not expected in this context.
break;
}
}