Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Add merged patch state
Sebastian Martinez committed 3 years ago
commit 5fbbd824ff67a60e718c2e25e4d0bb6f0209dcd8
parent a6bc6d3c2733396c7ec3129dbf493970be3550f4
3 files changed +12 -4
modified src/lib/patch.ts
@@ -59,19 +59,26 @@ export interface Merge {
export type PatchState =
  | { status: "draft" }
  | { status: "open" }
-
  | { status: "archived" };
+
  | { status: "archived" }
+
  | { status: "merged" };

export function groupPatches(patches: Patch[]): {
  open: Patch[];
  draft: Patch[];
  archived: Patch[];
+
  merged: Patch[];
} {
  return patches.reduce(
    (acc, patch) => {
      acc[patch.state.status].push(patch);
      return acc;
    },
-
    { open: [] as Patch[], draft: [] as Patch[], archived: [] as Patch[] },
+
    {
+
      open: [] as Patch[],
+
      draft: [] as Patch[],
+
      archived: [] as Patch[],
+
      merged: [] as Patch[],
+
    },
  );
}

modified src/lib/project.ts
@@ -31,6 +31,7 @@ export interface ProjectInfo {
    open: number;
    draft: number;
    archived: number;
+
    merged: number;
  };
  issues: {
    open: number;
@@ -137,6 +138,7 @@ export class Project implements ProjectInfo {
    open: number;
    draft: number;
    archived: number;
+
    merged: number;
  };
  issues: {
    open: number;
modified src/views/projects/Patches.svelte
@@ -22,7 +22,7 @@

  let options: Tab<PatchStatus>[];

-
  const stateOptions: PatchStatus[] = ["draft", "open", "archived"];
+
  const stateOptions: PatchStatus[] = ["draft", "open", "archived", "merged"];
  $: options = stateOptions.map<{
    value: PatchStatus;
    title: string;
@@ -32,7 +32,6 @@
    title: `${project.patches[s]} ${s}`,
    disabled: project.patches[s] === 0,
  }));
-
  $: console.log(patches);
  $: filteredPatches = groupPatches(patches)[status];
  $: sortedPatches = filteredPatches.sort(
    ({ revisions: [r1] }, { revisions: [r2] }) => r2.timestamp - r1.timestamp,