From e4fb32cd7489f7ad6077dab4f1d31d3756830e72 Mon Sep 17 00:00:00 2001 From: uvok Date: Fri, 1 Aug 2025 18:21:17 +0200 Subject: Use VM to get current selection --- lib/view_model/badge_motive_view_model.dart | 2 ++ lib/widgets/badge_motive_list.dart | 7 +------ 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 get motives => _motives; + BadgeMotive? currentMotive; Future updateMotives() async { if (_busy) return; @@ -50,6 +51,7 @@ class BadgeMotiveViewModel extends ChangeNotifier { await _motivSelect.setCurrentMotive(motive); logger.t(" { } class _BadgeMotiveListState extends State { - int _selectedIndex = -1; - @override Widget build(BuildContext context) { var mytheme = Theme.of(context); @@ -58,13 +56,10 @@ class _BadgeMotiveListState extends State { 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) { -- cgit v1.2.3