diff --git a/webui/src/routes/issues/-ui/issue-detail-modal.tsx b/webui/src/routes/issues/-ui/issue-detail-modal.tsx
index 89c8de87..1cbb21d7 100644
--- a/webui/src/routes/issues/-ui/issue-detail-modal.tsx
+++ b/webui/src/routes/issues/-ui/issue-detail-modal.tsx
@@ -3,6 +3,7 @@ import { useEffect, useMemo, useState, type ReactNode } from 'react';
import { DialogBody, DialogFooter, DialogFrame, DialogHeader } from '@/components/dialog';
import { Button } from '@/components/form';
+import { Show } from '@/components/primitives';
import { useProfile } from '@/platform/shell/route-controllers';
import {
launchAlbumDownloadWorkflow,
@@ -210,207 +211,7 @@ export function IssueDetailModal({
title={issue ? `Issue #${issue.id}` : 'Issue details'}
closeLabel="Close issue detail"
/>
-
- {queryLoading ? (
-
-
- Loading issue details...
-
- ) : queryError ? (
-
-
Failed to load issue
-
- {queryError instanceof Error ? queryError.message : 'Unknown error'}
-
-
- ) : issue ? (
- <>
-
-
- {issue.entity_type === 'artist' && issueArtwork ? (
-

- ) : null}
- {issueArtwork ? (
-

- ) : (
-
- {issueCategoryMeta?.icon || ISSUE_CATEGORY_META.other.icon}
-
- )}
-
-
- {issue.entity_type !== 'artist' && snapshot.artist_name ? (
-
{String(snapshot.artist_name)}
- ) : null}
-
- {String(
- issue.entity_type === 'artist'
- ? snapshot.name || issue.title
- : snapshot.album_title || snapshot.title || issue.title,
- )}
-
- {issue.entity_type === 'track' ? (
-
♪ {issue.title}
- ) : null}
- {issue.entity_type !== 'artist' && albumMetaParts.length > 0 ? (
-
{albumMetaParts.join(' - ')}
- ) : null}
- {genreTags.length > 0 ? (
-
- {genreTags.map((genre) => (
-
- {String(genre)}
-
- ))}
-
- ) : null}
- {externalLinks.length > 0 ? (
-
- ) : null}
-
-
-
-
-
-
-
- {formatStatusLabel(issue.status)}
-
- {issueCategoryLabel}
-
-
-
- Reported {formatIssueDate(issue.created_at)}
-
- {issue.resolved_at ? (
-
- Resolved {formatIssueDate(issue.resolved_at)}
-
- ) : null}
- {issue.reporter_name && isAdmin ? (
- by {issue.reporter_name}
- ) : null}
-
-
-
- {issue.entity_type !== 'artist' && isAdmin && (
-
-
Admin Actions
-
-
-
-
-
- )}
-
-
-
Issue
-
{issue.title}
-
- {issue.description || 'No additional details provided'}
-
-
-
- {issue.entity_type === 'track' && trackMetaItems.length > 0 ? (
-
-
Track Details
-
- {trackMetaItems.map((item) => (
-
- {item.icon}
- {item.label}
- {item.value}
-
- ))}
-
-
- ) : null}
-
- {snapshot.file_path ? (
-
-
File Path
-
{String(snapshot.file_path)}
-
- ) : null}
-
- {trackRows.length > 0 ? (
-
-
- Track Listing{' '}
- {trackRows.length} tracks
-
-
{renderTrackListing(trackRows)}
-
- ) : null}
-
- {isAdmin && (
-
- )}
-
- {!isAdmin && issue.admin_response ? (
-
-
Admin Response
-
{issue.admin_response}
-
- ) : null}
- >
- ) : null}
-
+ {renderIssueDetailContent()}
);
+
+ function renderIssueDetailContent() {
+ if (queryLoading) {
+ return (
+
+
+ Loading issue details...
+
+ );
+ }
+
+ if (queryError) {
+ return (
+
+
Failed to load issue
+
+ {queryError instanceof Error ? queryError.message : 'Unknown error'}
+
+
+ );
+ }
+
+ if (!issue) {
+ return null;
+ }
+
+ return (
+ <>
+
+
+
+
+
+
+ {issueCategoryMeta?.icon || ISSUE_CATEGORY_META.other.icon}
+
+ }
+ >
+

+
+
+
+
+ {(artistName) => {String(artistName)}
}
+
+
+ {String(
+ issue.entity_type === 'artist'
+ ? snapshot.name || issue.title
+ : snapshot.album_title || snapshot.title || issue.title,
+ )}
+
+
+ ♪ {issue.title}
+
+
0}>
+ {albumMetaParts.join(' - ')}
+
+
+
+ {genreTags.map((genre) => (
+
+ {String(genre)}
+
+ ))}
+
+
+
+
+
+
+
+
+
+
+
+
+ {formatStatusLabel(issue.status)}
+
+ {issueCategoryLabel}
+
+
+
+ Reported {formatIssueDate(issue.created_at)}
+
+
+ {(resolvedAt) => (
+
+ Resolved {formatIssueDate(resolvedAt)}
+
+ )}
+
+
+ {(reporterName) => (
+ by {reporterName}
+ )}
+
+
+
+
+
+
+
Admin Actions
+
+
+
+
+
+
+
+
+
Issue
+
{issue.title}
+
+ {issue.description || 'No additional details provided'}
+
+
+
+ 0}>
+
+
Track Details
+
+ {trackMetaItems.map((item) => (
+
+ {item.icon}
+ {item.label}
+ {item.value}
+
+ ))}
+
+
+
+
+
+ {(filePath) => (
+
+
File Path
+
{String(filePath)}
+
+ )}
+
+
+
+
+
+ Track Listing{' '}
+ {trackRows.length} tracks
+
+
{renderTrackListing(trackRows)}
+
+
+
+
+
+
+
+
+ {(response) => (
+
+
Admin Response
+
{response}
+
+ )}
+
+ >
+ );
+ }
}
function renderTrackListing(trackRows: IssueTrackRow[]) {
@@ -470,12 +496,12 @@ function renderTrackListing(trackRows: IssueTrackRow[]) {
{String(track.title || 'Unknown')}
{duration}
- {format ? (
+
{format}
- ) : null}
- {bitrate ? (
+
+
{bitrate}
- ) : null}
+
,
);