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 ? ( -
- {externalLinks.map((link) => - link.url ? ( - - {link.service} - {link.type} - - ) : ( - - {link.service} - {link.type} - - ), - )} -
- ) : 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 && ( -
-
Admin Response
-