Adding setting to CheckoutExperience to pick checkout theme

This commit is contained in:
rockstardev
2020-03-26 18:26:06 -05:00
parent bde8ed7aa2
commit a6ac67963e
8 changed files with 11595 additions and 14 deletions

View File

@@ -19,7 +19,31 @@ namespace BTCPayServer.Models.StoreViewModels
public PaymentMethodId PaymentId { get; set; }
}
public SelectList CryptoCurrencies { get; set; }
public void SetLanguages(LanguageService langService, string defaultLang)
{
defaultLang = langService.GetLanguages().Any(language => language.Code == defaultLang) ? defaultLang : "en";
var choices = langService.GetLanguages().Select(o => new Format() { Name = o.DisplayName, Value = o.Code }).ToArray();
var chosen = choices.FirstOrDefault(f => f.Value == defaultLang) ?? choices.FirstOrDefault();
Languages = new SelectList(choices, nameof(chosen.Value), nameof(chosen.Name), chosen);
DefaultLang = chosen.Value;
}
public SelectList Languages { get; set; }
public SelectList ListCheckoutThemes { get; set; }
public void SetCheckoutThemes(string dbtheme)
{
var list = new List<string>
{
"Default",
"Legacy"
};
if (!list.Any(a => a == dbtheme))
dbtheme = "Default"; // select default if not present
ListCheckoutThemes = new SelectList(list);
CheckoutTheme = dbtheme;
}
[Display(Name = "Default payment method on checkout")]
public string DefaultPaymentMethod { get; set; }
@@ -34,6 +58,9 @@ namespace BTCPayServer.Models.StoreViewModels
[Display(Name = "Custom HTML title to display on Checkout page")]
public string HtmlTitle { get; set; }
[Display(Name = "Theme used on Checkout page")]
public string CheckoutTheme { get; set; }
[Display(Name = "Requires a refund email")]
public bool RequiresRefundEmail { get; set; }
@@ -57,14 +84,5 @@ namespace BTCPayServer.Models.StoreViewModels
[Display(Name = "Redirect invoice to redirect url automatically after paid")]
public bool RedirectAutomatically { get; set; }
public void SetLanguages(LanguageService langService, string defaultLang)
{
defaultLang = langService.GetLanguages().Any(language => language.Code == defaultLang) ? defaultLang : "en";
var choices = langService.GetLanguages().Select(o => new Format() { Name = o.DisplayName, Value = o.Code }).ToArray();
var chosen = choices.FirstOrDefault(f => f.Value == defaultLang) ?? choices.FirstOrDefault();
Languages = new SelectList(choices, nameof(chosen.Value), nameof(chosen.Name), chosen);
DefaultLang = chosen.Value;
}
}
}