diff --git a/src/components/NavMenu.vue b/src/components/NavMenu.vue index 6073fc30..7f715bf1 100644 --- a/src/components/NavMenu.vue +++ b/src/components/NavMenu.vue @@ -46,7 +46,7 @@ v-for="entry in item.children" :key="entry.index" :index="entry.index" - class="pl-8!" + class="pl-9!" :class="{ notify: isEntryNotified(entry) }" @click="handleSubmenuClick(entry, item.index)"> @@ -254,7 +254,6 @@ import { useRouter } from 'vue-router'; import { - useAdvancedSettingsStore, useAppearanceSettingsStore, useAuthStore, useSearchStore, @@ -262,7 +261,6 @@ useVRCXUpdaterStore } from '../stores'; import { THEME_CONFIG, links, navDefinitions } from '../shared/constants'; - import { getSentry } from '../plugin'; import { openExternalLink } from '../shared/utils'; import { useThemePrimaryColor } from '../composables/useElementTheme'; diff --git a/src/components/dialogs/NewInstanceDialog.vue b/src/components/dialogs/NewInstanceDialog.vue index eeb19a26..8c210d54 100644 --- a/src/components/dialogs/NewInstanceDialog.vue +++ b/src/components/dialogs/NewInstanceDialog.vue @@ -15,10 +15,12 @@ variant="outline" size="sm" :model-value="newInstanceDialog.accessType" - @update:model-value="(value) => { - newInstanceDialog.accessType = value; - buildInstance(); - }"> + @update:model-value=" + (value) => { + newInstanceDialog.accessType = value; + buildInstance(); + } + "> {{ t('dialog.new_instance.access_type_public') }} @@ -48,18 +50,24 @@ variant="outline" size="sm" :model-value="newInstanceDialog.groupAccessType" - @update:model-value="(value) => { - newInstanceDialog.groupAccessType = value; - buildInstance(); - }"> + @update:model-value=" + (value) => { + newInstanceDialog.groupAccessType = value; + buildInstance(); + } + "> {{ t('dialog.new_instance.group_access_type_members') }} {{ t('dialog.new_instance.group_access_type_plus') }} + @update:model-value=" + (value) => { + newInstanceDialog.region = value; + buildInstance(); + } + "> {{ t('dialog.new_instance.region_usw') }} {{ t('dialog.new_instance.region_use') }} {{ t('dialog.new_instance.region_eu') }} @@ -198,10 +208,12 @@ variant="outline" size="sm" :model-value="newInstanceDialog.accessType" - @update:model-value="(value) => { - newInstanceDialog.accessType = value; - buildLegacyInstance(); - }"> + @update:model-value=" + (value) => { + newInstanceDialog.accessType = value; + buildLegacyInstance(); + } + "> {{ t('dialog.new_instance.access_type_public') }} @@ -231,10 +243,12 @@ variant="outline" size="sm" :model-value="newInstanceDialog.groupAccessType" - @update:model-value="(value) => { - newInstanceDialog.groupAccessType = value; - buildLegacyInstance(); - }"> + @update:model-value=" + (value) => { + newInstanceDialog.groupAccessType = value; + buildLegacyInstance(); + } + "> {{ t('dialog.new_instance.group_access_type_members') }} @@ -253,10 +267,12 @@ variant="outline" size="sm" :model-value="newInstanceDialog.region" - @update:model-value="(value) => { - newInstanceDialog.region = value; - buildLegacyInstance(); - }"> + @update:model-value=" + (value) => { + newInstanceDialog.region = value; + buildLegacyInstance(); + } + "> {{ t('dialog.new_instance.region_usw') }} {{ t('dialog.new_instance.region_use') }} {{ t('dialog.new_instance.region_eu') }} @@ -524,8 +540,6 @@ import { toast } from 'vue-sonner'; import { useI18n } from 'vue-i18n'; - import { ToggleGroup, ToggleGroupItem } from '../ui/toggle-group'; - import { copyToClipboard, getLaunchURL, @@ -545,6 +559,7 @@ useUserStore } from '../../stores'; import { groupRequest, instanceRequest, worldRequest } from '../../api'; + import { ToggleGroup, ToggleGroupItem } from '../ui/toggle-group'; import { getNextDialogIndex } from '../../shared/utils/base/ui'; import InviteDialog from './InviteDialog/InviteDialog.vue'; diff --git a/src/views/Favorites/FavoritesAvatar.vue b/src/views/Favorites/FavoritesAvatar.vue index 7d4c2419..e96c3a21 100644 --- a/src/views/Favorites/FavoritesAvatar.vue +++ b/src/views/Favorites/FavoritesAvatar.vue @@ -17,45 +17,44 @@ class="favorites-toolbar__search" :placeholder="t('view.favorite.avatars.search')" @input="searchAvatarFavorites" /> - - - - + + + + + +
  • +
    + Scale + {{ avatarCardScalePercent }}% +
    + +
  • +
  • +
    + Spacing + {{ avatarCardSpacingPercent }}% +
    + +
  • + + + {{ t('view.favorite.import') }} + + + {{ t('view.favorite.export') }} + +
    +
    @@ -487,6 +486,13 @@ import { toast } from 'vue-sonner'; import { useI18n } from 'vue-i18n'; + import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuSeparator, + DropdownMenuTrigger + } from '../../components/ui/dropdown-menu'; import { useAppearanceSettingsStore, useAvatarStore, useFavoriteStore, useUserStore } from '../../stores'; import { Popover, PopoverContent, PopoverTrigger } from '../../components/ui/popover'; import { avatarRequest, favoriteRequest } from '../../api'; @@ -597,7 +603,7 @@ const avatarEditMode = ref(false); const selectedGroup = ref(null); const activeGroupMenu = ref(null); - const avatarToolbarMenuRef = ref(); + const avatarToolbarMenuOpen = ref(false); const isCreatingLocalGroup = ref(false); const newLocalGroupName = ref(''); const newLocalGroupInput = ref(null); @@ -632,7 +638,7 @@ const historyGroupMenuKey = 'history'; const closeAvatarToolbarMenu = () => { - avatarToolbarMenuRef.value?.handleClose?.(); + avatarToolbarMenuOpen.value = false; }; function handleAvatarImportClick() { diff --git a/src/views/Favorites/FavoritesFriend.vue b/src/views/Favorites/FavoritesFriend.vue index 6bec77cc..88ac387b 100644 --- a/src/views/Favorites/FavoritesFriend.vue +++ b/src/views/Favorites/FavoritesFriend.vue @@ -17,47 +17,44 @@ class="favorites-toolbar__search" :placeholder="t('view.favorite.worlds.search')" @input="searchFriendFavorites" /> - - - - + + + + + +
  • +
    + Scale + {{ friendCardScalePercent }}% +
    + +
  • +
  • +
    + Spacing + {{ friendCardSpacingPercent }}% +
    + +
  • + + + {{ t('view.favorite.import') }} + + + {{ t('view.favorite.export') }} + +
    +
    @@ -279,6 +276,13 @@ import { toast } from 'vue-sonner'; import { useI18n } from 'vue-i18n'; + import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuSeparator, + DropdownMenuTrigger + } from '../../components/ui/dropdown-menu'; import { Popover, PopoverContent, PopoverTrigger } from '../../components/ui/popover'; import { useAppearanceSettingsStore, useFavoriteStore, useUserStore } from '../../stores'; import { Badge } from '../../components/ui/badge'; @@ -363,7 +367,7 @@ const friendEditMode = ref(false); const selectedGroup = ref(null); const activeGroupMenu = ref(null); - const friendToolbarMenuRef = ref(); + const friendToolbarMenuOpen = ref(false); const sortFav = computed({ get() { @@ -380,7 +384,7 @@ const isRemoteGroupSelected = computed(() => selectedGroup.value?.type === 'remote'); const closeFriendToolbarMenu = () => { - friendToolbarMenuRef.value?.handleClose?.(); + friendToolbarMenuOpen.value = false; }; function handleFriendImportClick() { diff --git a/src/views/Favorites/FavoritesWorld.vue b/src/views/Favorites/FavoritesWorld.vue index 3bfe67d4..62609694 100644 --- a/src/views/Favorites/FavoritesWorld.vue +++ b/src/views/Favorites/FavoritesWorld.vue @@ -17,47 +17,44 @@ class="favorites-toolbar__search" :placeholder="t('view.favorite.worlds.search')" @input="searchWorldFavorites" /> - - - - + + + + + +
  • +
    + Scale + {{ worldCardScalePercent }}% +
    + +
  • +
  • +
    + Spacing + {{ worldCardSpacingPercent }}% +
    + +
  • + + + {{ t('view.favorite.import') }} + + + {{ t('view.favorite.export') }} + +
    +
    @@ -406,6 +403,13 @@ import { toast } from 'vue-sonner'; import { useI18n } from 'vue-i18n'; + import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuSeparator, + DropdownMenuTrigger + } from '../../components/ui/dropdown-menu'; import { Popover, PopoverContent, PopoverTrigger } from '../../components/ui/popover'; import { useAppearanceSettingsStore, useFavoriteStore, useWorldStore } from '../../stores'; import { favoriteRequest, worldRequest } from '../../api'; @@ -522,7 +526,7 @@ const worldEditMode = ref(false); const activeGroupMenu = ref(null); const localFavoritesScrollbarRef = ref(null); - const worldToolbarMenuRef = ref(); + const worldToolbarMenuOpen = ref(false); const localFavoritesLoadingMore = ref(false); const hasWorldSelection = computed(() => selectedFavoriteWorlds.value.length > 0); const hasSearchInput = computed(() => worldFavoriteSearch.value.trim().length > 0); @@ -533,7 +537,7 @@ const localGroupMenuKey = (key) => `local:${key}`; const closeWorldToolbarMenu = () => { - worldToolbarMenuRef.value?.handleClose?.(); + worldToolbarMenuOpen.value = false; }; function handleWorldImportClick() { diff --git a/src/views/Favorites/components/FavoritesMoveDropdown.vue b/src/views/Favorites/components/FavoritesMoveDropdown.vue index d1095e71..f0cf2d34 100644 --- a/src/views/Favorites/components/FavoritesMoveDropdown.vue +++ b/src/views/Favorites/components/FavoritesMoveDropdown.vue @@ -1,40 +1,46 @@