Skip to content

Commit fac57d1

Browse files
committed
Add LogoutForm.razor back
1 parent 13a8e2c commit fac57d1

File tree

4 files changed

+46
-34
lines changed

4 files changed

+46
-34
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
@inject NavigationManager NavigationManager
2+
3+
<form action="Account/Logout" method="post" id="@Id">
4+
<AntiforgeryToken />
5+
<input type="hidden" name="ReturnUrl" value="@currentUrl" />
6+
</form>
7+
8+
@code {
9+
private string? currentUrl;
10+
11+
[Parameter]
12+
public string? Id { get; set; }
13+
14+
protected override void OnInitialized()
15+
{
16+
currentUrl = NavigationManager.ToBaseRelativePath(NavigationManager.Uri);
17+
NavigationManager.LocationChanged += OnLocationChanged;
18+
}
19+
20+
private void OnLocationChanged(object? sender, LocationChangedEventArgs e)
21+
{
22+
currentUrl = NavigationManager.ToBaseRelativePath(e.Location);
23+
StateHasChanged();
24+
}
25+
26+
public void Dispose()
27+
{
28+
NavigationManager.LocationChanged -= OnLocationChanged;
29+
}
30+
}

src/ProjectTemplates/Web.ProjectTemplates/content/BlazorWeb-CSharp/BlazorWeb-CSharp/Components/App.razor

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
5858
@code {
5959
[CascadingParameter]
60-
HttpContext required HttpContext { get; set; }
60+
public required HttpContext HttpContext { get; set; }
6161
6262
IComponentRenderMode? RenderModeForPage => HttpContext.Request.Path.StartsWithSegments("/Account")
6363
? null
@@ -67,7 +67,7 @@
6767
6868
@code {
6969
[CascadingParameter]
70-
HttpContext required HttpContext { get; set; }
70+
public required HttpContext HttpContext { get; set; }
7171
7272
IComponentRenderMode? RenderModeForPage => HttpContext.Request.Path.StartsWithSegments("/Account")
7373
? null

src/ProjectTemplates/Web.ProjectTemplates/content/BlazorWeb-CSharp/BlazorWeb-CSharp/Components/Layout/NavMenu.razor

Lines changed: 5 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@*#if (IndividualLocalAuth)
2-
@inject NavigationManager NavigationManager
2+
@using BlazorWeb_CSharp.Components.Account.Shared
33
44
##endif*@
55
<div class="top-row ps-3 navbar navbar-dark">
@@ -47,13 +47,10 @@
4747
</NavLink>
4848
</div>
4949
<div class="nav-item px-3">
50-
<form action="Account/Logout" method="post">
51-
<AntiforgeryToken />
52-
<input type="hidden" name="ReturnUrl" value="@currentUrl" />
53-
<button type="submit" class="nav-link">
54-
<span class="bi bi-arrow-bar-left-nav-menu" aria-hidden="true"></span> Logout
55-
</button>
56-
</form>
50+
<LogoutForm id="logout-form" />
51+
<button type="submit" class="nav-link" form="logout-form">
52+
<span class="bi bi-arrow-bar-left-nav-menu" aria-hidden="true"></span> Logout
53+
</button>
5754
</div>
5855
</Authorized>
5956
<NotAuthorized>
@@ -72,27 +69,3 @@
7269
##endif*@
7370
</nav>
7471
</div>
75-
@*#if (IndividualLocalAuth)
76-
77-
@code {
78-
private string? currentUrl;
79-
80-
protected override void OnInitialized()
81-
{
82-
currentUrl = NavigationManager.ToBaseRelativePath(NavigationManager.Uri);
83-
NavigationManager.LocationChanged += OnLocationChanged;
84-
}
85-
86-
private void OnLocationChanged(object? sender, LocationChangedEventArgs e)
87-
{
88-
currentUrl = NavigationManager.ToBaseRelativePath(e.Location);
89-
StateHasChanged();
90-
}
91-
92-
public void Dispose()
93-
{
94-
NavigationManager.LocationChanged -= OnLocationChanged;
95-
}
96-
}
97-
##endif*@
98-

src/ProjectTemplates/test/Templates.Tests/template-baselines.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -572,6 +572,7 @@
572572
"Components/Account/Pages/_Imports.razor",
573573
"Components/Account/Shared/AccountLayout.razor",
574574
"Components/Account/Shared/ExternalLoginPicker.razor",
575+
"Components/Account/Shared/LogoutForm.razor",
575576
"Components/Account/Shared/ManageLayout.razor",
576577
"Components/Account/Shared/ManageNavMenu.razor",
577578
"Components/Account/Shared/RedirectToLogin.razor",
@@ -674,6 +675,7 @@
674675
"Components/Account/Pages/_Imports.razor",
675676
"Components/Account/Shared/AccountLayout.razor",
676677
"Components/Account/Shared/ExternalLoginPicker.razor",
678+
"Components/Account/Shared/LogoutForm.razor",
677679
"Components/Account/Shared/ManageLayout.razor",
678680
"Components/Account/Shared/ManageNavMenu.razor",
679681
"Components/Account/Shared/RedirectToLogin.razor",
@@ -750,6 +752,7 @@
750752
"Components/Account/Pages/_Imports.razor",
751753
"Components/Account/Shared/AccountLayout.razor",
752754
"Components/Account/Shared/ExternalLoginPicker.razor",
755+
"Components/Account/Shared/LogoutForm.razor",
753756
"Components/Account/Shared/ManageLayout.razor",
754757
"Components/Account/Shared/ManageNavMenu.razor",
755758
"Components/Account/Shared/RedirectToLogin.razor",
@@ -869,6 +872,7 @@
869872
"{ProjectName}/Components/Account/PersistingServerAuthenticationStateProvider.cs",
870873
"{ProjectName}/Components/Account/Shared/AccountLayout.razor",
871874
"{ProjectName}/Components/Account/Shared/ExternalLoginPicker.razor",
875+
"{ProjectName}/Components/Account/Shared/LogoutForm.razor",
872876
"{ProjectName}/Components/Account/Shared/ManageLayout.razor",
873877
"{ProjectName}/Components/Account/Shared/ManageNavMenu.razor",
874878
"{ProjectName}/Components/Account/Shared/ShowRecoveryCodes.razor",
@@ -986,6 +990,7 @@
986990
"{ProjectName}/Components/Account/PersistingRevalidatingAuthenticationStateProvider.cs",
987991
"{ProjectName}/Components/Account/Shared/AccountLayout.razor",
988992
"{ProjectName}/Components/Account/Shared/ExternalLoginPicker.razor",
993+
"{ProjectName}/Components/Account/Shared/LogoutForm.razor",
989994
"{ProjectName}/Components/Account/Shared/ManageLayout.razor",
990995
"{ProjectName}/Components/Account/Shared/ManageNavMenu.razor",
991996
"{ProjectName}/Components/Account/Shared/ShowRecoveryCodes.razor",
@@ -1247,6 +1252,7 @@
12471252
"{ProjectName}/Components/Account/PersistingRevalidatingAuthenticationStateProvider.cs",
12481253
"{ProjectName}/Components/Account/Shared/AccountLayout.razor",
12491254
"{ProjectName}/Components/Account/Shared/ExternalLoginPicker.razor",
1255+
"{ProjectName}/Components/Account/Shared/LogoutForm.razor",
12501256
"{ProjectName}/Components/Account/Shared/ManageLayout.razor",
12511257
"{ProjectName}/Components/Account/Shared/ManageNavMenu.razor",
12521258
"{ProjectName}/Components/Account/Shared/ShowRecoveryCodes.razor",
@@ -1314,6 +1320,7 @@
13141320
"Components/Account/Pages/_Imports.razor",
13151321
"Components/Account/Shared/AccountLayout.razor",
13161322
"Components/Account/Shared/ExternalLoginPicker.razor",
1323+
"Components/Account/Shared/LogoutForm.razor",
13171324
"Components/Account/Shared/ManageLayout.razor",
13181325
"Components/Account/Shared/ManageNavMenu.razor",
13191326
"Components/Account/Shared/RedirectToLogin.razor",
@@ -1408,6 +1415,7 @@
14081415
"{ProjectName}/Components/Account/PersistingServerAuthenticationStateProvider.cs",
14091416
"{ProjectName}/Components/Account/Shared/AccountLayout.razor",
14101417
"{ProjectName}/Components/Account/Shared/ExternalLoginPicker.razor",
1418+
"{ProjectName}/Components/Account/Shared/LogoutForm.razor",
14111419
"{ProjectName}/Components/Account/Shared/ManageLayout.razor",
14121420
"{ProjectName}/Components/Account/Shared/ManageNavMenu.razor",
14131421
"{ProjectName}/Components/Account/Shared/ShowRecoveryCodes.razor",
@@ -1492,6 +1500,7 @@
14921500
"{ProjectName}/Components/Account/PersistingRevalidatingAuthenticationStateProvider.cs",
14931501
"{ProjectName}/Components/Account/Shared/AccountLayout.razor",
14941502
"{ProjectName}/Components/Account/Shared/ExternalLoginPicker.razor",
1503+
"{ProjectName}/Components/Account/Shared/LogoutForm.razor",
14951504
"{ProjectName}/Components/Account/Shared/ManageLayout.razor",
14961505
"{ProjectName}/Components/Account/Shared/ManageNavMenu.razor",
14971506
"{ProjectName}/Components/Account/Shared/ShowRecoveryCodes.razor",

0 commit comments

Comments
 (0)