Show Discord Connections toggle

This commit is contained in:
Natsumi
2026-02-10 14:32:14 +13:00
parent 37c41a5311
commit 927e564a30
5 changed files with 33 additions and 6 deletions

View File

@@ -402,6 +402,15 @@
<span v-else class="extra">{{ t('dialog.user.info.avatar_cloning_deny') }}</span> <span v-else class="extra">{{ t('dialog.user.info.avatar_cloning_deny') }}</span>
</div> </div>
</div> </div>
<div class="x-friend-item" @click="toggleDiscordFriendsOptOut">
<div class="detail">
<span class="name">{{ t('dialog.user.info.show_discord_connections') }}</span>
<span v-if="!currentUser.hasDiscordFriendsOptOut" class="extra">{{
t('dialog.user.info.avatar_cloning_allow')
}}</span>
<span v-else class="extra">{{ t('dialog.user.info.avatar_cloning_deny') }}</span>
</div>
</div>
</template> </template>
<template v-else> <template v-else>
<div class="x-friend-item" style="cursor: default"> <div class="x-friend-item" style="cursor: default">
@@ -1368,7 +1377,8 @@
sortUserDialogAvatars, sortUserDialogAvatars,
refreshUserDialogAvatars, refreshUserDialogAvatars,
showSendBoopDialog, showSendBoopDialog,
toggleSharedConnectionsOptOut toggleSharedConnectionsOptOut,
toggleDiscordFriendsOptOut
} = useUserStore(); } = useUserStore();
const { favoriteLimits } = storeToRefs(useFavoriteStore()); const { favoriteLimits } = storeToRefs(useFavoriteStore());
const { showFavoriteDialog, handleFavoriteWorldList } = useFavoriteStore(); const { showFavoriteDialog, handleFavoriteWorldList } = useFavoriteStore();

View File

@@ -312,7 +312,8 @@
"economy": { "economy": {
"received": { "received": {
"gift": "Gift Received" "gift": "Gift Received"
} },
"alert": "Economy Alert"
} }
} }
}, },
@@ -1124,7 +1125,8 @@
"close_instance": "Close Instance", "close_instance": "Close Instance",
"instance_age_gated": "age gated", "instance_age_gated": "age gated",
"open_previous_instance": "Open Previous Instances", "open_previous_instance": "Open Previous Instances",
"show_mutual_friends": "Show Mutual Friends" "show_mutual_friends": "Show Mutual Friends",
"show_discord_connections": "Show Discord Connections"
}, },
"groups": { "groups": {
"header": "Groups", "header": "Groups",

View File

@@ -100,6 +100,7 @@ export const useUserStore = defineStore('User', () => {
friends: [], friends: [],
googleId: '', googleId: '',
hasBirthday: false, hasBirthday: false,
hasDiscordFriendsOptOut: false,
hasEmail: false, hasEmail: false,
hasLoggedInFromClient: false, hasLoggedInFromClient: false,
hasPendingEmail: false, hasPendingEmail: false,
@@ -2054,6 +2055,12 @@ export const useUserStore = defineStore('User', () => {
}); });
} }
function toggleDiscordFriendsOptOut() {
userRequest.saveCurrentUser({
hasDiscordFriendsOptOut: !currentUser.value.hasDiscordFriendsOptOut
});
}
return { return {
state, state,
@@ -2081,6 +2088,7 @@ export const useUserStore = defineStore('User', () => {
handleConfig, handleConfig,
showSendBoopDialog, showSendBoopDialog,
checkNote, checkNote,
toggleSharedConnectionsOptOut toggleSharedConnectionsOptOut,
toggleDiscordFriendsOptOut
}; };
}); });

View File

@@ -318,6 +318,10 @@
showGroupDialog(ids[0]); showGroupDialog(ids[0]);
// ids[1] cal_ is the event id // ids[1] cal_ is the event id
break; break;
case 'openNotificationLink':
default:
toast.error('Unsupported notification link type');
break;
} }
} }

View File

@@ -524,12 +524,15 @@ export const createColumns = ({
original.type !== 'groupChange' && original.type !== 'groupChange' &&
!original.type?.includes('group.') && !original.type?.includes('group.') &&
!original.type?.includes('moderation.') && !original.type?.includes('moderation.') &&
!original.type?.includes('instance.'); !original.type?.includes('instance.') &&
!original.link?.startsWith('economy.');
const showDeleteLog = const showDeleteLog =
original.type !== 'friendRequest' && original.type !== 'friendRequest' &&
original.type !== 'ignoredFriendRequest' && original.type !== 'ignoredFriendRequest' &&
!original.type?.includes('group.') && !original.type?.includes('group.') &&
!original.type?.includes('moderation.'); !original.type?.includes('moderation.') &&
!original.type?.includes('instance.') &&
!original.link?.startsWith('economy.');
return ( return (
<div class="flex items-center justify-end gap-2"> <div class="flex items-center justify-end gap-2">