-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path612780c.modern.js
More file actions
1 lines (1 loc) · 7.01 KB
/
Copy path612780c.modern.js
File metadata and controls
1 lines (1 loc) · 7.01 KB
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{835:function(t,e,o){"use strict";o.r(e);var r={components:{sugestionList:()=>o.e(6).then(o.bind(null,891))},props:{resultSuggestions:{type:Boolean,default:!0},closeOnMobile:{type:Boolean,default:!0},limit:{type:Number,default:16},isRecordCapture:{type:Boolean,default:!0},verTodos:{type:Boolean,default:!0},closeButtonSugestoes:{type:Boolean,default:!0},showPrecoPor:{type:Boolean,default:!1},isMobileMenu:{type:Boolean,default:!1}},data:()=>({valSearch:"",show_suggestions:!1,inputTimer:null,initializeSuggestions:!1,isDefaultShowcase:!1,loading:!1,suportRecognition:!0,permissionRecognition:!1,SourceRecognition:null,recordingStatus:!1,autoSearch:null}),computed:{showBusca(){return this.$store.state.busca.showBusca},productList(){return this.$store.state.busca.productList?this.$store.state.busca.productList:null},showcase(){return this.$store.state.busca.defaultShowcase?this.$store.state.busca.defaultShowcase:null},defaultProductList(){return this.$store.state.busca.defaultProductList?this.$store.state.busca.defaultProductList:null}},watch:{"$route.fullPath"(t,e){this.show_suggestions=!1,this.valSearch=""},showBusca:{handler(t){!0===t?this.focusOnSearch():!1===t&&this.closeSearch()}},productList:{immediate:!0,handler(t){t&&!this.initializeSuggestions&&(this.initializeSuggestions=!0,this.isDefaultShowcase=!0,this.setDefault())}}},mounted(){this.isRecordCapture&&this.configSpeechRecognition()},methods:{search(){if(this.valSearch.length){this.closeSearch(),this.$router.push({name:"busca",query:{busca:this.valSearch}}),this.recordingStatus&&this.toggleRecord(),this.valSearch="";const t=setInterval(()=>{0===this.valSearch.length&&clearInterval(t),this.valSearch="",this.show_suggestions=!1},300);this.$refs.searchInput.blur(),this.setDefault()}},focus(t){this.defaultProductList||this.$store.dispatch("busca/getDefaultShowcase"),this.show_suggestions=!0},closeForm(){this.$store.commit("busca/toggleBusca","www")},closeSearch(t){clearTimeout(this.inputTimer),this.loading=!1,this.show_suggestions=!1,this.$store.commit("busca/toggleBusca",null)},handleInput(t){if(!t)return;const e=t.target.value;this.valSearch=e,this.show_suggestions&&(this.loading=!0,this.inputTimer&&clearTimeout(this.inputTimer),e.length?this.inputTimer=setTimeout(()=>{this.getSugestoes()},500):this.setDefault())},getSugestoes(){this.$axios.request({method:"get",url:`/v2/front/url/product/listing/search?busca=${this.valSearch}&offset=0&limit=${this.limit}&order=Popularidade`}).then(t=>{var e;this.isDefaultShowcase=!1,this.loading=!1,t.data.conteudo&&this.$store.commit("busca/setProductList",null===(e=t.data.conteudo)||void 0===e?void 0:e.produtos)}).catch(t=>{console.error(t.response),this.setDefault()})},setDefault(){this.loading=!1,this.isDefaultShowcase=!0,this.$store.commit("busca/setProductList",this.defaultProductList?this.defaultProductList:[])},focusOnSearch(){const input=this.$refs.searchInput;input&&input.focus()},async hasMicrophonePermission(){const{state:t}=await navigator.permissions.query({name:"microphone"});return"granted"===t},async toggleRecord(){await this.hasMicrophonePermission()?this.recordingStatus?this.SourceRecognition.stop():this.SourceRecognition.start():navigator.mediaDevices.getUserMedia({audio:!0}).then(t=>{this.configSpeechRecognition(),this.SourceRecognition.start()}).catch(function(t){console.error("Não foi possível acessar o microfone",t)})},configSpeechRecognition(){const t=window.SpeechRecognition||window.webkitSpeechRecognition;if(!t)return this.suportRecognition=!1;this.SourceRecognition=new t,this.SourceRecognition.continuous=!0,this.SourceRecognition.interimResults=!0,this.recordingStatus=!1,this.SourceRecognition.onstart=()=>{this.recordingStatus=!0},this.SourceRecognition.onend=()=>{this.recordingStatus=!1,this.autoSearch&&clearTimeout(this.autoSearch)},this.SourceRecognition.onresult=t=>{this.autoSearch&&clearTimeout(this.autoSearch),this.transcriptToText(t),this.autoSearch=setTimeout(()=>{this.search()},2e3)}},transcriptToText(t){this.valSearch=[...t.results].map(t=>t[0]).map(data=>data.transcript).join("")}}},n=o(12),component=Object(n.a)(r,function(){var t=this,e=t._self._c;return e("transition",{attrs:{name:"slideBusca"}},[e("div",{staticClass:"container_busca",class:{buscaComMicrofone:t.isRecordCapture,buscaCapturandoAudio:t.recordingStatus}},[e("span",{staticClass:"cover_screen fade",class:{"-show":t.show_suggestions},on:{click:t.closeSearch}}),t._v(" "),e("form",{staticClass:"search_form",attrs:{method:"get"},on:{submit:function(e){return e.preventDefault(),t.search.apply(null,arguments)}}},[e("div",{staticClass:"frame_search_actions"},[t.isRecordCapture&&t.suportRecognition?e("button",{staticClass:"voice_search",attrs:{type:"button","aria-label":t.$store.getters["language/getContent"]("header.search.voiceSearch"),title:t.$store.getters["language/getContent"]("header.search.voiceSearch")},on:{click:t.toggleRecord}},[e("svg",{attrs:{width:"24",height:"24"}},[e("use",{attrs:{"xlink:href":"#mic-icon"}})])]):t._e()]),t._v(" "),e("input",{ref:"searchInput",staticClass:"search_input",attrs:{type:"text",name:"",placeholder:t.$store.getters["language/getContent"]("header.search.placeholder")},on:{focusin:t.focus,input:t.handleInput}}),t._v(" "),e("div",{staticClass:"spin_loading",class:{"-show":t.loading}},[e("svg",{attrs:{width:"30",height:"30"}},[e("use",{attrs:{"xlink:href":"#spin-icon"}})])]),t._v(" "),e("div",{staticClass:"frame_search_actions"},[e("button",{staticClass:"btn_search",attrs:{type:"submit",name:"bnt_busca","aria-label":t.$store.getters["language/getContent"]("header.search.placeholder"),title:t.$store.getters["language/getContent"]("header.search.placeholder")}},[e("svg",{attrs:{width:"24",height:"24"}},[e("use",{attrs:{"xlink:href":"#search-icon"}})])])]),t._v(" "),t.resultSuggestions?e("div",{staticClass:"container_suggestions",class:{"-show":t.show_suggestions&&t.productList}},[e("div",{staticClass:"suggestion_header"},[e("p",{staticClass:"text"},[t.showcase&&t.isDefaultShowcase?e("span",[t._v("\n "+t._s(t.$store.getters["language/processText"](t.showcase.titulo))+"\n ")]):e("span",[t._v(t._s(t.$store.getters["language/getContent"]("header.search.result")))])]),t._v(" "),t.closeButtonSugestoes?e("button",{staticClass:"btn_suggestion_close",on:{click:t.closeSearch}},[e("svg",{attrs:{width:"30",height:"30"}},[e("use",{attrs:{"xlink:href":"#close-icon"}})])]):t._e()]),t._v(" "),t.productList?e("sugestionList",{staticClass:"suggestions_list",attrs:{productList:t.productList}}):t._e(),t._v(" "),t.verTodos?e("button",{staticClass:"btn_see_all",class:{"-disabled":t.isDefaultShowcase},attrs:{type:"submit",name:"button",title:"buscar"}},[t._v("\n "+t._s(t.$store.getters["language/getContent"]("header.search.moreResults"))+"\n ")]):t._e()],1):t._e()]),t._v(" "),e("div",{staticClass:"close_button -mobile"},[e("button",{on:{click:function(e){return t.$emit("closeForm")}}},[e("svg",{staticClass:"icon",attrs:{width:"20",height:"20"}},[e("use",{attrs:{"xlink:href":"#close-icon"}})])])])])])},[],!1,null,null,null);e.default=component.exports}}]);