Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

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