From 3a6a24d9236fc8a4d7d8467e7751de9cfdbb1dbb Mon Sep 17 00:00:00 2001 From: Jose Olarte III <brownspank@anomalistdesign.com> Date: Wed, 12 Mar 2025 16:50:13 +0800 Subject: [PATCH] Contact list tweaks --- src/views/ContactsView.vue | 154 ++++++++++++++++++------------------- 1 file changed, 75 insertions(+), 79 deletions(-) diff --git a/src/views/ContactsView.vue b/src/views/ContactsView.vue index 77aace4..12876bb 100644 --- a/src/views/ContactsView.vue +++ b/src/views/ContactsView.vue @@ -106,7 +106,7 @@ /> <button href="" - class="text-md bg-gradient-to-b shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white ml-2 px-1 py-1 rounded-md" + class="text-md bg-gradient-to-b shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white ml-3 px-3 py-1.5 rounded-md" :style=" contactsSelected.length > 0 ? 'background-image: linear-gradient(to bottom, #3b82f6, #1e40af);' @@ -127,7 +127,7 @@ <div class="w-full text-right"> <button href="" - class="text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1 py-1 rounded-md" + class="text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-3 py-1.5 rounded-md" @click="toggleShowContactAmounts()" > {{ @@ -177,14 +177,7 @@ data-testId="contactListItem" > <div class="grow overflow-hidden"> - <div class="flex items-center"> - <EntityIcon - :contact="contact" - :iconSize="48" - class="inline-block align-text-bottom border border-slate-300 rounded cursor-pointer overflow-hidden" - @click="showLargeIdenticon = contact" - /> - + <div class="flex items-center gap-3"> <input type="checkbox" v-if="!showGiveNumbers" @@ -201,94 +194,97 @@ data-testId="contactCheckOne" /> - <h2 - class="text-base font-semibold ml-2 w-1/3 truncate flex-shrink-0" - > + <EntityIcon + :contact="contact" + :iconSize="48" + class="inline-block align-text-bottom border border-slate-300 rounded cursor-pointer overflow-hidden" + @click="showLargeIdenticon = contact" + /> + + <h2 class="text-base font-semibold w-1/3 truncate flex-shrink-0"> {{ contactNameNonBreakingSpace(contact.name) }} </h2> <span> - <div class="flex items-center"> + <div class="flex gap-2 items-center"> <router-link :to="{ path: '/did/' + encodeURIComponent(contact.did), }" title="See more about this person" > - <fa icon="circle-info" class="text-xl text-blue-500 ml-4" /> + <fa icon="circle-info" class="text-xl text-blue-500" /> </router-link> - <span class="ml-4 text-sm overflow-hidden">{{ + <span class="text-sm overflow-hidden">{{ libsUtil.shortDid(contact.did) }}</span> </div> - <div class="ml-4 text-sm"> + <div class="text-sm"> {{ contact.notes }} </div> </span> </div> - <div id="ContactActions" class="flex gap-1.5 mt-2"> - <div - v-if="showGiveNumbers && contact.did != activeDid" - class="ml-auto flex gap-1.5" + <div + v-if="showGiveNumbers && contact.did != activeDid" + class="ml-auto flex gap-1.5 mt-2" + > + <button + class="text-sm bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-1.5 rounded-l-md" + @click="confirmShowGiftedDialog(contact.did, activeDid)" + :title="givenToMeDescriptions[contact.did] || ''" + > + From: + <br /> + {{ + /* eslint-disable prettier/prettier */ + this.showGiveTotals + ? ((givenToMeConfirmed[contact.did] || 0) + + (givenToMeUnconfirmed[contact.did] || 0)) + : this.showGiveConfirmed + ? (givenToMeConfirmed[contact.did] || 0) + : (givenToMeUnconfirmed[contact.did] || 0) + /* eslint-enable prettier/prettier */ + }} + </button> + + <button + class="text-sm bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white -ml-1.5 px-2 py-1.5 rounded-r-md border-l" + @click="confirmShowGiftedDialog(activeDid, contact.did)" + :title="givenByMeDescriptions[contact.did] || ''" + > + To: + <br /> + {{ + /* eslint-disable prettier/prettier */ + this.showGiveTotals + ? ((givenByMeConfirmed[contact.did] || 0) + + (givenByMeUnconfirmed[contact.did] || 0)) + : this.showGiveConfirmed + ? (givenByMeConfirmed[contact.did] || 0) + : (givenByMeUnconfirmed[contact.did] || 0) + /* eslint-enable prettier/prettier */ + }} + </button> + + <button + class="text-sm bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-1.5 rounded-md border border-blue-400" + @click="openOfferDialog(contact.did, contact.name)" + data-testId="offerButton" + > + Offer + </button> + + <router-link + :to="{ + name: 'contact-amounts', + query: { contactDid: contact.did }, + }" + class="text-sm bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-1.5 rounded-md border border-slate-400" + title="See more given activity" > - <button - class="text-sm bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-1.5 rounded-l-md" - @click="confirmShowGiftedDialog(contact.did, activeDid)" - :title="givenToMeDescriptions[contact.did] || ''" - > - From: - <br /> - {{ - /* eslint-disable prettier/prettier */ - this.showGiveTotals - ? ((givenToMeConfirmed[contact.did] || 0) - + (givenToMeUnconfirmed[contact.did] || 0)) - : this.showGiveConfirmed - ? (givenToMeConfirmed[contact.did] || 0) - : (givenToMeUnconfirmed[contact.did] || 0) - /* eslint-enable prettier/prettier */ - }} - </button> - - <button - class="text-sm bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white -ml-1.5 px-2 py-1.5 rounded-r-md border-l" - @click="confirmShowGiftedDialog(activeDid, contact.did)" - :title="givenByMeDescriptions[contact.did] || ''" - > - To: - <br /> - {{ - /* eslint-disable prettier/prettier */ - this.showGiveTotals - ? ((givenByMeConfirmed[contact.did] || 0) - + (givenByMeUnconfirmed[contact.did] || 0)) - : this.showGiveConfirmed - ? (givenByMeConfirmed[contact.did] || 0) - : (givenByMeUnconfirmed[contact.did] || 0) - /* eslint-enable prettier/prettier */ - }} - </button> - - <button - class="text-sm bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-1.5 rounded-md border border-blue-400" - @click="openOfferDialog(contact.did, contact.name)" - data-testId="offerButton" - > - Offer - </button> - - <router-link - :to="{ - name: 'contact-amounts', - query: { contactDid: contact.did }, - }" - class="text-sm bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-1.5 rounded-md border border-slate-400" - title="See more given activity" - > - <fa icon="file-lines" class="fa-fw" /> - </router-link> - </div> + <fa icon="file-lines" class="fa-fw" /> + </router-link> </div> </div> </li> @@ -310,7 +306,7 @@ /> <button href="" - class="text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white ml-2 px-1 py-1 rounded-md" + class="text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white ml-3 px-3 py-1.5 rounded-md" :style=" contactsSelected.length > 0 ? 'background-image: linear-gradient(to bottom, #3b82f6, #1e40af);'