From f2fed5c9fee3d53b7d8444d44002c928a02bc3b3 Mon Sep 17 00:00:00 2001 From: Boof2015 <75185879+Boof2015@users.noreply.github.com> Date: Wed, 8 Jul 2026 23:28:02 -0400 Subject: [PATCH] lyrics source --- src/components/lyrics/LyricsView.tsx | 33 +++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/src/components/lyrics/LyricsView.tsx b/src/components/lyrics/LyricsView.tsx index 9f33508..8fa8394 100644 --- a/src/components/lyrics/LyricsView.tsx +++ b/src/components/lyrics/LyricsView.tsx @@ -15,6 +15,8 @@ import { SeekBar } from '@/components/SeekBar'; import { LyricsBand } from './LyricsBand'; import { spacing, radius } from '@/theme'; import { createThemedStyles, useColors } from '@/theme/themed'; +import { useLyricsStore } from '@/stores/lyricsStore'; +import { getLyricsPayloadSourceLabel } from '@/lyrics/presentation'; import type { Track } from '@/types/audio'; interface LyricsViewProps { @@ -50,6 +52,8 @@ export function LyricsView({ }: LyricsViewProps) { const styles = useStyles(); const colors = useColors(); + const result = useLyricsStore((s) => s.byPath[track.path]?.result ?? null); + const sourceLabel = result?.status === 'hit' ? getLyricsPayloadSourceLabel(result.lyrics) : null; return ( @@ -70,9 +74,16 @@ export function LyricsView({ {track.title} - - {track.artist} - + + + {track.artist} + + {sourceLabel ? ( + + {sourceLabel} + + ) : null} + ({ stripTitle: { color: colors.textPrimary, }, + stripSubRow: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-between', + gap: spacing.sm, + }, + stripArtist: { + flexShrink: 1, + }, + sourceTag: { + flexShrink: 0, + fontSize: 9, + letterSpacing: 0.6, + textTransform: 'uppercase', + color: colors.textTertiary, + }, controls: { paddingTop: spacing.sm, },