A few fixes, drop planned problems support (replaced by forum + mode analyze)
[vchess.git] / client / next_src / views / Problems.vue
index b7f217d..368e09a 100644 (file)
@@ -47,52 +47,6 @@ Vue.component('my-problems', {
        },
        // NOTE: always modals first, because otherwise "scroll to the end" undesirable effect
        template: `
-               <div class="col-sm-12 col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
-                       <input type="checkbox" id="modal-newproblem" class="modal"/>
-                       <div role="dialog" aria-labelledby="modalProblemTxt">
-                               <div v-show="!modalProb.preview" class="card newproblem-form">
-                                       <label for="modal-newproblem" class="modal-close">
-                                       </label>
-                                       <h3 id="modalProblemTxt">{{ translate("Add a problem") }}</h3>
-                                       <form @submit.prevent="previewProblem()">
-                                               <fieldset>
-                                                       <label for="newpbFen">FEN</label>
-                                                       <input id="newpbFen" type="text" v-model="modalProb.fen"
-                                                               :placeholder='translate("Full FEN description")'/>
-                                               </fieldset>
-                                               <fieldset>
-                                                       <p class="emphasis">{{ translate("Safe HTML tags allowed") }}</p>
-                                                       <label for="newpbInstructions">{{ translate("Instructions") }}</label>
-                                                       <textarea id="newpbInstructions" v-model="modalProb.instructions"
-                                                               :placeholder='translate("Describe the problem goal")'>
-                                                       </textarea>
-                                                       <label for="newpbSolution">{{ translate("Solution") }}</label>
-                                                       <textarea id="newpbSolution" v-model="modalProb.solution"
-                                                               :placeholder='translate("How to solve the problem?")'>
-                                                       </textarea>
-                                                       <button class="center-btn">{{ translate("Preview") }}</button>
-                                               </fieldset>
-                                       </form>
-                               </div>
-                               <div v-show="modalProb.preview" class="card newproblem-preview">
-                                       <label for="modal-newproblem" class="modal-close"
-                                               @click="modalProb.preview=false">
-                                       </label>
-                                       <my-problem-summary :prob="modalProb" :userid="userId" :preview="true">
-                                       </my-problem-summary>
-                                       <div class="button-group">
-                                               <button @click="modalProb.preview=false">{{ translate("Cancel") }}</button>
-                                               <button @click="sendProblem()">{{ translate("Send") }}</button>
-                                       </div>
-                               </div>
-                       </div>
-                       <input id="modalNomore" type="checkbox" class="modal"/>
-                       <div role="dialog" aria-labelledby="nomoreMessage">
-                               <div class="card smallpad small-modal text-center">
-                                       <label for="modalNomore" class="modal-close"></label>
-                                       <h3 id="nomoreMessage" class="section">{{ nomoreMessage }}</h3>
-                               </div>
-                       </div>
                        <div id="problemControls" class="button-group">
                                <button :aria-label='translate("Previous problem(s)")' class="tooltip"
                                        @click="showNext('backward')"
@@ -309,58 +263,5 @@ Vue.component('my-problems', {
                                }
                        );
                },
-               previewProblem: function() {
-                       if (!V.IsGoodFen(this.modalProb.fen))
-                               return alert(translations["Bad FEN description"]);
-                       if (this.modalProb.instructions.trim().length == 0)
-                               return alert(translations["Empty instructions"]);
-                       if (this.modalProb.solution.trim().length == 0)
-                               return alert(translations["Empty solution"]);
-                       Vue.set(this.modalProb, "preview", true);
-               },
-               editProblem: function(prob) {
-                       this.modalProb = prob;
-                       Vue.set(this.modalProb, "preview", false);
-                       document.getElementById("modal-newproblem").checked = true;
-               },
-               deleteProblem: function(pid) {
-                       ajax(
-                               "/problems/" + pid,
-                               "DELETE",
-                               response => {
-                                       // Delete problem from the list on client side
-                                       let problems = this.curProblems();
-                                       const pIdx = problems.findIndex(p => p.id == pid);
-                                       problems.splice(pIdx, 1);
-                               }
-                       );
-               },
-               sendProblem: function() {
-                       // Send it to the server and close modal
-                       ajax(
-                               "/problems/" + variant.id,
-                               (this.modalProb.id > 0 ? "PUT" : "POST"),
-                               this.modalProb,
-                               response => {
-                                       document.getElementById("modal-newproblem").checked = false;
-                                       Vue.set(this.modalProb, "preview", false);
-                                       if (this.modalProb.id == 0)
-                                       {
-                                               this.myProblems.unshift({
-                                                       added: Date.now(),
-                                                       id: response.id,
-                                                       uid: user.id,
-                                                       fen: this.modalProb.fen,
-                                                       instructions: this.modalProb.instructions,
-                                                       solution: this.modalProb.solution,
-                                               });
-                                               if (!this.curProb && this.display != "mine")
-                                                       this.display = "mine";
-                                       }
-                                       else
-                                               this.modalProb.id = 0;
-                               }
-                       );
-               },
        },
 })