{"version":3,"sources":["webpack:///./src/pages/FeedbackPage.vue?51f7","webpack:///src/pages/FeedbackPage.vue","webpack:///./src/pages/FeedbackPage.vue?f023","webpack:///./src/pages/FeedbackPage.vue","webpack:///./src/pages/FeedbackPage.vue?fae9"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","breadcrumbs","formSent","_e","_v","_m","on","$event","preventDefault","handleSubmit","validation","firstError","model","value","form","callback","$$v","$set","expression","directives","name","rawName","domProps","target","composing","nativeOn","staticRenderFns","Vue","Validator","mixins","validators","required","email","components","BaseButton","Breadcrumbs","FormControl","data","link","title","fform","phone","text","lot","user","methods","p","sendForm","axios","post","then","console","$this","window","event","eventCategory","eventAction","catch","getParam","tmp","location","substr","split","forEach","localStorage","component"],"mappings":"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","file":"js/chunk-3fb0d243.js?p=9cab05de","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-content feedback-page\"},[_c('vue-headful',{attrs:{\"title\":\"Обратная связь аукциона ArtInvestment\"}}),_c('div',{staticClass:\"feedback-page__breadcrumbs\"},[_c('breadcrumbs',{attrs:{\"breadcrumbs\":_vm.breadcrumbs}})],1),(!_vm.formSent)?_c('h1',{staticClass:\"feedback-page__title\"},[_vm._v(\"Обратная связь\")]):_vm._e(),(_vm.formSent)?_c('h1',{staticClass:\"feedback-page__title\"},[_vm._v(\" Благодарим за обратную связь! \")]):_vm._e(),_vm._m(0),(!_vm.formSent)?_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit($event)}}},[_c('div',{staticClass:\"feedback-page__form-wrap\"},[_c('div',{staticClass:\"feedback-page__form-group\"},[_c('form-control',{attrs:{\"placeholder\":\"email@example.ru\",\"errorMessage\":_vm.validation.firstError('form.email')},model:{value:(_vm.form.email),callback:function ($$v) {_vm.$set(_vm.form, \"email\", $$v)},expression:\"form.email\"}}),_c('form-control',{attrs:{\"placeholder\":\"Имя\",\"errorMessage\":_vm.validation.firstError('form.name')},model:{value:(_vm.form.name),callback:function ($$v) {_vm.$set(_vm.form, \"name\", $$v)},expression:\"form.name\"}}),_c('form-control',{attrs:{\"type\":\"tel\",\"placeholder\":\"Телефон\",\"errorMessage\":_vm.validation.firstError('form.phone')},model:{value:(_vm.form.phone),callback:function ($$v) {_vm.$set(_vm.form, \"phone\", $$v)},expression:\"form.phone\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form.lot),expression:\"form.lot\"}],attrs:{\"type\":\"hidden\"},domProps:{\"value\":(_vm.form.lot)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.form, \"lot\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form.user),expression:\"form.user\"}],attrs:{\"type\":\"hidden\"},domProps:{\"value\":(_vm.form.user)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.form, \"user\", $event.target.value)}}})],1),_c('form-control',{attrs:{\"fieldType\":\"textarea\",\"placeholder\":\"Оставьте сообщение тут...\",\"errorMessage\":_vm.validation.firstError('form.text')},model:{value:(_vm.form.text),callback:function ($$v) {_vm.$set(_vm.form, \"text\", $$v)},expression:\"form.text\"}})],1),_c('base-button',{attrs:{\"default\":\"\",\"size\":\"large\",\"title\":\"Отправить\"},nativeOn:{\"click\":function($event){return _vm.handleSubmit($event)}}})],1):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"feedback-page__text\"},[_vm._v(\" Если вы хотите предложить работу на аукцион, воспользуйтесь \"),_c('a',{attrs:{\"href\":\"https://auction.artinvestment.ru/offer\",\"target\":\"_blank\"}},[_vm._v(\"формой приема работ на торги Аукциона AI\")])])}]\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"page-content feedback-page\">\n    <vue-headful title=\"Обратная связь аукциона ArtInvestment\" />\n    <div class=\"feedback-page__breadcrumbs\">\n      <breadcrumbs :breadcrumbs=\"breadcrumbs\" />\n    </div>\n    <h1 class=\"feedback-page__title\" v-if=\"!formSent\">Обратная связь</h1>\n    <h1 class=\"feedback-page__title\" v-if=\"formSent\">\n      Благодарим за обратную связь!\n    </h1>\n    <p class=\"feedback-page__text\">\n      Если вы хотите предложить работу на аукцион, воспользуйтесь\n      <a href=\"https://auction.artinvestment.ru/offer\" target=\"_blank\"\n        >формой приема работ на торги Аукциона AI</a\n      >\n    </p>\n    <form @submit.prevent=\"handleSubmit\" v-if=\"!formSent\">\n      <div class=\"feedback-page__form-wrap\">\n        <div class=\"feedback-page__form-group\">\n          <form-control\n            v-model=\"form.email\"\n            placeholder=\"email@example.ru\"\n            :errorMessage=\"validation.firstError('form.email')\"\n          />\n          <form-control\n            v-model=\"form.name\"\n            placeholder=\"Имя\"\n            :errorMessage=\"validation.firstError('form.name')\"\n          />\n          <form-control\n            v-model=\"form.phone\"\n            type=\"tel\"\n            placeholder=\"Телефон\"\n            :errorMessage=\"validation.firstError('form.phone')\"\n          />\n          <input v-model=\"form.lot\" type=\"hidden\" />\n          <input v-model=\"form.user\" type=\"hidden\" />\n        </div>\n        <form-control\n          v-model=\"form.text\"\n          fieldType=\"textarea\"\n          placeholder=\"Оставьте сообщение тут...\"\n          :errorMessage=\"validation.firstError('form.text')\"\n        />\n      </div>\n      <base-button\n        default\n        size=\"large\"\n        title=\"Отправить\"\n        @click.native=\"handleSubmit\"\n      />\n    </form>\n  </div>\n</template>\n\n<script>\nimport FormControl from \"@/components/form/FormControl\";\nimport BaseButton from \"@/components/buttons/BaseButton\";\nimport Breadcrumbs from \"@/components/base/Breadcrumbs\";\nimport SimpleVueValidator from \"simple-vue-validator\";\nimport Vue from \"vue\";\nimport vueHeadful from \"vue-headful\";\n\nVue.component(\"vue-headful\", vueHeadful);\n\nimport axios from \"axios\";\n\nconst Validator = SimpleVueValidator.Validator;\n\nexport default {\n  name: \"FeedbackPage\",\n  mixins: [SimpleVueValidator.mixin],\n  validators: {\n    \"form.text\": function (value) {\n      return Validator.value(value).required(\"Не заполнено поле\");\n    },\n    \"form.email\": function (value) {\n      return Validator.value(value)\n        .required(\"Не заполнено поле\")\n        .email(\"Некорректный адрес\");\n    },\n    \"form.phone\": function (value) {\n      let pattern = /^[\\d ()+-]+$/;\n      return Validator.value(value).regex(pattern, \"Недопустимые символы\");\n    },\n    /* \"form.phone\": function (value) {\n      let pattern = /^((8|\\+7)[ - ]?)?(\\(?\\d{3}\\)?[ - ]?)?[\\d\\- ]{10}$/;\n      return Validator.value(value)\n        .required(\"Не заполнено поле\")\n        .regex(pattern, \"Неверный формат\");\n    },*/\n  },\n  components: {\n    BaseButton,\n    Breadcrumbs,\n    FormControl,\n  },\n  data() {\n    return {\n      breadcrumbs: [\n        {\n          link: \"/\",\n          title: \"Главная\",\n        },\n        {\n          title: \"Обратная связь\",\n        },\n      ],\n      form: {\n        fform: \"https://auction.artinvestment.ru/feedback\",\n        name: \"\",\n        email: \"\",\n        phone: \"\",\n        text: \"\",\n        lot: \"\",\n        user: null,\n      },\n      formSent: false,\n    };\n  },\n  methods: {\n    async handleSubmit() {\n      if ((await this.$validate()) === false) return;\n      let p = this.getParam(\"lot\");\n      this.form.lot =\n        p !== null ? p : localStorage.getItem(\"feedback_auction_id\");\n\n      if (this.$store.getters[\"user/USER_ID\"])\n        this.form.user = this.$store.getters[\"user/USER_ID\"];\n\n      this.sendForm();\n    },\n    sendForm() {\n      const $this = this;\n      axios\n        .post(\"/feedback/ask-question/\", $this.form)\n        .then((response) => {\n          console.log(response);\n          if (response.status === 200) {\n            this.formSent = true;\n            $this.form.name = \"\";\n            $this.form.email = \"\";\n            $this.form.phone = \"\";\n            $this.form.text = \"\";\n            this.validation.reset();\n            window.dataLayer.push({\n              event: \"event-to-ga\",\n              eventCategory: \"Question\",\n              eventAction: \"submit\",\n            });\n          }\n        })\n        .catch((error) => {\n          console.log(error);\n          this.validation.reset();\n        });\n    },\n    getParam(p) {\n      let result = null,\n        tmp = [];\n      location.search\n        .substr(1)\n        .split(\"&\")\n        .forEach(function (item) {\n          tmp = item.split(\"=\");\n          if (tmp[0] === p) result = decodeURIComponent(tmp[1]);\n        });\n      return result;\n    },\n  },\n  async created() {\n    this.form.lot =\n      localStorage.getItem(\"feedback_auction_id\") ?? this.getParam(\"lot\");\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"src/styles/helpers/variables\";\n.feedback-page__breadcrumbs {\n  margin-bottom: 20px;\n}\n\n.feedback-page__title {\n  margin-bottom: 15px;\n  font-weight: bold;\n  font-size: 20px;\n\n  @media #{$xs} {\n    font-size: 17px;\n  }\n}\n\n.feedback-page__text {\n  margin-bottom: 15px;\n  font-size: 14px;\n  line-height: 1.4;\n\n  a {\n    font-weight: bold;\n    color: $black;\n\n    &:hover {\n      color: $primary-bordo;\n    }\n  }\n}\n\n.feedback-page__form-wrap {\n  display: grid;\n  grid-template-columns: 1fr 1.4fr;\n  grid-gap: 10px;\n  align-items: flex-start;\n  margin-bottom: 48px;\n\n  @media #{$sm} {\n    grid-template-columns: 1fr 1fr;\n  }\n\n  @media #{$xs} {\n    grid-template-columns: 1fr;\n    grid-gap: 20px;\n    margin-bottom: 30px;\n  }\n}\n\n.feedback-page__form-group {\n  display: grid;\n  grid-template-columns: 1fr;\n  grid-gap: 15px;\n\n  @media #{$xs} {\n    grid-gap: 20px;\n  }\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeedbackPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeedbackPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FeedbackPage.vue?vue&type=template&id=5bfae99e&scoped=true&\"\nimport script from \"./FeedbackPage.vue?vue&type=script&lang=js&\"\nexport * from \"./FeedbackPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FeedbackPage.vue?vue&type=style&index=0&id=5bfae99e&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5bfae99e\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeedbackPage.vue?vue&type=style&index=0&id=5bfae99e&prod&lang=scss&scoped=true&\""],"sourceRoot":""}