Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
1 www 1
import React from "react";
2
import parse from "html-react-parser";
3
import styled from "styled-components";
4
 
5
const StyledChatImgMessage = styled.div`
6
  display: flex;
7
  justify-content: center;
8
  align-items: center;
9
  position: initial !important;
10
  transform: initial !important;
11
  .chat_image_container {
12
    video {
13
      width: 150px;
14
      outline: none;
15
    }
16
    img {
17
      width: 150px;
18
      max-height: 200px;
19
    }
20
    .pdf {
21
      width: 40px;
22
    }
23
  }
24
  .chat_image__download_button {
25
    margin-left: 0.5rem;
26
    .fa {
27
      font-size: 1.5rem;
28
      color: black;
29
    }
30
  }
31
`;
32
 
33
const MessageTemplate = ({ message }) => {
34
  const senderName = (message) => {
35
    if (message.type === "group") {
36
      return message.u === 1 ? "" : message.user_name;
37
    }
38
  };
39
  switch (message.mtype) {
40
    case "text":
41
      return (
42
        <li
43
          key={message.id}
1189 stevensc 44
          className={`clearfix ${message.u === 1 ? "odd" : ""
45
            } m-t-10 conversers${message.u}`}
1 www 46
        >
47
          <div
48
            className="conversation-text"
49
            data-toggle="tooltip"
50
            data-placement="left"
51
            data-html="true"
52
          >
53
            <div className="ctext-wrap">
54
              {senderName(message)}
55
              <p className="">
56
                {parse(emojione.shortnameToImage(message.m))}
57
                <br />
58
                <i className="text-right">{message.time}</i>
59
              </p>
60
            </div>
1189 stevensc 61
            <i className="la la-ellipsis-v icon"></i>
1 www 62
          </div>
63
        </li>
64
      );
65
    case "image":
66
      return (
67
        <li
68
          key={message.id}
1189 stevensc 69
          className={`clearfix ${message.u === 1 ? "odd" : ""
70
            } m-t-10 conversers${message.u}`}
1 www 71
        >
72
          <div
73
            className="conversation-text"
74
            data-toggle="tooltip"
75
            data-placement="left"
76
            data-html="true"
77
          >
78
            <div className="ctext-wrap">
79
              {senderName(message)}
80
              <StyledChatImgMessage>
81
                <div className="chat_image_container">
82
                  <img src={message.m} alt="chat_image" />
83
                </div>
84
                {message.u === 1 ? (
85
                  ""
86
                ) : (
87
                  <a
88
                    href={message.m}
89
                    target="_blank"
90
                    className="chat_image__download_button"
91
                  >
92
                    <i className="fa ti-arrow-circle-down"></i>
93
                  </a>
94
                )}
95
              </StyledChatImgMessage>
96
              <br />
97
              <i className="text-right">{message.time}</i>
98
            </div>
99
          </div>
100
        </li>
101
      );
102
    case "video":
103
      return (
104
        <li
105
          key={message.id}
1189 stevensc 106
          className={`clearfix ${message.u === 1 ? "odd" : ""
107
            } m-t-10 conversers${message.u}`}
1 www 108
        >
109
          <div
110
            className="conversation-text"
111
            data-toggle="tooltip"
112
            data-placement="left"
113
            data-html="true"
114
          >
115
            <div className="ctext-wrap">
116
              {senderName(message)}
117
              <StyledChatImgMessage>
118
                <div className="chat_image_container">
119
                  <video src={message.m} preload="none" controls></video>
120
                </div>
121
                {message.u === 1 ? (
122
                  ""
123
                ) : (
124
                  <a
125
                    href={message.m}
126
                    target="_blank"
127
                    className="chat_image__download_button"
128
                  >
129
                    <i className="fa ti-arrow-circle-down"></i>
130
                  </a>
131
                )}
132
              </StyledChatImgMessage>
133
              <br />
134
              <i className="text-right">{message.time}</i>
135
            </div>
136
          </div>
137
        </li>
138
      );
139
    case "document":
140
      return (
141
        <li
142
          key={message.id}
1189 stevensc 143
          className={`clearfix ${message.u === 1 ? "odd" : ""
144
            } m-t-10 conversers${message.u}`}
1 www 145
        >
146
          <div
147
            className="conversation-text"
148
            data-toggle="tooltip"
149
            data-placement="left"
150
            data-html="true"
151
          >
152
            <div className="ctext-wrap">
153
              {senderName(message)}
154
              <StyledChatImgMessage>
155
                <div className="chat_image_container">
156
                  <img
157
                    className="pdf"
158
                    src="/storage/type/default/filename/pdf.png"
159
                    alt="pdf"
160
                  />
161
                </div>
162
                {message.u === 1 ? (
163
                  ""
164
                ) : (
165
                  <a
166
                    href={message.m}
167
                    target="_blank"
168
                    className="chat_image__download_button"
169
                  >
170
                    <i className="fa ti-arrow-circle-down"></i>
171
                  </a>
172
                )}
173
              </StyledChatImgMessage>
174
              <br />
175
              <i className="text-right">{message.time}</i>
176
            </div>
177
          </div>
178
        </li>
179
      );
180
    default:
181
      return (
182
        <li
183
          key={message.id}
1189 stevensc 184
          className={`clearfix ${message.u === 1 ? "odd" : ""
185
            } m-t-10 conversers${message.u}`}
1 www 186
        >
187
          <div
188
            className="conversation-text"
189
            data-toggle="tooltip"
190
            data-placement="left"
191
            data-html="true"
192
          >
193
            <div className="ctext-wrap">
194
              {senderName(message)}
195
              <p className="">
196
                {message.mtype}
197
                <br />
198
                <i className="text-right">{message.time}</i>
199
              </p>
200
            </div>
201
          </div>
202
        </li>
203
      );
204
  }
205
};
206
 
207
export default MessageTemplate;