2019-01-02 14:07:21 +01:00
|
|
|
@using BTCPayServer.Models.AppViewModels
|
|
|
|
@using Microsoft.CodeAnalysis.CSharp.Syntax
|
|
|
|
@model BTCPayServer.Models.AppViewModels.ViewCrowdfundViewModel
|
|
|
|
|
|
|
|
|
|
|
|
<div class="container p-0">
|
|
|
|
<div class="row h-100 w-100 py-sm-0 py-md-4 mx-0">
|
|
|
|
<div class="card w-100 p-0 mx-0">
|
|
|
|
@if (!string.IsNullOrEmpty(Model.MainImageUrl))
|
|
|
|
{
|
|
|
|
<img class="card-img-top" src="@Model.MainImageUrl"/>
|
|
|
|
}
|
|
|
|
<div class="d-flex justify-content-between px-2">
|
|
|
|
<h1>
|
|
|
|
@Model.Title
|
2019-01-07 14:39:04 +01:00
|
|
|
@if (!Model.Started && Model.StartDate.HasValue)
|
2019-01-02 14:07:21 +01:00
|
|
|
{
|
|
|
|
<span class="h6 text-muted" >
|
|
|
|
Starts @Model.StartDate.Value.Subtract(DateTime.Now.ToUniversalTime())
|
|
|
|
</span>
|
|
|
|
}
|
2019-01-07 14:39:04 +01:00
|
|
|
else if (Model.Started && !Model.Ended && Model.EndDate.HasValue)
|
2019-01-02 14:07:21 +01:00
|
|
|
{
|
|
|
|
<span class="h6 text-muted" >
|
|
|
|
Ends @Model.EndDate.Value.Subtract(DateTime.Now.ToUniversalTime())
|
|
|
|
</span>
|
|
|
|
}
|
2019-01-07 14:39:04 +01:00
|
|
|
else if (Model.Started && !Model.Ended && !Model.EndDate.HasValue)
|
2019-01-02 14:07:21 +01:00
|
|
|
{
|
|
|
|
<span class="h6 text-muted" :title="startDate" title="No set end date">
|
|
|
|
Currently Active!
|
|
|
|
</span>
|
|
|
|
}
|
|
|
|
|
|
|
|
</h1>
|
|
|
|
@if (Model.TargetAmount.HasValue)
|
|
|
|
{
|
|
|
|
<span class="mt-3">
|
|
|
|
<span class="h5">@Model.TargetAmount @Model.TargetCurrency</span>
|
2019-02-19 13:18:30 +09:00
|
|
|
@if (Model.ResetEveryAmount > 0 && !Model.NeverReset)
|
2019-01-04 11:42:37 +01:00
|
|
|
{
|
|
|
|
<span> Dynamic</span>
|
|
|
|
}
|
2019-01-02 14:07:21 +01:00
|
|
|
@if (Model.EnforceTargetAmount)
|
|
|
|
{
|
2019-01-08 15:10:05 +01:00
|
|
|
<span >Hardcap Goal <span class="fa fa-question-circle" ></span></span>
|
2019-01-02 14:07:21 +01:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2019-01-08 15:10:05 +01:00
|
|
|
<span >Softcap Goal <span class="fa fa-question-circle" ></span> </span>
|
2019-01-02 14:07:21 +01:00
|
|
|
}
|
|
|
|
</span>
|
|
|
|
}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
@if (Model.TargetAmount.HasValue)
|
|
|
|
{
|
|
|
|
<div class="progress w-100 rounded-0 " >
|
|
|
|
<div class="progress-bar" role="progressbar"
|
|
|
|
style="width:@(Model.Info.ProgressPercentage + "%")"
|
|
|
|
aria-valuemax="100">
|
|
|
|
</div>
|
|
|
|
<div class="progress-bar bg-warning" role="progressbar"
|
|
|
|
style="width:@(Model.Info.PendingProgressPercentage + "%")"
|
|
|
|
aria-valuemin="0"
|
|
|
|
aria-valuemax="100">
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
}
|
|
|
|
|
|
|
|
<div class="card-body">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="row py-2 text-center">
|
|
|
|
<div class="col-sm border-right" id="raised-amount">
|
|
|
|
<h5>@(Model.Info.CurrentAmount + Model.Info.CurrentPendingAmount) @Model.TargetCurrency </h5>
|
|
|
|
<h5 class="text-muted">Raised</h5>
|
|
|
|
</div>
|
|
|
|
<div class="col-sm border-right">
|
|
|
|
<h5>@(Model.Info.PendingProgressPercentage.GetValueOrDefault(0) + Model.Info.ProgressPercentage.GetValueOrDefault(0))%</h5>
|
|
|
|
<h5 class="text-muted">Of Goal</h5>
|
|
|
|
</div>
|
2019-01-10 14:54:41 +01:00
|
|
|
<div class="col-sm text-right">
|
2019-01-02 14:07:21 +01:00
|
|
|
<h5>
|
|
|
|
@Model.Info.TotalContributors
|
|
|
|
</h5>
|
|
|
|
<h5 class="text-muted">Contributors</h5>
|
|
|
|
</div>
|
2019-01-07 14:39:04 +01:00
|
|
|
@if (Model.Started && !Model.Ended)
|
2019-01-02 14:07:21 +01:00
|
|
|
{
|
2019-01-08 15:10:05 +01:00
|
|
|
<div class="col-sm">
|
2019-01-02 14:07:21 +01:00
|
|
|
<h5>
|
|
|
|
@TimeZoneInfo.ConvertTimeFromUtc(Model.EndDate.Value, TimeZoneInfo.Local)
|
|
|
|
|
|
|
|
</h5>
|
|
|
|
<h5 class="text-muted">Ends</h5>
|
|
|
|
</div>
|
2019-01-07 14:39:04 +01:00
|
|
|
} else if (!Model.Started)
|
2019-01-02 14:07:21 +01:00
|
|
|
{
|
2019-01-08 15:10:05 +01:00
|
|
|
<div class="col-sm">
|
2019-01-02 14:07:21 +01:00
|
|
|
<h5>
|
|
|
|
@TimeZoneInfo.ConvertTimeFromUtc(Model.StartDate.Value, TimeZoneInfo.Local)
|
|
|
|
</h5>
|
|
|
|
<h5 class="text-muted">Starts</h5>
|
|
|
|
</div>
|
2019-01-07 14:39:04 +01:00
|
|
|
}else if (Model.Ended)
|
2019-01-02 14:07:21 +01:00
|
|
|
{
|
|
|
|
|
2019-01-08 15:10:05 +01:00
|
|
|
<div class="col-sm" id="inactive-campaign">
|
2019-01-02 14:07:21 +01:00
|
|
|
<h5>
|
|
|
|
Campaign
|
|
|
|
</h5>
|
|
|
|
<h5 >not active</h5>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
}
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="card-title">
|
|
|
|
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-sm-12 ">
|
|
|
|
<h2 class="text-muted" >@Model.Tagline</h2>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<hr/>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-8 col-sm-12">
|
2019-08-10 14:05:11 +09:00
|
|
|
<div class="card-text overflow-hidden">@Safe.Raw(Model.Description)</div>
|
2019-01-02 14:07:21 +01:00
|
|
|
</div>
|
|
|
|
<div class="col-md-4 col-sm-12">
|
|
|
|
<partial
|
2019-04-11 16:30:23 -05:00
|
|
|
name="/Views/AppsPublic/Crowdfund/ContributeForm.cshtml"
|
2019-01-02 14:07:21 +01:00
|
|
|
model="@(new ContributeToCrowdfund()
|
|
|
|
{
|
|
|
|
ViewCrowdfundViewModel = Model,
|
|
|
|
RedirectToCheckout = true,
|
|
|
|
|
|
|
|
})"></partial>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-01-08 15:10:05 +01:00
|
|
|
<div class="card-footer text-muted d-flex" >
|
2019-01-02 14:07:21 +01:00
|
|
|
|
|
|
|
<div class="align-self-end pr-4">Updated @Model.Info.LastUpdated</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|