# HG changeset patch
# User Raphaël Gomès <rgomes@octobus.net>
# Date 1657577369 -7200
#      Tue Jul 12 00:09:29 2022 +0200
# Node ID 43127194326e6de9d91dfb45be14c9c2e888a0a4
# Parent  f334a1ed5eb1aaa88faa01bdc9c0d896a486389c
web-ui: group more graphs together, don't segment by branch

diff --git a/web-ui/src/App.svelte b/web-ui/src/App.svelte
--- a/web-ui/src/App.svelte
+++ b/web-ui/src/App.svelte
@@ -1,19 +1,5 @@
 <script lang="ts">
   import Benchmark from "./lib/Benchmark.svelte";
-
-  /**
-   * Group results as expected by `Benchmark`
-   */
-  const groupResults = (results) => {
-    return results.reduce((acc, result) => {
-      const key = result["bin-env-vars"]["hg"]["flavor"];
-      if (!acc.hasOwnProperty(key)) {
-        acc[key] = [];
-      }
-      acc[key].push(result);
-      return acc;
-    }, {});
-  };
 </script>
 
 <main>
@@ -23,11 +9,7 @@
     <h2>Loading...</h2>
   {:then allResults}
     {#each Object.entries(allResults.default) as [name, results]}
-      <h2>{name}</h2>
-      {#each Object.entries(groupResults(results)) as [flavor, results]}
-        <h3>Flavor: {flavor}</h3>
-        <Benchmark {results} />
-      {/each}
+      <Benchmark {name} {results} />
     {/each}
   {/await}
 </main>
diff --git a/web-ui/src/lib/Benchmark.svelte b/web-ui/src/lib/Benchmark.svelte
--- a/web-ui/src/lib/Benchmark.svelte
+++ b/web-ui/src/lib/Benchmark.svelte
@@ -1,6 +1,7 @@
 <script lang="ts">
     import Graph from "./Graph.svelte";
 
+    export let name;
     export let results;
 
     /**
@@ -8,7 +9,8 @@
      */
     const groupResults = (results) => {
         return results.reduce((acc, result) => {
-            const key = result["data-env-vars"]["name"].split("-", 1)[0];
+            const repoName = result["data-env-vars"]["name"].split("-", 1)[0];
+            const key = repoName;
             if (!acc.hasOwnProperty(key)) {
                 acc[key] = [];
             }
@@ -19,6 +21,7 @@
 </script>
 
 <div class="benchmark">
+    <h2>{name}</h2>
     <div class="graphs">
         {#each Object.entries(groupResults(results)) as [repoName, data]}
             <Graph title={repoName} {data} />
diff --git a/web-ui/src/lib/Graph.svelte b/web-ui/src/lib/Graph.svelte
--- a/web-ui/src/lib/Graph.svelte
+++ b/web-ui/src/lib/Graph.svelte
@@ -17,10 +17,9 @@
         return acc;
       }
       const dataEnvName = result["data-env-vars"]["name"];
-      const key =
-        dataEnvName.slice(dataEnvName.split("-", 1)[0].length + 1) +
-        "-" +
-        result["bin-env-vars"]["hg"]["changeset"]["branch"];
+      const variant = dataEnvName.slice(dataEnvName.split("-", 1)[0].length + 1);
+      const flavor = result["bin-env-vars"]["hg"]["flavor"];
+      const key = `${variant}-${flavor}`;
       if (!acc.hasOwnProperty(key)) {
         acc[key] = [];
       }