Karusell auf ai art seite gefixrt

This commit is contained in:
klappstuhl24 2023-11-17 13:33:05 +01:00
parent d8726fbc59
commit 3406748c66
2 changed files with 35 additions and 8 deletions

View File

@ -0,0 +1,23 @@
namespace KIKunstKirstenKlöckner.Extensions
{
public static class ListExtension
{
public static IEnumerable<T> PickRandom<T>(this List<T> list, int n)
{
if (list.Count == 0)
{
throw new ArgumentException("List cannot be emtpy: ", nameof(list));
}
if (n <= 0)
{
throw new ArgumentException("n must be greater than 0: ", nameof(n));
}
for (int i = 0; i < n; i++)
{
int index = Random.Shared.Next(list.Count);
yield return list[index];
}
}
}
}

View File

@ -6,6 +6,7 @@
@using DataAccess.Data @using DataAccess.Data
@using DataAccess.Models @using DataAccess.Models
@using KIKunstKirstenKlöckner.Data @using KIKunstKirstenKlöckner.Data
@using KIKunstKirstenKlöckner.Extensions
@using System.Diagnostics @using System.Diagnostics
@inject IJSRuntime JSRuntime @inject IJSRuntime JSRuntime
@ -74,15 +75,18 @@
{ {
<div class="carousel-item active"> <div class="carousel-item active">
<div class="img-box"> <div class="img-box">
<img src="@bildInfo.Dateiname" alt="" /> <img src="@bildInfo.Dateiname"/>
</div> </div>
</div> </div>
} }
else
{
<div class="carousel-item"> <div class="carousel-item">
<div class="img-box"> <div class="img-box">
<img src="@bildInfo.Dateiname" alt=""/> <img src="@bildInfo.Dateiname"/>
</div> </div>
</div> </div>
}
_indexForCarusell++; _indexForCarusell++;
} }
} }
@ -282,7 +286,7 @@
await GenerateImagesAsync(); await GenerateImagesAsync();
} }
List<BildInfoModel>? _allBildInfos; IEnumerable<BildInfoModel>? _allBildInfos;
/// <summary> /// <summary>
/// Wenn <see langword="true"/> wird GPT4 verwendet um die Idee zu interpretieren. /// Wenn <see langword="true"/> wird GPT4 verwendet um die Idee zu interpretieren.
@ -365,8 +369,8 @@
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
_allBildInfos = (await BildInfoData.GetAllBildInfosAsync()).ToList(); _allBildInfos = (await BildInfoData.GetAllBildInfosAsync()).ToList().PickRandom(10);
StateHasChanged(); //await InvokeAsync(StateHasChanged);
_openAiApiKey = Config.GetValue<string>("API:OpenAI"); _openAiApiKey = Config.GetValue<string>("API:OpenAI");