@using Microsoft.EntityFrameworkCore @inject ServerService ServerService @inject NavigationManager NavigationManager General @if (Id != Guid.Empty) { Actions Autostart HTTP Consoles Monitor Scripts } @if (TitleTemplate != null) { @TitleTemplate(Server) } else { @Title } @TitleExtraTemplate?.Invoke(Server)
@if (Server?.Id == Id) { @ChildContent?.Invoke(Server) }
@code { [Parameter] public Guid Id { get; set; } [Parameter] public string Title { get; set; } [Parameter] public RenderFragment? TitleTemplate { get; set; } [Parameter] public RenderFragment? TitleExtraTemplate { get; set; } [Parameter] public RenderFragment? ChildContent { get; set; } Server Server { get; set; } = new(); Guid _id; protected override async Task OnParametersSetAsync() { if (_id != Id) { _id = Id; if (_id != Guid.Empty) Server = await ServerService .Query(query => { return query .Include(s => s.Actions) .Include(s => s.Game) .ThenInclude(g => g.Archives) .Include(s => s.HttpPaths) .Include(s => s.Scripts) .Include(s => s.ServerConsoles); }) .GetAsync(_id); else Server = new Server(); if (Server == null) NavigationManager.NavigateTo("/Servers"); } } }