Complete QuickActionBvcEndView Enhanced Triple Migration Pattern (4 minutes)

- Replace retrieveAllAccountsMetadata with $getAllAccounts() mixin method
- Standardize contact fetching to use $contacts() method
- Extract long class strings to computed properties for maintainability
- Add $getAllAccounts() method to PlatformServiceMixin for future migrations
- Achieve 75% performance improvement over estimated time
- Ready for human testing across all platforms
This commit is contained in:
Matthew Raymer
2025-07-16 09:03:33 +00:00
parent b1ef7fb9ee
commit d00c14ac38
8 changed files with 460 additions and 167 deletions

View File

@@ -6,10 +6,7 @@
<section id="Content" class="p-6 pb-24 max-w-3xl mx-auto">
<!-- Back -->
<div class="text-lg text-center font-light relative px-7">
<h1
class="text-lg text-center px-2 py-1 absolute -left-2 -top-1"
@click="$router.back()"
>
<h1 :class="backButtonClasses" @click="$router.back()">
<font-awesome icon="chevron-left" class="fa-fw"></font-awesome>
</h1>
</div>
@@ -107,19 +104,12 @@
</div>
<div v-if="canSubmit" class="flex justify-center mt-4">
<button
class="block text-center text-md font-bold 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-3 rounded-md w-56"
@click="record()"
>
<button :class="submitButtonClasses" @click="record()">
Sign & Send
</button>
</div>
<div v-else class="flex justify-center mt-4">
<button
class="block text-center text-md font-bold 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-3 rounded-md w-56"
>
Choose What To Confirm
</button>
<button :class="disabledButtonClasses">Choose What To Confirm</button>
</div>
</section>
</template>
@@ -149,7 +139,7 @@ import {
getHeaders,
} from "../libs/endorserServer";
import { logger } from "../utils/logger";
import { retrieveAllAccountsMetadata } from "@/libs/util";
import { createNotifyHelpers, TIMEOUTS } from "@/utils/notify";
import {
NOTIFY_ERROR_RETRIEVING_CLAIMS,
@@ -216,6 +206,19 @@ export default class QuickActionBvcEndView extends Vue {
: `There are ${this.claimCountByUser} other claims by you`;
}
// Template streamlining: Extract long class strings to computed properties
get backButtonClasses() {
return "text-lg text-center px-2 py-1 absolute -left-2 -top-1";
}
get submitButtonClasses() {
return "block text-center text-md font-bold 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-3 rounded-md w-56";
}
get disabledButtonClasses() {
return "block text-center text-md font-bold 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-3 rounded-md w-56";
}
async created() {
this.loadingConfirms = true;
@@ -226,7 +229,7 @@ export default class QuickActionBvcEndView extends Vue {
this.apiServer = settings.apiServer || "";
this.activeDid = settings.activeDid || "";
this.allContacts = await this.$getAllContacts();
this.allContacts = await this.$contacts();
let currentOrPreviousSat = DateTime.now().setZone("America/Denver");
if (currentOrPreviousSat.weekday < 6) {
@@ -245,7 +248,7 @@ export default class QuickActionBvcEndView extends Vue {
suppressMilliseconds: true,
}) || "";
this.allMyDids = (await retrieveAllAccountsMetadata()).map(
this.allMyDids = (await this.$getAllAccounts()).map(
(account) => account.did,
);
const headers = await getHeaders(this.activeDid);