flotilla/src/app/components/RoomNameWithImage.svelte

30 lines
704 B
Svelte
Raw Normal View History

2025-10-30 21:59:39 +00:00
<script lang="ts">
import Hashtag from "@assets/icons/hashtag.svg?dataurl"
import Icon from "@lib/components/Icon.svelte"
2025-10-30 22:36:14 +00:00
import RoomName from "@app/components/RoomName.svelte"
import {deriveRoom} from "@app/core/state"
2025-10-30 21:59:39 +00:00
interface Props {
url: any
2025-10-30 22:33:34 +00:00
h: any
2025-10-30 21:59:39 +00:00
}
2025-10-30 22:33:34 +00:00
const {url, h}: Props = $props()
2025-10-30 21:59:39 +00:00
2025-10-30 22:36:14 +00:00
const room = deriveRoom(url, h)
2025-10-30 21:59:39 +00:00
</script>
2025-10-30 22:36:14 +00:00
{#if $room?.picture}
{@const src = $room.picture}
2025-10-30 21:59:39 +00:00
{#if src.match("\.(png|svg)$") || src.match("image/(png|svg)")}
<Icon icon={src} />
{:else}
<img alt="Room icon" {src} class="h-6 w-6 rounded-lg" />
{/if}
{:else}
<Icon icon={Hashtag} />
{/if}
<div class="min-w-0 overflow-hidden text-ellipsis">
2025-10-30 22:36:14 +00:00
<RoomName {url} {h} />
2025-10-30 21:59:39 +00:00
</div>