diff options
Diffstat (limited to 'src/marlin.web/Views')
| -rw-r--r-- | src/marlin.web/Views/Home/Privacy.cshtml | 6 | ||||
| -rw-r--r-- | src/marlin.web/Views/Jobs/Details.cshtml | 25 | ||||
| -rw-r--r-- | src/marlin.web/Views/Jobs/List.cshtml | 4 | ||||
| -rw-r--r-- | src/marlin.web/Views/Jobs/Logs.cshtml | 14 | ||||
| -rw-r--r-- | src/marlin.web/Views/Shared/DisplayTemplates/JobStatus.cshtml | 6 | ||||
| -rw-r--r-- | src/marlin.web/Views/Shared/DisplayTemplates/LogEventRecords.cshtml | 9 | ||||
| -rw-r--r-- | src/marlin.web/Views/Shared/_Layout.cshtml | 68 | ||||
| -rw-r--r-- | src/marlin.web/Views/_ViewImports.cshtml | 1 |
8 files changed, 80 insertions, 53 deletions
diff --git a/src/marlin.web/Views/Home/Privacy.cshtml b/src/marlin.web/Views/Home/Privacy.cshtml deleted file mode 100644 index e6eef70..0000000 --- a/src/marlin.web/Views/Home/Privacy.cshtml +++ /dev/null @@ -1,6 +0,0 @@ -@{ - ViewData["Title"] = "Privacy Policy"; -} -<h1>@ViewData["Title"]</h1> - -<p>Use this page to detail your site's privacy policy.</p>
\ No newline at end of file diff --git a/src/marlin.web/Views/Jobs/Details.cshtml b/src/marlin.web/Views/Jobs/Details.cshtml index 9b27fe3..ccc128e 100644 --- a/src/marlin.web/Views/Jobs/Details.cshtml +++ b/src/marlin.web/Views/Jobs/Details.cshtml @@ -1,8 +1,11 @@ @model Job -@Model.Id - -@Model.Branch.Name +@section Crumbs { + <li> + <a asp-action="Details" asp-route-id="@Model.Id">Job @Model.Id</a> + @Html.DisplayFor(x => x.Status) + </li> +} <dl> <dt>Id</dt> @@ -13,16 +16,18 @@ <dt>Commit</dt> <dd>@Model.Commit.Hash</dd> - + <dt>Status</dt> <dd>@Model.Status</dd> </dl> -<ul> - @foreach (var line in Model.Logs.OrderBy(x=>x.At)) - { - <li style="color: @(line.Error ? "red" : "black")">[@line.At.ToString("HH:mm:ss")] [@line.StepId] @line.Message</li> - } -</ul> +<div class="groupbox"> + <div class="groupbox-title"> + Logs + (<a asp-action="Logs" asp-route-id="@Model.Id">Expand</a>) + (<a>Download</a>) + </div> + <partial name="DisplayTemplates/LogEventRecords" model="@Model.Logs.OrderByDescending(x => x.At).Take(10).Reverse()"/> +</div> <a asp-action="List">Back</a> diff --git a/src/marlin.web/Views/Jobs/List.cshtml b/src/marlin.web/Views/Jobs/List.cshtml index 968a94f..86df3a4 100644 --- a/src/marlin.web/Views/Jobs/List.cshtml +++ b/src/marlin.web/Views/Jobs/List.cshtml @@ -5,8 +5,8 @@ <table> <thead> <tr> + <th></th> <th>id</th> - <th>status</th> <th>recipe</th> <th>vcs</th> <th>branch</th> @@ -18,8 +18,8 @@ @foreach (var source in Model) { <tr> + <td>@Html.DisplayFor(x => source.Status)</td> <td><a asp-action="Details" asp-route-id="@source.Id">@source.Id</a></td> - <td>@source.Status</td> <td>@source.Recipe</td> <td>@source.Source.UpstreamUrl</td> <td>@source.Branch.Name</td> diff --git a/src/marlin.web/Views/Jobs/Logs.cshtml b/src/marlin.web/Views/Jobs/Logs.cshtml new file mode 100644 index 0000000..4deffbd --- /dev/null +++ b/src/marlin.web/Views/Jobs/Logs.cshtml @@ -0,0 +1,14 @@ +@model Job + +@section Crumbs { + <li> + <a asp-action="Details" asp-route-id="@Model.Id">Job @Model.Id</a> + @Html.DisplayFor(x => x.Status) + </li> + + <li> + Logs + </li> +} + +<partial name="DisplayTemplates/LogEventRecords" model="@Model.Logs.OrderBy(x => x.At)"/>
\ No newline at end of file diff --git a/src/marlin.web/Views/Shared/DisplayTemplates/JobStatus.cshtml b/src/marlin.web/Views/Shared/DisplayTemplates/JobStatus.cshtml new file mode 100644 index 0000000..324748d --- /dev/null +++ b/src/marlin.web/Views/Shared/DisplayTemplates/JobStatus.cshtml @@ -0,0 +1,6 @@ +@model marlin.core.models.JobStatus + +<img + style="height: 1em; + vertical-align: middle" + src="~/img/status/@(Model.ToString().ToLower()).png"/>
\ No newline at end of file diff --git a/src/marlin.web/Views/Shared/DisplayTemplates/LogEventRecords.cshtml b/src/marlin.web/Views/Shared/DisplayTemplates/LogEventRecords.cshtml new file mode 100644 index 0000000..044a672 --- /dev/null +++ b/src/marlin.web/Views/Shared/DisplayTemplates/LogEventRecords.cshtml @@ -0,0 +1,9 @@ +@model IEnumerable<LogEventRecord> + + +<div class="log-view"> + @foreach (var line in Model) + { + <span class="log-line @(line.Error ? "error" : "")">[@line.At.ToString("HH:mm:ss")] [@line.StepId] @line.Message</span> + } +</div>
\ No newline at end of file diff --git a/src/marlin.web/Views/Shared/_Layout.cshtml b/src/marlin.web/Views/Shared/_Layout.cshtml index 8ece676..3af6478 100644 --- a/src/marlin.web/Views/Shared/_Layout.cshtml +++ b/src/marlin.web/Views/Shared/_Layout.cshtml @@ -5,48 +5,46 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <title>@ViewData["Title"] - marlin.web</title> <script type="importmap"></script> - <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css"/> <link rel="stylesheet" href="~/css/site.css" asp-append-version="true"/> - <link rel="stylesheet" href="~/marlin.web.styles.css" asp-append-version="true"/> </head> <body> <header> - <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3"> - <div class="container-fluid"> - <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">marlin.web</a> - <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse" aria-controls="navbarSupportedContent" - aria-expanded="false" aria-label="Toggle navigation"> - <span class="navbar-toggler-icon"></span> - </button> - <div class="navbar-collapse collapse d-sm-inline-flex justify-content-between"> - <ul class="navbar-nav flex-grow-1"> - <li class="nav-item"> - <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a> - </li> - <li class="nav-item"> - <a class="nav-link text-dark" asp-area="" asp-controller="VCS" asp-action="List">VCS Configuration</a> - </li> - <li class="nav-item"> - <a class="nav-link text-dark" asp-area="" asp-controller="Jobs" asp-action="List">Jobs</a> - </li> - <li class="nav-item"> - <a class="nav-link text-dark" asp-area="" asp-controller="Agents" asp-action="List">Agents</a> - </li> - </ul> - </div> - </div> + <div class="banner"> + <h1>Marlin</h1> + </div> + <nav class="navbar"> + <ul class="navbar-list"> + <li class="navbar-item"> + <a asp-controller="Home" asp-action="Index" active-when="Controller">home</a> + </li> + + <li class="navbar-item"> + <a asp-controller="VCS" asp-action="List" active-when="Controller">vcs</a> + </li> + + <li class="navbar-item"> + <a asp-controller="Agents" asp-action="List" active-when="Controller">agents</a> + </li> + + <li class="navbar-item"> + <a asp-controller="Jobs" asp-action="List" active-when="Controller">jobs</a> + </li> + </ul> </nav> + @if (IsSectionDefined("Crumbs")) + { + <ul class="navbar-crumbs"> + @await RenderSectionAsync("Crumbs", required: false) + </ul> + } </header> -<div class="container"> - <main role="main" class="pb-3"> - @RenderBody() - </main> -</div> -<footer class="border-top footer text-muted"> - <div class="container"> - © 2026 - marlin.web - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a> - </div> +<main role="main"> + @RenderBody() +</main> + +<footer> + © 2026 - marlin.web </footer> <script src="~/lib/jquery/dist/jquery.min.js"></script> <script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script> diff --git a/src/marlin.web/Views/_ViewImports.cshtml b/src/marlin.web/Views/_ViewImports.cshtml index 465c454..79cc2e3 100644 --- a/src/marlin.web/Views/_ViewImports.cshtml +++ b/src/marlin.web/Views/_ViewImports.cshtml @@ -1,3 +1,4 @@ @using marlin.web @using marlin.web.Models +@addTagHelper *, marlin.web @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
\ No newline at end of file |
