Code reorganization
[vchess.git] / client / client_OLD / javascripts / components / chat.js
diff --git a/client/client_OLD/javascripts/components/chat.js b/client/client_OLD/javascripts/components/chat.js
deleted file mode 100644 (file)
index 8230e9f..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-// TODO: myname, opppnents (optional, different style), people
-// --> also show messages like "X offers draw ?" (probably not)
-// myname: localStorage["username"] || "anonymous",
-Vue.component("my-chat", {
-       props: ["conn","myname","opponents","people"],
-       data: function() {
-               return {
-                       chats: [], //chat messages after human game
-               };
-       },
-       // TODO: Chat modal sur petit écran, dans la page pour grand écran
-       template: `
-               <div>
-                       <input id="modal-chat" type="checkbox" class="modal">
-                       <div role="dialog" aria-labelledby="titleChat">
-                               <div class="card smallpad">
-                                       <label id="close-chat" for="modal-chat" class="modal-close"></label>
-                                       <h3 v-if="!!opponents" id="titleChat" class="section">
-                                               <span>{{ translate("Chat with ") }}</span>
-                                               <span v-for="o in opponents">{{ o.name }}</span>
-                                       </h3>
-                                       <p v-for="chat in chats" :class={
-                                               "my-chatmsg": "chat.uid==user.id",
-                                               "opp-chatmsg": "opponents.any(o => o.id == chat.uid)"}
-                                               v-html="chat.msg"
-                                       >
-                                               TODO: why chat.msg fails here?
-                                       </p>
-                                       <input id="input-chat" type="text" placeholder="translate('Type here')"
-                                               @keyup.enter="sendChat"/>
-                                       <button id="sendChatBtn" @click="sendChat">{{ translate("Send") }}</button>
-                               </div>
-                       </div>
-               </div>
-       `,
-       created: function() {
-               const socketMessageListener = msg => {
-                       const data = JSON.parse(msg.data);
-                       switch (data.code)
-                       {
-                               case "newchat":
-                                       // TODO: new chat just arrived: data contain all informations
-                                       // (uid, name, message; no need for timestamp, we can use local time here)
-                                       this.chats.push({msg:data.msg, author:this.oppid});
-                                       break;
-                               // TODO: distinguish these (dis)connect events from their analogs in game.js
-                               // TODO: implement and harmonize: opponents and people are arrays, not objects ?!
-                               case "connect":
-                                       this.players.push({name:data.name, id:data.uid});
-                                       break;
-                               case "disconnect":
-                                       const pIdx = this.players.findIndex(p => p.id == data.uid);
-                                       this.players.splice(pIdx);
-                                       break;
-                       }
-               };
-               const socketCloseListener = () => {
-                       this.conn.addEventListener('message', socketMessageListener);
-                       this.conn.addEventListener('close', socketCloseListener);
-               };
-               this.conn.onmessage = socketMessageListener;
-               this.conn.onclose = socketCloseListener;
-       },
-       methods: {
-               translate: translate,
-               // TODO: complete this component
-               sendChat: function() {
-                       let chatInput = document.getElementById("input-chat");
-                       const chatTxt = chatInput.value;
-                       chatInput.value = "";
-                       this.chats.push({msg:chatTxt, author:this.myid});
-                       this.conn.send(JSON.stringify({
-                               code:"newchat", oppid: this.oppid, msg: chatTxt}));
-               },
-//             startChat: function(e) {
-//                     document.getElementById("modal-chat").checked = true;
-//             },
-       },
-});