first commit
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
@page
|
||||
@model Fragalytics.Web.Pages.IndexModel
|
||||
@{
|
||||
ViewData["Title"] = "Demos";
|
||||
}
|
||||
|
||||
<section class="hero card">
|
||||
<div>
|
||||
<h1>Upload a CS2 demo</h1>
|
||||
<p class="muted">Uploads are stored locally, parsed in the background, scored into explainable highlights, and converted into clip job records for a future render worker.</p>
|
||||
</div>
|
||||
<form class="upload-form" method="post" enctype="multipart/form-data" asp-page-handler="Upload">
|
||||
<input type="file" asp-for="Upload" accept=".dem" required />
|
||||
<button type="submit">Upload Demo</button>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
<section class="stats-grid">
|
||||
<article class="card"><h2>@Model.Dashboard.DemoCount</h2><p>Demos</p></article>
|
||||
<article class="card"><h2>@Model.Dashboard.MatchCount</h2><p>Matches</p></article>
|
||||
<article class="card"><h2>@Model.Dashboard.HighlightCount</h2><p>Highlights</p></article>
|
||||
<article class="card"><h2>@Model.Dashboard.ClipJobCount</h2><p>Clip Jobs</p></article>
|
||||
</section>
|
||||
|
||||
<section class="split">
|
||||
<div class="card">
|
||||
<div class="section-head">
|
||||
<h2>Recent Demos</h2>
|
||||
<form method="post" asp-page-handler="RunWorker">
|
||||
<button type="submit" class="secondary">Run Worker Once</button>
|
||||
</form>
|
||||
</div>
|
||||
<table>
|
||||
<thead><tr><th>ID</th><th>File</th><th>Status</th><th>Uploaded</th></tr></thead>
|
||||
<tbody>
|
||||
@if (Model.Dashboard.Demos.Count == 0)
|
||||
{
|
||||
<tr><td colspan="4" class="muted">No demos uploaded yet.</td></tr>
|
||||
}
|
||||
else
|
||||
{
|
||||
@foreach (var demo in Model.Dashboard.Demos)
|
||||
{
|
||||
<tr>
|
||||
<td><a asp-page="/Demos/Details" asp-route-id="@demo.Id">#@demo.Id</a></td>
|
||||
<td>@demo.OriginalFileName</td>
|
||||
<td><span class="pill [email protected]">@demo.Status</span></td>
|
||||
<td>@demo.UploadedAtUtc.ToString("yyyy-MM-dd HH:mm:ss") UTC</td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="section-head">
|
||||
<h2>Recent Clip Jobs</h2>
|
||||
<form method="post" asp-page-handler="Rescore">
|
||||
<button type="submit" class="secondary">Rescore All Matches</button>
|
||||
</form>
|
||||
</div>
|
||||
<table>
|
||||
<thead><tr><th>ID</th><th>Status</th><th>Ticks</th><th>Renderer</th></tr></thead>
|
||||
<tbody>
|
||||
@if (Model.Dashboard.ClipJobs.Count == 0)
|
||||
{
|
||||
<tr><td colspan="4" class="muted">No clip jobs yet.</td></tr>
|
||||
}
|
||||
else
|
||||
{
|
||||
@foreach (var job in Model.Dashboard.ClipJobs)
|
||||
{
|
||||
<tr>
|
||||
<td><a asp-page="/ClipJobs/Index">#@job.Id</a></td>
|
||||
<td><span class="pill [email protected]">@job.Status</span></td>
|
||||
<td>@job.StartTick - @job.EndTick</td>
|
||||
<td>@job.Renderer</td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
Reference in New Issue
Block a user