diff --git a/Aaru.Server/Components/Pages/Statistics/Versions.razor b/Aaru.Server/Components/Pages/Statistics/Versions.razor index 8ba28c74..fca0abbd 100644 --- a/Aaru.Server/Components/Pages/Statistics/Versions.razor +++ b/Aaru.Server/Components/Pages/Statistics/Versions.razor @@ -1,6 +1,6 @@ @using Aaru.CommonTypes.Metadata @using Aaru.Server.Database -@using Blazorise.Charts +@using BlazorBootstrap @using Blazorise.DataGrid @rendermode InteractiveServer @@ -10,7 +10,8 @@

All Aaru versions...

- + \ No newline at end of file diff --git a/Aaru.Server/Components/Pages/Statistics/Versions.razor.cs b/Aaru.Server/Components/Pages/Statistics/Versions.razor.cs index 384ce476..2aaf734a 100644 --- a/Aaru.Server/Components/Pages/Statistics/Versions.razor.cs +++ b/Aaru.Server/Components/Pages/Statistics/Versions.razor.cs @@ -1,5 +1,5 @@ using Aaru.CommonTypes.Metadata; -using Blazorise.Charts; +using BlazorBootstrap; using Microsoft.EntityFrameworkCore; using DbContext = Aaru.Server.Database.DbContext; @@ -8,9 +8,9 @@ namespace Aaru.Server.Components.Pages.Statistics; public partial class Versions { bool _isAlreadyInitialized; - PieChart? _versionsChart; - List _versionsCounts = []; - string[] _versionsLabels = []; + PieChart _versionsChart; + List _versionsCounts = []; + List _versionsLabels = []; List VersionsList { get; set; } = []; /// @@ -40,31 +40,40 @@ public partial class Versions _versionsLabels = await ctx.Versions.OrderByDescending(static o => o.Count) .Take(10) .Select(static v => v.Name == "previous" ? "Previous than 3.4.99.0" : v.Name) - .ToArrayAsync(); + .ToListAsync(); _versionsCounts = await ctx.Versions.OrderByDescending(static o => o.Count) .Take(10) - .Select(static x => x.Count) + .Select(static x => (double?)x.Count) .ToListAsync(); - if(_versionsLabels.Length >= 10) + if(_versionsLabels.Count >= 10) { _versionsLabels[9] = "Other"; _versionsCounts[9] = ctx.Versions.Sum(static o => o.Count) - _versionsCounts.Take(9).Sum(); } -#pragma warning disable CS8604 // Possible null reference argument. - await Common.HandleRedrawAsync(_versionsChart, _versionsLabels, GetVersionsChartDataset); -#pragma warning restore CS8604 // Possible null reference argument. - } + PieChartOptions pieChartOptions = new() + { + Responsive = true + }; - PieChartDataset GetVersionsChartDataset() => new() - { - Label = $"Top {_versionsLabels.Length} Aaru versions", - Data = _versionsCounts, - BackgroundColor = Common.BackgroundColors, - BorderColor = Common.BorderColors, - BorderWidth = 1 - }; + pieChartOptions.Plugins.Title.Text = $"Top {_versionsLabels.Count} Aaru versions"; + pieChartOptions.Plugins.Title.Display = true; + + var chartData = new ChartData + { + Labels = _versionsLabels, + Datasets = + [ + new PieChartDataset + { + Data = _versionsCounts + } + ] + }; + + await _versionsChart.InitializeAsync(chartData, pieChartOptions); + } } \ No newline at end of file