diff --git a/frontend/package.json b/frontend/package.json index bb9d72de8426..1702d8373c45 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -63,7 +63,6 @@ "browserslist": "4.24.4", "lightningcss": "1.28.2", "unocss": "0.65.4", - "unplugin-icons": "22.0.0", "unplugin-vue-components": "28.0.0", "unplugin-vue-router": "0.10.9", "vite": "6.0.7", diff --git a/frontend/src/components/Buttons/FilterButton.vue b/frontend/src/components/Buttons/FilterButton.vue index 66a60aaedeac..dda1761628bf 100644 --- a/frontend/src/components/Buttons/FilterButton.vue +++ b/frontend/src/components/Buttons/FilterButton.vue @@ -3,10 +3,8 @@ class="ma-2" :icon="$vuetify.display.smAndDown"> {{ !$vuetify.display.smAndDown ? t('filter') : undefined }} - - - - + + @click.stop.prevent="isFavorite = !isFavorite"> + + diff --git a/frontend/src/components/Buttons/Playback/PlaybackSettingsButton.vue b/frontend/src/components/Buttons/Playback/PlaybackSettingsButton.vue index 1d350d9d3276..e721254cf4d1 100644 --- a/frontend/src/components/Buttons/Playback/PlaybackSettingsButton.vue +++ b/frontend/src/components/Buttons/Playback/PlaybackSettingsButton.vue @@ -2,9 +2,7 @@ - - - + diff --git a/frontend/src/components/Buttons/Playback/PreviousTrackButton.vue b/frontend/src/components/Buttons/Playback/PreviousTrackButton.vue index a75fe326007e..dc32af5db8aa 100644 --- a/frontend/src/components/Buttons/Playback/PreviousTrackButton.vue +++ b/frontend/src/components/Buttons/Playback/PreviousTrackButton.vue @@ -2,15 +2,14 @@ - - - + @click.passive="() => playbackManager.setPreviousItem()" + @dblclick.passive="() => playbackManager.setPreviousItem(true)"> + diff --git a/frontend/src/components/Buttons/Playback/RepeatButton.vue b/frontend/src/components/Buttons/Playback/RepeatButton.vue index 8069ab1bb740..d3b4609f3b5a 100644 --- a/frontend/src/components/Buttons/Playback/RepeatButton.vue +++ b/frontend/src/components/Buttons/Playback/RepeatButton.vue @@ -3,22 +3,13 @@ v-bind="$attrs" icon :color="playbackManager.isRepeating.value ? 'primary' : undefined" - @click="playbackManager.toggleRepeatMode"> - + + :class="playbackManager.repeatMode.value === RepeatMode.RepeatOne ? 'i-mdi:repeat-once' : 'i-mdi:repeat'" /> diff --git a/frontend/src/components/Buttons/Playback/ShuffleButton.vue b/frontend/src/components/Buttons/Playback/ShuffleButton.vue index 2a97bb3e7b46..b3ed61dac8ee 100644 --- a/frontend/src/components/Buttons/Playback/ShuffleButton.vue +++ b/frontend/src/components/Buttons/Playback/ShuffleButton.vue @@ -4,9 +4,9 @@ icon :color="playbackManager.isShuffling.value ? 'primary' : undefined" @click="playbackManager.toggleShuffle"> - - - + diff --git a/frontend/src/components/Buttons/QueueButton.vue b/frontend/src/components/Buttons/QueueButton.vue index aac5e2010f3f..fb7b1aefa505 100644 --- a/frontend/src/components/Buttons/QueueButton.vue +++ b/frontend/src/components/Buttons/QueueButton.vue @@ -2,9 +2,7 @@ - - - + @@ -22,9 +20,9 @@ - + :class="modeIcon" /> diff --git a/frontend/src/components/Buttons/ScrollToTopButton.vue b/frontend/src/components/Buttons/ScrollToTopButton.vue index 33fc58acfacf..82b71004784e 100644 --- a/frontend/src/components/Buttons/ScrollToTopButton.vue +++ b/frontend/src/components/Buttons/ScrollToTopButton.vue @@ -8,10 +8,8 @@ location="bottom right" position="fixed" variant="elevated" - @click="scrollToTop"> - - - + @click.passive="scrollToTop"> + diff --git a/frontend/src/components/Buttons/SortButton.vue b/frontend/src/components/Buttons/SortButton.vue index d763aa2dd5ba..2cfbe2b17fb0 100644 --- a/frontend/src/components/Buttons/SortButton.vue +++ b/frontend/src/components/Buttons/SortButton.vue @@ -3,23 +3,24 @@ icon :disabled="disabled" @click="emit('change', model[0], !ascending)"> - - - - - - + {{ !$vuetify.display.smAndDown ? sortingLabel : undefined }} - - - - - - + + + + - - - - + @@ -22,15 +23,16 @@ + "> + + @@ -38,7 +40,6 @@ diff --git a/frontend/src/components/Item/MediaInfo.vue b/frontend/src/components/Item/MediaInfo.vue index eb30aa575f15..97054840f78f 100644 --- a/frontend/src/components/Item/MediaInfo.vue +++ b/frontend/src/components/Item/MediaInfo.vue @@ -11,11 +11,8 @@ {{ item.ProductionYear }} {{ item.OfficialRating }} - - - + {{ item.CommunityRating.toFixed(1) }} @@ -57,8 +54,4 @@ span:first-of-type { span:last-of-type { margin-right: 0; } - -.rating-icon { - opacity: 0.6; -} diff --git a/frontend/src/components/Item/MediaStreamSelector.vue b/frontend/src/components/Item/MediaStreamSelector.vue index 7240ae3b1dd4..40b4aec2497f 100644 --- a/frontend/src/components/Item/MediaStreamSelector.vue +++ b/frontend/src/components/Item/MediaStreamSelector.vue @@ -16,8 +16,13 @@ + :subtitle="item.raw.subtitle"> + + @@ -26,11 +31,6 @@ import { ref, computed, watch } from 'vue'; import type { MediaStream } from '@jellyfin/sdk/lib/generated-client'; import { useI18n } from 'vue-i18n'; -import IMdiSurroundSound20 from 'virtual:icons/mdi/surround-sound-2-0'; -import IMdiSurroundSound31 from 'virtual:icons/mdi/surround-sound-3-1'; -import IMdiSurroundSound51 from 'virtual:icons/mdi/surround-sound-5-1'; -import IMdiSurroundSound71 from 'virtual:icons/mdi/surround-sound-7-1'; -import IMdiSurroundSound from 'virtual:icons/mdi/surround-sound'; import { watchImmediate } from '@vueuse/core'; import { isNil } from '@jellyfin-vue/shared/validation'; import { getLocaleName } from '#/utils/i18n'; @@ -50,22 +50,22 @@ const { t, locale } = useI18n(); * Audio layout to get related icon * @returns Icon name */ -function getSurroundIcon(layout: string): typeof IMdiSurroundSound { +function getSurroundIcon(layout: string) { switch (layout) { case '2.0': { - return IMdiSurroundSound20; + return 'i-mdi:surround-sound-2-0'; } case '3.1': { - return IMdiSurroundSound31; + return 'i-mdi:surround-sound-3-1'; } case '5.1': { - return IMdiSurroundSound51; + return 'i-mdi:surround-sound-5-1'; } case '7.1': { - return IMdiSurroundSound71; + return 'i-mdi:surround-sound-7-1'; } default: { - return IMdiSurroundSound; + return 'i-mdi:surround-sound'; } } } @@ -76,7 +76,7 @@ function getSurroundIcon(layout: string): typeof IMdiSurroundSound { */ function getTrackIcon( track: MediaStream -): typeof IMdiSurroundSound | undefined { +) { if (type === 'Audio' && track.ChannelLayout) { return getSurroundIcon(track.ChannelLayout); } diff --git a/frontend/src/components/Item/Metadata/ImageEditor.vue b/frontend/src/components/Item/Metadata/ImageEditor.vue index a655542ca995..a908b452fc2b 100644 --- a/frontend/src/components/Item/Metadata/ImageEditor.vue +++ b/frontend/src/components/Item/Metadata/ImageEditor.vue @@ -29,17 +29,13 @@ - - - + - - - + @@ -75,17 +71,13 @@ - - - + - - - + diff --git a/frontend/src/components/Item/Metadata/ImageSearch.vue b/frontend/src/components/Item/Metadata/ImageSearch.vue index 67d7d58971fc..88f39c4b8d4e 100644 --- a/frontend/src/components/Item/Metadata/ImageSearch.vue +++ b/frontend/src/components/Item/Metadata/ImageSearch.vue @@ -100,9 +100,7 @@ icon :disabled="loading" @click="onDownload(item)"> - - - + diff --git a/frontend/src/components/Item/Metadata/MetadataEditor.vue b/frontend/src/components/Item/Metadata/MetadataEditor.vue index 3b0f8bed6185..357f028bdefa 100644 --- a/frontend/src/components/Item/Metadata/MetadataEditor.vue +++ b/frontend/src/components/Item/Metadata/MetadataEditor.vue @@ -140,9 +140,7 @@ @click="onPersonAdd"> @@ -164,19 +162,15 @@ ) "> diff --git a/frontend/src/components/Item/Metadata/PersonEditor.vue b/frontend/src/components/Item/Metadata/PersonEditor.vue index 3994c711996a..0054909e6f88 100644 --- a/frontend/src/components/Item/Metadata/PersonEditor.vue +++ b/frontend/src/components/Item/Metadata/PersonEditor.vue @@ -18,10 +18,8 @@ " :alt="$t('person')"> diff --git a/frontend/src/components/Item/WatchedIndicator.vue b/frontend/src/components/Item/WatchedIndicator.vue index 33afcbc0a01e..049bf9093508 100644 --- a/frontend/src/components/Item/WatchedIndicator.vue +++ b/frontend/src/components/Item/WatchedIndicator.vue @@ -3,9 +3,7 @@ color="success" size="small" variant="elevated"> - - - + diff --git a/frontend/src/components/Layout/AppBar/AppBar.vue b/frontend/src/components/Layout/AppBar/AppBar.vue index cfffd3ba3b88..c7c024e2e4ad 100644 --- a/frontend/src/components/Layout/AppBar/AppBar.vue +++ b/frontend/src/components/Layout/AppBar/AppBar.vue @@ -10,9 +10,7 @@ @click="navigationDrawer = !navigationDrawer" /> @@ -22,9 +20,7 @@ v-hide="remote.socket.isConnected.value && isConnectedToServer" :color="isConnectedToServer ? 'yellow' : 'red'"> - - diff --git a/frontend/src/components/Layout/Images/UserImage.vue b/frontend/src/components/Layout/Images/UserImage.vue index e917c28c72c9..6f855d1e28ed 100644 --- a/frontend/src/components/Layout/Images/UserImage.vue +++ b/frontend/src/components/Layout/Images/UserImage.vue @@ -11,9 +11,8 @@ - - - + diff --git a/frontend/src/components/Layout/Navigation/CommitLink.vue b/frontend/src/components/Layout/Navigation/CommitLink.vue index 3e5d087646ad..161de09bbc0d 100644 --- a/frontend/src/components/Layout/Navigation/CommitLink.vue +++ b/frontend/src/components/Layout/Navigation/CommitLink.vue @@ -2,14 +2,18 @@ + rel="noopener noreferrer"> + + diff --git a/frontend/src/components/Playback/DraggableQueue.vue b/frontend/src/components/Playback/DraggableQueue.vue index 9d71c31632c7..e13f3fe47e37 100644 --- a/frontend/src/components/Playback/DraggableQueue.vue +++ b/frontend/src/components/Playback/DraggableQueue.vue @@ -7,19 +7,20 @@