import React, {useState, createRef} from 'react'; import { View, Text, TouchableOpacity, ScrollView, Dimensions, FlatList, TouchableWithoutFeedback, Platform, } from 'react-native'; import { COLOR_SCHEME, SIZE, br, ph, pv, opacity, FONT, WEIGHT, } from '../../common/common'; import Icon from 'react-native-vector-icons/Feather'; import {Reminder} from '../Reminder'; import {getElevation, timeSince, ToastEvent} from '../../utils/utils'; import NavigationService from '../../services/NavigationService'; import Menu, {MenuItem, MenuDivider} from 'react-native-material-menu'; import {Dialog} from '../Dialog'; import {VaultDialog} from '../VaultDialog'; const w = Dimensions.get('window').width; const h = Dimensions.get('window').height; const NoteItem = props => { const [colors, setColors] = useState(COLOR_SCHEME); const [visible, setVisible] = useState(false); const [vaultDialog, setVaultDialog] = useState(false); const item = props.item; let setMenuRef = {}; return ( { setVisible(false); }} /> { NavigationService.navigate('Editor', { note: item, }); }} style={{ paddingLeft: ph, width: '100%', }}> <> {item.title.replace('\n', '')} {item.headline} {timeSince(item.dateCreated) + ' '} (setMenuRef[props.index] = ref)} button={ setMenuRef[props.index].show()}> }> {' '}Pin { setMenuRef[props.index].hide(); ToastEvent.show( 'Note added to favorites.', 'success', 3000, () => {}, 'Ok', ); }} textStyle={{ color: colors.pri, fontFamily: WEIGHT.regular, fontSize: SIZE.sm, }}> {' '}Favorite {' '}Share { setMenuRef[props.index].hide(); NavigationService.navigate('Folders', { note: item, title: 'Choose Notebook', isMove: true, hideMore: true, }); }} textStyle={{ color: colors.pri, fontFamily: WEIGHT.regular, fontSize: SIZE.sm, }}> {' '}Move { setMenuRef[props.index].hide(); setVaultDialog(true); }} textStyle={{ color: colors.pri, fontFamily: WEIGHT.regular, fontSize: SIZE.sm, }}> {' '}Lock { setVisible(true); setMenuRef[props.index].hide(); }} textStyle={{ color: colors.pri, fontFamily: WEIGHT.regular, fontSize: SIZE.sm, }}> {' '}Delete Notebook: School Notes {' '}- Topic: Physics Created on: {new Date(item.dateCreated).toISOString().slice(0, 10)} ); }; export default NoteItem;