summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authoruvok2025-08-01 18:21:17 +0200
committeruvok2025-08-01 18:21:17 +0200
commite4fb32cd7489f7ad6077dab4f1d31d3756830e72 (patch)
treebd68c80ee8dee30ae4cd4a5102b2f37838341e39 /lib
parent28e4d74ef0a6e46d37c9cc5d98ca62334e69523c (diff)
Use VM to get current selection
Diffstat (limited to 'lib')
-rw-r--r--lib/view_model/badge_motive_view_model.dart2
-rw-r--r--lib/widgets/badge_motive_list.dart7
2 files changed, 3 insertions, 6 deletions
diff --git a/lib/view_model/badge_motive_view_model.dart b/lib/view_model/badge_motive_view_model.dart
index 75bd5b0..c00a36c 100644
--- a/lib/view_model/badge_motive_view_model.dart
+++ b/lib/view_model/badge_motive_view_model.dart
@@ -30,6 +30,7 @@ class BadgeMotiveViewModel extends ChangeNotifier {
bool get allowSelection => !_busy;
List<BadgeMotive> get motives => _motives;
+ BadgeMotive? currentMotive;
Future<void> updateMotives() async {
if (_busy) return;
@@ -50,6 +51,7 @@ class BadgeMotiveViewModel extends ChangeNotifier {
await _motivSelect.setCurrentMotive(motive);
logger.t("<Set motive to ${motive.id}");
_busy = false;
+ currentMotive = motive;
notifyListeners();
}
}
diff --git a/lib/widgets/badge_motive_list.dart b/lib/widgets/badge_motive_list.dart
index e59eeeb..a9fe92e 100644
--- a/lib/widgets/badge_motive_list.dart
+++ b/lib/widgets/badge_motive_list.dart
@@ -30,8 +30,6 @@ class BadgeMotiveList extends NotifyingListWidget<BadgeMotive> {
}
class _BadgeMotiveListState extends State<BadgeMotiveList> {
- int _selectedIndex = -1;
-
@override
Widget build(BuildContext context) {
var mytheme = Theme.of(context);
@@ -58,13 +56,10 @@ class _BadgeMotiveListState extends State<BadgeMotiveList> {
onTap: !widget._motiveVM.allowSelection
? null
: () async {
- setState(() {
- _selectedIndex = index;
- });
widget.onItemSelected(item);
await widget._motiveVM.setMotive(item);
},
- selected: _selectedIndex == index,
+ selected: widget._motiveVM.currentMotive?.id == item.id,
);
},
separatorBuilder: (context, index) {