New: Register Component that Renders a Link (secondary) to the register URL including the redirect property.
This commit is contained in:
44
Oqtane.Client/Themes/Controls/Theme/Register.razor
Normal file
44
Oqtane.Client/Themes/Controls/Theme/Register.razor
Normal file
@ -0,0 +1,44 @@
|
||||
@namespace Oqtane.Themes.Controls
|
||||
@using System.Net
|
||||
@inherits ThemeControlBase
|
||||
@inject IStringLocalizer<Login> Localizer
|
||||
@inject ISettingService SettingService
|
||||
@inject IStringLocalizer<SharedResources> SharedLocalizer
|
||||
|
||||
<a href="@_registerurl" class="@CssClass">@SharedLocalizer["Register"]</a>
|
||||
|
||||
@code
|
||||
{
|
||||
private string _returnurl;
|
||||
private string _registerurl;
|
||||
|
||||
[Parameter]
|
||||
public string CssClass { get; set; } = "btn btn-secondary";
|
||||
|
||||
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
if (!PageState.QueryString.ContainsKey("returnurl"))
|
||||
{
|
||||
// remember current url
|
||||
_returnurl = WebUtility.UrlEncode(PageState.Route.PathAndQuery);
|
||||
}
|
||||
else
|
||||
{
|
||||
// use existing value
|
||||
_returnurl = PageState.QueryString["returnurl"];
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(SettingService.GetSetting(PageState.Site.Settings, "LoginOptions:RegisterUrl", "")))
|
||||
{
|
||||
_registerurl = SettingService.GetSetting(PageState.Site.Settings, "LoginOptions:RegisterUrl", "");
|
||||
_registerurl += (!_registerurl.Contains("?") ? "?" : "&") + "returnurl=" + (_registerurl.Contains("://") ? WebUtility.UrlEncode(PageState.Route.RootUrl) + _returnurl : _returnurl);
|
||||
}
|
||||
else
|
||||
{
|
||||
_registerurl = NavigateUrl("register", "returnurl=" + _returnurl);
|
||||
}
|
||||
|
||||
Console.WriteLine($"Register URL: {_registerurl}");
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user