Merge pull request #3896 from sbwalker/dev

add Platform property to SiteState and populate on both Web and .NET MAUI
This commit is contained in:
Shaun Walker 2024-02-26 14:13:13 -05:00 committed by GitHub
commit 176dc17c70
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 12 additions and 4 deletions

View File

@ -47,6 +47,9 @@
[Parameter] [Parameter]
public string AuthorizationToken { get; set; } = ""; public string AuthorizationToken { get; set; } = "";
[Parameter]
public string Platform { get; set; } = "";
[CascadingParameter] [CascadingParameter]
HttpContext HttpContext { get; set; } HttpContext HttpContext { get; set; }
@ -71,6 +74,7 @@
SiteState.AntiForgeryToken = AntiForgeryToken; SiteState.AntiForgeryToken = AntiForgeryToken;
SiteState.AuthorizationToken = AuthorizationToken; SiteState.AuthorizationToken = AuthorizationToken;
SiteState.RemoteIPAddress = (_pageState != null) ? _pageState.RemoteIPAddress : ""; SiteState.RemoteIPAddress = (_pageState != null) ? _pageState.RemoteIPAddress : "";
SiteState.Platform = Platform;
SiteState.IsPrerendering = (HttpContext != null) ? true : false; SiteState.IsPrerendering = (HttpContext != null) ? true : false;
_installation = await InstallationService.IsInstalled(); _installation = await InstallationService.IsInstalled();

View File

@ -21,6 +21,7 @@ else
Parameters = new Dictionary<string, object>(); Parameters = new Dictionary<string, object>();
Parameters.Add(new KeyValuePair<string, object>("RenderMode", RenderModes.Interactive)); Parameters.Add(new KeyValuePair<string, object>("RenderMode", RenderModes.Interactive));
Parameters.Add(new KeyValuePair<string, object>("Runtime", Runtimes.Hybrid)); Parameters.Add(new KeyValuePair<string, object>("Runtime", Runtimes.Hybrid));
Parameters.Add(new KeyValuePair<string, object>("Platform", DeviceInfo.Current.Platform.ToString()));
if (MauiConstants.UseAppSettings) if (MauiConstants.UseAppSettings)
{ {

View File

@ -62,11 +62,11 @@
{ {
@if (_renderMode == RenderModes.Static) @if (_renderMode == RenderModes.Static)
{ {
<Routes PageState="@_pageState" RenderMode="@_renderMode" Runtime="@_runtime" AntiForgeryToken="@_antiForgeryToken" AuthorizationToken="@_authorizationToken" /> <Routes PageState="@_pageState" RenderMode="@_renderMode" Runtime="@_runtime" AntiForgeryToken="@_antiForgeryToken" AuthorizationToken="@_authorizationToken" Platform="@_platform" />
} }
else else
{ {
<Routes PageState="@_pageState" RenderMode="@_renderMode" Runtime="@_runtime" AntiForgeryToken="@_antiForgeryToken" AuthorizationToken="@_authorizationToken" @rendermode="InteractiveRenderMode.GetInteractiveRenderMode(_runtime, _prerender)" /> <Routes PageState="@_pageState" RenderMode="@_renderMode" Runtime="@_runtime" AntiForgeryToken="@_antiForgeryToken" AuthorizationToken="@_authorizationToken" Platform="@_platform" @rendermode="InteractiveRenderMode.GetInteractiveRenderMode(_runtime, _prerender)" />
} }
<script src="js/interop.js"></script> <script src="js/interop.js"></script>
@ -96,10 +96,11 @@
private string _runtime = Runtimes.Server; private string _runtime = Runtimes.Server;
private bool _prerender = true; private bool _prerender = true;
private int _visitorId = -1; private int _visitorId = -1;
private string _antiForgeryToken = "";
private string _remoteIPAddress = ""; private string _remoteIPAddress = "";
private string _platform = "";
private string _authorizationToken = ""; private string _authorizationToken = "";
private string _language = "en"; private string _language = "en";
private string _antiForgeryToken = "";
private string _headResources = ""; private string _headResources = "";
private string _bodyResources = ""; private string _bodyResources = "";
private string _styleSheets = ""; private string _styleSheets = "";
@ -116,6 +117,7 @@
{ {
_antiForgeryToken = Antiforgery.GetAndStoreTokens(Context).RequestToken; _antiForgeryToken = Antiforgery.GetAndStoreTokens(Context).RequestToken;
_remoteIPAddress = Context.Connection.RemoteIpAddress?.ToString() ?? ""; _remoteIPAddress = Context.Connection.RemoteIpAddress?.ToString() ?? "";
_platform = System.Runtime.InteropServices.RuntimeInformation.OSDescription;
// if framework is installed // if framework is installed
if (ConfigManager.IsInstalled()) if (ConfigManager.IsInstalled())

View File

@ -12,6 +12,7 @@ namespace Oqtane.Shared
public string AntiForgeryToken { get; set; } // passed from server for use in service calls on client public string AntiForgeryToken { get; set; } // passed from server for use in service calls on client
public string AuthorizationToken { get; set; } // passed from server for use in service calls on client public string AuthorizationToken { get; set; } // passed from server for use in service calls on client
public string RemoteIPAddress { get; set; } // passed from server as cannot be reliably retrieved on client public string RemoteIPAddress { get; set; } // passed from server as cannot be reliably retrieved on client
public string Platform { get; set; }
public bool IsPrerendering { get; set; } public bool IsPrerendering { get; set; }
private dynamic _properties; private dynamic _properties;