From 7cd69cb9ee131281f5c094055a9cf56518d1ef27 Mon Sep 17 00:00:00 2001 From: Muhammad Arsalan <muhammad@ebi.ac.uk> Date: Wed, 11 Oct 2023 13:49:28 +0100 Subject: [PATCH] :art: UI improvements --- components/detailPage/Intro.vue | 6 +- components/search/ResultsList.vue | 213 +++++++++++++++--------------- 2 files changed, 112 insertions(+), 107 deletions(-) diff --git a/components/detailPage/Intro.vue b/components/detailPage/Intro.vue index 57cc636..42aea44 100644 --- a/components/detailPage/Intro.vue +++ b/components/detailPage/Intro.vue @@ -29,8 +29,8 @@ {{ entity.chebi_accession }} - <span v-html="entity.name"></span> </h2> <v-row class=""> - <v-col cols="12" md="4"> - <div v-if="entity.svg" class="image-container"> + <v-col md="4" v-if="entity.svg"> + <div class="image-container"> <client-only> <vue-image-zoomer :regular="`${mediaBaseURL}${entity.svg}`" /> </client-only> @@ -46,7 +46,7 @@ ><br /> </div> </v-col> - <v-col cols="12" md="8"> + <v-col :md="entity.svg ? 8 : 12"> <v-table hover density="comfortable"> <tbody> <tr> diff --git a/components/search/ResultsList.vue b/components/search/ResultsList.vue index 49955af..5335953 100644 --- a/components/search/ResultsList.vue +++ b/components/search/ResultsList.vue @@ -10,13 +10,13 @@ xs="12" > <v-hover v-slot="{ isHovering, props }"> - <v-card - v-bind="props" - :elevation="isHovering ? 24 : 6" - style="height: 100%; display: flex; flex-direction: column" - > - <v-card-title v-if="result._source.name.length > 65"> - <NuxtLink :href="'/CHEBI:' + result._id" class="vf-link"> + <NuxtLink :href="'/CHEBI:' + result._id" class="vf-link"> + <v-card + v-bind="props" + :elevation="isHovering ? 24 : 6" + style="height: 100%; display: flex; flex-direction: column" + > + <v-card-title v-if="result._source.name.length > 65"> <v-tooltip :text="result._source.ascii_name"> <template v-slot:activator="{ props }"> <h4 @@ -26,118 +26,120 @@ ></h4> </template> </v-tooltip> - </NuxtLink> - </v-card-title> - <v-card-title v-else> - <NuxtLink :href="'/CHEBI:' + result._id" class="vf-link"> + </v-card-title> + <v-card-title v-else> <h4 class="headline text-overflow-adjust" v-html="result._source.name" ></h4> - </NuxtLink> - </v-card-title> - <!-- Card body display if SVG structure exists --> - <v-row style="flex: 1" v-if="result._source.default_structure"> - <v-col - cols="4" - style=" - display: flex; - justify-content: center; - align-items: center; - padding-right: 0px; - " - > - <v-img - :src=" - mediaBaseUrl + result._source.default_structure + '.svg' + </v-card-title> + <!-- Card body display if SVG structure exists --> + <v-row style="flex: 1" v-if="result._source.default_structure"> + <v-col + cols="4" + style=" + display: flex; + justify-content: center; + align-items: center; + padding-right: 0px; " - ></v-img> - </v-col> - <v-col cols="8"> - <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 /> + > + <v-img + :src=" + mediaBaseUrl + result._source.default_structure + '.svg' + " + ></v-img> + </v-col> + <v-col cols="8"> + <v-card-text> + <div class="text-overflow-adjust"> + <b>CHEBI:{{ result._id }} </b><br /> </div> - <div - class="text-overflow-adjust" - v-if="result._source.mass" - > - <b>Mass: </b>{{ result._source.mass }}<br /> + <div class="text-overflow-adjust"> + <b>Stars:</b> + <SharedDisplayStars + :stars="result._source.stars" + :show-tooltip="false" + /> </div> - <div - class="text-overflow-adjust" - v-if="result._source.charge" - > - <b>Charge: </b>{{ result._source.charge }}<br /> + <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> - </v-card-text> - </v-col> - </v-row> + </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 /> + <!-- 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" - v-if="result._source.mass" - > - <b>Mass: </b>{{ result._source.mass }}<br /> + <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="text-overflow-adjust" - v-if="result._source.charge" + style="-webkit-line-clamp: 3" + v-if="result._source.definition" > - <b>Charge: </b>{{ result._source.charge }}<br /> + <b>Definition: </b>{{ result._source.definition }} </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-card-text> + </v-col> + </v-row> + </v-card> + </NuxtLink> </v-hover> </v-col> </v-row> @@ -175,4 +177,7 @@ defineProps<{ -webkit-box-orient: vertical; white-space: normal; } +.vf-link:hover{ + text-decoration: none; +} </style> -- GitLab