Disable performer search links until MusicBrainz integration

Keep the onPerformerSearch infrastructure in TrackInfoModal and
AlbumCreditsModal but don't pass the prop. Performer names are
now plain text. Re-enable when MusicBrainz allows precise lookups.

Also fixes: sticky tabs in AlbumCreditsModal now work correctly.
This commit is contained in:
vicrodh committed 2026-01-25 04:28:37 -06:00
1 parent bb9d7d65ea
commit 75060305f3
7 files changed
+343 -12

No files matched your search

+13 -10
View File
@@ -13,6 +13,13 @@
let { isOpen, albumId, onClose, onTrackPlay, onPerformerSearch }: Props = $props(); let { isOpen, albumId, onClose, onTrackPlay, onPerformerSearch }: Props = $props();
function handlePerformerClick(name: string) {
if (onPerformerSearch) {
onPerformerSearch(name);
onClose();
}
}
type TabType = 'credits' | 'review'; type TabType = 'credits' | 'review';
let loading = $state(false); let loading = $state(false);
@@ -146,9 +153,9 @@
</div> </div>
</div> </div>
<!-- Right column: Track list or Review --> <!-- Right column: Track list or Review (scrollable) -->
<div class="content-column"> <div class="content-column">
<!-- Tab switcher (fixed at top, only shown if review exists) --> <!-- Tab switcher (only shown if review exists) -->
{#if hasReview} {#if hasReview}
<div class="tab-switcher"> <div class="tab-switcher">
<button <button
@@ -168,10 +175,9 @@
</div> </div>
{/if} {/if}
<!-- Scrollable content area -->
<div class="scrollable-content"> <div class="scrollable-content">
{#if activeTab === 'credits'} {#if activeTab === 'credits'}
<div class="tracks-list"> <div class="tracks-list">
{#each credits.tracks as track, index (track.id)} {#each credits.tracks as track, index (track.id)}
{@const isExpanded = expandedTracks.has(track.id)} {@const isExpanded = expandedTracks.has(track.id)}
{@const isHovered = hoveredTrack === track.id} {@const isHovered = hoveredTrack === track.id}
@@ -223,10 +229,7 @@
{#each track.performers as performer} {#each track.performers as performer}
<div class="performer-row"> <div class="performer-row">
{#if onPerformerSearch} {#if onPerformerSearch}
<button <button class="performer-link" onclick={() => handlePerformerClick(performer.name)}>{performer.name}</button>
class="performer-link"
onclick={() => { onPerformerSearch(performer.name); onClose(); }}
>{performer.name}</button>
{:else} {:else}
<span class="performer-name">{performer.name}</span> <span class="performer-name">{performer.name}</span>
{/if} {/if}
@@ -495,13 +498,13 @@
min-width: 0; min-width: 0;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden;
} }
/* Scrollable content area */
.scrollable-content { .scrollable-content {
flex: 1; flex: 1;
overflow-y: auto;
min-height: 0; min-height: 0;
overflow-y: scroll;
} }
/* Track list */ /* Track list */
-2
View File
@@ -2884,7 +2884,6 @@
trackInfoTrackId = null; trackInfoTrackId = null;
}} }}
onArtistClick={handleArtistClick} onArtistClick={handleArtistClick}
onPerformerSearch={searchForPerformer}
/> />
<!-- Album Credits Modal --> <!-- Album Credits Modal -->
@@ -2904,7 +2903,6 @@
} }
} }
}} }}
onPerformerSearch={searchForPerformer}
/> />
<!-- Cast Picker --> <!-- Cast Picker -->
+140
View File
@@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1,0,0,1,-896,-320)">
<rect id="Icons" x="0" y="0" width="1280" height="800" style="fill:none;"/>
<g id="Icons1" serif:id="Icons">
<g id="Strike">
</g>
<g id="H1">
</g>
<g id="H2">
</g>
<g id="H3">
</g>
<g id="list-ul">
</g>
<g id="hamburger-1">
</g>
<g id="hamburger-2">
</g>
<g id="list-ol">
</g>
<g id="list-task">
</g>
<g id="trash">
</g>
<g id="vertical-menu">
</g>
<g id="horizontal-menu">
</g>
<g id="sidebar-2">
</g>
<g id="Pen">
</g>
<g id="Pen1" serif:id="Pen">
</g>
<g id="clock">
</g>
<g id="external-link">
</g>
<g id="hr">
</g>
<g id="info">
</g>
<g id="warning">
</g>
<g id="plus-circle">
</g>
<g id="minus-circle">
</g>
<g id="vue">
</g>
<g id="cog">
</g>
<g id="logo">
</g>
<g id="radio-check">
</g>
<g id="eye-slash">
</g>
<g id="eye">
</g>
<g id="toggle-off">
</g>
<g id="shredder">
</g>
<g id="spinner--loading--dots-" serif:id="spinner [loading, dots]">
</g>
<g id="react">
</g>
<g id="check-selected">
</g>
<g id="turn-off">
</g>
<g id="code-block">
</g>
<g id="user">
</g>
<g id="coffee-bean">
</g>
<g transform="matrix(0.638317,0.368532,-0.368532,0.638317,785.021,-208.975)">
<g id="coffee-beans">
<g id="coffee-bean1" serif:id="coffee-bean">
</g>
</g>
</g>
<g id="coffee-bean-filled">
</g>
<g transform="matrix(0.638317,0.368532,-0.368532,0.638317,913.062,-208.975)">
<g id="coffee-beans-filled">
<g id="coffee-bean2" serif:id="coffee-bean">
</g>
</g>
</g>
<g id="clipboard">
</g>
<g transform="matrix(1,0,0,1,128.011,1.35415)">
<g id="clipboard-paste">
</g>
</g>
<g id="clipboard-copy">
</g>
<g id="Layer1" transform="matrix(1,0,0,1,-128,0.0182636)">
<g transform="matrix(1.10208,0,0,1.49634,241.952,-180.793)">
<g transform="matrix(2.05089,0,0,1,348.221,82.8722)">
<rect x="189.816" y="267" width="8.226" height="2" style="fill-rule:nonzero;"/>
</g>
<g transform="matrix(2.05089,0,0,1,348.206,88.1161)">
<rect x="189.816" y="267" width="8.226" height="2" style="fill-rule:nonzero;"/>
</g>
<g transform="matrix(2.05089,0,0,1,348.221,93.3599)">
<rect x="189.816" y="267" width="8.226" height="2" style="fill-rule:nonzero;"/>
</g>
<g transform="matrix(2.05089,0,0,1,348.221,98.6037)">
<rect x="189.816" y="267" width="8.226" height="2" style="fill-rule:nonzero;"/>
</g>
</g>
<g transform="matrix(0.372314,0,0,1.49634,765.419,-187.527)">
<g transform="matrix(2.05089,0,0,1,348.221,82.8722)">
<rect x="189.816" y="267" width="8.226" height="2" style="fill-rule:nonzero;"/>
</g>
<g transform="matrix(2.05089,0,0,1,348.206,88.1161)">
<rect x="189.816" y="267" width="8.226" height="2" style="fill-rule:nonzero;"/>
</g>
<g transform="matrix(2.05089,0,0,1,348.221,93.3599)">
<rect x="189.816" y="267" width="8.226" height="2" style="fill-rule:nonzero;"/>
</g>
<g transform="matrix(2.05089,0,0,1,348.221,98.6037)">
<rect x="189.816" y="267" width="8.226" height="2" style="fill-rule:nonzero;"/>
</g>
</g>
<g transform="matrix(1,0,0,1,138,7.98174)">
<path d="M938.222,331.852L913.778,331.852L913.778,364.167L938.222,364.167L938.222,331.852ZM942,368L910,368L910,328.018L942,328.018L942,368Z" style="fill-rule:nonzero;"/>
</g>
<path d="M1064,334.388L1060.22,334.388L1060.22,331.833L1035.78,331.833L1035.78,364.148L1046.41,364.148L1046.41,367.982L1032,367.982L1032,328L1064,328L1064,334.388Z" style="fill-rule:nonzero;"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.7 KiB

+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny" xmlns="http://www.w3.org/2000/svg"><path d="M13.839 17.525c-.006.002-.559.186-1.039.186-.265 0-.372-.055-.406-.079-.168-.117-.48-.336.054-1.4l1-1.994c.593-1.184.681-2.329.245-3.225-.356-.733-1.039-1.236-1.92-1.416-.317-.065-.639-.097-.958-.097-1.849 0-3.094 1.08-3.146 1.126-.179.158-.221.42-.102.626.12.206.367.3.595.222.005-.002.559-.187 1.039-.187.263 0 .369.055.402.078.169.118.482.34-.051 1.402l-1 1.995c-.594 1.185-.681 2.33-.245 3.225.356.733 1.038 1.236 1.921 1.416.314.063.636.097.954.097 1.85 0 3.096-1.08 3.148-1.126.179-.157.221-.42.102-.626-.12-.205-.369-.297-.593-.223z"/><circle cx="13" cy="6.001" r="2.5"/></svg>

After

Width:  |  Height:  |  Size: 849 B

+7
View File
@@ -0,0 +1,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Transformed by: SVG Repo Mixer Tools -->
<svg fill="#000000" width="160px" height="160px" viewBox="0 0 8 8" xmlns="http://www.w3.org/2000/svg">
<g id="SVGRepo_bgCarrier" stroke-width="0"/>
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/>
<g id="SVGRepo_iconCarrier"> <path d="M3 0c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm-1.5 2.5c-.83 0-1.5.67-1.5 1.5h1c0-.28.22-.5.5-.5s.5.22.5.5-1 1.64-1 2.5c0 .86.67 1.5 1.5 1.5s1.5-.67 1.5-1.5h-1c0 .28-.22.5-.5.5s-.5-.22-.5-.5c0-.36 1-1.84 1-2.5 0-.81-.67-1.5-1.5-1.5z" transform="translate(2)"/> </g>
</svg>

After

Width:  |  Height:  |  Size: 733 B

+5
View File
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 8 8" xmlns="http://www.w3.org/2000/svg">
<path d="M3 0c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm-1.5 2.5c-.83 0-1.5.67-1.5 1.5h1c0-.28.22-.5.5-.5s.5.22.5.5-1 1.64-1 2.5c0 .86.67 1.5 1.5 1.5s1.5-.67 1.5-1.5h-1c0 .28-.22.5-.5.5s-.5-.22-.5-.5c0-.36 1-1.84 1-2.5 0-.81-.67-1.5-1.5-1.5z" transform="translate(2)"
/>
</svg>

After

Width:  |  Height:  |  Size: 509 B

+176
View File
@@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.2" baseProfile="tiny" viewBox="0.00 0.00 512.00 512.00" width="512.00" height="512.00">
<g>
<path fill="#000000" d="
M 261.04 0.00
Q 323.58 1.56 376.56 30.14
Q 419.30 53.19 449.66 88.58
Q 509.08 157.84 512.00 250.74
L 512.00 261.72
Q 510.86 305.84 495.24 346.97
A 0.59 0.58 10.0 0 1 494.69 347.35
L 317.21 347.35
A 0.23 0.22 27.5 0 1 317.08 346.94
Q 337.85 332.78 350.18 312.03
C 386.15 251.53 356.84 173.47 290.12 151.59
C 241.80 135.75 189.01 155.38 162.50 198.59
C 136.03 241.73 142.80 297.49 178.43 333.28
Q 195.45 350.38 218.94 359.01
A 0.74 0.74 0.0 0 1 219.42 359.70
L 219.42 509.07
A 0.16 0.16 0.0 0 1 219.23 509.23
C 154.68 500.10 95.10 465.70 55.00 414.51
Q 2.83 347.91 0.00 262.03
L 0.00 250.60
C 3.57 113.13 112.84 3.66 250.40 0.00
L 261.04 0.00
Z
M 398.15 113.77
C 401.99 117.61 405.90 122.32 408.00 124.56
C 412.43 129.27 415.98 134.62 420.28 140.22
C 424.06 145.15 428.76 153.60 430.98 157.09
C 433.96 161.78 436.16 167.27 438.78 172.42
C 441.93 178.64 444.19 185.86 446.81 192.70
C 448.81 197.92 449.96 203.79 451.46 209.25
C 455.33 223.45 456.91 238.91 457.09 253.53
C 457.13 257.09 457.68 260.42 460.19 262.56
C 466.31 267.79 475.32 263.76 475.33 255.73
C 475.42 197.75 452.05 141.81 411.08 100.84
C 370.10 59.87 314.15 36.51 256.18 36.60
C 248.15 36.62 244.12 45.63 249.35 51.75
C 251.49 54.26 254.82 54.81 258.38 54.85
C 273.00 55.02 288.46 56.60 302.66 60.47
C 308.12 61.97 313.99 63.12 319.21 65.12
C 326.05 67.74 333.27 70.00 339.49 73.15
C 344.64 75.77 350.13 77.97 354.82 80.94
C 358.32 83.16 366.77 87.86 371.70 91.64
C 377.30 95.94 382.65 99.49 387.36 103.92
C 389.60 106.02 394.31 109.93 398.15 113.77
Z"
/>
<path fill="#000000" d="
M 512.00 365.63
L 512.00 512.00
L 254.26 512.00
L 238.11 511.36
A 0.43 0.43 0.0 0 1 237.70 510.93
L 237.70 366.14
A 0.51 0.51 0.0 0 1 238.21 365.63
L 512.00 365.63
Z
M 292.59 474.90
Q 297.11 474.89 300.33 470.97
A 4.52 4.43 -12.8 0 0 300.89 470.09
L 319.54 432.70
A 0.24 0.24 0.0 0 1 320.00 432.81
Q 320.03 437.39 319.99 480.32
Q 319.99 486.82 321.23 488.94
Q 323.48 492.77 328.50 493.50
A 4.58 4.29 -42.1 0 0 329.53 493.52
Q 334.68 492.94 337.03 489.04
Q 338.30 486.92 338.31 480.27
Q 338.37 403.11 338.21 393.51
Q 338.09 385.96 331.34 384.26
C 325.13 382.69 321.78 386.70 319.28 392.23
Q 319.16 392.49 292.85 445.23
A 0.34 0.22 -79.2 0 1 292.69 445.40
Q 292.64 445.42 292.58 445.42
Q 292.53 445.42 292.47 445.40
A 0.34 0.22 79.2 0 1 292.32 445.23
Q 265.98 392.50 265.86 392.24
C 263.36 386.71 260.01 382.71 253.80 384.28
Q 247.05 385.98 246.93 393.53
Q 246.78 403.13 246.87 480.29
Q 246.89 486.94 248.16 489.06
Q 250.51 492.96 255.66 493.54
A 4.58 4.29 42.0 0 0 256.69 493.52
Q 261.71 492.79 263.96 488.95
Q 265.20 486.83 265.19 480.33
Q 265.13 437.40 265.16 432.82
A 0.24 0.24 0.0 0 1 265.62 432.71
L 284.29 470.09
A 4.52 4.43 12.7 0 0 284.85 470.97
Q 288.07 474.90 292.59 474.90
Z
M 366.47 447.89
Q 383.95 447.99 392.48 447.89
C 408.43 447.71 420.26 436.07 420.54 420.27
C 420.66 413.04 420.93 406.22 418.22 400.45
Q 412.86 388.99 401.36 385.24
Q 396.56 383.67 384.98 383.91
Q 380.99 383.99 359.97 383.91
C 354.75 383.89 351.23 384.46 348.62 388.63
Q 347.40 390.58 347.41 398.10
Q 347.46 446.75 347.41 480.85
C 347.40 486.41 348.08 490.98 353.36 492.88
Q 359.02 494.92 363.38 490.42
C 365.22 488.52 365.73 485.45 365.73 483.01
Q 365.66 460.30 365.73 448.62
A 0.74 0.73 -0.0 0 1 366.47 447.89
Z
M 448.08 438.78
Q 448.08 441.65 449.90 444.13
C 452.24 447.31 455.41 447.95 459.41 447.94
Q 464.59 447.92 484.15 447.93
A 0.42 0.42 0.0 0 1 484.57 448.35
L 484.57 474.73
A 0.62 0.61 90.0 0 1 483.96 475.35
L 457.93 475.35
A 0.92 0.92 0.0 0 1 457.10 474.83
C 456.61 473.80 456.76 472.42 456.10 471.28
Q 453.23 466.31 447.87 466.37
C 443.03 466.42 439.06 470.30 438.94 475.01
C 438.77 482.23 437.68 488.68 443.36 492.30
Q 445.58 493.71 452.41 493.67
Q 467.66 493.57 490.58 493.65
C 495.73 493.66 499.20 492.96 501.72 488.83
Q 502.83 486.99 502.84 479.45
Q 502.85 475.83 502.84 438.78
Q 502.84 401.73 502.84 398.10
Q 502.83 390.56 501.72 388.72
C 499.20 384.59 495.73 383.89 490.58 383.90
Q 467.66 383.98 452.41 383.88
Q 445.58 383.85 443.36 385.26
C 437.68 388.88 438.77 395.33 438.94 402.55
C 439.06 407.26 443.03 411.14 447.87 411.19
Q 453.23 411.24 456.10 406.27
C 456.76 405.13 456.61 403.75 457.10 402.72
A 0.92 0.92 0.0 0 1 457.93 402.20
L 483.96 402.20
A 0.62 0.61 90.0 0 1 484.57 402.82
L 484.57 429.20
A 0.42 0.42 0.0 0 1 484.15 429.62
Q 464.59 429.63 459.41 429.61
C 455.41 429.60 452.24 430.24 449.90 433.43
Q 448.08 435.90 448.08 438.78
Z"
/>
</g>
<path fill="#000000" d="
M 347.35 255.91
A 91.36 91.36 0.0 0 1 255.99 347.27
A 91.36 91.36 0.0 0 1 164.63 255.91
A 91.36 91.36 0.0 0 1 255.99 164.55
A 91.36 91.36 0.0 0 1 347.35 255.91
Z
M 310.82 255.92
A 54.82 54.82 0.0 0 0 256.00 201.10
A 54.82 54.82 0.0 0 0 201.18 255.92
A 54.82 54.82 0.0 0 0 256.00 310.74
A 54.82 54.82 0.0 0 0 310.82 255.92
Z"
/>
<path fill="#000000" d="
M 365.71 402.77
A 0.59 0.59 0.0 0 1 366.30 402.18
L 392.35 402.18
A 9.98 9.70 0.0 0 1 402.33 411.88
L 402.33 419.94
A 9.98 9.70 0.0 0 1 392.35 429.64
L 366.30 429.64
A 0.59 0.59 0.0 0 1 365.71 429.05
L 365.71 402.77
Z"
/>
<circle fill="#000000" cx="255.99" cy="255.92" r="36.45"/>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB