Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
<script lang="ts"> | |
import type { Message } from "$lib/types/Message"; | |
import CarbonThumbsUp from "~icons/carbon/thumbs-up"; | |
import CarbonThumbsDown from "~icons/carbon/thumbs-down"; | |
import { createEventDispatcher } from "svelte"; | |
interface Props { | |
message: Message; | |
} | |
let { message }: Props = $props(); | |
const dispatch = createEventDispatcher<{ | |
vote: { score: Message["score"]; id: Message["id"] }; | |
}>(); | |
</script> | |
<button | |
class="btn rounded-sm p-1 text-sm text-gray-400 hover:text-gray-500 focus:ring-0 dark:text-gray-400 dark:hover:text-gray-300 | |
{message.score && message.score > 0 | |
? 'text-green-500 hover:text-green-500 dark:text-green-400 hover:dark:text-green-400' | |
: ''}" | |
title={message.score === 1 ? "Remove +1" : "+1"} | |
type="button" | |
onclick={() => dispatch("vote", { score: message.score === 1 ? 0 : 1, id: message.id })} | |
> | |
<CarbonThumbsUp class="h-[1.14em] w-[1.14em]" /> | |
</button> | |
<button | |
class="btn rounded-sm p-1 text-sm text-gray-400 hover:text-gray-500 focus:ring-0 dark:text-gray-400 dark:hover:text-gray-300 | |
{message.score && message.score < 0 | |
? 'text-red-500 hover:text-red-500 dark:text-red-400 hover:dark:text-red-400' | |
: ''}" | |
title={message.score === -1 ? "Remove -1" : "-1"} | |
type="button" | |
onclick={() => dispatch("vote", { score: message.score === -1 ? 0 : -1, id: message.id })} | |
> | |
<CarbonThumbsDown class="h-[1.14em] w-[1.14em]" /> | |
</button> | |