feat: Show changelogs from the latest to the last used patches version (#2219)

This commit is contained in:
aAbed
2024-10-21 16:02:23 +05:45
committed by GitHub
parent bd96701103
commit daba737ecb
7 changed files with 54 additions and 23 deletions

View File

@ -478,14 +478,8 @@ class HomeViewModel extends BaseViewModel {
);
}
Future<String?> getManagerChangelogs() {
return _githubAPI.getManagerChangelogs();
}
Future<String?> getLatestPatchesChangelog() async {
final release =
await _githubAPI.getLatestRelease(_managerAPI.getPatchesRepo());
return release?['body'];
Future<String?> getChangelogs(bool isPatches) {
return _githubAPI.getChangelogs(isPatches);
}
Future<String?> getLatestPatchesReleaseTime() {

View File

@ -159,6 +159,9 @@ class InstallerViewModel extends BaseViewModel {
_app.packageName,
);
await _managerAPI.setUsedPatches(_patches, _app.packageName);
_managerAPI.setLastUsedPatchesVersion(
version: _managerAPI.patchesVersion,
);
} else if (value == -100.0) {
isPatching = false;
hasErrors = true;
@ -197,7 +200,9 @@ class InstallerViewModel extends BaseViewModel {
_app.patchedFilePath = _patcherAPI.outFile!.path;
}
final homeViewModel = locator<HomeViewModel>();
_managerAPI.reAssessPatchedApps().then((_) => homeViewModel.getPatchedApps());
_managerAPI
.reAssessPatchedApps()
.then((_) => homeViewModel.getPatchedApps());
} on Exception catch (e) {
update(
-100.0,

View File

@ -129,6 +129,7 @@ class SManageSources extends BaseViewModel {
);
_managerAPI.setCurrentPatchesVersion('0.0.0');
_managerAPI.setCurrentIntegrationsVersion('0.0.0');
_managerAPI.setLastUsedPatchesVersion();
_toast.showBottom(t.settingsView.restartAppForChanges);
Navigator.of(context).pop();
},

View File

@ -57,6 +57,7 @@ class SettingsViewModel extends BaseViewModel {
_managerAPI.useAlternativeSources(value);
_managerAPI.setCurrentPatchesVersion('0.0.0');
_managerAPI.setCurrentIntegrationsVersion('0.0.0');
_managerAPI.setLastUsedPatchesVersion();
notifyListeners();
}

View File

@ -105,9 +105,7 @@ class UpdateConfirmationSheet extends StatelessWidget {
),
),
FutureBuilder<String?>(
future: !isPatches
? model.getManagerChangelogs()
: model.getLatestPatchesChangelog(),
future: model.getChangelogs(isPatches),
builder: (_, snapshot) {
if (!snapshot.hasData) {
return Padding(
@ -117,7 +115,6 @@ class UpdateConfirmationSheet extends StatelessWidget {
),
);
}
return Container(
margin: const EdgeInsets.symmetric(horizontal: 24.0),
decoration: BoxDecoration(