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 @@
+
+
+
+
+
+
+
+
+ Nom du thème *
+
+
+
+
+
+
+
+
+