cache the user-profile lookup results in a list
This commit is contained in:
@@ -34,6 +34,7 @@ import {
|
|||||||
faCircleQuestion,
|
faCircleQuestion,
|
||||||
faCircleRight,
|
faCircleRight,
|
||||||
faCircleUser,
|
faCircleUser,
|
||||||
|
faCircleXmark,
|
||||||
faClock,
|
faClock,
|
||||||
faCoins,
|
faCoins,
|
||||||
faComment,
|
faComment,
|
||||||
@@ -135,6 +136,7 @@ library.add(
|
|||||||
faCircleQuestion,
|
faCircleQuestion,
|
||||||
faCircleRight,
|
faCircleRight,
|
||||||
faCircleUser,
|
faCircleUser,
|
||||||
|
faCircleXmark,
|
||||||
faClock,
|
faClock,
|
||||||
faCoins,
|
faCoins,
|
||||||
faComment,
|
faComment,
|
||||||
|
|||||||
@@ -62,6 +62,11 @@ const routes: Array<RouteRecordRaw> = [
|
|||||||
name: "contact-import",
|
name: "contact-import",
|
||||||
component: () => import("../views/ContactImportView.vue"),
|
component: () => import("../views/ContactImportView.vue"),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/contact-profile-check",
|
||||||
|
name: "contact-profile-check",
|
||||||
|
component: () => import("../views/ContactProfileCheckView.vue"),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/contact-qr",
|
path: "/contact-qr",
|
||||||
name: "contact-qr",
|
name: "contact-qr",
|
||||||
|
|||||||
@@ -55,6 +55,9 @@
|
|||||||
|
|
||||||
<!-- Contact Methods -->
|
<!-- Contact Methods -->
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
|
<label class="block text-sm font-medium text-gray-700"
|
||||||
|
>Contact Methods</label
|
||||||
|
>
|
||||||
<div v-for="(method, index) in contactMethods" :key="index" class="mt-4">
|
<div v-for="(method, index) in contactMethods" :key="index" class="mt-4">
|
||||||
<!-- Type and Value Row -->
|
<!-- Type and Value Row -->
|
||||||
<div class="flex gap-2">
|
<div class="flex gap-2">
|
||||||
|
|||||||
@@ -127,6 +127,20 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Check for Profile (admin/organizer feature) -->
|
||||||
|
<div
|
||||||
|
v-if="showGeneralAdvanced && contactsSelected.length > 0"
|
||||||
|
class="my-3 flex justify-center"
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
class="text-sm uppercase bg-gradient-to-b from-green-400 to-green-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-4 py-2 rounded-md"
|
||||||
|
@click="checkSelectedProfiles"
|
||||||
|
>
|
||||||
|
<font-awesome icon="magnifying-glass" class="fa-fw mr-1" />
|
||||||
|
Check for Profile
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Results List -->
|
<!-- Results List -->
|
||||||
<ul
|
<ul
|
||||||
v-if="contacts.length > 0"
|
v-if="contacts.length > 0"
|
||||||
@@ -334,6 +348,7 @@ export default class ContactsView extends Vue {
|
|||||||
hideRegisterPromptOnNewContact = false;
|
hideRegisterPromptOnNewContact = false;
|
||||||
isRegistered = false;
|
isRegistered = false;
|
||||||
showDidCopy = false;
|
showDidCopy = false;
|
||||||
|
showGeneralAdvanced = false;
|
||||||
showPubKeyCopy = false;
|
showPubKeyCopy = false;
|
||||||
showPubKeyHashCopy = false;
|
showPubKeyHashCopy = false;
|
||||||
showGiveNumbers = false;
|
showGiveNumbers = false;
|
||||||
@@ -377,6 +392,7 @@ export default class ContactsView extends Vue {
|
|||||||
await this.processContactJwt();
|
await this.processContactJwt();
|
||||||
await this.processInviteJwt();
|
await this.processInviteJwt();
|
||||||
|
|
||||||
|
this.showGeneralAdvanced = !!settings.showGeneralAdvanced;
|
||||||
this.showGiveNumbers = !!settings.showContactGivesInline;
|
this.showGiveNumbers = !!settings.showContactGivesInline;
|
||||||
this.hideRegisterPromptOnNewContact =
|
this.hideRegisterPromptOnNewContact =
|
||||||
!!settings.hideRegisterPromptOnNewContact;
|
!!settings.hideRegisterPromptOnNewContact;
|
||||||
@@ -598,6 +614,17 @@ export default class ContactsView extends Vue {
|
|||||||
this.contactsFiltered = await this.filteredContacts();
|
this.contactsFiltered = await this.filteredContacts();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Navigate to profile check view with selected contacts
|
||||||
|
*/
|
||||||
|
checkSelectedProfiles() {
|
||||||
|
sessionStorage.setItem("profileCheckFresh", "true");
|
||||||
|
this.$router.push({
|
||||||
|
name: "contact-profile-check",
|
||||||
|
query: { dids: JSON.stringify(this.contactsSelected) },
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
get copyButtonClass() {
|
get copyButtonClass() {
|
||||||
return this.contactsSelected.length > 0
|
return this.contactsSelected.length > 0
|
||||||
? "text-md bg-gradient-to-b from-blue-400 to-blue-700 " +
|
? "text-md bg-gradient-to-b from-blue-400 to-blue-700 " +
|
||||||
|
|||||||
Reference in New Issue
Block a user