Fixed GlobalEntity Problems and removed Season and Episode on Movie Entitys (#70)
Build Docker Linux ARM64 / build-docker-linux-arm64 (push) Successful in 1m22s

Reviewed-on: #70
Fixed Issue #63
Fixed Issue #68
Fixed Issue #69
This commit was merged in pull request #70.
This commit is contained in:
2026-06-07 22:02:10 +02:00
parent 96336fd637
commit 9cd651bdfe
3 changed files with 54 additions and 48 deletions
@@ -120,6 +120,9 @@
//Picture //Picture
private IBrowserFile? _pictureFile; private IBrowserFile? _pictureFile;
private string _pictureBase64;
private string? _pictureContentType;
private string? _pictureExtension;
private class GlobalEntityFormModel private class GlobalEntityFormModel
{ {
@@ -165,8 +168,11 @@
using var ms = new MemoryStream(); using var ms = new MemoryStream();
await stream.CopyToAsync(ms); await stream.CopyToAsync(ms);
var base64 = Convert.ToBase64String(ms.ToArray()); _pictureContentType = _pictureFile.ContentType;
_imagePreview = $"data:{_pictureFile.ContentType};base64,{base64}"; _pictureExtension = Path.GetExtension(_pictureFile.Name);
_pictureBase64 = Convert.ToBase64String(ms.ToArray());
_imagePreview = $"data:{_pictureFile.ContentType};base64,{_pictureBase64}";
} }
private void Cancel() => MudDialog.Cancel(); private void Cancel() => MudDialog.Cancel();
@@ -191,13 +197,10 @@
try try
{ {
string fileName = $"{Guid.NewGuid()}{Path.GetExtension(_pictureFile.Name)}"; string fileName = $"{Guid.NewGuid()}{_pictureExtension}";
string picturePath = Path.Combine("wwwroot", "Pictures", fileName); string picturePath = Path.Combine("wwwroot", "Pictures", fileName);
await using (var fs = File.Create(picturePath)) await File.WriteAllBytesAsync(picturePath, Convert.FromBase64String(_pictureBase64));
{
await _pictureFile.OpenReadStream(maxAllowedSize: 10_000_000).CopyToAsync(fs);
}
var entity = new GlobalEntity var entity = new GlobalEntity
{ {
@@ -151,7 +151,7 @@
private async Task OnNewEntity(GlobalEntity entity) private async Task OnNewEntity(GlobalEntity entity)
{ {
_globalEntities.Add(entity); _globalEntities.Insert(0, entity);
await RefreshPage(); await RefreshPage();
} }
@@ -40,45 +40,48 @@
</MudSelect> </MudSelect>
<!--</editor-fold>--> <!--</editor-fold>-->
<!--<editor-fold desc="Dropdown-Season">--> @if (PrivateEntity.GlobalEntity.MediaType.Name == "Series" || PrivateEntity.GlobalEntity.MediaType.Name == "Anime")
<MudSelect {
T="int?" <!--<editor-fold desc="Dropdown-Season">-->
Value="PrivateEntity.Season" <MudSelect
ValueChanged="@(newSeason => OnSeasonChange.InvokeAsync(newSeason))" T="int?"
Dense="true" Value="PrivateEntity.Season"
Variant="Variant.Outlined" ValueChanged="@(newSeason => OnSeasonChange.InvokeAsync(newSeason))"
Label=""> Dense="true"
@{ Variant="Variant.Outlined"
int? currentSeason = PrivateEntity.Season ?? 1; Label="">
int? startOffsetSeason = currentSeason > 1 ? -1 : 0; @{
} int? currentSeason = PrivateEntity.Season ?? 1;
@for (int? i = startOffsetSeason; i <= 5; i++) int? startOffsetSeason = currentSeason > 1 ? -1 : 0;
{ }
int? season = currentSeason + i; @for (int? i = startOffsetSeason; i <= 5; i++)
<MudSelectItem Value="@season">Staffel @season</MudSelectItem> {
} int? season = currentSeason + i;
</MudSelect> <MudSelectItem Value="@season">Staffel @season</MudSelectItem>
<!--</editor-fold>--> }
</MudSelect>
<!--</editor-fold>-->
<!--<editor-fold desc="Dropdown-Episode">--> <!--<editor-fold desc="Dropdown-Episode">-->
<MudSelect <MudSelect
T="int?" T="int?"
Value="PrivateEntity.Episode" Value="PrivateEntity.Episode"
ValueChanged="@(newEpisode => OnEpisodeChange.InvokeAsync(newEpisode))" ValueChanged="@(newEpisode => OnEpisodeChange.InvokeAsync(newEpisode))"
Dense="true" Dense="true"
Variant="Variant.Outlined" Variant="Variant.Outlined"
Label=""> Label="">
@{ @{
int? currentEpisode = PrivateEntity.Episode ?? 1; int? currentEpisode = PrivateEntity.Episode ?? 1;
int? startOffsetEpisode = currentEpisode > 1 ? -1 : 0; int? startOffsetEpisode = currentEpisode > 1 ? -1 : 0;
} }
@for (int? i = startOffsetEpisode; i <= 5; i++) @for (int? i = startOffsetEpisode; i <= 5; i++)
{ {
int? episode = currentEpisode + i; int? episode = currentEpisode + i;
<MudSelectItem Value="@episode">Episode @episode</MudSelectItem> <MudSelectItem Value="@episode">Episode @episode</MudSelectItem>
} }
</MudSelect> </MudSelect>
<!--</editor-fold>--> <!--</editor-fold>-->
}
<!--<editor-fold desc="Details Button">--> <!--<editor-fold desc="Details Button">-->
<MudStack Row="true" Justify="Justify.FlexEnd"> <MudStack Row="true" Justify="Justify.FlexEnd">