Improves create crowdfund view (#2647)

* adds sizings

* adds section headers

* adds section headers and re-ordering

* more re-ordering

* redorder change

* adds switches

* reorders checkmark

* removes spacer + updates header

* adds sizings

* adds section headers

* adds section headers and re-ordering

* more re-ordering

* redorder change

* adds switches

* reorders checkmark

* removes spacer + updates header

* Upgrade flatpickr and adapt styles

* Improve display names

* Toggle and collapse additional options

* Add missing link attributes

* adds switch + title for enabling public crowdfund

* Add helper text for public crowdfund option

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
This commit is contained in:
dstrukt 2021-07-29 22:31:44 -07:00 committed by GitHub
parent 6ea96efe68
commit 69b855a1e7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 3322 additions and 574 deletions

View file

@ -29,7 +29,7 @@ namespace BTCPayServer.Models.AppViewModels
public string NotificationUrl { get; set; }
[Required]
[Display(Name = "Allow crowdfund to be publicly visible (still visible to you)")]
[Display(Name = "Make Crowdfund Public")]
public bool Enabled { get; set; } = false;
[Required]
@ -44,9 +44,13 @@ namespace BTCPayServer.Models.AppViewModels
[Display(Name = "Enable Disqus Comments")]
public bool DisqusEnabled { get; set; } = true;
[Display(Name = "Disqus Shortname")] public string DisqusShortname { get; set; }
[Display(Name = "Disqus Shortname")]
public string DisqusShortname { get; set; }
[Display(Name = "Start date")]
public DateTime? StartDate { get; set; }
[Display(Name = "End date")]
public DateTime? EndDate { get; set; }
[Required]
@ -54,11 +58,10 @@ namespace BTCPayServer.Models.AppViewModels
[Display(Name = "Primary currency used for targets and stats. (e.g. BTC, LTC, USD, etc.)")]
public string TargetCurrency { get; set; } = "BTC";
[Display(Name = "Set a Target amount ")]
[Display(Name = "Set a target amount")]
[Range(0, double.PositiveInfinity)]
public decimal? TargetAmount { get; set; }
public IEnumerable<string> ResetEveryValues = Enum.GetNames(typeof(CrowdfundResetEvery));
[Display(Name = "Reset goal every")]
@ -66,7 +69,6 @@ namespace BTCPayServer.Models.AppViewModels
public int ResetEveryAmount { get; set; } = 1;
[Display(Name = "Do not allow additional contributions after target has been reached")]
public bool EnforceTargetAmount { get; set; }
@ -80,7 +82,7 @@ namespace BTCPayServer.Models.AppViewModels
[Display(Name = "Custom CSS Code")]
public string EmbeddedCSS { get; set; }
[Display(Name = "Count all invoices created on the store as part of the crowdfunding goal")]
[Display(Name = "Count all invoices created on the store as part of the goal")]
public bool UseAllStoreInvoices { get; set; }
public string AppId { get; set; }
@ -88,12 +90,13 @@ namespace BTCPayServer.Models.AppViewModels
[Display(Name = "Sort contribution perks by popularity")]
public bool SortPerksByPopularity { get; set; }
[Display(Name = "Display contribution ranking")]
public bool DisplayPerksRanking { get; set; }
[Display(Name = "Sounds to play when a payment is made. One sound per line")]
public string Sounds { get; set; }
[Display(Name = "Colors to rotate between with animation when a payment is made. First color is the default background. One color per line. Can be any valid css color value.")]
public string AnimationColors { get; set; }

View file

@ -21,11 +21,12 @@
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
<div class="row">
<div class="col-lg-12">
<form method="post">
<input type="hidden" asp-for="StoreId" />
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<label asp-for="Title" class="form-label" data-required></label>
<input asp-for="Title" class="form-control" required />
@ -36,11 +37,15 @@
<input asp-for="Tagline" class="form-control" />
<span asp-validation-for="Tagline" class="text-danger"></span>
</div>
</div>
<div class="col-lg-9">
<div class="form-group">
<label asp-for="Description" class="form-label" data-required></label>
<textarea asp-for="Description" rows="20" cols="40" class="form-control richtext"></textarea>
<span asp-validation-for="Description" class="text-danger"></span>
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label asp-for="TargetCurrency" class="form-label" data-required></label>
<input asp-for="TargetCurrency" class="form-control" required />
@ -56,7 +61,8 @@
<div class="input-group">
<input type="datetime-local" asp-for="StartDate"
value="@(Model.StartDate?.ToString("u", CultureInfo.InvariantCulture))"
class="form-control flatdtpicker" placeholder="No start date has been set for this crowdfund" />
class="form-control flatdtpicker"
placeholder="No start date has been set" />
<button class="btn btn-secondary input-group-clear" type="button" title="Clear">
<span class="fa fa-times"></span>
</button>
@ -64,6 +70,19 @@
<span asp-validation-for="StartDate" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="EndDate" class="form-label"></label>
<div class="input-group">
<input type="datetime-local" asp-for="EndDate"
value="@(Model.EndDate?.ToString("u", CultureInfo.InvariantCulture))"
class="form-control flatdtpicker"
placeholder="No end date has been set" />
<button class="btn btn-secondary input-group-clear input-group-text" type="button" title="Clear">
<span class="fa fa-times"></span>
</button>
</div>
<span asp-validation-for="EndDate" class="text-danger"></span>
</div>
<div class="form-group mb-4">
<label asp-for="ResetEvery" class="form-label"></label>
<div class="input-group">
<input type="number" asp-for="ResetEveryAmount" placeholder="Amount" class="form-control">
@ -75,27 +94,109 @@
</select>
</div>
</div>
<div class="form-group">
<label asp-for="EndDate" class="form-label"></label>
<div class="input-group">
<input type="datetime-local" asp-for="EndDate"
value="@(Model.EndDate?.ToString("u", CultureInfo.InvariantCulture))"
class="form-control flatdtpicker"
placeholder="No end date has been set for this crowdfund" />
<button class="btn btn-secondary input-group-clear input-group-text" type="button" title="Clear">
<span class="fa fa-times"></span>
</button>
<div class="form-group mb-3">
<div class="d-flex align-items-center mb-3">
<input asp-for="Enabled" type="checkbox" class="btcpay-toggle me-2"/>
<label asp-for="Enabled" class="form-label mb-0"></label>
</div>
<span asp-validation-for="EndDate" class="text-danger"></span>
<span asp-validation-for="Enabled" class="text-danger"></span>
<div class="text-muted">The crowdfund is only visible to you. To make it visible to anyone else, enable this.</div>
</div>
</div>
<div class="col-lg-12">
<partial name="TemplateEditor" model="@(nameof(Model.PerksTemplate), "Perks")" />
</div>
<div class="col-lg-6">
<div class="form-group">
<label asp-for="PerksTemplate" class="form-label"></label>
<textarea asp-for="PerksTemplate" rows="10" cols="40" class="js-product-template form-control"></textarea>
<span asp-validation-for="PerksTemplate" class="text-danger"></span>
</div>
<h4 class="mt-5 mb-4">Contributions</h4>
<div class="form-check mb-3">
<input asp-for="SortPerksByPopularity" type="checkbox" class="form-check-input" />
<label asp-for="SortPerksByPopularity" class="form-check-label"></label>
<span asp-validation-for="SortPerksByPopularity" class="text-danger"></span>
</div>
<div class="form-check mb-3">
<input asp-for="DisplayPerksRanking" type="checkbox" class="form-check-input" />
<label asp-for="DisplayPerksRanking" class="form-check-label"></label>
<span asp-validation-for="DisplayPerksRanking" class="text-danger"></span>
</div>
<div class="form-check mb-3">
<input asp-for="EnforceTargetAmount" type="checkbox" class="form-check-input" />
<label asp-for="EnforceTargetAmount" class="form-check-label"></label>
<span asp-validation-for="EnforceTargetAmount" class="text-danger"></span>
</div>
<h4 class="mt-5 mb-4">Crowdfund Behavior</h4>
<div class="form-group">
<label asp-for="NotificationUrl" class="form-label"></label>
<input asp-for="NotificationUrl" class="form-control" />
<span asp-validation-for="NotificationUrl" class="text-danger"></span>
</div>
<div class="form-check">
<input asp-for="UseAllStoreInvoices" type="checkbox" class="form-check-input" />
<label asp-for="UseAllStoreInvoices" class="form-check-label"></label>
<span asp-validation-for="UseAllStoreInvoices" class="text-danger"></span>
</div>
<h4 class="mt-5 mb-4">Sound</h4>
<div class="form-group mb-3">
<div class="d-flex align-items-center mb-3">
<input asp-for="SoundsEnabled" type="checkbox" class="btcpay-toggle me-2" data-bs-toggle="collapse" data-bs-target="#SoundsEnabledSettings" aria-expanded="@Model.SoundsEnabled" aria-controls="SoundsEnabledSettings"/>
<label asp-for="SoundsEnabled" class="form-label mb-0"></label>
</div>
<span asp-validation-for="SoundsEnabled" class="text-danger"></span>
</div>
<div class="collapse @(Model.SoundsEnabled ? "show" : "")" id="SoundsEnabledSettings">
<div class="form-group mb-0 pb-3">
<label asp-for="Sounds" class="form-label"></label>
<textarea asp-for="Sounds" class="form-control"></textarea>
<span asp-validation-for="Sounds" class="text-danger"></span>
</div>
</div>
<h4 class="mt-5 mb-4">Animation</h4>
<div class="form-group mb-3">
<div class="d-flex align-items-center mb-3">
<input asp-for="AnimationsEnabled" type="checkbox" class="btcpay-toggle me-2" data-bs-toggle="collapse" data-bs-target="#AnimationsEnabledSettings" aria-expanded="@Model.AnimationsEnabled" aria-controls="AnimationsEnabledSettings"/>
<label asp-for="AnimationsEnabled" class="form-label mb-0"></label>
</div>
<span asp-validation-for="AnimationsEnabled" class="text-danger"></span>
</div>
<div class="collapse @(Model.AnimationsEnabled ? "show" : "")" id="AnimationsEnabledSettings">
<div class="form-group mb-0 pb-3">
<label asp-for="AnimationColors" class="form-label"></label>
<textarea asp-for="AnimationColors" class="form-control"></textarea>
<span asp-validation-for="AnimationColors" class="text-danger"></span>
</div>
</div>
<h4 class="mt-5 mb-4">Discussion</h4>
<div class="form-group mb-3">
<div class="d-flex align-items-center mb-3">
<input asp-for="DisqusEnabled" type="checkbox" class="btcpay-toggle me-2" data-bs-toggle="collapse" data-bs-target="#DisqusEnabledSettings" aria-expanded="@Model.DisqusEnabled" aria-controls="DisqusEnabledSettings"/>
<label asp-for="DisqusEnabled" class="form-label mb-0"></label>
</div>
<span asp-validation-for="DisqusEnabled" class="text-danger"></span>
</div>
<div class="collapse @(Model.DisqusEnabled ? "show" : "")" id="DisqusEnabledSettings">
<div class="form-group mb-0 pb-3">
<label asp-for="DisqusShortname" class="form-label"></label>
<input asp-for="DisqusShortname" class="form-control" />
<span asp-validation-for="DisqusShortname" class="text-danger"></span>
</div>
</div>
<h4 class="mt-5 mb-2">Additional Options</h4>
<div class="form-group">
<div class="accordion" id="accordion-dev-info">
<div class="accordion-item">
<h2 class="accordion-header" id="accordion-dev-info-appearance-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#accordion-dev-info-appearance" aria-expanded="false" aria-controls="accordion-dev-info-appearance">
Custom CSS
<vc:icon symbol="caret-down" />
</button>
</h2>
<div id="accordion-dev-info-appearance" class="accordion-collapse collapse" aria-labelledby="accordion-dev-info-redirect-header">
<div class="accordion-body">
<div class="form-group">
<label asp-for="CustomCSSLink" class="form-label"></label>
<a href="https://docs.btcpayserver.org/Theme/#2-bootstrap-themes" target="_blank" rel="noreferrer noopener">
@ -109,99 +210,40 @@
<input asp-for="MainImageUrl" class="form-control" />
<span asp-validation-for="MainImageUrl" class="text-danger"></span>
</div>
<div class="form-group">
<div class="form-group mb-4">
<label asp-for="EmbeddedCSS" class="form-label"></label>
<textarea asp-for="EmbeddedCSS" rows="10" cols="40" class="form-control"></textarea>
<span asp-validation-for="EmbeddedCSS" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="NotificationUrl" class="form-label"></label>
<input asp-for="NotificationUrl" class="form-control" />
<span asp-validation-for="NotificationUrl" class="text-danger"></span>
</div>
<div class="form-group">
<div class="form-check">
<input asp-for="Enabled" type="checkbox" class="form-check-input" />
<label asp-for="Enabled" class="form-check-label"></label>
<span asp-validation-for="Enabled" class="text-danger"></span>
</div>
<div class="form-check">
<input asp-for="SortPerksByPopularity" type="checkbox" class="form-check-input" />
<label asp-for="SortPerksByPopularity" class="form-check-label"></label>
<span asp-validation-for="SortPerksByPopularity" class="text-danger"></span>
</div>
<div class="form-check">
<input asp-for="DisplayPerksRanking" type="checkbox" class="form-check-input" />
<label asp-for="DisplayPerksRanking" class="form-check-label"></label>
<span asp-validation-for="DisplayPerksRanking" class="text-danger"></span>
</div>
<div class="form-check">
<input asp-for="EnforceTargetAmount" type="checkbox" class="form-check-input" />
<label asp-for="EnforceTargetAmount" class="form-check-label"></label>
<span asp-validation-for="EnforceTargetAmount" class="text-danger"></span>
</div>
<div class="form-check">
<input asp-for="UseAllStoreInvoices" type="checkbox" class="form-check-input" />
<label asp-for="UseAllStoreInvoices" class="form-check-label"></label>
<span asp-validation-for="UseAllStoreInvoices" class="text-danger"></span>
</div>
<div class="form-check">
<input asp-for="SoundsEnabled" type="checkbox" class="form-check-input" />
<label asp-for="SoundsEnabled" class="form-check-label"></label>
<span asp-validation-for="SoundsEnabled" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="Sounds" class="form-label"></label>
<textarea asp-for="Sounds" class="form-control"></textarea>
<span asp-validation-for="Sounds" class="text-danger"></span>
</div>
<div class="form-group">
<div class="form-check">
<input asp-for="AnimationsEnabled" type="checkbox" class="form-check-input" />
<label asp-for="AnimationsEnabled" class="form-check-label"></label>
<span asp-validation-for="AnimationsEnabled" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="AnimationColors" class="form-label"></label>
<textarea asp-for="AnimationColors" class="form-control"></textarea>
<span asp-validation-for="AnimationColors" class="text-danger"></span>
</div>
<div class="form-group">
<div class="form-check">
<input asp-for="DisqusEnabled" type="checkbox" class="form-check-input" />
<label asp-for="DisqusEnabled" class="form-check-label"></label>
<span asp-validation-for="DisqusEnabled" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="DisqusShortname" class="form-label"></label>
<input asp-for="DisqusShortname" class="form-control" />
<span asp-validation-for="DisqusShortname" class="text-danger"></span>
</div>
<div class="col-lg-9">
<div class="form-group">
<button type="submit" class="btn btn-primary" id="SaveSettings">Save Settings</button>
<div class="btn-group">
<div class="btn-group ms-2">
<a class="btn btn-outline-primary" asp-action="ListInvoices" asp-controller="Invoice" asp-route-searchterm="@Model.SearchTerm">Invoices</a>
<a class="btn btn-outline-primary" asp-action="ListInvoices" asp-controller="Invoice" asp-route-searchterm="@Model.SearchTerm"
target="viewinvoices_@Model.AppId"><span class="fa fa-external-link"></span></a>
</div>
@if (Model.ModelWithMinimumData)
{
<div class="btn-group">
<div class="btn-group ms-2">
<a class="btn btn-outline-primary" asp-action="ViewCrowdfund" asp-controller="AppsPublic" asp-route-appId="@Model.AppId" id="ViewApp">View App</a>
<a class="btn btn-outline-primary" asp-action="ViewCrowdfund" asp-controller="AppsPublic" asp-route-appId="@Model.AppId"
target="viewapp_@Model.AppId"><span class="fa fa-external-link"></span></a>
</div>
}
<div class="btn-group">
<div class="btn-group ms-2">
<a class="btn btn-outline-primary" asp-action="ListApps">Back to the app list</a>
<a class="btn btn-outline-primary" asp-action="ListApps" target="viewapp_@Model.AppId"><span class="fa fa-external-link"></span></a>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</section>

View file

@ -45,7 +45,8 @@ document.addEventListener("DOMContentLoaded", function () {
maxDate: max,
defaultDate: defaultDate,
time_24hr: true,
defaultHour: 0
defaultHour: 0,
static: true
});
}
});

View file

@ -1,5 +1,4 @@
.flatpickr-calendar {
background: transparent;
opacity: 0;
display: none;
text-align: center;
@ -18,9 +17,9 @@
box-sizing: border-box;
-ms-touch-action: manipulation;
touch-action: manipulation;
background: #fff;
-webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
color: var(--btcpay-body-text);
background: var(--btcpay-body-bg);
box-shadow: 1px 0 0 var(--btcpay-body-border-medium), -1px 0 0 var(--btcpay-body-border-medium), 0 1px 0 var(--btcpay-body-border-medium), 0 -1px 0 var(--btcpay-body-border-medium);
}
.flatpickr-calendar.open,
.flatpickr-calendar.inline {
@ -66,9 +65,9 @@
.flatpickr-calendar .hasWeeks .dayContainer {
border-left: 0;
}
.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time {
.flatpickr-calendar.hasTime .flatpickr-time {
height: 40px;
border-top: 1px solid #e6e6e6;
border-top: 1px solid var(--btcpay-body-border-medium);
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
height: auto;
@ -85,10 +84,17 @@
left: 22px;
}
.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.rightMost:after {
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
left: auto;
right: 22px;
}
.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
left: 50%;
right: 50%;
}
.flatpickr-calendar:before {
border-width: 5px;
margin: 0 -5px;
@ -102,7 +108,7 @@
bottom: 100%;
}
.flatpickr-calendar.arrowTop:before {
border-bottom-color: #e6e6e6;
border-bottom-color: var(--btcpay-body-border-medium);
}
.flatpickr-calendar.arrowTop:after {
border-bottom-color: #fff;
@ -112,7 +118,7 @@
top: 100%;
}
.flatpickr-calendar.arrowBottom:before {
border-top-color: #e6e6e6;
border-top-color: var(--btcpay-body-border-medium);
}
.flatpickr-calendar.arrowBottom:after {
border-top-color: #fff;
@ -132,9 +138,9 @@
}
.flatpickr-months .flatpickr-month {
background: transparent;
color: rgba(0,0,0,0.9);
fill: rgba(0,0,0,0.9);
height: 28px;
color: var(--btcpay-body-text);
fill: var(--btcpay-body-text);
height: 34px;
line-height: 1;
text-align: center;
position: relative;
@ -153,16 +159,15 @@
text-decoration: none;
cursor: pointer;
position: absolute;
top: 0px;
line-height: 16px;
height: 28px;
top: 0;
height: 34px;
padding: 10px;
z-index: 3;
color: rgba(0,0,0,0.9);
fill: rgba(0,0,0,0.9);
color: var(--btcpay-body-text);
fill: var(--btcpay-body-text);
}
.flatpickr-months .flatpickr-prev-month.disabled,
.flatpickr-months .flatpickr-next-month.disabled {
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
display: none;
}
.flatpickr-months .flatpickr-prev-month i,
@ -203,11 +208,11 @@
/*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
color: #959ea9;
color: var(--btcpay-body-link-accent);
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
fill: #f64747;
fill: var(--btcpay-body-link-accent);
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
@ -303,9 +308,9 @@
position: absolute;
width: 75%;
left: 12.5%;
padding: 6.16px 0 0 0;
padding: 7.48px 0 0 0;
line-height: 1;
height: 28px;
height: 34px;
display: inline-block;
text-align: center;
-webkit-transform: translate3d(0px, 0px, 0px);
@ -328,10 +333,10 @@
display: inline-block;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
border-bottom-color: rgba(0,0,0,0.9);
border-bottom-color: var(--btcpay-body-text);
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
border-top-color: rgba(0,0,0,0.9);
border-top-color: var(--btcpay-body-text);
}
.flatpickr-current-month input.cur-year {
background: transparent;
@ -364,6 +369,41 @@
background: transparent;
pointer-events: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
appearance: menulist;
background: transparent;
border: none;
border-radius: 0;
box-sizing: border-box;
color: inherit;
cursor: pointer;
font-size: inherit;
font-family: inherit;
font-weight: 300;
height: auto;
line-height: inherit;
margin: -1px 0 0 0;
outline: none;
padding: 0 0 0 0.5ch;
position: relative;
vertical-align: initial;
-webkit-box-sizing: border-box;
-webkit-appearance: menulist;
-moz-appearance: menulist;
width: auto;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
outline: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
background: rgba(0,0,0,0.05);
}
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
background-color: transparent;
outline: none;
padding: 0;
}
.flatpickr-weekdays {
background: transparent;
text-align: center;
@ -392,8 +432,6 @@
span.flatpickr-weekday {
cursor: default;
font-size: 90%;
background: transparent;
color: rgba(0,0,0,0.54);
line-height: 1;
margin: 0;
text-align: center;
@ -458,7 +496,7 @@ span.flatpickr-weekday {
border-radius: 150px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: #393939;
color: var(--btcpay-body-text);
cursor: pointer;
font-weight: 400;
width: 14.2857143%;
@ -491,17 +529,18 @@ span.flatpickr-weekday {
.flatpickr-day.nextMonthDay:focus {
cursor: pointer;
outline: 0;
background: #e6e6e6;
border-color: #e6e6e6;
border-color: var(--btcpay-body-bg-hover);
background: var(--btcpay-body-bg-hover);
color: var(--btcpay-body-text-hover);
}
.flatpickr-day.today {
border-color: #959ea9;
border-color: var(--btcpay-body-border-medium);
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
border-color: #959ea9;
background: #959ea9;
color: #fff;
border-color: var(--btcpay-body-bg-hover);
background: var(--btcpay-body-bg-hover);
color: var(--btcpay-body-text-hover);
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
@ -521,11 +560,11 @@ span.flatpickr-weekday {
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
background: #569ff7;
background: var(--btcpay-body-bg-active);
-webkit-box-shadow: none;
box-shadow: none;
color: #fff;
border-color: #569ff7;
color: var(--btcpay-body-text-active);
border-color: var(--btcpay-body-bg-active);
}
.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
@ -553,20 +592,20 @@ span.flatpickr-weekday {
-webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-day.disabled,
.flatpickr-day.disabled:hover,
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
color: rgba(57,57,57,0.3);
color: var(--btcpay-body-text-muted);
background: transparent;
border-color: transparent;
cursor: default;
}
.flatpickr-day.disabled,
.flatpickr-day.disabled:hover {
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
cursor: not-allowed;
color: rgba(57,57,57,0.1);
}
@ -582,7 +621,6 @@ span.flatpickr-weekday {
margin-top: 1px;
}
.flatpickr-weekwrapper {
display: inline-block;
float: left;
}
.flatpickr-weekwrapper .flatpickr-weeks {
@ -651,10 +689,10 @@ span.flatpickr-weekday {
float: left;
}
.flatpickr-time .numInputWrapper span.arrowUp:after {
border-bottom-color: #393939;
border-bottom-color: var(--btcpay-body-border-medium);
}
.flatpickr-time .numInputWrapper span.arrowDown:after {
border-top-color: #393939;
border-top-color: var(--btcpay-body-border-medium);
}
.flatpickr-time.hasSeconds .numInputWrapper {
width: 26%;
@ -673,7 +711,7 @@ span.flatpickr-weekday {
padding: 0;
height: inherit;
line-height: inherit;
color: #393939;
color: inherit;
font-size: 14px;
position: relative;
-webkit-box-sizing: border-box;
@ -696,7 +734,6 @@ span.flatpickr-weekday {
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
height: inherit;
display: inline-block;
float: left;
line-height: inherit;
color: #393939;
@ -717,12 +754,6 @@ span.flatpickr-weekday {
text-align: center;
font-weight: 400;
}
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
background: #eee;
}
.flatpickr-input[readonly] {
cursor: pointer;
}

File diff suppressed because one or more lines are too long