From 4c9e903db5ef842568ee140c36e27a2e9c88b893 Mon Sep 17 00:00:00 2001
From: Philippe Virouleau <philippe.virouleau@inria.fr>
Date: Mon, 14 Oct 2024 14:08:10 +0200
Subject: [PATCH] Chips legend

---
 src/app/layout.tsx                      |  4 ++--
 src/components/FeatureChip.tsx          |  2 +-
 src/components/TestImagesTabContent.tsx | 19 ++++++++++++++++---
 src/lib/config.ts                       |  1 +
 4 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 82871b4..4dead4b 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -10,8 +10,8 @@ import CssBaseline from '@mui/material/CssBaseline';
 import OpenIDProvider from '@/components/OpenIDProvider';
 
 export const metadata: Metadata = {
-  title: "Create Next App",
-  description: "Generated by create next app",
+  title: "Pipeline Creation Assistant",
+  description: "Helps you create an environment pipeline",
 };
 
 export const viewport: Viewport = {
diff --git a/src/components/FeatureChip.tsx b/src/components/FeatureChip.tsx
index eb45fc8..28df93d 100644
--- a/src/components/FeatureChip.tsx
+++ b/src/components/FeatureChip.tsx
@@ -8,7 +8,7 @@ function colorForType(type: string) {
     case 'network':
       return 'secondary';
     default:
-      return 'primary';
+      return undefined;
   }
 }
 
diff --git a/src/components/TestImagesTabContent.tsx b/src/components/TestImagesTabContent.tsx
index 3ea7d68..95783e0 100644
--- a/src/components/TestImagesTabContent.tsx
+++ b/src/components/TestImagesTabContent.tsx
@@ -45,6 +45,7 @@ function clusterToOption({ name, arch }: LocalCluster): MinClusterDesc {
 function AcceleratorChip({ accel } : { accel: LocalAccel }) {
   const { vendor, model, type } = accel;
   if (vendor === 'Nvidia') {
+    return <FeatureChip text="NVidia" tooltip={model} type="accel" />;
     return (
       <Tooltip title={model} placement="bottom">
         <NvidiaIcon
@@ -53,7 +54,7 @@ function AcceleratorChip({ accel } : { accel: LocalAccel }) {
       </Tooltip>
     );
   } else if (accel.vendor === 'AMD') {
-    return <FeatureChip text="AMDGpu" tooltip={model} type="accel" />;
+    return <FeatureChip text="AMD" tooltip={model} type="accel" />;
   } else {
     return <FeatureChip text={type} tooltip={model} type="accel" />;
   }
@@ -260,6 +261,17 @@ function computeClustersPerArch(clustersInfo: ClusterById) {
 //}
 //}
 
+function Legend() {
+  return (
+    <Stack direction="row" spacing={1} sx={{ mb: 2 }}>
+      <div>Legend:</div>
+        <FeatureChip type="proc" text="Processor" />
+        <FeatureChip type="accel" text="Accelerator" />
+        <FeatureChip type="network" text="Network" />
+    </Stack>
+  );
+}
+
 export default function TestImagesTabContent({
   clusters, setClusters,
   generations, branch, setBranchState,
@@ -302,7 +314,7 @@ export default function TestImagesTabContent({
   return (
     <Box>
       {refApiData.sitesInfo.data && (
-        <div>
+        <Box sx={{ mb: 2 }}>
           got it
           <button onClick={() => setBranch('fix_16126')}>
             set to fix_16126
@@ -310,7 +322,7 @@ export default function TestImagesTabContent({
           <button onClick={() => setBranch('master')}>
             set to master
           </button>
-        </div>
+        </Box>
       )}
       {refApiData.sitesInfo.error && (
         <ShowError error={refApiData.sitesInfo.error} />
@@ -318,6 +330,7 @@ export default function TestImagesTabContent({
       {refApiData.clustersInfo.error && (
         <ShowError error={refApiData.clustersInfo.error} />
       )}
+      <Legend />
       {clustersByArch && clustersBySite && clustersById && Object.keys(clustersByArch).map(a => (
         <ClustersAccordion
           apiClustersByArch={clustersByArch}
diff --git a/src/lib/config.ts b/src/lib/config.ts
index 030acc1..1a156cb 100644
--- a/src/lib/config.ts
+++ b/src/lib/config.ts
@@ -1,3 +1,4 @@
+// TODO: use environments-recipes' job artifact when it exists.
 import rawconfig from '@/generated/config.json';
 
 export type Architecture = 'x64' | 'arm64' | 'ppc64';
-- 
GitLab