Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Sort projects in seed view by most recent activity
Sebastian Martinez committed 2 years ago
commit f4bf5b9c6ad7eb6472a7273d377ba431ff7b8a6a
parent 99ec07e0a3a258d4b9f190509b0b8ef27ccafb80
2 files changed +5 -18
modified src/views/seeds/router.ts
@@ -58,10 +58,14 @@ export async function loadProjects(
      };
    }),
  );
+
  // Sorts projects by most recent commit descending.
+
  const sortedProjects = results.sort(
+
    (a, b) => b.activity[0].time - a.activity[0].time,
+
  );

  return {
    total: nodeStats.projects.count,
-
    projects: results,
+
    projects: sortedProjects,
  };
}

modified tests/visual/seed.spec.ts
@@ -1,4 +1,3 @@
-
import type { Project } from "@httpd-client";
import { test, expect } from "@tests/support/fixtures.js";

test("seed page", async ({ page }) => {
@@ -12,22 +11,6 @@ test("seed page", async ({ page }) => {
    };
  });

-
  // Repos in heartwood are read from storage with `fs::read_dir`
-
  // which has no deterministic ordering, it depends on
-
  // the filesystem and the operating system.
-
  //
-
  // > The order in which this iterator returns entries is platform and filesystem dependent.
-
  // source: https://doc.rust-lang.org/std/fs/fn.read_dir.html
-
  //
-
  // So we sort the request here, to get a visually persistent listing.
-
  // TODO: If at some point project sorting is introduced we can probably remove this.
-
  await page.route("**/api/v1/projects?page=0&perPage=10", async route => {
-
    const response = await route.fetch();
-
    const json: Project[] = await response.json();
-
    json.sort((a, b) => a.name.localeCompare(b.name));
-
    await route.fulfill({ response, json });
-
  });
-

  await page.goto("/seeds/radicle.local", { waitUntil: "networkidle" });
  await expect(page).toHaveScreenshot();
});