Files
ersatztv/ErsatzTV/Shared/ChannelPreviewDialog.razor
T
Jason DoveandGitHub 7e30444857 dependencies and code cleanup (#2117)
* fix validation in new form layout

* pin mediatr to last oss version

* update dependencies

* cleanup code in core

* cleanup code in ffmpeg

* cleanup code in infra

* cleanup code in scanner

* cleanup code in application

* cleanup main code

* cleanup test code

* solution-wide code cleanup
2025-07-06 15:56:17 +00:00

60 lines
1.5 KiB
Plaintext

@inject IJSRuntime JsRuntime
@implements IDisposable
<div>
<MudDialog>
<DialogContent>
<media-controller style="width: 800px; height: calc(800px * 9/16)">
<video id="video" slot="media"></video>
<media-control-bar>
<media-mute-button></media-mute-button>
<media-volume-range></media-volume-range>
<media-fullscreen-button></media-fullscreen-button>
</media-control-bar>
</media-controller>
</DialogContent>
<DialogActions>
<MudButton Color="Color.Primary" OnClick="Close">Close</MudButton>
</DialogActions>
</MudDialog>
</div>
@code {
[CascadingParameter]
IMudDialogInstance MudDialog { get; set; }
[Parameter]
public string StreamUri { get; set; }
protected override Task OnParametersSetAsync() => Task.CompletedTask;
protected override async Task OnAfterRenderAsync(bool firstRender)
{
try
{
await JsRuntime.InvokeVoidAsync("previewChannel", StreamUri);
}
catch (Exception)
{
// ignored
}
await base.OnAfterRenderAsync(true);
}
private void Close() => MudDialog.Close(DialogResult.Ok(true));
public void Dispose()
{
try
{
JsRuntime.InvokeVoidAsync("stopPreview");
}
catch (Exception)
{
// ignore
}
}
}