about summary refs log tree commit diff stats
path: root/templates
diff options
context:
space:
mode:
Diffstat (limited to 'templates')
-rw-r--r--templates/issue.html74
-rw-r--r--templates/issues.html77
-rw-r--r--templates/repos.html62
3 files changed, 213 insertions, 0 deletions
diff --git a/templates/issue.html b/templates/issue.html
new file mode 100644
index 0000000..c7e4efc
--- /dev/null
+++ b/templates/issue.html
@@ -0,0 +1,74 @@
+<!--
+Back - An extremely simple git bug visualization system. Inspired by TVL's
+panettone.
+
+Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+SPDX-License-Identifier: AGPL-3.0-or-later
+
+This file is part of Back.
+
+You should have received a copy of the License along with this program.
+If not, see <https://www.gnu.org/licenses/agpl.txt>.
+-->
+
+<!doctype html>
+<html lang="en">
+  <head>
+    <title>{{ HtmlString::from(issue.title.clone()) }} | Back</title>
+    <link
+      href="/style.css"
+      rel="stylesheet"
+      type="text/css"
+    />
+    <meta
+      content="width=device-width,initial-scale=1"
+      name="viewport"
+    />
+  </head>
+  <body>
+    <div class="content">
+      <nav>
+        <a href="/{{repo_path}}/issues/open">Open Issues</a>
+        <a href="/{{repo_path}}/issues/closed">Closed Issues</a>
+      </nav>
+      <header>
+        <h1>{{issue.title|safe}}</h1>
+        <div class="issue-number">{{issue.id}}</div>
+      </header>
+      <main>
+        <div class="issue-info">
+          <span class="created-by-at"
+            >Opened by
+            <span class="user-name">{{issue.author.name|safe}}</span>
+            <span class="user-email">&lt;{{issue.author.email|safe}}&gt;</span>
+            at <span class="timestamp">{{issue.timestamp}}</span></span
+          >
+        </div>
+        {{issue.message|safe}} {% if !issue.comments.is_empty() %}
+        <ol class="issue-history">
+          {% for comment in issue.comments %}
+          <li
+            class="comment"
+            id="{{comment.id}}"
+          >
+            {{comment.message|safe}}
+            <p class="comment-info">
+              <span class="user-name"
+                >{{comment.author.name|safe}} at {{comment.timestamp}}</span
+              >
+            </p>
+          </li>
+          {% endfor %}
+        </ol>
+        {% endif %}
+      </main>
+      <footer>
+        <nav>
+          <a href="/{{repo_path}}/issues/open">Open Issues</a>
+          <a href="{{source_code_repository_url}}">Source code</a>
+          <a href="/{{repo_path}}/issues/closed">Closed Issues</a>
+        </nav>
+      </footer>
+    </div>
+  </body>
+</html>
diff --git a/templates/issues.html b/templates/issues.html
new file mode 100644
index 0000000..564827c
--- /dev/null
+++ b/templates/issues.html
@@ -0,0 +1,77 @@
+<!--
+Back - An extremely simple git bug visualization system. Inspired by TVL's
+panettone.
+
+Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+SPDX-License-Identifier: AGPL-3.0-or-later
+
+This file is part of Back.
+
+You should have received a copy of the License along with this program.
+If not, see <https://www.gnu.org/licenses/agpl.txt>.
+-->
+
+<!doctype html>
+<html lang="en">
+  <head>
+    <title>Back</title>
+    <link
+      href="/style.css"
+      rel="stylesheet"
+      type="text/css"
+    />
+    <meta
+      content="width=device-width,initial-scale=1"
+      name="viewport"
+    />
+  </head>
+  <body>
+    <div class="content">
+      <header>
+        <h1>{{wanted_status}} Issues</h1>
+      </header>
+      <main>
+        <div class="issue-links">
+          <a href="/{{repo_path}}/issues/{{counter_status|lowercase}}/"
+            >View {{counter_status}} issues</a
+          >
+          <a href="{{source_code_repository_url}}">Source code</a>
+          <!--
+               <form class="issue-search" method="get">
+                   <input name="search" title="Issue search query" type="search">
+                   <input class="sr-only" type="submit" value="Search Issues">
+               </form>
+               -->
+        </div>
+        <ol class="issue-list">
+          {% for issue in issues -%}
+          <li>
+            <a href="/{{repo_path}}/issue/{{issue.id}}">
+              <p>
+                <span class="issue-subject">{{issue.title|safe}}</span>
+              </p>
+              <span class="issue-number">{{issue.id}}</span>
+              <span class="created-by-at"
+                >Opened by {{ " " }}
+                <span class="user-name">{{issue.author.name|safe}}</span>
+                {{ " " }}
+                <span class="user-email"
+                  >&lt;{{issue.author.email|safe}}&gt;</span
+                >
+                {{ "at" }}
+                <span class="timestamp">{{issue.timestamp}}</span>
+              </span>
+              {% if !issue.comments.is_empty() +%}
+              <span class="comment-count">
+                - {{issue.comments.len()}}
+                comment{{issue.comments.len()|pluralize}}</span
+              >
+              {%+ endif %}
+            </a>
+          </li>
+          {%- endfor %}
+        </ol>
+      </main>
+    </div>
+  </body>
+</html>
diff --git a/templates/repos.html b/templates/repos.html
new file mode 100644
index 0000000..8aa71c4
--- /dev/null
+++ b/templates/repos.html
@@ -0,0 +1,62 @@
+<!--
+Back - An extremely simple git bug visualization system. Inspired by TVL's
+panettone.
+
+Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+SPDX-License-Identifier: AGPL-3.0-or-later
+
+This file is part of Back.
+
+You should have received a copy of the License along with this program.
+If not, see <https://www.gnu.org/licenses/agpl.txt>.
+-->
+
+<!doctype html>
+<html lang="en">
+  <head>
+    <title>Back</title>
+    <link
+      href="/style.css"
+      rel="stylesheet"
+      type="text/css"
+    />
+    <meta
+      content="width=device-width,initial-scale=1"
+      name="viewport"
+    />
+  </head>
+  <body>
+    <div class="content">
+      <header>
+        <h1>Repositories</h1>
+      </header>
+      <main>
+        <div class="issue-links">
+          <a href="{{source_code_repository_url}}">Source code</a>
+          <!--
+               <form class="issue-search" method="get">
+                   <input name="search" title="Issue search query" type="search">
+                   <input class="sr-only" type="submit" value="Search Issues">
+               </form>
+               -->
+        </div>
+        <ol class="issue-list">
+          {% for repo in repos -%}
+          <li>
+            <a href="/{{repo.path}}/issues/open">
+              <p>
+                <span class="issue-subject">{{repo.path}}</span>
+              </p>
+              <span class="created-by-at">
+                <span class="timestamp">{{repo.description}}</span>
+                {{ "-" }}
+                <span class="user-name">{{repo.owner}}</span>
+              </span>
+            </a>
+          </li>
+          {%- endfor %}
+        </ol>
+      </main>
+    </div>
+  </body>
+</html>