- {% for issue in issue_list %}
+
+ {% comment %}
+
+
+ | The table header |
+
+
+ {% endcomment %}
+ {% for issue in issue_list %}
+
+
+
+
+
+
+
+
{{ issue.parsed_data.transaction }}
+
+
from 8 Nov 12:33 | last 8 Nov 12:39 | with 3 events
+
+
+ {% endfor %}
-
-
-
from 8 Nov 12:33 | last 8 Nov 12:39 | with 3 events
-
-
- {% endfor %}
-
+
diff --git a/issues/views.py b/issues/views.py
index 47e0c01..6d15d2d 100644
--- a/issues/views.py
+++ b/issues/views.py
@@ -3,15 +3,18 @@ from django.shortcuts import render, get_object_or_404, redirect
from events.models import Event
+from projects.models import Project
+
from .utils import get_issue_grouper_for_data
from .models import Issue
def issue_list(request, project_id):
issue_list = Issue.objects.filter(project_id=project_id)
+ project = get_object_or_404(Project, pk=project_id)
return render(request, "issues/issue_list.html", {
- "project_id": project_id,
+ "project": project,
"issue_list": issue_list,
})
diff --git a/tailwind.config.js b/tailwind.config.js
index d947ab1..308770b 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -4,6 +4,6 @@ module.exports = {
theme: {
extend: {},
},
- plugins: [],
+ plugins: [require("@tailwindcss/forms")],
}
diff --git a/theme/static/css/dist/styles.css b/theme/static/css/dist/styles.css
index fed61b4..5315381 100644
--- a/theme/static/css/dist/styles.css
+++ b/theme/static/css/dist/styles.css
@@ -892,6 +892,26 @@ select {
width: 100%;
}
+.w-1\/5 {
+ width: 20%;
+}
+
+.w-4\/5 {
+ width: 80%;
+}
+
+.w-auto {
+ width: auto;
+}
+
+.flex-auto {
+ flex: 1 1 auto;
+}
+
+.flex-initial {
+ flex: 0 1 auto;
+}
+
.border-collapse {
border-collapse: collapse;
}
@@ -913,6 +933,10 @@ select {
list-style-type: decimal;
}
+.flex-nowrap {
+ flex-wrap: nowrap;
+}
+
.place-content-end {
place-content: end;
}
@@ -929,10 +953,24 @@ select {
justify-content: center;
}
+.self-center {
+ align-self: center;
+}
+
.overflow-hidden {
overflow: hidden;
}
+.truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.whitespace-nowrap {
+ white-space: nowrap;
+}
+
.whitespace-pre {
white-space: pre;
}
@@ -965,6 +1003,14 @@ select {
border-top-width: 2px;
}
+.border-l-2 {
+ border-left-width: 2px;
+}
+
+.border-r-2 {
+ border-right-width: 2px;
+}
+
.border-cyan-500 {
--tw-border-opacity: 1;
border-color: rgb(6 182 212 / var(--tw-border-opacity));
@@ -1010,6 +1056,11 @@ select {
border-color: rgb(30 41 59 / var(--tw-border-opacity));
}
+.border-red-300 {
+ --tw-border-opacity: 1;
+ border-color: rgb(252 165 165 / var(--tw-border-opacity));
+}
+
.bg-gray-50 {
--tw-bg-opacity: 1;
background-color: rgb(249 250 251 / var(--tw-bg-opacity));
@@ -1045,6 +1096,26 @@ select {
background-color: rgb(165 243 252 / var(--tw-bg-opacity));
}
+.bg-red-100 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(254 226 226 / var(--tw-bg-opacity));
+}
+
+.bg-cyan-100 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(207 250 254 / var(--tw-bg-opacity));
+}
+
+.bg-cyan-300 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(103 232 249 / var(--tw-bg-opacity));
+}
+
+.bg-slate-400 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(148 163 184 / var(--tw-bg-opacity));
+}
+
.p-4 {
padding: 1rem;
}
@@ -1077,6 +1148,10 @@ select {
padding-top: 1rem;
}
+.pb-4 {
+ padding-bottom: 1rem;
+}
+
.text-center {
text-align: center;
}
@@ -1175,6 +1250,11 @@ select {
color: rgb(30 41 59 / var(--tw-text-opacity));
}
+.text-red-500 {
+ --tw-text-opacity: 1;
+ color: rgb(239 68 68 / var(--tw-text-opacity));
+}
+
.filter {
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
@@ -1213,6 +1293,16 @@ select {
background-color: rgb(34 211 238 / var(--tw-bg-opacity));
}
+.focus\:ring-red-200:focus {
+ --tw-ring-opacity: 1;
+ --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity));
+}
+
+.focus\:ring-cyan-200:focus {
+ --tw-ring-opacity: 1;
+ --tw-ring-color: rgb(165 243 252 / var(--tw-ring-opacity));
+}
+
.active\:ring:active {
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);