Browse Source

fix problem with you-are-missing message and refactor other messages in onboard meeting

master
Trent Larson 2 days ago
parent
commit
93831c372a
  1. 59
      src/components/MembersList.vue
  2. 59
      src/views/ContactsView.vue
  3. 9
      src/views/OnboardMeetingMembersView.vue
  4. 2
      src/views/OnboardMeetingSetupView.vue

59
src/components/MembersList.vue

@ -6,11 +6,57 @@
</div> </div>
<!-- Members List --> <!-- Members List -->
<p
v-if="decryptedMembers.length < members.length"
class="text-center text-red-600 py-4"
>
{{
decryptFailureMessage ||
"Your password failed. Please go back and try again."
}}
</p>
<div v-else class="space-y-4"> <div v-else class="space-y-4">
<div v-if="missingMyself" class="py-4"> <div v-if="missingMyself" class="py-4">
You are not yet admitted. The organizer will admit you. You are not yet admitted. The organizer will admit you.
</div> </div>
<div>
<span
v-if="showOrganizerTools && isOrganizer"
class="inline-flex items-center flex-wrap"
>
<span>Use these next to each person to add/remove them to/from the</span>
<span class="inline-flex items-center whitespace-nowrap">
<span>&nbsp;meeting:</span>
<span
class="ml-2 w-6 h-6 flex items-center justify-center rounded-full bg-blue-100 text-blue-600 hover:bg-blue-200 hover:text-blue-800 transition-colors"
>
<fa icon="plus" class="text-sm" />
</span>
<span
class="ml-2 w-6 h-6 flex items-center justify-center rounded-full bg-blue-100 text-blue-600 hover:bg-blue-200 hover:text-blue-800 transition-colors"
>
<fa icon="minus" class="text-sm" />
</span>
</span>
</span>
</div>
<div>
<span class="inline-flex items-center flex-wrap">
<span>Use this next to each person to add them to your</span>
<span class="inline-flex items-center whitespace-nowrap">
<span>&nbsp;contacts:</span>
<span
class="ml-2 w-8 h-8 flex items-center justify-center rounded-full bg-green-100 text-green-600"
>
<fa icon="circle-user" class="text-xl" />
</span>
</span>
</span>
</div>
<div v-if="members.length > 0" class="flex justify-end"> <div v-if="members.length > 0" class="flex justify-end">
<button <button
@click="fetchMembers" @click="fetchMembers"
@ -90,15 +136,6 @@
<p v-if="members.length === 0" class="text-gray-500 py-4"> <p v-if="members.length === 0" class="text-gray-500 py-4">
No members have joined this meeting yet No members have joined this meeting yet
</p> </p>
<p
v-if="decryptedMembers.length < members.length"
class="text-center text-red-600 py-4"
>
{{
decryptFailureMessage ||
"Your password failed. Please go back and try again."
}}
</p>
</div> </div>
</div> </div>
</template> </template>
@ -287,9 +324,7 @@ export default class MembersList extends Vue {
} }
isFirstEntry = false; isFirstEntry = false;
} }
if (!foundMyself) { this.missingMyself = !foundMyself;
this.missingMyself = true;
}
} }
informAboutAdmission() { informAboutAdmission() {

59
src/views/ContactsView.vue

@ -30,12 +30,13 @@
> >
<fa icon="envelope-open-text" class="fa-fw text-2xl" /> <fa icon="envelope-open-text" class="fa-fw text-2xl" />
</router-link> </router-link>
<router-link
:to="{ name: 'onboard-meeting-setup' }" <button
@click="showOnboardMeetingDialog()"
class="flex items-center 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-1.5 py-1 mr-1 rounded-md" class="flex items-center 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-1.5 py-1 mr-1 rounded-md"
> >
<fa icon="chair" class="fa-fw text-2xl" /> <fa icon="chair" class="fa-fw text-2xl" />
</router-link> </button>
</span> </span>
<span v-else class="flex"> <span v-else class="flex">
<span <span
@ -1398,5 +1399,57 @@ export default class ContactsView extends Vue {
5000, 5000,
); );
} }
private async showOnboardMeetingDialog() {
try {
// First check if they're in a meeting
const headers = await getHeaders(this.activeDid);
const memberResponse = await this.axios.get(
this.apiServer + "/api/partner/groupOnboardMember",
{ headers }
);
if (memberResponse.data.data) {
// They're in a meeting, check if they're the host
const hostResponse = await this.axios.get(
this.apiServer + "/api/partner/groupOnboard",
{ headers }
);
if (hostResponse.data.data) {
// They're the host, take them to setup
(this.$router as Router).push({ name: "onboard-meeting-setup" });
} else {
// They're not the host, take them to list
(this.$router as Router).push({ name: "onboard-meeting-list" });
}
} else {
// They're not in a meeting, show the dialog
this.$notify(
{
group: "modal",
type: "confirm",
title: "Onboarding Meeting",
text: "Would you like to start a new meeting?",
onYes: () => {
(this.$router as Router).push({ name: "onboard-meeting-setup" });
},
yesText: "Start New Meeting",
onNo: () => {
(this.$router as Router).push({ name: "onboard-meeting-list" });
},
noText: "Join Existing Meeting"
},
-1
);
}
} catch (error) {
logConsoleAndDb("Error checking meeting status:" + errorStringForLog(error));
this.danger(
"There was an error checking your meeting status.",
"Meeting Error"
);
}
}
} }
</script> </script>

9
src/views/OnboardMeetingMembersView.vue

@ -8,15 +8,6 @@
Meeting Members Meeting Members
</h1> </h1>
<!-- Back Button -->
<button
@click="$router.back()"
class="mb-6 flex items-center text-blue-600 hover:text-blue-800"
>
<fa icon="arrow-left" class="mr-2" />
Back to Meetings
</button>
<!-- Error State --> <!-- Error State -->
<div v-if="errorMessage"> <div v-if="errorMessage">
<div class="text-center text-red-600 py-8"> <div class="text-center text-red-600 py-8">

2
src/views/OnboardMeetingSetupView.vue

@ -211,7 +211,7 @@
:decrypt-failure-message="DECRYPT_FAILURE_MESSAGE" :decrypt-failure-message="DECRYPT_FAILURE_MESSAGE"
:show-organizer-tools="true" :show-organizer-tools="true"
@error="handleMembersError" @error="handleMembersError"
class="mt-8" class="mt-4"
/> />
</div> </div>

Loading…
Cancel
Save