diff --git a/src/components/AvatarInfo.vue b/src/components/AvatarInfo.vue index 8a8bf145..899a36f9 100644 --- a/src/components/AvatarInfo.vue +++ b/src/components/AvatarInfo.vue @@ -3,7 +3,7 @@ {{ avatarName }} - Unknown Avatar + Unknown Avatar {{ avatarTags }} diff --git a/src/components/dialogs/AvatarDialog/SetAvatarTagsDialog.vue b/src/components/dialogs/AvatarDialog/SetAvatarTagsDialog.vue index 8e1fc355..e8170542 100644 --- a/src/components/dialogs/AvatarDialog/SetAvatarTagsDialog.vue +++ b/src/components/dialogs/AvatarDialog/SetAvatarTagsDialog.vue @@ -63,7 +63,7 @@ >{{ props.setAvatarTagsDialog.selectedAvatarIds.length }} / {{ setAvatarTagsDialog.ownAvatars.length }} - + {{ t('dialog.group_member_moderation.unban') }} - + {{ t('dialog.group_member_moderation.progress') }} {{ progressCurrent }}/{{ progressTotal }} { async function refreshUserDialogAvatars(fileId) { const D = userDialog.value; + const userId = D.id; if (D.isAvatarsLoading) { return; } @@ -1237,7 +1238,9 @@ export const useUserStore = defineStore('User', () => { }, done: () => { const array = Array.from(map.values()); - sortUserDialogAvatars(array); + if (userId === D.id) { + sortUserDialogAvatars(array); + } D.isAvatarsLoading = false; if (fileId) { D.loading = false; @@ -1871,6 +1874,10 @@ export const useUserStore = defineStore('User', () => { currentAvatarThumbnailImageUrl: '', date_joined: '', developerType: '', + discordDetails: { + global_name: '', + id: '' + }, discordId: '', displayName: '', emailVerified: false, @@ -1880,6 +1887,7 @@ export const useUserStore = defineStore('User', () => { friends: [], googleId: '', hasBirthday: false, + hasDiscordFriendsOptOut: false, hasEmail: false, hasLoggedInFromClient: false, hasPendingEmail: false, diff --git a/src/views/Favorites/FavoritesAvatar.vue b/src/views/Favorites/FavoritesAvatar.vue index ac769b18..ac67c85d 100644 --- a/src/views/Favorites/FavoritesAvatar.vue +++ b/src/views/Favorites/FavoritesAvatar.vue @@ -1599,7 +1599,6 @@ display: flex; align-items: center; flex-direction: column; - gap: 6px; } .group-item__count { diff --git a/src/views/Favorites/FavoritesFriend.vue b/src/views/Favorites/FavoritesFriend.vue index 7d48f406..110759eb 100644 --- a/src/views/Favorites/FavoritesFriend.vue +++ b/src/views/Favorites/FavoritesFriend.vue @@ -1242,6 +1242,12 @@ font-weight: 600; } + .group-item__right { + display: flex; + align-items: center; + flex-direction: column; + } + .group-item__count { font-size: 12px; } diff --git a/src/views/Favorites/dialogs/AvatarExportDialog.vue b/src/views/Favorites/dialogs/AvatarExportDialog.vue index 5a478b99..f8d4cd6f 100644 --- a/src/views/Favorites/dialogs/AvatarExportDialog.vue +++ b/src/views/Favorites/dialogs/AvatarExportDialog.vue @@ -249,7 +249,7 @@ } } } - avatarExportContent.value = lines.join('\n'); + avatarExportContent.value = lines.reverse().join('\n'); } function selectAvatarExportGroup(group) { avatarExportFavoriteGroup.value = group; diff --git a/src/views/Favorites/dialogs/AvatarImportDialog.vue b/src/views/Favorites/dialogs/AvatarImportDialog.vue index e86911db..720e45c5 100644 --- a/src/views/Favorites/dialogs/AvatarImportDialog.vue +++ b/src/views/Favorites/dialogs/AvatarImportDialog.vue @@ -10,7 +10,7 @@ {{ t('dialog.avatar_import.process_progress') }} {{ avatarImportDialog.progress }} / {{ avatarImportDialog.progressTotal }} - + {{ t('dialog.avatar_import.cancel') }} @@ -89,7 +89,7 @@ - + {{ t('dialog.avatar_import.import_progress') }} {{ avatarImportDialog.importProgress }}/{{ avatarImportDialog.importProgressTotal }} @@ -121,7 +121,7 @@ import { Button } from '@/components/ui/button'; import { DataTableLayout } from '@/components/ui/data-table'; import { InputGroupTextareaField } from '@/components/ui/input-group'; - import { Loader2 } from 'lucide-vue-next'; + import { Spinner } from '@/components/ui/spinner'; import { storeToRefs } from 'pinia'; import { toast } from 'vue-sonner'; import { useI18n } from 'vue-i18n'; @@ -247,11 +247,10 @@ } } D.progress++; - if (D.progress === avatarIdList.size) { - D.progress = 0; - } } D.loading = false; + D.progress = 0; + D.progressTotal = 0; } function deleteItemAvatarImport(ref) { diff --git a/src/views/Favorites/dialogs/FriendExportDialog.vue b/src/views/Favorites/dialogs/FriendExportDialog.vue index 5a604f55..0e2666bb 100644 --- a/src/views/Favorites/dialogs/FriendExportDialog.vue +++ b/src/views/Favorites/dialogs/FriendExportDialog.vue @@ -207,7 +207,7 @@ } } } - friendExportContent.value = lines.join('\n'); + friendExportContent.value = lines.reverse().join('\n'); } function selectFriendExportGroup(group) { diff --git a/src/views/Favorites/dialogs/FriendImportDialog.vue b/src/views/Favorites/dialogs/FriendImportDialog.vue index c6e9e105..7d922d0f 100644 --- a/src/views/Favorites/dialogs/FriendImportDialog.vue +++ b/src/views/Favorites/dialogs/FriendImportDialog.vue @@ -10,7 +10,7 @@ {{ t('dialog.friend_import.process_progress') }} {{ friendImportDialog.progress }} / {{ friendImportDialog.progressTotal }} - + {{ t('dialog.friend_import.cancel') }} @@ -93,7 +93,7 @@ - + {{ t('dialog.friend_import.import_progress') }} {{ friendImportDialog.importProgress }}/{{ friendImportDialog.importProgressTotal }} @@ -124,7 +124,7 @@ import { Button } from '@/components/ui/button'; import { DataTableLayout } from '@/components/ui/data-table'; import { InputGroupTextareaField } from '@/components/ui/input-group'; - import { Loader2 } from 'lucide-vue-next'; + import { Spinner } from '@/components/ui/spinner'; import { storeToRefs } from 'pinia'; import { toast } from 'vue-sonner'; import { useI18n } from 'vue-i18n'; @@ -340,11 +340,10 @@ } } D.progress++; - if (D.progress === userIdList.size) { - D.progress = 0; - } } D.loading = false; + D.progress = 0; + D.progressTotal = 0; } function resetFriendImport() { friendImportDialog.value.input = ''; diff --git a/src/views/Favorites/dialogs/WorldExportDialog.vue b/src/views/Favorites/dialogs/WorldExportDialog.vue index ce3ea7c5..181c2713 100644 --- a/src/views/Favorites/dialogs/WorldExportDialog.vue +++ b/src/views/Favorites/dialogs/WorldExportDialog.vue @@ -242,7 +242,7 @@ } } } - worldExportContent.value = lines.join('\n'); + worldExportContent.value = lines.reverse().join('\n'); } function selectWorldExportGroup(group) { diff --git a/src/views/Favorites/dialogs/WorldImportDialog.vue b/src/views/Favorites/dialogs/WorldImportDialog.vue index cf40108b..9c46b114 100644 --- a/src/views/Favorites/dialogs/WorldImportDialog.vue +++ b/src/views/Favorites/dialogs/WorldImportDialog.vue @@ -10,7 +10,7 @@ {{ t('dialog.world_import.process_progress') }} {{ worldImportDialog.progress }} / {{ worldImportDialog.progressTotal }} - + {{ t('dialog.world_import.cancel') }} @@ -93,7 +93,7 @@ - + {{ t('dialog.world_import.import_progress') }} {{ worldImportDialog.importProgress }}/{{ worldImportDialog.importProgressTotal }} @@ -125,7 +125,7 @@ import { Button } from '@/components/ui/button'; import { DataTableLayout } from '@/components/ui/data-table'; import { InputGroupTextareaField } from '@/components/ui/input-group'; - import { Loader2 } from 'lucide-vue-next'; + import { Spinner } from '@/components/ui/spinner'; import { storeToRefs } from 'pinia'; import { toast } from 'vue-sonner'; import { useI18n } from 'vue-i18n'; @@ -257,11 +257,10 @@ } } D.progress++; - if (D.progress === worldIdList.size) { - D.progress = 0; - } } D.loading = false; + D.progress = 0; + D.progressTotal = 0; } function deleteItemWorldImport(ref) { diff --git a/src/views/Tools/dialogs/NoteExportDialog.vue b/src/views/Tools/dialogs/NoteExportDialog.vue index a1ec2750..30a89c5c 100644 --- a/src/views/Tools/dialogs/NoteExportDialog.vue +++ b/src/views/Tools/dialogs/NoteExportDialog.vue @@ -37,7 +37,7 @@ {{ t('dialog.note_export.cancel') }} - + {{ t('dialog.note_export.progress') }} {{ progress }}/{{ progressTotal }} @@ -67,7 +67,7 @@ import { computed, ref, watch } from 'vue'; import { Button } from '@/components/ui/button'; import { DataTableLayout } from '@/components/ui/data-table'; - import { Loader2 } from 'lucide-vue-next'; + import { Spinner } from '@/components/ui/spinner'; import { storeToRefs } from 'pinia'; import { useI18n } from 'vue-i18n';