diff --git a/src/components/Button.svelte b/src/components/Button.svelte index 613e6da0d..f28330f82 100644 --- a/src/components/Button.svelte +++ b/src/components/Button.svelte @@ -9,6 +9,7 @@ active?: boolean; flatLeft?: boolean; flatRight?: boolean; + title?: string; } const { @@ -19,6 +20,7 @@ active = false, flatLeft = false, flatRight = false, + title, }: Props = $props(); const style = $derived( @@ -370,6 +372,7 @@ onclick={!disabled ? onclick : undefined} role="button" tabindex="0" + {title} {style}>
diff --git a/src/components/ReviewTeaser.svelte b/src/components/ReviewTeaser.svelte index 604f074f6..23415bfcb 100644 --- a/src/components/ReviewTeaser.svelte +++ b/src/components/ReviewTeaser.svelte @@ -18,33 +18,43 @@ const { rid, review }: Props = $props(); - const backgroundColor = $derived.by(() => { - if (review.verdict === "accept") { - return "var(--color-fill-diff-green-light)"; - } else if (review.verdict === "reject") { - return "var(--color-fill-diff-red-light)"; - } else { - return "var(--color-fill-float-hover)"; - } - }); - const header = $derived.by(() => { if (!review.verdict) { return "published a review"; } - return `${review.verdict ? `${review.verdict}ed` : "reviewed"} revision with a review`; + return `${review.verdict ? `${review.verdict}ed` : "reviewed"} revision`; }); - const icon = $derived.by(() => { - if (review.verdict === "accept") { + function icon(verdict: Review["verdict"]) { + if (verdict === "accept") { return "comment-checkmark"; - } else if (review.verdict === "reject") { + } else if (verdict === "reject") { return "comment-cross"; } else { return "comment"; } - }); + } + + function backgroundColor(verdict: Review["verdict"]) { + if (verdict === undefined) { + return "var(--color-fill-float)"; + } else if (verdict === "accept") { + return "var(--color-fill-diff-green-light)"; + } else if (verdict === "reject") { + return "var(--color-fill-diff-red-light)"; + } + } + + function color(verdict: Review["verdict"]) { + if (verdict === undefined) { + return "var(--color-foreground-dim)"; + } else if (verdict === "accept") { + return "var(--color-foreground-success)"; + } else if (verdict === "reject") { + return "var(--color-foreground-red)"; + } + } -