muffin v7.4.3

This commit is contained in:
alydev 2025-12-22 00:05:42 +10:00
parent bddffe21ae
commit 5791858984
4 changed files with 835 additions and 816 deletions

View file

@ -1,37 +1,37 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace Questionable.Model.Changelog;
internal sealed record ChangelogEntry(string Version, DateOnly ReleaseDate, List<ChangeEntry> Changes)
{
public bool IsNewVersion(string? lastViewedVersion)
public bool IsNewVersion(string? lastViewedVersion, IReadOnlyList<ChangelogEntry> allChangelogs)
{
if (string.IsNullOrEmpty(lastViewedVersion))
{
return true;
}
return CompareVersions(Version, lastViewedVersion) > 0;
}
private static int CompareVersions(string version1, string version2)
{
int result;
int[] array = (from p in version1.Split('.')
select int.TryParse(p, out result) ? result : 0).ToArray();
int[] array2 = (from p in version2.Split('.')
select int.TryParse(p, out result) ? result : 0).ToArray();
int num = Math.Max(array.Length, array2.Length);
for (int num2 = 0; num2 < num; num2++)
int num = -1;
int num2 = -1;
for (int i = 0; i < allChangelogs.Count; i++)
{
int num3 = ((num2 < array.Length) ? array[num2] : 0);
int num4 = ((num2 < array2.Length) ? array2[num2] : 0);
if (num3 != num4)
if (allChangelogs[i].Version == Version)
{
return num3.CompareTo(num4);
num = i;
}
if (allChangelogs[i].Version == lastViewedVersion)
{
num2 = i;
}
}
return 0;
if (num2 == -1)
{
return true;
}
if (num == -1)
{
return false;
}
return num < num2;
}
}