import React from "react"; import clsx from "clsx"; import { Link } from "react-router-dom"; import { HttpTimelinePostInfo } from "@/http/timeline"; import UserAvatar from "../common/user/UserAvatar"; import TimelineLine from "./TimelineLine"; import TimelinePostDeleteConfirmDialog from "./TimelinePostDeleteConfirmDialog"; export interface TimelinePostViewProps { post: HttpTimelinePostInfo; current?: boolean; className?: string; style?: React.CSSProperties; } const TimelinePostView: React.FC = (props) => { const { post, className, style } = props; const current = props.current === true; const [ operationMaskVisible, setOperationMaskVisible, ] = React.useState(false); const [deleteDialog, setDeleteDialog] = React.useState(false); // TODO: Load content. return (
{post.editable ? ( { setOperationMaskVisible(true); e.stopPropagation(); }} /> ) : null}
{post.author.nickname} {new Date(post.time).toLocaleTimeString()}
{/** TODO: Load content. */}
{operationMaskVisible ? (
{ setOperationMaskVisible(false); }} > { setDeleteDialog(true); e.stopPropagation(); }} />
) : null}
{deleteDialog ? ( { setDeleteDialog(false); setOperationMaskVisible(false); }} onConfirm={() => { // TODO: Implement this! }} /> ) : null}
); }; export default TimelinePostView;