From 15a32a18b764c2f1683134ecff424cd0755568a3 Mon Sep 17 00:00:00 2001 From: Aunali321 Date: Sun, 30 Apr 2023 00:39:42 +0530 Subject: [PATCH] fix: fix broken manager update implmentation --- lib/ui/views/home/home_view.dart | 1 + lib/ui/views/home/home_viewmodel.dart | 8 +++++++- lib/ui/widgets/homeView/latest_commit_card.dart | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/ui/views/home/home_view.dart b/lib/ui/views/home/home_view.dart index 1f923390..07ff7dad 100644 --- a/lib/ui/views/home/home_view.dart +++ b/lib/ui/views/home/home_view.dart @@ -17,6 +17,7 @@ class HomeView extends StatelessWidget { Widget build(BuildContext context) { return ViewModelBuilder.reactive( disposeViewModel: false, + fireOnViewModelReadyOnce: true, onViewModelReady: (model) => model.initialize(context), viewModelBuilder: () => locator(), builder: (context, model, child) => Scaffold( diff --git a/lib/ui/views/home/home_viewmodel.dart b/lib/ui/views/home/home_viewmodel.dart index 2a01f290..caf77ffb 100644 --- a/lib/ui/views/home/home_viewmodel.dart +++ b/lib/ui/views/home/home_viewmodel.dart @@ -116,7 +116,13 @@ class HomeViewModel extends BaseViewModel { Future hasManagerUpdates() async { final String? latestVersion = await _managerAPI.getLatestManagerVersion(); - final String currentVersion = await _managerAPI.getCurrentManagerVersion(); + String currentVersion = await _managerAPI.getCurrentManagerVersion(); + + // add v to current version + if (!currentVersion.startsWith('v')) { + currentVersion = 'v$currentVersion'; + } + if (latestVersion != currentVersion) { return true; } diff --git a/lib/ui/widgets/homeView/latest_commit_card.dart b/lib/ui/widgets/homeView/latest_commit_card.dart index e6830621..b1f506f2 100644 --- a/lib/ui/widgets/homeView/latest_commit_card.dart +++ b/lib/ui/widgets/homeView/latest_commit_card.dart @@ -56,7 +56,7 @@ class _LatestCommitCardState extends State { ], ), FutureBuilder( - future: locator().hasManagerUpdates(), + future: model.hasManagerUpdates(), initialData: false, builder: (context, snapshot) => Opacity( opacity: snapshot.hasData && snapshot.data! ? 1.0 : 0.25,