- Chat messages are now loaded based on scroll position - Read status is now updated and set by last message read - Reworked script importing by using ScriptProvider
32 lines
No EOL
1 KiB
Text
32 lines
No EOL
1 KiB
Text
@using LANCommander.UI.Extensions
|
|
@using LANCommander.UI.Providers
|
|
@using Microsoft.JSInterop
|
|
@inject TimeProvider TimeProvider
|
|
@inject ScriptProvider ScriptProvider
|
|
@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 ScriptProvider.ImportModuleAsync("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);
|
|
}
|
|
}
|
|
}
|
|
} |