Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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