import { useState } from "react";
import { HubConnectionState } from "@microsoft/signalr";
import { useUser } from "~src/services/user";
import { HttpTimelineInfo } from "~src/http/timeline";
import { getHttpBookmarkClient } from "~src/http/bookmark";
import { pushAlert } from "~src/components/alert";
import { useMobile } from "~src/components/hooks";
import { Dialog, DialogProvider, useDialog } from "~src/components/dialog";
import UserAvatar from "~src/components/user/UserAvatar";
import PopupMenu from "~src/components/menu/PopupMenu";
import FullPageDialog from "~src/components/dialog/FullPageDialog";
import Card from "~src/components/Card";
import TimelineDeleteDialog from "./TimelineDeleteDialog";
import ConnectionStatusBadge from "./ConnectionStatusBadge";
import CollapseButton from "./CollapseButton";
import TimelineMember from "./TimelineMember";
import TimelinePropertyChangeDialog from "./TimelinePropertyChangeDialog";
import IconButton from "~src/components/button/IconButton";
import "./TimelineCard.css";
interface TimelinePageCardProps {
timeline: HttpTimelineInfo;
connectionStatus: HubConnectionState;
onReload: () => void;
}
export default function TimelineCard(props: TimelinePageCardProps) {
const { timeline, connectionStatus, onReload } = props;
const user = useUser();
const [collapse, setCollapse] = useState(true);
const toggleCollapse = (): void => {
setCollapse((o) => !o);
};
const isMobile = useMobile();
const { controller, createDialogSwitch } = useDialog({
member: (
),
property: (
{timeline.description}