flotilla/src/app/components/RoomSearch.svelte

33 lines
1 KiB
Svelte
Raw Normal View History

2026-06-24 20:10:06 +00:00
<script lang="ts">
2026-09-07 20:53:25 +00:00
import {MESSAGE} from "@welshman/util"
2026-06-24 20:10:06 +00:00
import Modal from "@lib/components/Modal.svelte"
import ModalHeader from "@lib/components/ModalHeader.svelte"
import ModalTitle from "@lib/components/ModalTitle.svelte"
import ModalSubtitle from "@lib/components/ModalSubtitle.svelte"
2026-09-07 20:53:25 +00:00
import RoomName from "@app/components/RoomName.svelte"
import SearchBody from "@app/components/SearchBody.svelte"
2026-06-24 20:10:06 +00:00
import {CONTENT_KINDS} from "@app/content"
2026-09-07 20:53:25 +00:00
import {deriveRoomMembers} from "@app/rooms"
2026-06-24 20:10:06 +00:00
type Props = {
url: string
h: string
}
const {url, h}: Props = $props()
2026-09-07 20:53:25 +00:00
const filter = {kinds: [MESSAGE, ...CONTENT_KINDS], "#h": [h]}
2026-06-24 20:10:06 +00:00
2026-09-07 20:53:25 +00:00
const members = deriveRoomMembers(url, h)
2026-06-24 20:10:06 +00:00
</script>
<Modal class="flex flex-col gap-2">
2026-06-24 20:10:06 +00:00
<ModalHeader>
2026-09-07 20:53:25 +00:00
<ModalTitle>Search</ModalTitle>
2026-06-24 20:10:06 +00:00
<ModalSubtitle>
2026-09-07 20:53:25 +00:00
in <RoomName {url} {h} class="text-primary" />
2026-06-24 20:10:06 +00:00
</ModalSubtitle>
</ModalHeader>
2026-09-07 20:53:25 +00:00
<SearchBody {url} {filter} placeholder="Search this room..." relays={[url]} members={$members} />
2026-06-24 20:10:06 +00:00
</Modal>