blob: 5c8a4aa6c60ab03140779358fd0e358973d98849 [file] [log] [blame]
Larbi Gharibe9af9732021-03-31 15:08:01 +01001import React from 'react';
2import Header from '../components/Header'
3import ContactList from '../components/ContactList'
4import MessageList from '../components/MessageList'
5import SendMessageForm from '../components/SendMessageForm'
6import NewContactForm from '../components/NewContactForm'
7import Sound from 'react-sound';
8import io from "socket.io-client";
9var socket = io.connect('http://localhost:3000');
10
11class Jaas extends React.Component {
12
13 constructor() {
14 super()
15 this.state = {
16 messages: [],
17 sound: false
18 }
19
20 socket.on('connect', () => {
21 console.log("Success !")
22 })
23
24 //import io from 'socket.io-client';
25
26 //this.socket = socketIOClient(ENDPOINT);
27 //this.socket.on("FromAPI", data => {
28 // this.setState({
29 // messages: [...this.state.messages, data]
30 // })
31 //});
32 this.sendMessage = this.sendMessage.bind(this)
33 }
34
35 componentDidMount() {
36 socket.on('receivedMessage', (data) => {
37 var message = {
38 senderId: '65f6674b26e5af6ed0b4e92a13b80ff4bbfdf1e8',
39 text: data
40 }
41 this.setState({
42 messages: [...this.state.messages, message],
43 sound: true
44 })
45 });
46 }
47
48 sendMessage(text) {
49 var data = {
50 senderId: 'Me',
51 destinationId: '65f6674b26e5af6ed0b4e92a13b80ff4bbfdf1e8',
52 text: text
53 }
54 socket.emit("SendMessage", data);
55 console.log(data.text);
56 this.setState({
57 messages: [...this.state.messages, data],
58 sound: false
59 })
60 }
61 render() {
62 return (
63 <div className="app" >
64 <Header />
65 <ContactList />
66 <MessageList messages={this.state.messages} />
67 <SendMessageForm sendMessage={this.sendMessage} />
68 <NewContactForm />
69 {this.state.sound && <Sound
70 url="stairs.mp3" /*https://notificationsounds.com/message-tones/stairs-567*/
71 playStatus={Sound.status.PLAYING}
72 playFromPosition={0 /* in milliseconds */}
73 onLoading={this.handleSongLoading}
74 onPlaying={this.handleSongPlaying}
75 onFinishedPlaying={this.handleSongFinishedPlaying}
76 />}
77 </div>
78 )
79 }
80}
81
82export default Jaas;