Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 3704 | Rev 5185 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1748 stevensc 1
import React from 'react'
2
 
3136 stevensc 3
const MessageTemplate = ({ message, date }) => {
2655 stevensc 4
 
1885 steven 5
    const isRightPosition = message.side === "right";
2655 stevensc 6
 
2981 stevensc 7
    const messageRenderer = (msg) => {
3039 stevensc 8
 
2981 stevensc 9
        const {
3039 stevensc 10
            sender_name,
11
            sender_image,
12
            sender_profile,
2981 stevensc 13
            side,
3039 stevensc 14
            message,
15
            type,
3136 stevensc 16
            filename
2981 stevensc 17
        } = msg;
2655 stevensc 18
 
19
        switch (type) {
20
            case "text":
21
                return (
3039 stevensc 22
                    <div className={`main-message-box ${isRightPosition ? 'ta-right' : ''}`} key={message}>
2655 stevensc 23
                        <div className="messg-usr-img">
2981 stevensc 24
                            <a href={sender_profile}>
2655 stevensc 25
                                <img
2981 stevensc 26
                                    src={sender_image}
2655 stevensc 27
                                    className="cursor-pointer"
2981 stevensc 28
                                    alt={`${sender_name} profile image`}
2655 stevensc 29
                                />
30
                            </a>
31
                        </div>
3706 stevensc 32
                        <div className={`message-dt mw-30`}>
2655 stevensc 33
                            <div className="message-inner-dt">
3702 stevensc 34
                                <p className={`w-100 ${'text-' + side}`}>
2981 stevensc 35
                                    {message}
36
                                </p>
2655 stevensc 37
                            </div>
2981 stevensc 38
                            <span className="p-1">{date}</span>
2655 stevensc 39
                        </div>
40
                    </div>
41
                );
42
            case "image":
43
                return (
3039 stevensc 44
                    <div className={`main-message-box ${isRightPosition ? 'ta-right' : ''}`} key={message}>
2655 stevensc 45
                        <div className="messg-usr-img">
2981 stevensc 46
                            <a href={sender_profile}>
2655 stevensc 47
                                <img
2981 stevensc 48
                                    src={sender_image}
2655 stevensc 49
                                    className="cursor-pointer"
2981 stevensc 50
                                    alt={`${sender_name} profile image`}
2655 stevensc 51
                                />
52
                            </a>
53
                        </div>
3706 stevensc 54
                        <div className={`message-dt mw-30`}>
2655 stevensc 55
                            <div className="message-inner-dt">
56
                                <img
2981 stevensc 57
                                    src={filename}
58
                                    alt={`${sender_name} message image`}
2655 stevensc 59
                                />
60
                            </div>
2981 stevensc 61
                            <span className="p-1">{date}</span>
2655 stevensc 62
                        </div>
63
                    </div>
64
                );
65
            case "video":
66
                return (
67
                    <div
68
                        className={`main-message-box ${isRightPosition ? 'ta-right' : ''}`}
2981 stevensc 69
                        key={message}
2655 stevensc 70
                    >
71
                        <div className="messg-usr-img">
2981 stevensc 72
                            <a href={sender_profile}>
2655 stevensc 73
                                <img
2981 stevensc 74
                                    src={sender_image}
2655 stevensc 75
                                    className="cursor-pointer"
2981 stevensc 76
                                    alt={sender_name}
2655 stevensc 77
                                />
78
                            </a>
79
                        </div>
3706 stevensc 80
                        <div className={`message-dt mw-30`}>
2655 stevensc 81
                            <div className="message-inner-dt">
2981 stevensc 82
                                <video src={filename} />
2655 stevensc 83
                            </div>
2981 stevensc 84
                            <span className="p-1">{date}</span>
2655 stevensc 85
                        </div>
86
                    </div>
87
                );
88
            case "document":
89
                return (
90
                    <div
3702 stevensc 91
                        key={message}
2655 stevensc 92
                        className={`main-message-box ${isRightPosition ? 'ta-right' : ''}`}
93
                    >
94
                        <div className="messg-usr-img">
2981 stevensc 95
                            <a href={sender_profile}>
2655 stevensc 96
                                <img
2981 stevensc 97
                                    src={sender_image}
2655 stevensc 98
                                    className="cursor-pointer"
2981 stevensc 99
                                    alt={sender_name}
2655 stevensc 100
                                />
101
                            </a>
102
                        </div>
3706 stevensc 103
                        <div className={`message-dt mw-30`}>
2655 stevensc 104
                            <div className="message-inner-dt">
3704 stevensc 105
                                <a href={filename} target="_blank" className={'downloadBtn'} rel="noreferrer">
2982 stevensc 106
                                    Abrir documento
107
                                    <i className="fa ti-arrow-circle-down" />
2655 stevensc 108
                                </a>
109
                            </div>
2981 stevensc 110
                            <span className="p-1">{date}</span>
2655 stevensc 111
                        </div>
112
                    </div>
113
                );
114
            default:
115
                break;
116
        }
117
    };
118
 
119
    return messageRenderer(message)
120
 
1748 stevensc 121
}
122
export default MessageTemplate