Experimental news notification system + fix Eightpieces variant
[vchess.git] / client / src / components / ContactForm.vue
index cadbf73..e5d2732 100644 (file)
@@ -4,7 +4,7 @@ div
     type="checkbox"
     @change="trySetEnterTime($event)"
   )
-  div(
+  div#contactDiv(
     role="dialog"
     data-checkbox="modalContact"
   )
@@ -12,7 +12,7 @@ div
       label.modal-close(for="modalContact")
       fieldset
         label(for="userEmail") {{ st.tr["Email"] }}
-        input#userEmail(type="email")
+        input#userEmail(type="email" :value="st.user.email")
       fieldset
         label(for="mailSubject") {{ st.tr["Subject"] }}
         input#mailSubject(type="text")
@@ -23,9 +23,10 @@ div
 </template>
 
 <script>
-import { ajax } from "../utils/ajax";
+import { ajax } from "@/utils/ajax";
 import { store } from "@/store";
 import { checkNameEmail } from "@/data/userCheck";
+import { processModalClick } from "@/utils/modalClick.js";
 export default {
   name: "my-contact-form",
   data: function() {
@@ -35,6 +36,10 @@ export default {
       infoMsg: ""
     };
   },
+  mounted: function() {
+    document.getElementById("contactDiv")
+      .addEventListener("click", processModalClick);
+  },
   methods: {
     trySetEnterTime: function(event) {
       if (event.target.checked) {
@@ -66,14 +71,17 @@ export default {
         "/messages",
         "POST",
         {
-          email: email.value,
-          subject: subject.value,
-          content: content.value
-        },
-        () => {
-          this.infoMsg = "Email sent!";
-          subject.value = "";
-          content.value = "";
+          nocredentials: true,
+          data: {
+            email: email.value,
+            subject: subject.value,
+            content: content.value
+          },
+          success: () => {
+            this.infoMsg = "Email sent!";
+            subject.value = "";
+            content.value = "";
+          }
         }
       );
     }