forked from jsnbuchanan/crowd-funder-for-time-pwa
feat: pause auto-refresh when SetVisibilityDialog is open
- Pause auto-refresh when SetVisibilityDialog becomes visible - Resume auto-refresh when dialog is closed - Prevents background refresh interference during visibility settings - Fix type compatibility for visibilityDialogMembers data structure This ensures users can interact with the visibility dialog without the members list refreshing in the background, providing a better user experience for setting member visibility preferences.
This commit is contained in:
@@ -447,9 +447,12 @@ export default class MembersList extends Vue {
|
|||||||
return !contact || !contact.seesMe;
|
return !contact || !contact.seesMe;
|
||||||
})
|
})
|
||||||
.map((member) => ({
|
.map((member) => ({
|
||||||
...member,
|
did: member.did,
|
||||||
|
name: member.name,
|
||||||
isContact: !!this.getContactFor(member.did),
|
isContact: !!this.getContactFor(member.did),
|
||||||
contact: this.getContactFor(member.did),
|
member: {
|
||||||
|
memberId: member.member.memberId.toString(),
|
||||||
|
},
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -595,6 +598,9 @@ export default class MembersList extends Vue {
|
|||||||
// Filter members to show only those who need visibility set
|
// Filter members to show only those who need visibility set
|
||||||
const membersForVisibility = this.getMembersForVisibility();
|
const membersForVisibility = this.getMembersForVisibility();
|
||||||
|
|
||||||
|
// Pause auto-refresh when dialog opens
|
||||||
|
this.stopAutoRefresh();
|
||||||
|
|
||||||
// Open the dialog directly
|
// Open the dialog directly
|
||||||
this.visibilityDialogMembers = membersForVisibility;
|
this.visibilityDialogMembers = membersForVisibility;
|
||||||
this.showSetVisibilityDialog = true;
|
this.showSetVisibilityDialog = true;
|
||||||
@@ -648,6 +654,8 @@ export default class MembersList extends Vue {
|
|||||||
this.visibilityDialogMembers = [];
|
this.visibilityDialogMembers = [];
|
||||||
// Refresh data when dialog is closed
|
// Refresh data when dialog is closed
|
||||||
this.refreshData();
|
this.refreshData();
|
||||||
|
// Resume auto-refresh when dialog is closed
|
||||||
|
this.startAutoRefresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
|
|||||||
Reference in New Issue
Block a user