From 843a2491ef10a9fee3ab52225098ce28f1cf6fa3 Mon Sep 17 00:00:00 2001 From: "Samuel B. Atwood" Date: Fri, 15 Oct 2021 01:27:52 -0400 Subject: [PATCH] Improve language dropdown UX/Update jquery-prettydropdowns to 4.17.0 (#2972) * Improve language dropdown UX Several improvements to the language selector dropdown list. * Apply suggestions from code review Incorporate styling suggestion from @dennisreimann Co-authored-by: d11n Co-authored-by: d11n --- BTCPayServer/Services/LanguageService.cs | 13 + BTCPayServer/Views/Invoice/Checkout.cshtml | 8 +- .../jquery.prettydropdowns.js | 959 +++++++++--------- .../prettydropdowns.css | 375 ++++--- 4 files changed, 677 insertions(+), 678 deletions(-) diff --git a/BTCPayServer/Services/LanguageService.cs b/BTCPayServer/Services/LanguageService.cs index a156b64ad..06f8ffc35 100644 --- a/BTCPayServer/Services/LanguageService.cs +++ b/BTCPayServer/Services/LanguageService.cs @@ -6,6 +6,7 @@ using System.Linq; using BTCPayServer.Client.Models; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc.Rendering; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Newtonsoft.Json.Serialization; @@ -51,6 +52,18 @@ namespace BTCPayServer.Services return _languages; } + public IEnumerable GetLanguageSelectListItems() + { + IEnumerable items = GetLanguages().Select(l => new SelectListItem + { + Value = l.Code, + Text = l.DisplayName, + Disabled = false + }).OrderBy(lang => lang.Text); + + return items; + } + public Language FindLanguageInAcceptLanguageHeader(string acceptLanguageHeader) { if (acceptLanguageHeader is null) diff --git a/BTCPayServer/Views/Invoice/Checkout.cshtml b/BTCPayServer/Views/Invoice/Checkout.cshtml index b4074cf28..626cd97f0 100644 --- a/BTCPayServer/Views/Invoice/Checkout.cshtml +++ b/BTCPayServer/Views/Invoice/Checkout.cshtml @@ -89,7 +89,7 @@ + asp-items="@langService.GetLanguageSelectListItems()"> @@ -130,7 +130,7 @@