72 lines
2.6 KiB
Plaintext

@model FeatureRequestIndexViewModel
@{
ViewData["Title"] = "Feature Requests";
}
<div class="page-heading compact">
<div>
<p class="eyebrow">Feedback</p>
<h1>Feature Requests</h1>
<p class="lead-text">Send suggestions and keep track of your conversations with the PlotDirector team.</p>
</div>
<div class="button-row">
<a class="btn btn-primary" asp-action="Create">Submit Feature Request</a>
</div>
</div>
@if (TempData["FeatureRequestMessage"] is string featureRequestMessage)
{
<div class="alert alert-info">@featureRequestMessage</div>
}
@if (!Model.Requests.Any())
{
<section class="empty-panel">
<h2>No suggestions yet</h2>
<p>No suggestions yet. If something keeps getting in your way, or you have an idea that would make PlotDirector better, send it in.</p>
<a class="btn btn-primary" asp-action="Create">Submit Feature Request</a>
</section>
}
else
{
<section class="edit-panel">
<div class="table-responsive">
<table class="table table-sm align-middle">
<thead>
<tr>
<th>Title</th>
<th>App Area</th>
<th>Importance</th>
<th>Status</th>
<th>Created</th>
<th>Updated</th>
<th>Latest Activity</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var request in Model.Requests)
{
<tr>
<td>@request.Title</td>
<td>@(request.AppArea ?? "Not set")</td>
<td>@(request.Importance ?? "Not set")</td>
<td><span class="badge text-bg-secondary">@request.Status</span></td>
<td>@FormatDate(request.CreatedUtc)</td>
<td>@FormatDate(request.UpdatedUtc)</td>
<td>@(request.LatestActivityUtc.HasValue ? FormatDate(request.LatestActivityUtc.Value) : "None yet")</td>
<td class="text-end">
<a class="btn btn-outline-primary btn-sm" asp-action="Details" asp-route-id="@request.FeatureRequestID">Open</a>
</td>
</tr>
}
</tbody>
</table>
</div>
</section>
}
@functions {
private static string FormatDate(DateTime value) => value.ToLocalTime().ToString("yyyy-MM-dd");
}