Splits the flat 38-component ui/ folder into primitives/ (generic controls), overlay/ (menus/modals), media/ (music-domain display components), forms/ (composite entity forms) and layout/ (page scaffolding), and updates every import path accordingly.
24 lines
475 B
Svelte
24 lines
475 B
Svelte
<script lang="ts">
|
|
interface Props {
|
|
name?: string | null;
|
|
ownerUserId?: string | number | null;
|
|
class?: string;
|
|
}
|
|
|
|
let { name, ownerUserId, class: klass = '' }: Props = $props();
|
|
</script>
|
|
|
|
{#if name}
|
|
{#if ownerUserId}
|
|
<a
|
|
href="/u/{ownerUserId}"
|
|
onclick={(e) => e.stopPropagation()}
|
|
class="block max-w-full truncate hover:text-fg-2 hover:underline {klass}"
|
|
>
|
|
{name}
|
|
</a>
|
|
{:else}
|
|
<span class="block truncate {klass}">{name}</span>
|
|
{/if}
|
|
{/if}
|