import type { Tweet } from "react-tweet/api"; import { type TwitterComponents, TweetContainer, TweetInReplyTo, TweetBody, TweetMedia, TweetInfo, QuotedTweet, enrichTweet, EnrichedTweet, } from "react-tweet"; import clsx from "clsx"; import s from "./tweet-header.module.css"; import { VerifiedBadge } from "./verified-badge"; type Props = { tweet: Tweet | { error: string }; components?: TwitterComponents; }; type AvatarImgProps = { src: string; alt: string; width: number; height: number; }; const AvatarImg = (props: AvatarImgProps) => ; const TweetHeader = ({ tweet, components, }: { tweet: EnrichedTweet; components?: TwitterComponents; }) => { const Img = components?.AvatarImg ?? AvatarImg; const { user } = tweet; return (
{user.name}
{user.name}
@{user.screen_name}
ยท Follow
); }; export const MyTweet = ({ tweet: t, components }: Props) => { if ("error" in t) { return
{t.error}
; } const tweet = enrichTweet(t); return ( {tweet.in_reply_to_status_id_str && } {tweet.mediaDetails?.length ? ( ) : null} {tweet.quoted_tweet && } ); };