Extract shared data grid, selection bar, file dropzone and genre picker components
Track lists and the upload queue now render through a declarative DataGrid, the album editor reuses AlbumForm with a split layout and a track picker, and genre labels and types are shared helpers.
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
<script lang="ts">
|
||||
import type { TrackStatus } from '$lib/types';
|
||||
import { TRACK_STATUS } from '$lib/data/libraryTracks';
|
||||
import StatusBadge from '$lib/components/ui/media/StatusBadge.svelte';
|
||||
|
||||
interface Props {
|
||||
status: TrackStatus;
|
||||
class?: string;
|
||||
}
|
||||
|
||||
let { status, class: klass = '' }: Props = $props();
|
||||
|
||||
const info = $derived(TRACK_STATUS[status]);
|
||||
</script>
|
||||
|
||||
<StatusBadge label={info.label} tone={info.tone} class={klass} />
|
||||
Reference in New Issue
Block a user