diff --git a/src/base/projects/Issue.svelte b/src/base/projects/Issue.svelte
index 7aaff86a6..3ac225723 100644
--- a/src/base/projects/Issue.svelte
+++ b/src/base/projects/Issue.svelte
@@ -90,7 +90,7 @@
padding: 0.5rem 1rem;
border-radius: 1.25rem;
}
- .opened {
+ .open {
color: var(--color-positive);
background-color: var(--color-positive-background);
}
@@ -114,7 +114,6 @@
{#await Issue.getIssue(project.urn, issue, project.seed.api)}
{:then issue}
- {@const state = issue.state === "open" ? "open" : "closed"}
diff --git a/src/base/projects/Issue/IssueTeaser.svelte b/src/base/projects/Issue/IssueTeaser.svelte
index 66392d9c2..ca61e1139 100644
--- a/src/base/projects/Issue/IssueTeaser.svelte
+++ b/src/base/projects/Issue/IssueTeaser.svelte
@@ -99,8 +99,8 @@
diff --git a/src/issue.ts b/src/issue.ts
index 19238002a..52e0df703 100644
--- a/src/issue.ts
+++ b/src/issue.ts
@@ -11,7 +11,12 @@ export interface IIssue {
timestamp: number;
}
-export type State = { closed: { reason: string } } | "open";
+export type State = {
+ status: "open";
+} | {
+ status: "closed";
+ reason: string;
+};
export interface Comment {
author: Author;
@@ -36,11 +41,7 @@ export type Label = string;
export function groupIssues(issues: Issue[]): { open: Issue[]; closed: Issue[] } {
return issues.reduce((acc, issue) => {
- if (issue.state === 'open') {
- acc.open.push(issue);
- } else {
- acc.closed.push(issue);
- }
+ acc[issue.state.status].push(issue);
return acc;
}, { open: [] as Issue[], closed: [] as Issue[] });
}