diff --git a/src/app/components/ComposeMenu.svelte b/src/app/components/ComposeMenu.svelte index 8c89e9f4..b7828d55 100644 --- a/src/app/components/ComposeMenu.svelte +++ b/src/app/components/ComposeMenu.svelte @@ -67,7 +67,7 @@
  • diff --git a/src/app/components/NoteContentMinimalPoll.svelte b/src/app/components/NoteContentMinimalPoll.svelte index 6e479710..1d67365e 100644 --- a/src/app/components/NoteContentMinimalPoll.svelte +++ b/src/app/components/NoteContentMinimalPoll.svelte @@ -2,21 +2,18 @@ import type {ComponentProps} from "svelte" import {derived} from "svelte/store" import {PollResponse} from "nostr-tools/kinds" - import {repository} from "@welshman/app" - import {deriveArray, deriveEventsById} from "@welshman/store" import ContentMinimal from "@app/components/ContentMinimal.svelte" + import {deriveEvents} from "@app/core/state" import {getPollResults} from "@app/util/polls" const props: ComponentProps = $props() - const responses = deriveArray( - deriveEventsById({repository, filters: [{kinds: [PollResponse], "#e": [props.event.id]}]}), - ) + const responses = deriveEvents([{kinds: [PollResponse], "#e": [props.event.id]}]) const results = derived(responses, $responses => getPollResults(props.event, $responses)) -
    +
    {props.event.content || "Poll"} {$results.voters} voter{$results.voters === 1 ? "" : "s"}
    diff --git a/src/app/components/NoteContentPoll.svelte b/src/app/components/NoteContentPoll.svelte index ffcf9bc3..53fcb203 100644 --- a/src/app/components/NoteContentPoll.svelte +++ b/src/app/components/NoteContentPoll.svelte @@ -1,55 +1,29 @@
    -
    -
    -

    {props.event.content || "Poll"}

    -

    - {pollType === "multiplechoice" ? "Multiple choice" : "Single choice"} - {#if endsAt} - · Ends {formatTimestampRelative(endsAt)} - {/if} - {#if closed} - · Closed - {/if} -

    -
    -

    - {$results.voters} voter{$results.voters === 1 ? "" : "s"} -

    -
    +

    {props.event.content || "Poll"}

    -
    - {#each $results.options as option (option.id)} - {@const maxVotes = Math.max(...$results.options.map(item => item.votes), 1)} -
    -
    - {option.label} - {option.votes} -
    - -
    - {/each} -
    + {#if props.url} + + {/if}
    diff --git a/src/app/components/PollCreate.svelte b/src/app/components/PollCreate.svelte index fb17bf51..33d3cc3e 100644 --- a/src/app/components/PollCreate.svelte +++ b/src/app/components/PollCreate.svelte @@ -1,15 +1,17 @@ Create a Poll - Ask the room a question with one or more answers. + Ask a question and collect votes right in the feed.
    @@ -114,22 +171,33 @@

    Options*

    {/snippet} {#snippet input()} -
    - {#each options as option, index (index)} -
    +
    + {#each options as option, index (option.id)} +
    onDragStart(e, option.id)} + ondragover={e => onDragOver(e, option.id)} + ondrop={e => onDrop(e, option.id)} + ondragend={onDragEnd}> +
    + +
    -
    {/each} - @@ -154,10 +222,7 @@ Ends at {/snippet} {#snippet input()} - + {/snippet}
    diff --git a/src/app/components/PollVotes.svelte b/src/app/components/PollVotes.svelte index c334f9b9..d134f384 100644 --- a/src/app/components/PollVotes.svelte +++ b/src/app/components/PollVotes.svelte @@ -1,10 +1,10 @@