11import fetchBlob from '../../../../../utils/fetchBlob/RNFetchBlob'
22import AsyncStorage from '@react-native-community/async-storage'
3- import { ToastAndroid } from 'react-native'
3+ import { ToastAndroid , Alert } from 'react-native'
44import React from 'react'
5- import { Card , CardItem , Body , Text , View , Icon , Textarea } from 'native-base'
5+ import { Card , CardItem , Body , Text , View , Icon , Textarea , Toast } from 'native-base'
66import stylesContainer from './styles'
77
88const styles = stylesContainer . styles ;
@@ -80,7 +80,7 @@ const loadComments = async (idProducto, context) => {
8080 &&
8181 < View style = { styles . flexRowCommentButtons } >
8282 < Icon onPress = { ( ) => handleEditComment ( item . idComent , context ) } style = { styles . commentIcon } type = "FontAwesome" name = 'pencil' />
83- < Icon onPress = { ( ) => handleDeleteComment ( item . idComent ) } style = { styles . commentIcon } type = "FontAwesome" name = 'trash' />
83+ < Icon onPress = { ( ) => handleDeleteComment ( item . idComent , context ) } style = { styles . commentIcon } type = "FontAwesome" name = 'trash' />
8484 </ View >
8585 }
8686 </ Body >
@@ -90,18 +90,49 @@ const loadComments = async (idProducto, context) => {
9090 context . setState ( {
9191 comments : resp . data
9292 } )
93+ } else {
94+ context . setState ( {
95+ comments : undefined
96+ } )
9397 }
9498}
9599
96100const handleEditComment = async ( idComentario , context ) => {
97101 const idCliente = context . state . dataClient . idCliente
98- let comentario = context . state . commentsRaw . filter ( item => parseInt ( item . idComent ) == parseInt ( idComentario ) )
102+ let comentario = context . state . commentsRaw . filter ( item => parseInt ( item . idComent ) == parseInt ( idComentario ) )
99103 comentario = comentario [ 0 ] . comentario
100- context . props . navigation . navigate ( 'EditComment' , { idComentario, comentario, idCliente, context} )
104+ context . props . navigation . navigate ( 'EditComment' , { idComentario, comentario, idCliente, context } )
101105}
102106
103- const handleDeleteComment = async ( idComment ) => {
104- ToastAndroid . show ( `Has eliminado el comentario ${ idComment } ` , ToastAndroid . SHORT )
107+ const handleDeleteComment = async ( idComment , context ) => {
108+ Alert . alert (
109+ 'Atención' ,
110+ '¿Quieres borrar tu comentario?' ,
111+ [
112+ {
113+ text : 'No, cancelar' ,
114+ onPress : ( ) => ToastAndroid . show ( 'Comentario NO borrado' , ToastAndroid . SHORT )
115+ } ,
116+ {
117+ text : 'Si, borrar' ,
118+ onPress : async ( ) => {
119+ const idCliente = context . state . dataClient . idCliente
120+ data = [ { name : 'idComentario' , data : String ( idComment ) } ,
121+ { name : 'idCliente' , data : String ( idCliente ) } ]
122+ const resp = await fetchBlob . postData ( 'comentarioLibroApp.php?site=public&action=delete' , data ) ;
123+ if ( resp . status ) {
124+ const idProduct = context . state . product . idLibro
125+ await loadReactions ( idProduct , context )
126+ await loadComments ( idProduct , context )
127+ await loadProduct ( idProduct , context )
128+ ToastAndroid . show ( 'Comentario borrado :D' , ToastAndroid . SHORT )
129+ } else {
130+ alert ( 'Error al borrar comentario' )
131+ }
132+ }
133+ }
134+ ]
135+ )
105136}
106137
107138const handleLikeClick = async ( context ) => {
@@ -184,8 +215,8 @@ const addComment = async (context) => {
184215 console . log ( resp )
185216 if ( resp . status ) {
186217 await loadReactions ( idProduct , context )
187- await loadProduct ( idProduct , context )
188218 await loadComments ( idProduct , context )
219+ await loadProduct ( idProduct , context )
189220 ToastAndroid . show ( '¡Comentario agregado!' , ToastAndroid . SHORT ) ;
190221 } else {
191222 alert ( 'Error al crear comentario' )
0 commit comments