fix linting (and change a little wording in onboarding page)

This commit is contained in:
2025-02-03 16:36:13 -07:00
parent dd281e78fd
commit 64830eeb05
11 changed files with 442 additions and 290 deletions

View File

@@ -117,7 +117,7 @@ export default class PromptDialog extends Vue {
onOption3: this.onOption3,
onCancel: this.onCancel,
} as NotificationIface,
-1
-1,
);
}
@@ -149,4 +149,4 @@ export default class PromptDialog extends Vue {
close("string that does not matter");
}
}
</script>
</script>

View File

@@ -90,7 +90,11 @@
import { Vue, Component, Prop } from "vue-facing-decorator";
import { NotificationIface } from "@/constants/app";
import { createAndSubmitGive, didInfo, serverMessageForUser } from "@/libs/endorserServer";
import {
createAndSubmitGive,
didInfo,
serverMessageForUser,
} from "@/libs/endorserServer";
import * as libsUtil from "@/libs/util";
import { db, retrieveSettingsForActiveAccount } from "@/db/index";
import { Contact } from "@/db/tables/contacts";

View File

@@ -7,8 +7,11 @@
<!-- Members List -->
<div v-else class="space-y-4">
<div v-for="member in decryptedMembers" :key="member.memberId"
class="p-4 bg-gray-50 rounded-lg">
<div
v-for="member in decryptedMembers"
:key="member.memberId"
class="p-4 bg-gray-50 rounded-lg"
>
<h3 class="text-lg font-medium">{{ member.name }}</h3>
<p class="text-sm text-gray-600">{{ member.did }}</p>
</div>
@@ -16,18 +19,29 @@
<p v-if="members.length === 0" class="text-center text-gray-500 py-4">
No members have joined this meeting yet
</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
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>
</template>
<script lang="ts">
import { Component, Vue, Prop } from 'vue-facing-decorator';
import { logConsoleAndDb, retrieveSettingsForActiveAccount } from '@/db/index';
import { errorStringForLog, getHeaders, serverMessageForUser } from '@/libs/endorserServer';
import { decryptMessage } from '@/libs/crypto';
import { Component, Vue, Prop } from "vue-facing-decorator";
import { logConsoleAndDb, retrieveSettingsForActiveAccount } from "@/db/index";
import {
errorStringForLog,
getHeaders,
serverMessageForUser,
} from "@/libs/endorserServer";
import { decryptMessage } from "@/libs/crypto";
interface Member {
memberId: number;
@@ -43,19 +57,20 @@ interface DecryptedMember {
@Component
export default class MembersList extends Vue {
@Prop({ required: true }) password!: string;
@Prop({ default: 'Your password failed. Please go back and try again.' }) decryptFailureMessage!: string;
@Prop({ default: "Your password failed. Please go back and try again." })
decryptFailureMessage!: string;
decryptedMembers: DecryptedMember[] = [];
missingPassword = false;
isLoading = false;
members: Member[] = [];
activeDid = '';
apiServer = '';
activeDid = "";
apiServer = "";
async created() {
const settings = await retrieveSettingsForActiveAccount();
this.activeDid = settings.activeDid || '';
this.apiServer = settings.apiServer || '';
this.activeDid = settings.activeDid || "";
this.apiServer = settings.apiServer || "";
await this.fetchMembers();
}
@@ -65,16 +80,22 @@ export default class MembersList extends Vue {
const headers = await getHeaders(this.activeDid);
const response = await this.axios.get(
`${this.apiServer}/api/partner/groupOnboardMembers/`,
{ headers }
{ headers },
);
if (response.data && response.data.data) {
this.members = response.data.data;
await this.decryptMemberContents();
}
} catch (error) {
logConsoleAndDb('Error fetching members: ' + errorStringForLog(error), true);
this.$emit('error', serverMessageForUser(error) || 'Failed to fetch members.');
logConsoleAndDb(
"Error fetching members: " + errorStringForLog(error),
true,
);
this.$emit(
"error",
serverMessageForUser(error) || "Failed to fetch members.",
);
} finally {
this.isLoading = false;
}
@@ -82,17 +103,20 @@ export default class MembersList extends Vue {
async decryptMemberContents() {
this.decryptedMembers = [];
if (!this.password) {
this.missingPassword = true;
return;
}
for (const member of this.members) {
try {
const decryptedContent = await decryptMessage(member.content, this.password);
const decryptedContent = await decryptMessage(
member.content,
this.password,
);
const content = JSON.parse(decryptedContent);
this.decryptedMembers.push({
memberId: member.memberId,
name: content.name,
@@ -104,4 +128,4 @@ export default class MembersList extends Vue {
}
}
}
</script>
</script>

View File

@@ -83,7 +83,10 @@
import { Vue, Component, Prop } from "vue-facing-decorator";
import { NotificationIface } from "@/constants/app";
import { createAndSubmitOffer, serverMessageForUser } from "@/libs/endorserServer";
import {
createAndSubmitOffer,
serverMessageForUser,
} from "@/libs/endorserServer";
import * as libsUtil from "@/libs/util";
import { retrieveSettingsForActiveAccount } from "@/db/index";