From ea8b431b5b5be5db00887c63ec8e47c7ec45eb84 Mon Sep 17 00:00:00 2001 From: Romain Bonhomme Date: Mon, 26 Oct 2020 13:47:52 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20de=20la=20FAQ=20(th=C3=A8me=20et=20ques?= =?UTF-8?q?tion)=20dans=20le=20BO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/bo/FaqQuestionsController.php | 57 + .../Controllers/bo/FaqThemesController.php | 49 + app/Models/FaqQuestions.php | 15 + app/Models/FaqThemes.php | 16 + .../2020_10_26_093014_create_faq_themes.php | 32 + ...2020_10_26_093746_create_faq_questions.php | 36 + public/js/app.js | 1147 +++++++++++++++++ resources/js/app.js | 2 + resources/js/components/FaqQuestions.vue | 157 +++ resources/js/components/FaqThemes.vue | 146 +++ .../views/bo/faq-questions/index.blade.php | 5 + resources/views/bo/faq-themes/index.blade.php | 5 + resources/views/layouts/bo.blade.php | 7 + routes/web.php | 8 + 14 files changed, 1682 insertions(+) create mode 100644 app/Http/Controllers/bo/FaqQuestionsController.php create mode 100644 app/Http/Controllers/bo/FaqThemesController.php create mode 100644 app/Models/FaqQuestions.php create mode 100644 app/Models/FaqThemes.php create mode 100644 database/migrations/2020_10_26_093014_create_faq_themes.php create mode 100644 database/migrations/2020_10_26_093746_create_faq_questions.php create mode 100644 resources/js/components/FaqQuestions.vue create mode 100644 resources/js/components/FaqThemes.vue create mode 100644 resources/views/bo/faq-questions/index.blade.php create mode 100644 resources/views/bo/faq-themes/index.blade.php diff --git a/app/Http/Controllers/bo/FaqQuestionsController.php b/app/Http/Controllers/bo/FaqQuestionsController.php new file mode 100644 index 0000000..374214a --- /dev/null +++ b/app/Http/Controllers/bo/FaqQuestionsController.php @@ -0,0 +1,57 @@ +id !== null) { + $question = FaqQuestions::findOrFail($request->id); + $question->delete(); + } + } + + public function saveDatas(Request $request) { + $questions = $request->questions; + + for ($i = 0; $i < count($questions); $i++) { + if (isset($questions[$i]["id"])) { + $q = FaqQuestions::findOrFail($questions[$i]["id"]); + $q->question = $questions[$i]["question"]; + $q->answer = $questions[$i]["answer"]; + $q->positive_vote = $questions[$i]["positive_vote"]; + $q->negative_vote = $questions[$i]["negative_vote"]; + $q->theme_id = $questions[$i]["theme_id"]; + $q->save(); + } else { + $t = FaqQuestions::updateOrCreate( + [ + 'question' => $questions[$i]["question"], + 'answer' => $questions[$i]["answer"], + 'positive_vote' => $questions[$i]["positive_vote"], + 'negative_vote' => $questions[$i]["negative_vote"], + 'theme_id' => $questions[$i]["theme_id"] + ] + ); + $questions[$i]["id"] = $t->id; + } + } + + return $questions; + } +} diff --git a/app/Http/Controllers/bo/FaqThemesController.php b/app/Http/Controllers/bo/FaqThemesController.php new file mode 100644 index 0000000..c7c13fb --- /dev/null +++ b/app/Http/Controllers/bo/FaqThemesController.php @@ -0,0 +1,49 @@ +id)->count() > 0) { + $deleteOk = 1; + } else if ($request->id !== null) { + $theme = FaqThemes::findOrFail($request->id); + $theme->delete(); + } else { + $deleteOk = 2; + } + + return $deleteOk; + } + + public function saveDatas(Request $request) { + $themes = $request->themes; + + for ($i = 0; $i < count($themes); $i++) { + if (isset($themes[$i]["id"])) { + $t = FaqThemes::findOrFail($themes[$i]["id"]); + $t->name = $themes[$i]["name"]; + $t->save(); + } else { + $t = FaqThemes::updateOrCreate(['name' => $themes[$i]["name"]]); + $themes[$i]["id"] = $t->id; + } + } + + return $themes; + } +} diff --git a/app/Models/FaqQuestions.php b/app/Models/FaqQuestions.php new file mode 100644 index 0000000..6ad2a0d --- /dev/null +++ b/app/Models/FaqQuestions.php @@ -0,0 +1,15 @@ +belongsTo('App\Models\FaqThemes', 'theme_id'); + } +} diff --git a/app/Models/FaqThemes.php b/app/Models/FaqThemes.php new file mode 100644 index 0000000..d808c3d --- /dev/null +++ b/app/Models/FaqThemes.php @@ -0,0 +1,16 @@ +hasMany('App\Models\FaqQuestions', 'theme_id'); + } +} diff --git a/database/migrations/2020_10_26_093014_create_faq_themes.php b/database/migrations/2020_10_26_093014_create_faq_themes.php new file mode 100644 index 0000000..6ee238b --- /dev/null +++ b/database/migrations/2020_10_26_093014_create_faq_themes.php @@ -0,0 +1,32 @@ +id(); + $table->string('name'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('faq_themes'); + } +} diff --git a/database/migrations/2020_10_26_093746_create_faq_questions.php b/database/migrations/2020_10_26_093746_create_faq_questions.php new file mode 100644 index 0000000..f524e9d --- /dev/null +++ b/database/migrations/2020_10_26_093746_create_faq_questions.php @@ -0,0 +1,36 @@ +id(); + $table->string('question'); + $table->string('answer'); + $table->unsignedInteger('positive_vote'); + $table->unsignedInteger('negative_vote'); + $table->foreignId('theme_id')->constrained('faq_themes'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('faq_questions'); + } +} diff --git a/public/js/app.js b/public/js/app.js index da492b8..7899c57 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -2428,6 +2428,303 @@ __webpack_require__.r(__webpack_exports__); /***/ }), +/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqQuestions.vue?vue&type=script&lang=js&": +/*!***********************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/FaqQuestions.vue?vue&type=script&lang=js& ***! + \***********************************************************************************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +/* harmony default export */ __webpack_exports__["default"] = ({ + mounted: function mounted() { + console.log('FaqQuestions Component mounted.'); + this.datas = JSON.parse(this.dbdatas); + this.themes = JSON.parse(this.dbthemes); + }, + props: ['dbdatas', 'dbthemes'], + data: function data() { + return { + datas: [], + themes: [], + response: null, + processing: false + }; + }, + watch: {}, + methods: { + newItem: function newItem() { + this.datas.push({ + id: null, + question: '', + answer: '', + positive_vote: 0, + negative_vote: 0, + theme_id: null, + toggle: false + }); + }, + removeItem: function removeItem(index) { + var _this = this; + + if (this.datas[index]['id'] !== null) { + this.processing = true; + this.response = "Suppression en cours..."; + axios.post('/bo/ajax/delete-faq-question', { + id: this.datas[index]['id'] + }).then(function (response) { + _this.response = "Suppression terminée !"; + _this.processing = false; + })["catch"](function (error) { + console.log(error); + this.response = "Erreur lors de la suppression."; + this.processing = false; + }); + this.datas.splice(index, 1); + } else { + this.datas.splice(index, 1); + } + }, + saveData: function saveData() { + var _this2 = this; + + this.processing = true; + this.response = "En cours de sauvegarde..."; + axios.post('/bo/ajax/save-faq-question', { + questions: this.datas + }).then(function (response) { + _this2.datas = response.data; + _this2.response = "Sauvegarde terminée !"; + _this2.processing = false; + })["catch"](function (error) { + console.log(error); + this.response = "Erreur lors de la sauvegarde."; + this.processing = false; + }); + } + } +}); + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqThemes.vue?vue&type=script&lang=js&": +/*!********************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/FaqThemes.vue?vue&type=script&lang=js& ***! + \********************************************************************************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +/* harmony default export */ __webpack_exports__["default"] = ({ + mounted: function mounted() { + console.log('FaqThemes Component mounted.'); + this.datas = JSON.parse(this.dbdatas); + }, + props: ['name', 'dbdatas'], + data: function data() { + return { + datas: [], + response: null, + processing: false + }; + }, + watch: {}, + methods: { + newItem: function newItem() { + this.datas.push({ + id: null, + name: '' + }); + }, + removeItem: function removeItem(index) { + var _this = this; + + if (this.datas[index]['id'] !== null) { + this.processing = true; + this.response = "Suppression en cours..."; + axios.post('/bo/ajax/delete-faq-theme', { + id: this.datas[index]['id'] + }).then(function (response) { + var result = response.data; + + switch (result) { + case 0: + case 2: + // 0 = Supprimé, 2 = Pas encore en base, supprimer juste dans la vue + _this.response = "Suppression terminée !"; + + _this.datas.splice(index, 1); + + _this.processing = false; + break; + + case 1: + // 1 = Non supprimer car des questions lui sont lié + _this.response = "Erreur : des questions sont encore liées à ce thème."; + setTimeout(function () { + this.processing = false; + }.bind(_this), 1500); + break; + } + })["catch"](function (error) { + console.log(error); + this.response = "Erreur lors de la suppression."; + this.processing = false; + }); + } else { + this.datas.splice(index, 1); + } + }, + saveData: function saveData() { + var _this2 = this; + + this.processing = true; + this.response = "En cours de sauvegarde..."; + axios.post('/bo/ajax/save-faq-theme', { + themes: this.datas + }).then(function (response) { + _this2.datas = response.data; + _this2.response = "Sauvegarde terminée !"; + _this2.processing = false; + })["catch"](function (error) { + console.log(error); + this.response = "Erreur lors de la sauvegarde."; + this.processing = false; + }); + } + } +}); + +/***/ }), + /***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/GainViews.vue?vue&type=script&lang=js&": /*!********************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/GainViews.vue?vue&type=script&lang=js& ***! @@ -7416,6 +7713,44 @@ exports.push([module.i, "\n.fade-enter-active[data-v-23625e92], .fade-leave-acti // exports +/***/ }), + +/***/ "./node_modules/css-loader/index.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqQuestions.vue?vue&type=style&index=0&id=0597c17c&scoped=true&lang=css&": +/*!******************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader??ref--6-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-2!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/FaqQuestions.vue?vue&type=style&index=0&id=0597c17c&scoped=true&lang=css& ***! + \******************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +exports = module.exports = __webpack_require__(/*! ../../../node_modules/css-loader/lib/css-base.js */ "./node_modules/css-loader/lib/css-base.js")(false); +// imports + + +// module +exports.push([module.i, "\n.fade-enter-active[data-v-0597c17c], .fade-leave-active[data-v-0597c17c] {\n transition: opacity .5s;\n}\n.fade-enter[data-v-0597c17c], .fade-leave-to[data-v-0597c17c] {\n opacity: 0;\n}\n.slide-fade-enter-active[data-v-0597c17c] {\n transition: all .3s ease;\n}\n.slide-fade-leave-active[data-v-0597c17c] {\n transition: all .1s cubic-bezier(1.0, 0.5, 0.8, 1.0);\n}\n.slide-fade-enter[data-v-0597c17c], .slide-fade-leave-to[data-v-0597c17c] {\n transform: translateX(10px);\n opacity: 0;\n}\n", ""]); + +// exports + + +/***/ }), + +/***/ "./node_modules/css-loader/index.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqThemes.vue?vue&type=style&index=0&id=71cbfca5&scoped=true&lang=css&": +/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader??ref--6-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-2!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/FaqThemes.vue?vue&type=style&index=0&id=71cbfca5&scoped=true&lang=css& ***! + \***************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +exports = module.exports = __webpack_require__(/*! ../../../node_modules/css-loader/lib/css-base.js */ "./node_modules/css-loader/lib/css-base.js")(false); +// imports + + +// module +exports.push([module.i, "\n.fade-enter-active[data-v-71cbfca5], .fade-leave-active[data-v-71cbfca5] {\n transition: opacity .5s;\n}\n.fade-enter[data-v-71cbfca5], .fade-leave-to[data-v-71cbfca5] {\n opacity: 0;\n}\n", ""]); + +// exports + + /***/ }), /***/ "./node_modules/css-loader/index.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/GainViews.vue?vue&type=style&index=0&id=32d930d4&scoped=true&lang=css&": @@ -38662,6 +38997,66 @@ var insertInto; +var options = {"hmr":true} + +options.transform = transform +options.insertInto = undefined; + +var update = __webpack_require__(/*! ../../../node_modules/style-loader/lib/addStyles.js */ "./node_modules/style-loader/lib/addStyles.js")(content, options); + +if(content.locals) module.exports = content.locals; + +if(false) {} + +/***/ }), + +/***/ "./node_modules/style-loader/index.js!./node_modules/css-loader/index.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqQuestions.vue?vue&type=style&index=0&id=0597c17c&scoped=true&lang=css&": +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/style-loader!./node_modules/css-loader??ref--6-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-2!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/FaqQuestions.vue?vue&type=style&index=0&id=0597c17c&scoped=true&lang=css& ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + + +var content = __webpack_require__(/*! !../../../node_modules/css-loader??ref--6-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--6-2!../../../node_modules/vue-loader/lib??vue-loader-options!./FaqQuestions.vue?vue&type=style&index=0&id=0597c17c&scoped=true&lang=css& */ "./node_modules/css-loader/index.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqQuestions.vue?vue&type=style&index=0&id=0597c17c&scoped=true&lang=css&"); + +if(typeof content === 'string') content = [[module.i, content, '']]; + +var transform; +var insertInto; + + + +var options = {"hmr":true} + +options.transform = transform +options.insertInto = undefined; + +var update = __webpack_require__(/*! ../../../node_modules/style-loader/lib/addStyles.js */ "./node_modules/style-loader/lib/addStyles.js")(content, options); + +if(content.locals) module.exports = content.locals; + +if(false) {} + +/***/ }), + +/***/ "./node_modules/style-loader/index.js!./node_modules/css-loader/index.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqThemes.vue?vue&type=style&index=0&id=71cbfca5&scoped=true&lang=css&": +/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/style-loader!./node_modules/css-loader??ref--6-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-2!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/FaqThemes.vue?vue&type=style&index=0&id=71cbfca5&scoped=true&lang=css& ***! + \*******************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + + +var content = __webpack_require__(/*! !../../../node_modules/css-loader??ref--6-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--6-2!../../../node_modules/vue-loader/lib??vue-loader-options!./FaqThemes.vue?vue&type=style&index=0&id=71cbfca5&scoped=true&lang=css& */ "./node_modules/css-loader/index.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqThemes.vue?vue&type=style&index=0&id=71cbfca5&scoped=true&lang=css&"); + +if(typeof content === 'string') content = [[module.i, content, '']]; + +var transform; +var insertInto; + + + var options = {"hmr":true} options.transform = transform @@ -40105,6 +40500,582 @@ render._withStripped = true +/***/ }), + +/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqQuestions.vue?vue&type=template&id=0597c17c&scoped=true&": +/*!***************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/FaqQuestions.vue?vue&type=template&id=0597c17c&scoped=true& ***! + \***************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "card" }, [ + _c("div", { staticClass: "card-header" }, [ + _c("div", { staticClass: "row" }, [ + _c("div", { staticClass: "col-md-3" }, [ + _vm._v("\n FAQ - Gestion des questions\n ") + ]), + _vm._v(" "), + _c( + "div", + { staticClass: "col-md-6 text-center" }, + [ + _c("transition", { attrs: { name: "fade" } }, [ + _c( + "span", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.processing, + expression: "processing" + } + ] + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.response) + + "\n " + ) + ] + ) + ]) + ], + 1 + ), + _vm._v(" "), + _c("div", { staticClass: "col-md-3 text-right" }, [ + _c( + "button", + { + staticClass: "btn btn-primary btn-sm text-white float-right", + attrs: { disabled: _vm.processing }, + on: { + click: function($event) { + return _vm.saveData() + } + } + }, + [ + _vm._v("\n Sauvegarder\n "), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.processing, + expression: "processing" + } + ], + staticClass: "spinner-border spinner-border-sm text-light", + attrs: { role: "status" } + }, + [_c("span", { staticClass: "sr-only" }, [_vm._v("Loading...")])] + ) + ] + ) + ]) + ]) + ]), + _vm._v(" "), + _c("div", { staticClass: "card-body" }, [ + _c( + "div", + { staticClass: "col-md-10 offset-md-1" }, + [ + _vm._l(_vm.datas, function(item, index) { + return _c( + "div", + { key: item.id }, + [ + _c("div", { staticClass: "form-inline" }, [ + _c("label", { staticClass: "col-form-label col-md-3" }, [ + _vm._v("Question :") + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: item.question, + expression: "item.question" + } + ], + staticClass: "form-control form-control-sm col-md-7", + attrs: { + type: "text", + placeholder: "Entrer votre question ici", + required: "" + }, + domProps: { value: item.question }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set(item, "question", $event.target.value) + } + } + }), + _vm._v(" "), + _c( + "a", + { + staticClass: + "text-decoration-none col-md-2 col-form-label w-100 text-right", + attrs: { href: "#_" }, + on: { + click: function($event) { + item.toggle = !item.toggle + } + } + }, + [ + _vm._v( + "\n Détails\n " + ), + _c("i", { + staticClass: "fas", + class: { + "fa-chevron-down": !item.toggle, + "fa-chevron-up": item.toggle + } + }) + ] + ) + ]), + _vm._v(" "), + _c("transition", { attrs: { name: "slide-fade" } }, [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: item.toggle, + expression: "item.toggle" + } + ], + staticClass: "form-inline bg-light rounded" + }, + [ + _c("label", { staticClass: "col-form-label col-md-3" }, [ + _vm._v("Réponse :") + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: item.answer, + expression: "item.answer" + } + ], + staticClass: "form-control form-control-sm col-md-7", + attrs: { + type: "text", + placeholder: "Entrer votre réponse ici", + required: "" + }, + domProps: { value: item.answer }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set(item, "answer", $event.target.value) + } + } + }), + _c("br"), + _vm._v(" "), + _c("div", { staticClass: "col-md-2 text-right" }, [ + _c( + "button", + { + staticClass: "btn btn-danger btn-sm", + on: { + click: function($event) { + return _vm.removeItem(index) + } + } + }, + [_vm._v("Supprimer")] + ) + ]), + _vm._v(" "), + _c("div", { staticClass: "form-group col-md-4" }, [ + _c("label", { staticClass: "col-form-label" }, [ + _vm._v("Votes positifs") + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: item.positive_vote, + expression: "item.positive_vote" + } + ], + staticClass: "form-control form-control-sm", + attrs: { type: "text", required: "" }, + domProps: { value: item.positive_vote }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + item, + "positive_vote", + $event.target.value + ) + } + } + }) + ]), + _vm._v(" "), + _c("div", { staticClass: "form-group col-md-4" }, [ + _c("label", { staticClass: "col-form-label" }, [ + _vm._v("Votes négatifs") + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: item.negative_vote, + expression: "item.negative_vote" + } + ], + staticClass: "form-control form-control-sm", + attrs: { type: "text", required: "" }, + domProps: { value: item.negative_vote }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + item, + "negative_vote", + $event.target.value + ) + } + } + }) + ]), + _vm._v(" "), + _c("div", { staticClass: "form-group col-md-4" }, [ + _c("label", { staticClass: "col-form-label" }, [ + _vm._v("Thème") + ]), + _vm._v(" "), + _c( + "select", + { + directives: [ + { + name: "model", + rawName: "v-model", + value: item.theme_id, + expression: "item.theme_id" + } + ], + staticClass: "custom-select custom-select-sm", + on: { + change: function($event) { + var $$selectedVal = Array.prototype.filter + .call($event.target.options, function(o) { + return o.selected + }) + .map(function(o) { + var val = "_value" in o ? o._value : o.value + return val + }) + _vm.$set( + item, + "theme_id", + $event.target.multiple + ? $$selectedVal + : $$selectedVal[0] + ) + } + } + }, + _vm._l(_vm.themes, function(theme) { + return _c( + "option", + { + key: theme.id, + domProps: { + value: theme.id, + selected: theme.id == item.theme_id + } + }, + [_vm._v(_vm._s(theme.name))] + ) + }), + 0 + ) + ]) + ] + ) + ]), + _vm._v(" "), + _c("hr") + ], + 1 + ) + }), + _vm._v(" "), + _c("div", { staticClass: "form-group text-right" }, [ + _c( + "button", + { + staticClass: "btn btn-primary btn-sm text-white", + on: { click: _vm.newItem } + }, + [_vm._v("Ajouter une question")] + ) + ]) + ], + 2 + ) + ]) + ]) +} +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), + +/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqThemes.vue?vue&type=template&id=71cbfca5&scoped=true&": +/*!************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/FaqThemes.vue?vue&type=template&id=71cbfca5&scoped=true& ***! + \************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "card" }, [ + _c("div", { staticClass: "card-header" }, [ + _c("div", { staticClass: "row" }, [ + _c("div", { staticClass: "col-md-3" }, [ + _vm._v("\n FAQ - Gestion des thèmes\n ") + ]), + _vm._v(" "), + _c( + "div", + { staticClass: "col-md-6 text-center" }, + [ + _c("transition", { attrs: { name: "fade" } }, [ + _c( + "span", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.processing, + expression: "processing" + } + ] + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.response) + + "\n " + ) + ] + ) + ]) + ], + 1 + ), + _vm._v(" "), + _c("div", { staticClass: "col-md-3 text-right" }, [ + _c( + "button", + { + staticClass: "btn btn-primary btn-sm text-white float-right", + attrs: { disabled: _vm.processing }, + on: { + click: function($event) { + return _vm.saveData() + } + } + }, + [ + _vm._v("\n Sauvegarder\n "), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.processing, + expression: "processing" + } + ], + staticClass: "spinner-border spinner-border-sm text-light", + attrs: { role: "status" } + }, + [_c("span", { staticClass: "sr-only" }, [_vm._v("Loading...")])] + ) + ] + ) + ]) + ]) + ]), + _vm._v(" "), + _c("div", { staticClass: "card-body" }, [ + _c("div", { staticClass: "col-md-10 offset-md-1" }, [ + _c("table", { staticClass: "table table-bordered text-center" }, [ + _vm._m(0), + _vm._v(" "), + _c( + "tbody", + _vm._l(_vm.datas, function(item, index) { + return _c("tr", { key: item.id }, [ + _c("td", [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: item.name, + expression: "item.name" + } + ], + staticClass: "form-control form-control-sm", + attrs: { type: "text", required: "" }, + domProps: { value: item.name }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set(item, "name", $event.target.value) + } + } + }) + ]), + _vm._v(" "), + _c("td", [ + _c( + "button", + { + staticClass: "btn btn-secondary btn-sm", + attrs: { disabled: _vm.processing }, + on: { + click: function($event) { + return _vm.removeItem(index) + } + } + }, + [ + _vm._v( + "\n Supprimer\n " + ), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.processing, + expression: "processing" + } + ], + staticClass: + "spinner-border spinner-border-sm text-light", + attrs: { role: "status" } + }, + [ + _c("span", { staticClass: "sr-only" }, [ + _vm._v("Loading...") + ]) + ] + ) + ] + ) + ]) + ]) + }), + 0 + ) + ]), + _vm._v(" "), + _c("div", { staticClass: "form-group text-right" }, [ + _c( + "button", + { + staticClass: "btn btn-primary btn-sm text-white", + on: { click: _vm.newItem } + }, + [_vm._v("Ajouter une ligne")] + ), + _vm._v(" "), + _c("input", { + attrs: { type: "hidden", name: _vm.name, required: "" }, + domProps: { value: JSON.stringify(_vm.datas) } + }) + ]) + ]) + ]) + ]) +} +var staticRenderFns = [ + function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("thead", [ + _c("tr", [ + _c("th", { staticClass: "w-75", attrs: { scope: "col" } }, [ + _vm._v("Nom du thème "), + _c("span", { staticClass: "required-asterisk" }, [_vm._v("*")]) + ]), + _vm._v(" "), + _c("th", { staticClass: "w-50", attrs: { scope: "col" } }) + ]) + ]) + } +] +render._withStripped = true + + + /***/ }), /***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/GainViews.vue?vue&type=template&id=32d930d4&scoped=true&": @@ -53493,6 +54464,8 @@ Vue.component('prizes', __webpack_require__(/*! ./components/Prizes.vue */ "./re Vue.component('instant-win', __webpack_require__(/*! ./components/InstantWin.vue */ "./resources/js/components/InstantWin.vue")["default"]); Vue.component('codes-ean', __webpack_require__(/*! ./components/CodesEAN.vue */ "./resources/js/components/CodesEAN.vue")["default"]); Vue.component('banned-ip', __webpack_require__(/*! ./components/BannedIP.vue */ "./resources/js/components/BannedIP.vue")["default"]); +Vue.component('faq-themes', __webpack_require__(/*! ./components/FaqThemes.vue */ "./resources/js/components/FaqThemes.vue")["default"]); +Vue.component('faq-questions', __webpack_require__(/*! ./components/FaqQuestions.vue */ "./resources/js/components/FaqQuestions.vue")["default"]); /** * Next, we will create a fresh Vue application instance and attach it to * the page. Then, you may begin adding components to this application @@ -53722,6 +54695,180 @@ __webpack_require__.r(__webpack_exports__); +/***/ }), + +/***/ "./resources/js/components/FaqQuestions.vue": +/*!**************************************************!*\ + !*** ./resources/js/components/FaqQuestions.vue ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _FaqQuestions_vue_vue_type_template_id_0597c17c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./FaqQuestions.vue?vue&type=template&id=0597c17c&scoped=true& */ "./resources/js/components/FaqQuestions.vue?vue&type=template&id=0597c17c&scoped=true&"); +/* harmony import */ var _FaqQuestions_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FaqQuestions.vue?vue&type=script&lang=js& */ "./resources/js/components/FaqQuestions.vue?vue&type=script&lang=js&"); +/* empty/unused harmony star reexport *//* harmony import */ var _FaqQuestions_vue_vue_type_style_index_0_id_0597c17c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FaqQuestions.vue?vue&type=style&index=0&id=0597c17c&scoped=true&lang=css& */ "./resources/js/components/FaqQuestions.vue?vue&type=style&index=0&id=0597c17c&scoped=true&lang=css&"); +/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); + + + + + + +/* normalize component */ + +var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( + _FaqQuestions_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], + _FaqQuestions_vue_vue_type_template_id_0597c17c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"], + _FaqQuestions_vue_vue_type_template_id_0597c17c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], + false, + null, + "0597c17c", + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "resources/js/components/FaqQuestions.vue" +/* harmony default export */ __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "./resources/js/components/FaqQuestions.vue?vue&type=script&lang=js&": +/*!***************************************************************************!*\ + !*** ./resources/js/components/FaqQuestions.vue?vue&type=script&lang=js& ***! + \***************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqQuestions_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib??ref--4-0!../../../node_modules/vue-loader/lib??vue-loader-options!./FaqQuestions.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqQuestions.vue?vue&type=script&lang=js&"); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqQuestions_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); + +/***/ }), + +/***/ "./resources/js/components/FaqQuestions.vue?vue&type=style&index=0&id=0597c17c&scoped=true&lang=css&": +/*!***********************************************************************************************************!*\ + !*** ./resources/js/components/FaqQuestions.vue?vue&type=style&index=0&id=0597c17c&scoped=true&lang=css& ***! + \***********************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_6_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqQuestions_vue_vue_type_style_index_0_id_0597c17c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader!../../../node_modules/css-loader??ref--6-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--6-2!../../../node_modules/vue-loader/lib??vue-loader-options!./FaqQuestions.vue?vue&type=style&index=0&id=0597c17c&scoped=true&lang=css& */ "./node_modules/style-loader/index.js!./node_modules/css-loader/index.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqQuestions.vue?vue&type=style&index=0&id=0597c17c&scoped=true&lang=css&"); +/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_6_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqQuestions_vue_vue_type_style_index_0_id_0597c17c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_6_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqQuestions_vue_vue_type_style_index_0_id_0597c17c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__); +/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_6_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqQuestions_vue_vue_type_style_index_0_id_0597c17c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_6_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqQuestions_vue_vue_type_style_index_0_id_0597c17c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); + /* harmony default export */ __webpack_exports__["default"] = (_node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_6_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqQuestions_vue_vue_type_style_index_0_id_0597c17c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), + +/***/ "./resources/js/components/FaqQuestions.vue?vue&type=template&id=0597c17c&scoped=true&": +/*!*********************************************************************************************!*\ + !*** ./resources/js/components/FaqQuestions.vue?vue&type=template&id=0597c17c&scoped=true& ***! + \*********************************************************************************************/ +/*! exports provided: render, staticRenderFns */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqQuestions_vue_vue_type_template_id_0597c17c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./FaqQuestions.vue?vue&type=template&id=0597c17c&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqQuestions.vue?vue&type=template&id=0597c17c&scoped=true&"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqQuestions_vue_vue_type_template_id_0597c17c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqQuestions_vue_vue_type_template_id_0597c17c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + + + +/***/ }), + +/***/ "./resources/js/components/FaqThemes.vue": +/*!***********************************************!*\ + !*** ./resources/js/components/FaqThemes.vue ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _FaqThemes_vue_vue_type_template_id_71cbfca5_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./FaqThemes.vue?vue&type=template&id=71cbfca5&scoped=true& */ "./resources/js/components/FaqThemes.vue?vue&type=template&id=71cbfca5&scoped=true&"); +/* harmony import */ var _FaqThemes_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FaqThemes.vue?vue&type=script&lang=js& */ "./resources/js/components/FaqThemes.vue?vue&type=script&lang=js&"); +/* empty/unused harmony star reexport *//* harmony import */ var _FaqThemes_vue_vue_type_style_index_0_id_71cbfca5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FaqThemes.vue?vue&type=style&index=0&id=71cbfca5&scoped=true&lang=css& */ "./resources/js/components/FaqThemes.vue?vue&type=style&index=0&id=71cbfca5&scoped=true&lang=css&"); +/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); + + + + + + +/* normalize component */ + +var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( + _FaqThemes_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], + _FaqThemes_vue_vue_type_template_id_71cbfca5_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"], + _FaqThemes_vue_vue_type_template_id_71cbfca5_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], + false, + null, + "71cbfca5", + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "resources/js/components/FaqThemes.vue" +/* harmony default export */ __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "./resources/js/components/FaqThemes.vue?vue&type=script&lang=js&": +/*!************************************************************************!*\ + !*** ./resources/js/components/FaqThemes.vue?vue&type=script&lang=js& ***! + \************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqThemes_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib??ref--4-0!../../../node_modules/vue-loader/lib??vue-loader-options!./FaqThemes.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqThemes.vue?vue&type=script&lang=js&"); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqThemes_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); + +/***/ }), + +/***/ "./resources/js/components/FaqThemes.vue?vue&type=style&index=0&id=71cbfca5&scoped=true&lang=css&": +/*!********************************************************************************************************!*\ + !*** ./resources/js/components/FaqThemes.vue?vue&type=style&index=0&id=71cbfca5&scoped=true&lang=css& ***! + \********************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_6_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqThemes_vue_vue_type_style_index_0_id_71cbfca5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader!../../../node_modules/css-loader??ref--6-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--6-2!../../../node_modules/vue-loader/lib??vue-loader-options!./FaqThemes.vue?vue&type=style&index=0&id=71cbfca5&scoped=true&lang=css& */ "./node_modules/style-loader/index.js!./node_modules/css-loader/index.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqThemes.vue?vue&type=style&index=0&id=71cbfca5&scoped=true&lang=css&"); +/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_6_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqThemes_vue_vue_type_style_index_0_id_71cbfca5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_6_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqThemes_vue_vue_type_style_index_0_id_71cbfca5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__); +/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_6_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqThemes_vue_vue_type_style_index_0_id_71cbfca5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_6_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqThemes_vue_vue_type_style_index_0_id_71cbfca5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); + /* harmony default export */ __webpack_exports__["default"] = (_node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_6_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqThemes_vue_vue_type_style_index_0_id_71cbfca5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), + +/***/ "./resources/js/components/FaqThemes.vue?vue&type=template&id=71cbfca5&scoped=true&": +/*!******************************************************************************************!*\ + !*** ./resources/js/components/FaqThemes.vue?vue&type=template&id=71cbfca5&scoped=true& ***! + \******************************************************************************************/ +/*! exports provided: render, staticRenderFns */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqThemes_vue_vue_type_template_id_71cbfca5_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./FaqThemes.vue?vue&type=template&id=71cbfca5&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/FaqThemes.vue?vue&type=template&id=71cbfca5&scoped=true&"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqThemes_vue_vue_type_template_id_71cbfca5_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_FaqThemes_vue_vue_type_template_id_71cbfca5_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + + + /***/ }), /***/ "./resources/js/components/GainViews.vue": diff --git a/resources/js/app.js b/resources/js/app.js index bd7e01d..b75fde5 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -29,6 +29,8 @@ Vue.component('prizes', require('./components/Prizes.vue').default); Vue.component('instant-win', require('./components/InstantWin.vue').default); Vue.component('codes-ean', require('./components/CodesEAN.vue').default); Vue.component('banned-ip', require('./components/BannedIP.vue').default); +Vue.component('faq-themes', require('./components/FaqThemes.vue').default); +Vue.component('faq-questions', require('./components/FaqQuestions.vue').default); /** * Next, we will create a fresh Vue application instance and attach it to diff --git a/resources/js/components/FaqQuestions.vue b/resources/js/components/FaqQuestions.vue new file mode 100644 index 0000000..3a85609 --- /dev/null +++ b/resources/js/components/FaqQuestions.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/resources/js/components/FaqThemes.vue b/resources/js/components/FaqThemes.vue new file mode 100644 index 0000000..4e44d03 --- /dev/null +++ b/resources/js/components/FaqThemes.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/resources/views/bo/faq-questions/index.blade.php b/resources/views/bo/faq-questions/index.blade.php new file mode 100644 index 0000000..f744e55 --- /dev/null +++ b/resources/views/bo/faq-questions/index.blade.php @@ -0,0 +1,5 @@ +@extends('layouts.bo') + +@section('content') + +@endsection diff --git a/resources/views/bo/faq-themes/index.blade.php b/resources/views/bo/faq-themes/index.blade.php new file mode 100644 index 0000000..5a8783f --- /dev/null +++ b/resources/views/bo/faq-themes/index.blade.php @@ -0,0 +1,5 @@ +@extends('layouts.bo') + +@section('content') + +@endsection diff --git a/resources/views/layouts/bo.blade.php b/resources/views/layouts/bo.blade.php index 4f75c5a..274034f 100644 --- a/resources/views/layouts/bo.blade.php +++ b/resources/views/layouts/bo.blade.php @@ -100,6 +100,13 @@ Règlement +
diff --git a/routes/web.php b/routes/web.php index 3868bf9..9337c1e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -46,4 +46,12 @@ Route::namespace('Bo') Route::get('/banned-ip', 'BannedIPController@index')->name('banned-ip'); Route::post('/ajax/delete-banned-ip', 'BannedIPController@destroy'); Route::post('/ajax/save-banned-ip', 'BannedIPController@saveDatas'); + // FAQ - Thèmes + Route::get('/faq-themes', 'FaqThemesController@index')->name('faq-themes'); + Route::post('/ajax/delete-faq-theme', 'FaqThemesController@destroy'); + Route::post('/ajax/save-faq-theme', 'FaqThemesController@saveDatas'); + // FAQ - Questions + Route::get('/faq-questions', 'FaqQuestionsController@index')->name('faq-questions'); + Route::post('/ajax/delete-faq-question', 'FaqQuestionsController@destroy'); + Route::post('/ajax/save-faq-question', 'FaqQuestionsController@saveDatas'); });