From a51add5b84f1e4ea95f677100574a69d6a513aab Mon Sep 17 00:00:00 2001
From: Muhammad Arsalan <muhammad@ebi.ac.uk>
Date: Mon, 9 Oct 2023 13:37:54 +0100
Subject: [PATCH] improve search result page

---
 components/search/ResultsList.vue | 56 ++++++++++++++++++++++++++++++-
 model/searchResults.ts            |  1 +
 2 files changed, 56 insertions(+), 1 deletion(-)

diff --git a/components/search/ResultsList.vue b/components/search/ResultsList.vue
index 7669285..b319874 100644
--- a/components/search/ResultsList.vue
+++ b/components/search/ResultsList.vue
@@ -36,7 +36,8 @@
                 ></h4>
               </NuxtLink>
             </v-card-title>
-            <v-row style="flex: 1">
+<!--            Card body display if SVG structure exists -->
+            <v-row style="flex: 1" v-if="result._source.default_structure">
               <v-col
                 cols="4"
                 style="
@@ -90,6 +91,58 @@
                 </v-card-text>
               </v-col>
             </v-row>
+
+<!--            Card body display if structure does not exist (show definition instead)-->
+            <v-row style="flex: 1" v-else>
+              <v-col
+                cols="12"
+                style="
+                  display: flex;
+                  justify-content: center;
+                  align-items: center;
+                  padding-right: 0px;
+                "
+              >
+                <v-card-text>
+                  <div
+                    class="text-overflow-adjust"
+                  >
+                    <b>CHEBI:{{ result._id }} </b><br />
+                  </div>
+                  <div class="text-overflow-adjust">
+                    <b>Stars:</b>
+                    <SharedDisplayStars
+                      :stars="result._source.stars"
+                      :show-tooltip="false"
+                    />
+                  </div>
+                  <div>
+                    <div
+                      class="text-overflow-adjust"
+                      v-if="result._source.formula"
+                    >
+                      <b>Formula: </b>{{ result._source.formula }}<br />
+                    </div>
+                    <div
+                      class="text-overflow-adjust"
+                      v-if="result._source.mass"
+                    >
+                      <b>Mass: </b>{{ result._source.mass }}<br />
+                    </div>
+                    <div
+                      class="text-overflow-adjust"
+                      v-if="result._source.charge"
+                    >
+                      <b>Charge: </b>{{ result._source.charge }}<br />
+                    </div>
+
+                  </div>
+                  <div class="" v-if="result._source.definition">
+                    <b>Definition: </b>{{ result._source.definition }}
+                  </div>
+                </v-card-text>
+              </v-col>
+            </v-row>
           </v-card>
         </v-hover>
       </v-col>
@@ -113,6 +166,7 @@ defineProps<{
         stars: number;
         monoisotopicmass: number;
         ascii_name: string;
+        definition: string;
       };
     }[];
   };
diff --git a/model/searchResults.ts b/model/searchResults.ts
index 7104336..4e6616a 100644
--- a/model/searchResults.ts
+++ b/model/searchResults.ts
@@ -12,6 +12,7 @@ interface SearchResult {
       stars: number;
       monoisotopicmass: number;
       ascii_name: string;
+      definition: string;
     };
   }[];
 }
-- 
GitLab