import { useModal } from 'Components/Modal';
import CreateNote from 'Components/Session_/Player/Controls/components/CreateNote';
import React from 'react';
import { Icon } from 'UI';
import { tagProps, Note } from 'App/services/NotesService';
import { formatTimeOrDate } from 'App/date';
import { useStore } from 'App/mstore';
import { observer } from 'mobx-react-lite';
import { ItemMenu } from 'UI';
import copy from 'copy-to-clipboard';
import { toast } from 'react-toastify';
import { session } from 'App/routes';
import { confirm } from 'UI';
import { TeamBadge } from 'Shared/SessionsTabOverview/components/Notes';
import { Tag } from 'antd'
interface Props {
note: Note;
noEdit: boolean;
filterOutNote: (id: number) => void;
}
function NoteEvent(props: Props) {
const { settingsStore, notesStore } = useStore();
const { timezone } = settingsStore.sessionSettings;
const { showModal, hideModal } = useModal();
const onEdit = () => {
showModal(
,
{ right: true, width: 380 }
);
};
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: 'pencil', text: 'Edit', onClick: onEdit, disabled: props.noEdit },
{ icon: 'link-45deg', text: 'Copy URL', onClick: onCopy },
{ icon: 'trash', text: 'Delete', onClick: onDelete },
];
return (
{props.note.userName}
{formatTimeOrDate(props.note.createdAt as unknown as number, timezone)}
{props.note.message}
{props.note.tag ? (
{props.note.tag}
) : null}
{!props.note.isPublic ? null : }
);
}
export default observer(NoteEvent);