import { PreviewDetail } from "../../../preview/PreviewDetail";
import { SlackReaction, SlackReactionState } from "../types";
import { Notification } from "../../../notification";
import { slackMessageToMarkdown } from "../markdown";
import { Color, Detail } from "@raycast/api";
import { match } from "ts-pattern";
interface SlackReactionPreviewProps {
notification: Notification;
slack_reaction: SlackReaction;
}
function reactionContent(reaction: SlackReaction): { body: string; channel?: string } {
return match(reaction.item)
.with({ type: "Message" }, (item) => ({
body: slackMessageToMarkdown(item.content.message),
channel: item.content.channel.name,
}))
.with({ type: "File" }, (item) => ({ body: "_Reacted file_", channel: item.content.channel.name }))
.exhaustive();
}
export function SlackReactionPreview({ notification, slack_reaction }: SlackReactionPreviewProps) {
const { body, channel } = reactionContent(slack_reaction);
const markdown = `# ${notification.title}\n\n:${slack_reaction.name}:\n\n${body}`;
const metadata = (
<>
{channel ? : null}
>
);
return ;
}