add enable mutual friends sharing prompt

This commit is contained in:
pa
2025-11-25 22:00:05 +09:00
committed by Natsumi
parent 05c5b32755
commit 5176447e69
4 changed files with 40 additions and 8 deletions

View File

@@ -1418,7 +1418,8 @@
sortUserDialogAvatars,
refreshUserDialogAvatars,
refreshUserDialogTreeData,
showSendBoopDialog
showSendBoopDialog,
toggleSharedConnectionsOptOut
} = useUserStore();
const { favoriteLimits } = storeToRefs(useFavoriteStore());
const { showFavoriteDialog, handleFavoriteWorldList } = useFavoriteStore();
@@ -2443,12 +2444,6 @@
});
}
function toggleSharedConnectionsOptOut() {
userRequest.saveCurrentUser({
hasSharedConnectionsOptOut: !currentUser.value.hasSharedConnectionsOptOut
});
}
function resetHome() {
ElMessageBox.confirm('Continue? Reset Home', 'Confirm', {
confirmButtonText: 'Confirm',

View File

@@ -320,6 +320,12 @@
"confirm": "Start Fetch",
"cancel": "Maybe Later"
},
"enable_sharing_prompt": {
"title": "Enable Mutual Friends Sharing",
"message": "Mutual friends sharing is currently disabled. Do you want to enable it now?",
"confirm": "Enable",
"cancel": "Cancel"
},
"messages": {
"fetch_cancelled_graph_not_updated": "Fetch cancelled"
},

View File

@@ -2021,6 +2021,13 @@ export const useUserStore = defineStore('User', () => {
sendBoopDialog.value.visible = true;
}
function toggleSharedConnectionsOptOut() {
userRequest.saveCurrentUser({
hasSharedConnectionsOptOut:
!currentUser.value.hasSharedConnectionsOptOut
});
}
return {
state,
@@ -2048,6 +2055,7 @@ export const useUserStore = defineStore('User', () => {
getCurrentUser,
handleConfig,
showSendBoopDialog,
checkNote
checkNote,
toggleSharedConnectionsOptOut
};
});

View File

@@ -189,6 +189,10 @@
try {
const snapshot = await database.getMutualGraphSnapshot();
if (!snapshot || snapshot.size === 0) {
if (isOptOut.value) {
promptEnableMutualFriendsSharing();
return;
}
await promptInitialFetch();
return;
}
@@ -239,6 +243,25 @@
}
}
function promptEnableMutualFriendsSharing() {
ElMessageBox.confirm(
t('view.charts.mutual_friend.enable_sharing_prompt.message'),
t('view.charts.mutual_friend.enable_sharing_prompt.title'),
{
confirmButtonText: t('view.charts.mutual_friend.enable_sharing_prompt.confirm'),
cancelButtonText: t('view.charts.mutual_friend.enable_sharing_prompt.cancel'),
type: 'info'
}
)
.then(() => {
userStore.toggleSharedConnectionsOptOut();
promptInitialFetch();
})
.catch(() => {
// cancelled
});
}
function cancelFetch() {
if (isFetching.value) {
status.cancelRequested = true;