import React from 'react';
import { tagProps, Note } from 'App/services/NotesService';
import { formatTimeOrDate, shortDurationFromMs } from 'App/date';
import { useStore } from 'App/mstore';
import { observer } from 'mobx-react-lite';
import copy from 'copy-to-clipboard';
import { toast } from 'react-toastify';
import { session } from 'App/routes';
import { confirm, Icon } from 'UI';
import { TeamBadge } from 'Shared/SessionsTabOverview/components/Notes';
import { Tag, Dropdown, Button } from 'antd';
import { MoreOutlined } from '@ant-design/icons';
import { MessageSquareDot } from 'lucide-react';
import { noNoteMsg } from 'App/mstore/notesStore';
interface Props {
note: Note;
noEdit: boolean;
filterOutNote: (id: number) => void;
setActiveTab: (tab: string) => void;
}
function NoteEvent(props: Props) {
const { settingsStore, notesStore } = useStore();
const { timezone } = settingsStore.sessionSettings;
const onEdit = () => {
notesStore.setEditNote(props.note);
props.setActiveTab('HIGHLIGHT');
};
const onCopy = () => {
copy(
`${window.location.origin}/${
window.location.pathname.split('/')[1]
}${session(props.note.sessionId)}${
props.note.timestamp > 0
? `?jumpto=${props.note.timestamp}¬e=${props.note.noteId}`
: `?note=${props.note.noteId}`
}`,
);
toast.success('Note URL copied to clipboard');
};
const onDelete = async () => {
if (
await confirm({
header: 'Confirm',
confirmButton: 'Yes, delete',
confirmation: 'Are you sure you want to delete this note?',
})
) {
notesStore.deleteNote(props.note.noteId).then((r) => {
props.filterOutNote(props.note.noteId);
toast.success('Note deleted');
});
}
};
const menuItems = [
{
icon: