import { showScores } from "@utils/app"; import { numToSI } from "@utils/helpers"; import classNames from "classnames"; import { Component, linkEvent } from "inferno"; import { CommentAggregates, PostAggregates } from "lemmy-js-client"; import { I18NextService } from "../../services"; import { Icon, Spinner } from "../common/icon"; import { PostListing } from "../post/post-listing"; interface VoteButtonsProps { postListing: PostListing; enableDownvotes?: boolean; upvoteLoading?: boolean; downvoteLoading?: boolean; handleUpvote: (i: PostListing) => void; handleDownvote: (i: PostListing) => void; counts: CommentAggregates | PostAggregates; my_vote?: number; } interface VoteButtonsState { upvoteLoading: boolean; downvoteLoading: boolean; } const tippy = (counts: CommentAggregates | PostAggregates): string => { const points = I18NextService.i18n.t("number_of_points", { count: Number(counts.score), formattedCount: Number(counts.score), }); const upvotes = I18NextService.i18n.t("number_of_upvotes", { count: Number(counts.upvotes), formattedCount: Number(counts.upvotes), }); const downvotes = I18NextService.i18n.t("number_of_downvotes", { count: Number(counts.downvotes), formattedCount: Number(counts.downvotes), }); return `${points} • ${upvotes} • ${downvotes}`; }; export class VoteButtonsCompact extends Component< VoteButtonsProps, VoteButtonsState > { state: VoteButtonsState = { upvoteLoading: false, downvoteLoading: false, }; constructor(props: any, context: any) { super(props, context); } render() { return (