31 lines
No EOL
996 B
Text
31 lines
No EOL
996 B
Text
@using LANCommander.UI.Extensions
|
|
@using LANCommander.UI.Providers
|
|
@using Microsoft.JSInterop
|
|
@inject TimeProvider TimeProvider
|
|
@inject IJSRuntime JS
|
|
@namespace LANCommander.UI.Components
|
|
|
|
@code {
|
|
IJSObjectReference? _timeProvider;
|
|
|
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
|
{
|
|
if (firstRender && TimeProvider is LocalTimeProvider localTimeProvider && !localTimeProvider.IsLocalTimeZoneSet)
|
|
{
|
|
try
|
|
{
|
|
_timeProvider ??= await JS.CreateAsync("TimeProvider");
|
|
|
|
var timeZone = await _timeProvider.InvokeAsync<string>("GetLocalTimeZone");
|
|
|
|
localTimeProvider.SetLocalTimeZone(timeZone);
|
|
}
|
|
catch
|
|
{
|
|
var timeZone = await JS.InvokeAsync<string>("eval", "Intl.DateTimeFormat().resolvedOptions().timeZone");
|
|
|
|
localTimeProvider.SetLocalTimeZone(timeZone);
|
|
}
|
|
}
|
|
}
|
|
} |