flotilla/src/app/components/NoteContentMinimalPoll.svelte

20 lines
700 B
Svelte
Raw Normal View History

2026-04-03 17:54:50 +00:00
<script lang="ts">
import type {ComponentProps} from "svelte"
2026-04-16 18:30:59 +00:00
import {POLL_RESPONSE} from "@welshman/util"
2026-07-28 16:16:26 +00:00
import {Poll} from "@welshman/domain"
2026-04-03 17:54:50 +00:00
import ContentMinimal from "@app/components/ContentMinimal.svelte"
2026-07-28 16:16:26 +00:00
import {reader} from "@app/core"
import {deriveEvents} from "@app/repository"
2026-04-03 17:54:50 +00:00
const props: ComponentProps<typeof ContentMinimal> = $props()
2026-04-16 18:30:59 +00:00
const responses = deriveEvents([{kinds: [POLL_RESPONSE], "#e": [props.event.id]}])
2026-04-03 17:54:50 +00:00
2026-07-28 16:16:26 +00:00
const voters = $derived(reader(Poll)(props.event).results($responses).voters)
2026-04-03 17:54:50 +00:00
</script>
<div class="flex flex-col gap-0">
<ContentMinimal {...props} />
2026-07-28 16:16:26 +00:00
<span class="text-xs opacity-50">{voters} voter{voters === 1 ? "" : "s"}</span>
2026-04-03 17:54:50 +00:00
</div>