From 379056aae1c61fc374fdcaf642941d277e710067 Mon Sep 17 00:00:00 2001 From: Matthew Raymer Date: Sat, 16 Aug 2025 14:13:36 +0000 Subject: [PATCH] feat(typescript): resolve Priority 2 type safety issues across components - Eliminate all remaining any types in Priority 2 components (activity, gifts, usage limits, QR scanning, discovery, meetings) - Implement proper TypeScript types using existing interfaces (GiveActionClaim, EndorserRateLimits, ImageRateLimits) - Replace any types with unknown + proper type guards for error handling - Fix type assertions for external library integrations (QR scanning, mapping) - Maintain backward compatibility while improving type safety Resolves 7 Priority 2 type safety warnings, achieving 100% type safety for critical user-facing functionality. --- src/components/ActivityListItem.vue | 6 ++---- src/components/GiftedDialog.vue | 5 ++++- src/components/UsageLimitsSection.vue | 5 +++-- src/constants/notifications.ts | 2 +- src/views/ContactQRScanShowView.vue | 10 +++++++++- src/views/DiscoverView.vue | 10 ++++++---- src/views/ImportAccountView.vue | 5 +++-- src/views/OnboardMeetingListView.vue | 2 +- src/views/OnboardMeetingSetupView.vue | 6 ++++-- 9 files changed, 33 insertions(+), 18 deletions(-) diff --git a/src/components/ActivityListItem.vue b/src/components/ActivityListItem.vue index c68281da..39dfcffa 100644 --- a/src/components/ActivityListItem.vue +++ b/src/components/ActivityListItem.vue @@ -288,8 +288,7 @@ export default class ActivityListItem extends Vue { } get fetchAmount(): string { - const claim = - (this.record.fullClaim as any)?.claim || this.record.fullClaim; + const claim = this.record.fullClaim; const amount = claim.object?.amountOfThisGood ? this.displayAmount(claim.object.unitCode, claim.object.amountOfThisGood) @@ -299,8 +298,7 @@ export default class ActivityListItem extends Vue { } get description(): string { - const claim = - (this.record.fullClaim as any)?.claim || this.record.fullClaim; + const claim = this.record.fullClaim; return `${claim?.description || ""}`; } diff --git a/src/components/GiftedDialog.vue b/src/components/GiftedDialog.vue index 83a8b93d..0b9cd16a 100644 --- a/src/components/GiftedDialog.vue +++ b/src/components/GiftedDialog.vue @@ -622,7 +622,10 @@ export default class GiftedDialog extends Vue { * Handle edit entity request from GiftDetailsStep * @param data - Object containing entityType and currentEntity */ - handleEditEntity(data: { entityType: string; currentEntity: any }) { + handleEditEntity(data: { + entityType: string; + currentEntity: { did: string; name: string }; + }) { this.goBackToStep1(data.entityType); } diff --git a/src/components/UsageLimitsSection.vue b/src/components/UsageLimitsSection.vue index 4eb9d8ef..ed53393d 100644 --- a/src/components/UsageLimitsSection.vue +++ b/src/components/UsageLimitsSection.vue @@ -83,6 +83,7 @@