From f98fdb6860d3c347d9afb34afc4d4905651ce6a6 Mon Sep 17 00:00:00 2001 From: Kevin Midboe Date: Fri, 27 Feb 2026 18:28:38 +0100 Subject: [PATCH] Replace emojis with SVG icons in Plex library section and add clickable links MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Modernize the Plex library UI by replacing emoji icons with proper SVG icons and making library items clickable to open in Plex. New icons: - Created IconMusic.vue for music/album libraries - Created IconClock.vue for watch time display PlexLibraryStats updates: - Replace emoji icons (🎬, 📺, 🎵, ⏱️) with IconMovie, IconShow, IconMusic, IconClock - Icons use highlight color with hover effects - Proper sizing: 2.5rem desktop, 2rem mobile PlexLibraryModal updates: - Replace emoji in header with dynamic icon component - Icon sized at 48px with highlight color - Better visual consistency PlexLibraryItem updates: - Add support for clickable links to Plex web interface - Items render as tags when plexUrl is available - Fallback icons now use SVG components instead of emojis - Non-linkable items have disabled hover state plexHelpers updates: - processLibraryItem now includes ratingKey and plexUrl - plexUrl format: {serverUrl}/web/index.html#!/server/library/metadata/{ratingKey} - Added getLibraryIconComponent helper function Benefits: - Professional SVG icons instead of emojis (consistent cross-platform) - Clickable library items open directly in Plex - Better accessibility with proper link semantics - Scalable icons that look sharp at any size - Consistent color theming with site palette --- src/components/plex/PlexLibraryItem.vue | 77 ++++++++++++++++++++++-- src/components/plex/PlexLibraryModal.vue | 34 ++++++++--- src/components/plex/PlexLibraryStats.vue | 37 +++++++++--- src/icons/IconClock.vue | 8 +++ src/icons/IconMusic.vue | 7 +++ src/utils/plexHelpers.ts | 23 ++++++- 6 files changed, 166 insertions(+), 20 deletions(-) create mode 100644 src/icons/IconClock.vue create mode 100644 src/icons/IconMusic.vue diff --git a/src/components/plex/PlexLibraryItem.vue b/src/components/plex/PlexLibraryItem.vue index 0148472..075ae6c 100644 --- a/src/components/plex/PlexLibraryItem.vue +++ b/src/components/plex/PlexLibraryItem.vue @@ -1,5 +1,11 @@