Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev 3630 Rev 3631
Línea 4... Línea 4...
4
import { saveMessage } from '@inmail/services';
4
import { saveMessage } from '@inmail/services';
5
import { ReportModal } from '@shared/components';
5
import { ReportModal } from '@shared/components';
Línea 6... Línea 6...
6
 
6
 
7
export const useMessages = (conversation) => {
7
export const useMessages = (conversation) => {
-
 
8
  const [messages, setMessages] = useState([]);
8
  const [messages, setMessages] = useState([]);
9
  const [reportedUuid, setReportedUuid] = useState(null);
Línea 9... Línea 10...
9
  const messagesEndRef = useRef(null);
10
  const messagesEndRef = useRef(null);
Línea 10... Línea 11...
10
 
11
 
Línea 21... Línea 22...
21
      showError(error.message);
22
      showError(error.message);
22
    }
23
    }
23
  });
24
  });
Línea 24... Línea 25...
24
 
25
 
-
 
26
  const { execute: executeReport } = useApi(reportMessage, {
-
 
27
    onSuccess: (data) => {
-
 
28
      setMessages((prevMessages) =>
-
 
29
        prevMessages.map((message) =>
-
 
30
          message.uuid === reportedUuid
-
 
31
            ? { ...message, content: 'Contenido reportado', contentType: 'text' }
-
 
32
            : message
-
 
33
        )
-
 
34
      );
-
 
35
      closeModal();
-
 
36
      showSuccess(data);
-
 
37
      setReportedUuid(null);
25
  const { execute: executeReport } = useApi(reportMessage, {
38
    },
26
    onError: (error) => {
39
    onError: (error) => {
-
 
40
      showError(error.message);
27
      showError(error.message);
41
      setReportedUuid(null);
28
    }
42
    }
Línea 29... Línea 43...
29
  });
43
  });
30
 
44
 
Línea 35... Línea 49...
35
      behavior: 'smooth',
49
      behavior: 'smooth',
36
      block: 'end'
50
      block: 'end'
37
    });
51
    });
38
  };
52
  };
Línea 39... Línea 53...
39
 
53
 
40
  const reportMessage = async (report, uuid) => {
54
  const reportMessage = async (report) => {
41
    if (!conversation?.abuse_report_url) return;
55
    if (!conversation?.abuse_report_url) return;
42
    await executeReport(conversation.abuse_report_url, report).then((data) => {
-
 
43
      setMessages((prevMessages) =>
-
 
44
        prevMessages.map((message) =>
-
 
45
          message.uuid === uuid
-
 
46
            ? { ...message, content: 'Contenido reportado', contentType: 'text' }
-
 
47
            : message
-
 
48
        )
-
 
49
      );
-
 
50
      closeModal();
-
 
51
      showSuccess(data);
-
 
52
    });
56
    executeReport(conversation.abuse_report_url, report);
Línea 53... Línea 57...
53
  };
57
  };
-
 
58
 
54
 
59
  const handleReport = (uuid) => {
55
  const handleReport = (uuid) => {
60
    setReportedUuid(uuid);
56
    showModal(
61
    showModal(
57
      'Reportar mensaje',
62
      'Reportar mensaje',
58
      <ReportModal onSubmit={(report) => reportMessage(report, uuid)} />
63
      <ReportModal onSubmit={(report) => reportMessage(report, uuid)} />