From a7fa4d70c9442ac5868f000dedd38f5bd1382bbf Mon Sep 17 00:00:00 2001 From: rxtur Date: Mon, 2 May 2022 19:21:39 -0500 Subject: [PATCH] Admin post list virtual scroll --- .../Pages/Account/Login.razor.cs | 26 ++++--- .../Pages/Blog/PostsView.razor | 68 ++++++++++--------- 2 files changed, 53 insertions(+), 41 deletions(-) diff --git a/src/Blogifier.Admin/Pages/Account/Login.razor.cs b/src/Blogifier.Admin/Pages/Account/Login.razor.cs index 657e65761..4d9ae4c2b 100644 --- a/src/Blogifier.Admin/Pages/Account/Login.razor.cs +++ b/src/Blogifier.Admin/Pages/Account/Login.razor.cs @@ -1,5 +1,6 @@ using Blogifier.Shared; using Microsoft.AspNetCore.WebUtilities; +using System; using System.Linq; using System.Net.Http.Json; using System.Threading.Tasks; @@ -11,18 +12,18 @@ public partial class Login public bool showError = false; public LoginModel model = new LoginModel { Email = "", Password = "" }; - public async Task LoginUser() + public async Task LoginUser() { - var returnUrl = "admin/"; - var uri = _navigationManager.ToAbsoluteUri(_navigationManager.Uri); + var returnUrl = "admin/"; + var uri = _navigationManager.ToAbsoluteUri(_navigationManager.Uri); - if (QueryHelpers.ParseQuery(uri.Query).TryGetValue("returnUrl", out var param)) - returnUrl = param.First(); - - if(returnUrl.StartsWith("http")) + if (QueryHelpers.ParseQuery(uri.Query).TryGetValue("returnUrl", out var param)) + returnUrl = param.First(); + + if(!IsLocalUrl(returnUrl)) returnUrl = "admin/"; - var result = await Http.PostAsJsonAsync("api/author/login", model); + var result = await Http.PostAsJsonAsync("api/author/login", model); if (result.IsSuccessStatusCode) { @@ -35,5 +36,14 @@ public async Task LoginUser() StateHasChanged(); } } + + static bool IsLocalUrl(string url) + { + if(url.Contains("//")) + return false; + + Uri result; + return Uri.TryCreate(url, UriKind.Relative, out result); + } } } diff --git a/src/Blogifier.Admin/Pages/Blog/PostsView.razor b/src/Blogifier.Admin/Pages/Blog/PostsView.razor index 92e316a80..ea7167d36 100644 --- a/src/Blogifier.Admin/Pages/Blog/PostsView.razor +++ b/src/Blogifier.Admin/Pages/Blog/PostsView.razor @@ -81,26 +81,27 @@ @if (Posts != null && Posts.Count > 0) { -
    - - - @{ - string pubDate = post.Published > DateTime.MinValue ? post.Published.ToFriendlyShortDateString() : @_localizer["draft"]; - string pubStatus = post.Published > DateTime.MinValue ? "published" : ""; - string featured = post.IsFeatured ? "featured" : ""; - } - -
  • - - - @post.Title - - - @pubDate - - - + - - - - - - - -
  • -
    -
+ + + + + + + + + + + + } else {