From 346fe604d9f997cd5e532af11c472b1800187828 Mon Sep 17 00:00:00 2001 From: Psychotoxical Date: Sun, 12 Apr 2026 12:32:41 +0200 Subject: [PATCH] =?UTF-8?q?feat(contextMenu):=20add=20Trash2=20icon=20to?= =?UTF-8?q?=20Remove=20+=20Artist=20=C3=B6ffnen=20unter=20Album=20=C3=B6ff?= =?UTF-8?q?nen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - "Diesen Song entfernen" bekommt Trash2-Icon - Neuer Eintrag "Künstler öffnen" (goToArtist) nach "Album öffnen" in beiden Song-Kontextmenüs Co-Authored-By: Claude Sonnet 4.6 --- src/components/ContextMenu.tsx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/components/ContextMenu.tsx b/src/components/ContextMenu.tsx index 989c1438..1e234043 100644 --- a/src/components/ContextMenu.tsx +++ b/src/components/ContextMenu.tsx @@ -1,5 +1,5 @@ import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react'; -import { Play, ListPlus, Radio, Heart, Download, ChevronRight, User, Disc3, ListMusic, Plus, Info, Sparkles, Star } from 'lucide-react'; +import { Play, ListPlus, Radio, Heart, Download, ChevronRight, User, Disc3, ListMusic, Plus, Info, Sparkles, Star, Trash2 } from 'lucide-react'; import LastfmIcon from './LastfmIcon'; import StarRating from './StarRating'; import { lastfmLoveTrack, lastfmUnloveTrack } from '../api/lastfm'; @@ -703,6 +703,11 @@ export default function ContextMenu() { {t('contextMenu.openAlbum')} )} + {song.artistId && ( +
handleAction(() => navigate(`/artist/${song.artistId}`))}> + {t('contextMenu.goToArtist')} +
+ )}
handleAction(() => startRadio(song.artistId ?? song.artist, song.artist, song))}> {t('contextMenu.startRadio')}
@@ -875,7 +880,7 @@ export default function ContextMenu() {
handleAction(() => { if (queueIndex !== undefined) removeTrack(queueIndex); })}> - {t('contextMenu.removeFromQueue')} + {t('contextMenu.removeFromQueue')}
{t('contextMenu.openAlbum')}
)} + {song.artistId && ( +
handleAction(() => navigate(`/artist/${song.artistId}`))}> + {t('contextMenu.goToArtist')} +
+ )}
handleAction(() => startRadio(song.artistId ?? song.artist, song.artist, song))}> {t('contextMenu.startRadio')}