Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Update issue state to new serialization
Sebastian Martinez committed 3 years ago
commit 638fecfc790dda4c77cf666095db41726b9e3073
parent b2c2aeea3c0a942f97ea21ebce33d9778e514859
3 files changed +13 -13
modified 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)}
  <Loading center />
{:then issue}
-
  {@const state = issue.state === "open" ? "open" : "closed"}
  <div class="issue">
    <header>
      <div class="summary">
@@ -126,10 +125,10 @@
        </div>
        <div
          class="summary-state"
-
          class:closed={issue.state !== "open"}
-
          class:opened={issue.state == "open"}
+
          class:closed={issue.state.status === "closed"}
+
          class:open={issue.state.status === "open"}
        >
-
          {capitalize(state)}
+
          {capitalize(issue.state.status)}
        </div>
      </div>
      <div class="text-small">
modified src/base/projects/Issue/IssueTeaser.svelte
@@ -99,8 +99,8 @@
  <div class="state">
    <div
      class="state-icon"
-
      class:closed={issue.state !== "open"}
-
      class:open={issue.state === "open"}
+
      class:closed={issue.state.status === "closed"}
+
      class:open={issue.state.status === "open"}
    />
  </div>
  <div class="column-left">
modified 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[] });
}