summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
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) {