Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3546 | Rev 3555 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 3546 Rev 3547
Línea 34... Línea 34...
34
  const addComment = useCallback(
34
  const addComment = useCallback(
35
    async ({ comment, rating }) => {
35
    async ({ comment, rating }) => {
36
      try {
36
      try {
37
        const {
37
        const {
38
          message,
38
          message,
39
          capsule,
39
          capsule: updatedCapsule,
40
          comment: newComment
40
          comment: newComment
41
        } = await addCapsuleComment(capsule.link_comment_add, {
41
        } = await addCapsuleComment(capsule.link_comment_add, {
42
          comment,
42
          comment,
43
          rating
43
          rating
44
        });
44
        });
45
        showSuccess(message);
45
        showSuccess(message);
-
 
46
        setCapsule((prev) => ({
-
 
47
          ...prev,
-
 
48
          ...updatedCapsule,
46
        setCapsule((prev) => ({ ...prev, ...capsule, comments: [newComment, ...prev.comments] }));
49
          comments: [newComment, ...prev.comments]
-
 
50
        }));
47
      } catch (error) {
51
      } catch (error) {
48
        showError(error.message);
52
        showError(error.message);
49
      }
53
      }
50
    },
54
    },
51
    [capsule.link_comment_add, showError, showSuccess]
55
    [capsule.link_comment_add, showError, showSuccess]
52
  );
56
  );
Línea 53... Línea 57...
53
 
57
 
54
  const removeComment = useCallback(
58
  const removeComment = useCallback(
55
    async (url, uuid) => {
59
    async (url, uuid) => {
56
      try {
60
      try {
57
        const { message, capsule } = await deleteCapsuleComment(url);
61
        const { message, capsule: updatedCapsule } = await deleteCapsuleComment(url);
58
        showSuccess(message);
62
        showSuccess(message);
59
        setCapsule((prev) => ({
63
        setCapsule((prev) => ({
60
          ...prev,
64
          ...prev,
61
          ...capsule,
65
          ...updatedCapsule,
62
          comments: prev.comments.filter((c) => c.uuid !== uuid)
66
          comments: prev.comments.filter((c) => c.uuid !== uuid)
63
        }));
67
        }));
64
      } catch (error) {
68
      } catch (error) {
65
        showError(error.message);
69
        showError(error.message);
Línea 76... Línea 80...
76
      }
80
      }
Línea 77... Línea 81...
77
 
81
 
78
      try {
82
      try {
79
        showAlert({
83
        showAlert({
80
          message: '¿Estás seguro de querer eliminar este comentario?',
-
 
81
          onConfirm: () => {
84
          message: '¿Estás seguro de querer eliminar este comentario?',
82
            removeComment(url, uuid);
-
 
83
          }
85
          onConfirm: () => removeComment(url, uuid)
84
        });
86
        });
85
      } catch (error) {
87
      } catch (error) {
86
        console.error('Error al mostrar el diálogo de confirmación:', error);
88
        console.error('Error al mostrar el diálogo de confirmación:', error);
87
        showError('Error al mostrar el diálogo de confirmación');
89
        showError('Error al mostrar el diálogo de confirmación');