summaryrefslogtreecommitdiff
path: root/src/marlin.web/Views
diff options
context:
space:
mode:
Diffstat (limited to 'src/marlin.web/Views')
-rw-r--r--src/marlin.web/Views/Home/Index.cshtml8
-rw-r--r--src/marlin.web/Views/Home/Privacy.cshtml6
-rw-r--r--src/marlin.web/Views/Jobs/List.cshtml29
-rw-r--r--src/marlin.web/Views/Shared/Error.cshtml25
-rw-r--r--src/marlin.web/Views/Shared/_Layout.cshtml50
-rw-r--r--src/marlin.web/Views/Shared/_Layout.cshtml.css48
-rw-r--r--src/marlin.web/Views/Shared/_ValidationScriptsPartial.cshtml2
-rw-r--r--src/marlin.web/Views/VCS/Create.cshtml12
-rw-r--r--src/marlin.web/Views/VCS/Details.cshtml13
-rw-r--r--src/marlin.web/Views/VCS/List.cshtml23
-rw-r--r--src/marlin.web/Views/_ViewImports.cshtml3
-rw-r--r--src/marlin.web/Views/_ViewStart.cshtml3
12 files changed, 222 insertions, 0 deletions
diff --git a/src/marlin.web/Views/Home/Index.cshtml b/src/marlin.web/Views/Home/Index.cshtml
new file mode 100644
index 0000000..09285dd
--- /dev/null
+++ b/src/marlin.web/Views/Home/Index.cshtml
@@ -0,0 +1,8 @@
+@{
+ ViewData["Title"] = "Home Page";
+}
+
+<div class="text-center">
+ <h1 class="display-4">Welcome</h1>
+ <p>Learn about <a href="https://learn.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
+</div> \ No newline at end of file
diff --git a/src/marlin.web/Views/Home/Privacy.cshtml b/src/marlin.web/Views/Home/Privacy.cshtml
new file mode 100644
index 0000000..e6eef70
--- /dev/null
+++ b/src/marlin.web/Views/Home/Privacy.cshtml
@@ -0,0 +1,6 @@
+@{
+ 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/List.cshtml b/src/marlin.web/Views/Jobs/List.cshtml
new file mode 100644
index 0000000..2c10e46
--- /dev/null
+++ b/src/marlin.web/Views/Jobs/List.cshtml
@@ -0,0 +1,29 @@
+@model ICollection<marlin.core.models.Job>
+
+<table>
+ <thead>
+ <tr>
+ <th>link</th>
+ <th>id</th>
+ <th>status</th>
+ <th>recipe</th>
+ <th>vcs</th>
+ <th>branch</th>
+ <th>agent</th>
+ </tr>
+ </thead>
+ <tbody>
+ @foreach (var source in Model)
+ {
+ <tr>
+ <td><a asp-action="Details" asp-route-id="@source.Id">open</a></td>
+ <td>@source.Id</td>
+ <td>@source.Status</td>
+ <td>@source.Recipe</td>
+ <td>@source.Source.UpstreamUrl</td>
+ <td>@source.Ref</td>
+ <td>@(source.Agent?.Name ?? "no agent assigned")</td>
+ </tr>
+ }
+ </tbody>
+</table>
diff --git a/src/marlin.web/Views/Shared/Error.cshtml b/src/marlin.web/Views/Shared/Error.cshtml
new file mode 100644
index 0000000..4d96f6a
--- /dev/null
+++ b/src/marlin.web/Views/Shared/Error.cshtml
@@ -0,0 +1,25 @@
+@model ErrorViewModel
+@{
+ ViewData["Title"] = "Error";
+}
+
+<h1 class="text-danger">Error.</h1>
+<h2 class="text-danger">An error occurred while processing your request.</h2>
+
+@if (Model.ShowRequestId)
+{
+ <p>
+ <strong>Request ID:</strong> <code>@Model.RequestId</code>
+ </p>
+}
+
+<h3>Development Mode</h3>
+<p>
+ Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
+</p>
+<p>
+ <strong>The Development environment shouldn't be enabled for deployed applications.</strong>
+ It can result in displaying sensitive information from exceptions to end users.
+ For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
+ and restarting the app.
+</p> \ No newline at end of file
diff --git a/src/marlin.web/Views/Shared/_Layout.cshtml b/src/marlin.web/Views/Shared/_Layout.cshtml
new file mode 100644
index 0000000..f060fcf
--- /dev/null
+++ b/src/marlin.web/Views/Shared/_Layout.cshtml
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8"/>
+ <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="Home" asp-action="Privacy">Privacy</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+</header>
+<div class="container">
+ <main role="main" class="pb-3">
+ @RenderBody()
+ </main>
+</div>
+
+<footer class="border-top footer text-muted">
+ <div class="container">
+ &copy; 2026 - marlin.web - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
+ </div>
+</footer>
+<script src="~/lib/jquery/dist/jquery.min.js"></script>
+<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
+<script src="~/js/site.js" asp-append-version="true"></script>
+@await RenderSectionAsync("Scripts", required: false)
+</body>
+</html> \ No newline at end of file
diff --git a/src/marlin.web/Views/Shared/_Layout.cshtml.css b/src/marlin.web/Views/Shared/_Layout.cshtml.css
new file mode 100644
index 0000000..c187c02
--- /dev/null
+++ b/src/marlin.web/Views/Shared/_Layout.cshtml.css
@@ -0,0 +1,48 @@
+/* Please see documentation at https://learn.microsoft.com/aspnet/core/client-side/bundling-and-minification
+for details on configuring this project to bundle and minify static web assets. */
+
+a.navbar-brand {
+ white-space: normal;
+ text-align: center;
+ word-break: break-all;
+}
+
+a {
+ color: #0077cc;
+}
+
+.btn-primary {
+ color: #fff;
+ background-color: #1b6ec2;
+ border-color: #1861ac;
+}
+
+.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
+ color: #fff;
+ background-color: #1b6ec2;
+ border-color: #1861ac;
+}
+
+.border-top {
+ border-top: 1px solid #e5e5e5;
+}
+.border-bottom {
+ border-bottom: 1px solid #e5e5e5;
+}
+
+.box-shadow {
+ box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
+}
+
+button.accept-policy {
+ font-size: 1rem;
+ line-height: inherit;
+}
+
+.footer {
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ white-space: nowrap;
+ line-height: 60px;
+}
diff --git a/src/marlin.web/Views/Shared/_ValidationScriptsPartial.cshtml b/src/marlin.web/Views/Shared/_ValidationScriptsPartial.cshtml
new file mode 100644
index 0000000..e586989
--- /dev/null
+++ b/src/marlin.web/Views/Shared/_ValidationScriptsPartial.cshtml
@@ -0,0 +1,2 @@
+<script src="~/lib/jquery-validation/dist/jquery.validate.min.js"></script>
+<script src="~/lib/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive.min.js"></script> \ No newline at end of file
diff --git a/src/marlin.web/Views/VCS/Create.cshtml b/src/marlin.web/Views/VCS/Create.cshtml
new file mode 100644
index 0000000..adaa913
--- /dev/null
+++ b/src/marlin.web/Views/VCS/Create.cshtml
@@ -0,0 +1,12 @@
+@using marlin.core
+@using marlin.core.models
+
+<form method="post" asp-action="Create">
+ URL: <input type="text" name="@nameof(VersionControlSource.UpstreamUrl)" />
+ Filter: <input type="text" name="@nameof(VersionControlSource.BranchFilter)" />
+ Main Branch: <input type="text" name="@nameof(VersionControlSource.MainBranch)" />
+ Polling Interval: <input type="number" name="@nameof(VersionControlSource.MinPollingInterval)" />
+ <button type="submit">Create</button>
+</form>
+
+<a asp-action="List">Back</a> \ No newline at end of file
diff --git a/src/marlin.web/Views/VCS/Details.cshtml b/src/marlin.web/Views/VCS/Details.cshtml
new file mode 100644
index 0000000..8d25472
--- /dev/null
+++ b/src/marlin.web/Views/VCS/Details.cshtml
@@ -0,0 +1,13 @@
+@using marlin.core
+@using marlin.core.models
+@model marlin.core.models.VersionControlSource
+
+<form method="post" asp-route-id="@Model.Id" asp-action="Edit">
+ URL: <input type="text" name="@nameof(VersionControlSource.UpstreamUrl)" value="@Model.UpstreamUrl"/>
+ Filter: <input type="text" name="@nameof(VersionControlSource.BranchFilter)" value="@Model.BranchFilter"/>
+ Main Branch: <input type="text" name="@nameof(VersionControlSource.MainBranch)" value="@Model.MainBranch"/>
+ Polling Interval: <input type="number" name="@nameof(VersionControlSource.MinPollingInterval)" value="@Model.MinPollingInterval"/>
+ <button type="submit">Save</button>
+</form>
+
+<a asp-action="List">Back</a> \ No newline at end of file
diff --git a/src/marlin.web/Views/VCS/List.cshtml b/src/marlin.web/Views/VCS/List.cshtml
new file mode 100644
index 0000000..90c3f48
--- /dev/null
+++ b/src/marlin.web/Views/VCS/List.cshtml
@@ -0,0 +1,23 @@
+@model IReadOnlyList<marlin.core.models.VersionControlSource>
+
+<a asp-action="Create">New</a>
+
+<table>
+ <thead>
+ <tr>
+ <th>link</th>
+ <th>url</th>
+ <th>filter</th>
+ </tr>
+ </thead>
+ <tbody>
+ @foreach (var source in Model)
+ {
+ <tr>
+ <td><a asp-action="Details" asp-route-id="@source.Id">open</a></td>
+ <td>@source.UpstreamUrl</td>
+ <td>@source.BranchFilter</td>
+ </tr>
+ }
+ </tbody>
+</table>
diff --git a/src/marlin.web/Views/_ViewImports.cshtml b/src/marlin.web/Views/_ViewImports.cshtml
new file mode 100644
index 0000000..465c454
--- /dev/null
+++ b/src/marlin.web/Views/_ViewImports.cshtml
@@ -0,0 +1,3 @@
+@using marlin.web
+@using marlin.web.Models
+@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers \ No newline at end of file
diff --git a/src/marlin.web/Views/_ViewStart.cshtml b/src/marlin.web/Views/_ViewStart.cshtml
new file mode 100644
index 0000000..1af6e49
--- /dev/null
+++ b/src/marlin.web/Views/_ViewStart.cshtml
@@ -0,0 +1,3 @@
+@{
+ Layout = "_Layout";
+} \ No newline at end of file