From 11deee34a71bc9cced387c51c06ebdb8cdd8b901 Mon Sep 17 00:00:00 2001 From: Yusur Princeps Date: Thu, 23 Oct 2025 11:08:14 +0200 Subject: [PATCH] make upvotes work --- src/lib/FeedPost.svelte | 63 +++++++++++++++++++++++++++++++-------- src/lib/FullPost.svelte | 8 ++--- src/lib/VoteButton.svelte | 42 +++++++++++++++++++++----- src/lib/backend.ts | 5 +++- 4 files changed, 93 insertions(+), 25 deletions(-) diff --git a/src/lib/FeedPost.svelte b/src/lib/FeedPost.svelte index 728b811..e05016f 100644 --- a/src/lib/FeedPost.svelte +++ b/src/lib/FeedPost.svelte @@ -1,25 +1,62 @@ - -

- {title} -

- - -
- + diff --git a/src/lib/FullPost.svelte b/src/lib/FullPost.svelte index 5f09f3d..93a3f5a 100644 --- a/src/lib/FullPost.svelte +++ b/src/lib/FullPost.svelte @@ -18,7 +18,7 @@ let { post }: { post: PostEntry } = $props(); let me = getMe(); -let { title, created_at, id, content = '', to } = post; +let { title, id, content = '', to, votes, my_vote } = post; @@ -34,10 +34,10 @@ let { title, created_at, id, content = '', to } = post;
-
+
+ +
    {#if me && me.id !== post.author?.id}
  • Report
  • diff --git a/src/lib/VoteButton.svelte b/src/lib/VoteButton.svelte index 56e5ac5..4d0c644 100644 --- a/src/lib/VoteButton.svelte +++ b/src/lib/VoteButton.svelte @@ -1,31 +1,46 @@
    {#if vote > 0} - {:else} - {/if} {score ?? '-'} - {#if vote > 0} - {:else} - {/if} @@ -37,5 +52,18 @@ let { score } : { score?: number | null } = $props(); flex-direction: column; align-items: center; } + + button.inline { + color: var(--border); + } + button.inline.up { + color: var(--accent); + } + button.inline.down { + color: var(--c11-accent); + } + :global(.color-theme-11) button.inline.down, :global(.color-theme-9) button.inline.down { + color: var(--c14-accent); + } diff --git a/src/lib/backend.ts b/src/lib/backend.ts index 2397fee..d840175 100644 --- a/src/lib/backend.ts +++ b/src/lib/backend.ts @@ -31,7 +31,10 @@ export type PostEntry = { author?: UserEntry | null, content?: string, to: UserEntry | GuildEntry , - privacy?: number + privacy?: number, + votes?: number | null, + my_vote?: 1 | -1 | 0, + comment_count?: number | null }; export type ServerHealth = {