diff --git a/ErsatzTV.Application/Troubleshooting/Queries/GetTroubleshootingInfoHandler.cs b/ErsatzTV.Application/Troubleshooting/Queries/GetTroubleshootingInfoHandler.cs index 7379d85d2..20ed63355 100644 --- a/ErsatzTV.Application/Troubleshooting/Queries/GetTroubleshootingInfoHandler.cs +++ b/ErsatzTV.Application/Troubleshooting/Queries/GetTroubleshootingInfoHandler.cs @@ -105,11 +105,9 @@ public class GetTroubleshootingInfoHandler : IRequestHandler - - - - General - - - - - - - - - - Nvidia Capabilities - - - - - - - - - - Vaapi Capabilities - - - - - - + + +
+
+                    @_troubleshootingInfo
+                
+
+ + Copy + +
+ +
+
+                    @_nvidiaCapabilities
+                
+
+ + Copy + +
+ +
+
+                    @_vaapiCapabilities
+                
+
+ + Copy + +
+
@code { @@ -44,6 +47,9 @@ private string _troubleshootingInfo; private string _nvidiaCapabilities; private string _vaapiCapabilities; + private ElementReference _troubleshootingView; + private ElementReference _nvidiaView; + private ElementReference _vaapiView; public void Dispose() { @@ -57,7 +63,7 @@ { TroubleshootingInfo info = await Mediator.Send(new GetTroubleshootingInfo(), _cts.Token); - string json = JsonSerializer.Serialize( + _troubleshootingInfo = JsonSerializer.Serialize( new { info.Version, info.Health, info.FFmpegSettings, info.Channels, info.FFmpegProfiles }, new JsonSerializerOptions { @@ -65,23 +71,18 @@ DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, WriteIndented = true }); - - _troubleshootingInfo = $@"```json -{json} -```"; - string formattedCapabilities = info.NvidiaCapabilities.Replace("\n", $" {Environment.NewLine}"); - - _nvidiaCapabilities = $@"```shell -{formattedCapabilities} -```"; + _nvidiaCapabilities = info.NvidiaCapabilities; _vaapiCapabilities = info.VaapiCapabilities; } catch (Exception ex) { - _troubleshootingInfo = $@"``` -{ex} -```"; + _troubleshootingInfo = ex.ToString(); } } + + private async Task CopyToClipboard(ElementReference view) + { + await JsRuntime.InvokeVoidAsync("clipboardCopy.copyText", view); + } } \ No newline at end of file diff --git a/ErsatzTV/Pages/_Host.cshtml b/ErsatzTV/Pages/_Host.cshtml index d61c46c2a..4dc4fa67b 100644 --- a/ErsatzTV/Pages/_Host.cshtml +++ b/ErsatzTV/Pages/_Host.cshtml @@ -77,6 +77,15 @@ } } }; + + window.clipboardCopy = { + copyText: function (codeElement) { + navigator.clipboard.writeText(codeElement.textContent) + .catch(function (error) { + console.log(error); + }); + } + }; \ No newline at end of file