From 464e470441287572cfda8d95484f781236b9db35 Mon Sep 17 00:00:00 2001 From: piotrruss Date: Mon, 9 Aug 2021 21:36:03 +0200 Subject: init commit --- apps/Notes/components/ListItem.js | 119 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 apps/Notes/components/ListItem.js (limited to 'apps/Notes/components/ListItem.js') diff --git a/apps/Notes/components/ListItem.js b/apps/Notes/components/ListItem.js new file mode 100644 index 0000000..42d67c0 --- /dev/null +++ b/apps/Notes/components/ListItem.js @@ -0,0 +1,119 @@ +import React, { useContext } from 'react' +import fetchJson from 'lib/fetchJson' +import {getNote, removeNote} from '../helpers/noteActions.js' +import useNotes from '../hooks/useNotes' +import Context from 'context'; +import { faEdit, faTrash } from '@fortawesome/free-solid-svg-icons' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' + +const datestring = date => { + const d = new Date(date); + return ("0" + d.getDate()).slice(-2) + "-" + ("0"+(d.getMonth()+1)).slice(-2) + "-" + + d.getFullYear() + " " + ("0" + d.getHours()).slice(-2) + ":" + ("0" + d.getMinutes()).slice(-2) +}; + +const ListItem = ({note, setAction, setFetchedNote}) => { + const {mutateNotes} = useNotes() + const {setPopup} = useContext(Context) + + const handleNoteAction = async (a, note, e) => { + if (e) e.stopPropagation() + await getNote(note, setFetchedNote, setPopup, () => setAction(a)) + } + + return ( + <> + + handleNoteAction('showNote', note)} + > + {`${note.title}`} + handleNoteAction('editNote', note, e)} + > + + + removeNote(e, note._id, mutateNotes, setPopup, setAction)} + > + + + + handleNoteAction('showNote', note)} + > + {datestring(note.created_at)} + + handleNoteAction('showNote', note)} + > + {datestring(note.updated_at)} + + + + + ) +} + +export default ListItem -- cgit v1.2.3