aboutsummaryrefslogtreecommitdiff
path: root/vnext/src/components/Post.js
blob: 7646d740c8c7f883b66ce379c6647dd3b54fd7a8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import React from 'react';

import ReactRouterPropTypes from 'react-router-prop-types';
import { UserType } from './Types';

import * as qs from 'query-string';

import MessageInput from './MessageInput';

import { post } from '../api';

export default class Post extends React.Component {
  constructor(props) {
    super(props);
    let params = qs.parse(window.location.search);
    this.state = {
      attach: '',
      body: params.body || ''
    };
    this.fileinput = React.createRef();
  }
  postMessage = (template) => {
    const { attach, body } = template;
    post(body, attach)
      .then(response => {
        if (response.status === 200) {
          const msg = response.data.newMessage;
          this.props.history.push(`/${this.props.visitor.uname}/${msg.mid}`);
        }
      }).catch(console.log);
  }
  attachChanged = (event) => {
    this.setState({
      attach: event.target.value
    });
  }
  bodyChanged = (event) => {
    this.setState({
      body: event.target.value
    });
  }
  render() {
    return (
      <div className="msgs">
        <article className="msg-cont">
          <MessageInput rows="7" text={this.state.body} data={{ mid: 0, timestamp: '0' }} onSend={this.postMessage}>
            *weather It is very cold today!
      </MessageInput>
        </article>
      </div>
    );
  }
}

Post.propTypes = {
  history: ReactRouterPropTypes.history.isRequired,
  visitor: UserType
};