SummerBestWebForm2/Components/IPAddressGrabber.razor

30 lines
901 B
Plaintext
Raw Normal View History

2025-05-30 03:58:16 -04:00
@using ClassObj
2025-05-30 04:09:52 -04:00
Welcome, @RemoteIpAddress!
2025-05-30 03:58:16 -04:00
@code {
[Inject] public IPAddressService IPAddressService { get; set; } = default!;
[Inject] public PersistentComponentState ApplicationState { get; set; } = default!;
private bool _subsequentRender;
private const string TokenName = "IPAddress";
private string RemoteIpAddress = "Not Set";
// Short circuit all the lifecycle stuff - we don't need it
public override Task SetParametersAsync(ParameterView parameters)
{
if (_subsequentRender)
return Task.CompletedTask;
// if not prerender, try and get the persisted value
if (this.ApplicationState.TryTakeFromJson<string>(IPAddressService.TokenName, out var address))
{
this.RemoteIpAddress = address ?? "Not Set";
this.IPAddressService.RemoteIpAddress = this.RemoteIpAddress;
}
_subsequentRender = true;
return Task.CompletedTask;
}
}