Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev 1883 Rev 2655
Línea 1... Línea 1...
1
import React, { useState } from 'react'
1
import React, { useRef, useState } from 'react'
-
 
2
import FileModal from '../../mobile-chat/mobile-chat/chat/fileModal/FileModal';
-
 
3
import { axios } from '../../utils';
-
 
4
import styles from "../../mobile-chat/mobile-chat/chat/chat.module.scss";
Línea 2... Línea 5...
2
 
5
 
Línea -... Línea 6...
-
 
6
const permittedFiles = "video/mp4, video/mpeg, video/webm, application/pdf, image/jpeg, image/png, image/jpg";
-
 
7
 
-
 
8
const MessageBox = ({ onSend, backendVars, sendLink }) => {
3
const MessageBox = ({ onSend, backendVars }) => {
9
 
-
 
10
    const fileInputEl = useRef(null);
-
 
11
    const [text, setText] = useState('')
-
 
12
    const [selectedFile, setSelectedFile] = useState("");
-
 
13
 
-
 
14
    const handleUploadFile = (e) => {
-
 
15
        const file = e.target.files[0];
-
 
16
        if (file) {
-
 
17
            setSelectedFile(file);
-
 
18
        }
-
 
19
    };
-
 
20
 
-
 
21
    const removeSelectedFile = () => {
-
 
22
        setSelectedFile("");
-
 
23
    };
-
 
24
 
-
 
25
    const handleSendFile = () => {
-
 
26
        const formData = new FormData();
-
 
27
        formData.append("file", selectedFile);
-
 
28
 
-
 
29
        axios.post(sendLink, formData)
-
 
30
            .then(async (response) => {
-
 
31
                const resData = response.data;
-
 
32
                if (resData.success) {
-
 
33
                    setSelectedFile("");
-
 
34
                    setShowEmojione(false);
-
 
35
                }
Línea 4... Línea 36...
4
 
36
            });
5
    const [text, setText] = useState('')
37
    };
6
 
38
 
7
    return (
39
    return (
Línea 13... Línea 45...
13
                    setText('')
45
                    setText('')
14
                }}
46
                }}
15
            >
47
            >
16
                <div className="mf-field">
48
                <div className="mf-field">
17
                    <input
49
                    <input
-
 
50
                        type="file"
-
 
51
                        name="file"
-
 
52
                        id="file"
-
 
53
                        ref={(e) => {
-
 
54
                            fileInputEl.current = e;
-
 
55
                        }}
-
 
56
                        accept={permittedFiles}
-
 
57
                        hidden
-
 
58
                        onChange={handleUploadFile}
-
 
59
                    />
-
 
60
                    <button
-
 
61
                        type="button"
-
 
62
                        className={`${styles.inputIcon} ti-clip icon uploadFile text-gray`}
-
 
63
                        id="uploadFile"
-
 
64
                        onClick={() => fileInputEl.current.click()}
-
 
65
                    />
-
 
66
                    <input
18
                        type="text"
67
                        type="text"
19
                        name="message"
68
                        name="message"
20
                        id="message"
69
                        id="message"
21
                        className="border-radius"
70
                        className="border-radius"
22
                        value={text}
71
                        value={text}
Línea 25... Línea 74...
25
                    />
74
                    />
26
                    <button type="submit" className="btn btn-secondary p-1 inmail-submit-btn ">
75
                    <button type="submit" className="btn btn-secondary p-1 inmail-submit-btn ">
27
                        <i class="fas fa-chevron-right"></i>
76
                        <i class="fas fa-chevron-right"></i>
28
                    </button>
77
                    </button>
29
                </div>
78
                </div>
-
 
79
                {
-
 
80
                    selectedFile
-
 
81
                    &&
-
 
82
                    <FileModal
-
 
83
                        file={selectedFile}
-
 
84
                        onCancel={removeSelectedFile}
-
 
85
                        onSend={handleSendFile}
-
 
86
                    />
-
 
87
                }
30
            </form>
88
            </form>
31
        </div>
89
        </div>
32
    )
90
    )
33
}
91
}
34
export default MessageBox
92
export default MessageBox
35
93