import React from "react"; import { useAvatar } from "@/services/user"; import BlobImage from "../common/BlobImage"; import TimelineCardTemplate, { TimelineCardTemplateProps, } from "../timeline-common/TimelineCardTemplate"; import { TimelineCardComponentProps } from "../timeline-common/TimelinePageTemplateUI"; export type PersonalTimelineManageItem = "avatar" | "nickname"; export type UserInfoCardProps = TimelineCardComponentProps; const UserInfoCard: React.FC = (props) => { const { onMember, onManage, ...otherProps } = props; const { timeline } = props; const avatar = useAvatar(timeline?.owner?.username); return (

{timeline.title} {timeline.name}

{timeline.owner.nickname}
} manageArea={((): TimelineCardTemplateProps["manageArea"] => { if (onManage == null) { return { type: "member", onMember }; } else { return { type: "manage", items: [ { type: "button", text: "timeline.manageItem.nickname", onClick: () => onManage("nickname"), }, { type: "button", text: "timeline.manageItem.avatar", onClick: () => onManage("avatar"), }, { type: "button", text: "timeline.manageItem.property", onClick: () => onManage("property"), }, { type: "button", onClick: onMember, text: "timeline.manageItem.member", }, ], }; } })()} {...otherProps} /> ); }; export default UserInfoCard;