@perevorot/shop 2.0.151 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("vue"),t=require("vuex"),o={name:"confirm",setup:function(){var o=t.useStore(),s=e.computed((function(){return o.getters["auth/me"]})),r=e.ref(!0),n=e.computed((function(){return Object.keys(s.value).length>0})),a=function(){sessionStorage&&sessionStorage.setItem("auth-confirm-closed","true"),r.value=!1,o.dispatch("auth/me")},c=sessionStorage&&"true"!==sessionStorage.getItem("auth-confirm-closed");return window.addEventListener("keyup",(function(e){r.value&&"Escape"===e.key&&a()})),{user:s,logged:n,modal:r,close:a,isSessionStorage:c}}},s={key:0,class:"auth-user"},r={class:"modal-content"},n=[e.createElementVNode("svg",{class:"icon close"},[e.createElementVNode("use",{"xlink:href":"#close"})],-1)],a={class:"box"},c={class:"auth-registration"},l={class:"title is-smaller"};o.render=function(t,o,i,u,d,m){var v=e.resolveComponent("account-user");return u.logged&&u.user.is_social&&!u.user.is_social_confirmed&&u.isSessionStorage?(e.openBlock(),e.createElementBlock("div",s,[e.createElementVNode("div",{class:e.normalizeClass(["modal",{"is-active":u.modal}])},[e.createElementVNode("div",{class:"modal-background",onClick:o[0]||(o[0]=function(){return u.close&&u.close.apply(u,arguments)})}),e.createElementVNode("div",r,[e.createElementVNode("button",{class:"modal-close is-large",onClick:o[1]||(o[1]=function(){return u.close&&u.close.apply(u,arguments)})},n),e.createElementVNode("div",a,[e.renderSlot(t.$slots,"hero"),e.createElementVNode("div",c,[e.createElementVNode("div",l,e.toDisplayString(t.__("auth.confirm.title")),1),e.createVNode(v,{mode:"confirm"})])])])],2)])):e.createCommentVNode("v-if",!0)},module.exports=o;
1
+ "use strict";var e=require("vue"),o=require("vuex"),t={name:"confirm",setup:function(){var t=o.useStore(),s=e.computed((function(){return t.getters["auth/me"]})),r=e.ref(!0),n=e.computed((function(){return Object.keys(s.value).length>0})),a=function(){sessionStorage&&sessionStorage.setItem("auth-confirm-closed","true"),r.value=!1,t.dispatch("auth/me")},c=sessionStorage&&"true"!==sessionStorage.getItem("auth-confirm-closed");return window.addEventListener("keyup",(function(e){r.value&&"Escape"===e.key&&a()})),{user:s,logged:n,modal:r,close:a,isSessionStorage:c}}},s={key:0,class:"auth-user is-confirm-modal"},r={class:"modal-content"},n=[e.createElementVNode("svg",{class:"icon close"},[e.createElementVNode("use",{"xlink:href":"#close"})],-1)],a={class:"box"},c={class:"auth-registration"},l={class:"title is-smaller"};t.render=function(o,t,i,u,d,m){var v=e.resolveComponent("account-user");return u.logged&&u.user.is_social&&!u.user.is_social_confirmed&&u.isSessionStorage?(e.openBlock(),e.createElementBlock("div",s,[e.createElementVNode("div",{class:e.normalizeClass(["modal",{"is-active":u.modal}])},[e.createElementVNode("div",{class:"modal-background",onClick:t[0]||(t[0]=function(){return u.close&&u.close.apply(u,arguments)})}),e.createElementVNode("div",r,[e.createElementVNode("button",{class:"modal-close is-large",onClick:t[1]||(t[1]=function(){return u.close&&u.close.apply(u,arguments)})},n),e.createElementVNode("div",a,[e.renderSlot(o.$slots,"hero"),e.createElementVNode("div",c,[e.createElementVNode("div",l,e.toDisplayString(o.__("auth.confirm.title")),1),e.createVNode(v,{mode:"confirm"})])])])],2)])):e.createCommentVNode("v-if",!0)},module.exports=t;
2
2
  //# sourceMappingURL=Confirm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Confirm.js","sources":["../../../src/components/auth/Confirm.vue","../../../src/components/auth/Confirm.vue?vue&type=template&id=76c32fc9&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-user\" v-if=\"logged && user.is_social && !user.is_social_confirmed && isSessionStorage\">\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"auth-registration\">\n <div class=\"title is-smaller\">{{ __('auth.confirm.title') }}</div>\n <account-user :mode=\"'confirm'\"></account-user>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'confirm',\n setup() {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = ref(true);\n const logged = computed(() => Object.keys(user.value).length > 0);\n\n const close = () => {\n if (sessionStorage) {\n sessionStorage.setItem('auth-confirm-closed', 'true');\n }\n\n modal.value = false;\n store.dispatch('auth/me');\n };\n\n const isSessionStorage = sessionStorage && sessionStorage.getItem('auth-confirm-closed') !== 'true';\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n return {\n user,\n logged,\n modal,\n close,\n isSessionStorage\n };\n }\n};\n</script>","<template>\n <div class=\"auth-user\" v-if=\"logged && user.is_social && !user.is_social_confirmed && isSessionStorage\">\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"auth-registration\">\n <div class=\"title is-smaller\">{{ __('auth.confirm.title') }}</div>\n <account-user :mode=\"'confirm'\"></account-user>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'confirm',\n setup() {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = ref(true);\n const logged = computed(() => Object.keys(user.value).length > 0);\n\n const close = () => {\n if (sessionStorage) {\n sessionStorage.setItem('auth-confirm-closed', 'true');\n }\n\n modal.value = false;\n store.dispatch('auth/me');\n };\n\n const isSessionStorage = sessionStorage && sessionStorage.getItem('auth-confirm-closed') !== 'true';\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n return {\n user,\n logged,\n modal,\n close,\n isSessionStorage\n };\n }\n};\n</script>"],"names":["name","setup","store","useStore","user","computed","getters","modal","ref","logged","Object","keys","value","length","close","sessionStorage","setItem","dispatch","isSessionStorage","getItem","window","addEventListener","e","key","_createElementVNode","$setup","is_social","is_social_confirmed","_createElementBlock","_hoisted_1","onClick","_hoisted_2","_hoisted_5","_renderSlot","_hoisted_6","_hoisted_7","_ctx","_createVNode","mode"],"mappings":"sDA0Be,CACXA,KAAM,UACNC,qBACUC,EAAQC,aACRC,EAAOC,YAAS,kBAAMH,EAAMI,QAAQ,cACpCC,EAAQC,OAAI,GACZC,EAASJ,YAAS,kBAAMK,OAAOC,KAAKP,EAAKQ,OAAOC,OAAS,KAEzDC,EAAQ,WACNC,gBACAA,eAAeC,QAAQ,sBAAuB,QAGlDT,EAAMK,OAAQ,EACdV,EAAMe,SAAS,YAGbC,EAAmBH,gBAAoE,SAAlDA,eAAeI,QAAQ,8BAElEC,OAAOC,iBAAiB,SAAS,SAACC,GAC1Bf,EAAMK,OAAmB,WAAVU,EAAEC,KACjBT,OAID,CACHV,KAAAA,EACAK,OAAAA,EACAF,MAAAA,EACAO,MAAAA,EACAI,iBAAAA,oBCvDG,sBAGQ,oBAEHM,kCAAW,eACPA,yCAAgB,0BAGb,gBAEI,8BACI,mGAZFC,UAAUA,OAAKC,YAAcD,OAAKE,qBAAuBF,kCAAtFG,2BAAAC,GACIL,oDAAW,qBAAqCC,aAC5CD,kCAAW,mBAAoBM,sCAAOL,wCACtCD,2BAAAO,GACIP,qCAAc,uBAAwBM,sCAAOL,0CAK7CD,2BAAAQ,GACIC,8BACAT,2BAAAU,GACIV,2BAAAW,oBAAiCC,+BACjCC,iBAAeC,KAAM"}
1
+ {"version":3,"file":"Confirm.js","sources":["../../../src/components/auth/Confirm.vue","../../../src/components/auth/Confirm.vue?vue&type=template&id=3754690c&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-user is-confirm-modal\" v-if=\"logged && user.is_social && !user.is_social_confirmed && isSessionStorage\">\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"auth-registration\">\n <div class=\"title is-smaller\">{{ __('auth.confirm.title') }}</div>\n <account-user :mode=\"'confirm'\"></account-user>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'confirm',\n setup() {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = ref(true);\n const logged = computed(() => Object.keys(user.value).length > 0);\n\n const close = () => {\n if (sessionStorage) {\n sessionStorage.setItem('auth-confirm-closed', 'true');\n }\n\n modal.value = false;\n store.dispatch('auth/me');\n };\n\n const isSessionStorage = sessionStorage && sessionStorage.getItem('auth-confirm-closed') !== 'true';\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n return {\n user,\n logged,\n modal,\n close,\n isSessionStorage\n };\n }\n};\n</script>","<template>\n <div class=\"auth-user is-confirm-modal\" v-if=\"logged && user.is_social && !user.is_social_confirmed && isSessionStorage\">\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"auth-registration\">\n <div class=\"title is-smaller\">{{ __('auth.confirm.title') }}</div>\n <account-user :mode=\"'confirm'\"></account-user>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'confirm',\n setup() {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = ref(true);\n const logged = computed(() => Object.keys(user.value).length > 0);\n\n const close = () => {\n if (sessionStorage) {\n sessionStorage.setItem('auth-confirm-closed', 'true');\n }\n\n modal.value = false;\n store.dispatch('auth/me');\n };\n\n const isSessionStorage = sessionStorage && sessionStorage.getItem('auth-confirm-closed') !== 'true';\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n return {\n user,\n logged,\n modal,\n close,\n isSessionStorage\n };\n }\n};\n</script>"],"names":["name","setup","store","useStore","user","computed","getters","modal","ref","logged","Object","keys","value","length","close","sessionStorage","setItem","dispatch","isSessionStorage","getItem","window","addEventListener","e","key","_createElementVNode","$setup","is_social","is_social_confirmed","_createElementBlock","_hoisted_1","onClick","_hoisted_2","_hoisted_5","_renderSlot","_hoisted_6","_hoisted_7","_ctx","_createVNode","mode"],"mappings":"sDA0Be,CACXA,KAAM,UACNC,qBACUC,EAAQC,aACRC,EAAOC,YAAS,kBAAMH,EAAMI,QAAQ,cACpCC,EAAQC,OAAI,GACZC,EAASJ,YAAS,kBAAMK,OAAOC,KAAKP,EAAKQ,OAAOC,OAAS,KAEzDC,EAAQ,WACNC,gBACAA,eAAeC,QAAQ,sBAAuB,QAGlDT,EAAMK,OAAQ,EACdV,EAAMe,SAAS,YAGbC,EAAmBH,gBAAoE,SAAlDA,eAAeI,QAAQ,8BAElEC,OAAOC,iBAAiB,SAAS,SAACC,GAC1Bf,EAAMK,OAAmB,WAAVU,EAAEC,KACjBT,OAID,CACHV,KAAAA,EACAK,OAAAA,EACAF,MAAAA,EACAO,MAAAA,EACAI,iBAAAA,oBCvDG,uCAGQ,oBAEHM,kCAAW,eACPA,yCAAgB,0BAGb,gBAEI,8BACI,mGAZeC,UAAUA,OAAKC,YAAcD,OAAKE,qBAAuBF,kCAAvGG,2BAAAC,GACIL,oDAAW,qBAAqCC,aAC5CD,kCAAW,mBAAoBM,sCAAOL,wCACtCD,2BAAAO,GACIP,qCAAc,uBAAwBM,sCAAOL,0CAK7CD,2BAAAQ,GACIC,8BACAT,2BAAAU,GACIV,2BAAAW,oBAAiCC,+BACjCC,iBAAeC,KAAM"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("vue"),t=require("vuex"),o=require("formvuelate"),r=require("@formvuelate/plugin-vee-validate"),a=require("@perevorot/shop/dist/forms/FormText"),n=require("@perevorot/shop/dist/forms/FormPassword"),l=require("yup");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:function(){return e[o]}})}})),t.default=e,Object.freeze(t)}var s=i(r),u=i(a),d=i(n),m=c(l);function f(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==o)return;var r,a,n=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(n.push(r.value),!t||n.length!==t);l=!0);}catch(e){i=!0,a=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return p(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);"Object"===o&&e.constructor&&(o=e.constructor.name);if("Map"===o||"Set"===o)return Array.from(e);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return p(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=new Array(t);o<t;o++)r[o]=e[o];return r}e.markRaw(u.default);var h=o.SchemaFormFactory([s.default({})]),v={props:f({loginCallback:{type:Function,default:function(){}},forgetType:{type:String,default:"email"},showPlaceholders:{type:Boolean,default:!1}},"showPlaceholders",{type:Boolean,default:!1}),name:"login",components:{SchemaForm:h},setup:function(r){var a,n=e.ref(!1),l=t.useStore(),i=e.ref(0),c=e.ref({}),s=e.computed((function(){return l.getters["auth/modal"]})),p=e.ref({email:{component:u.default,label:__("auth.login.form.email"),store:"login",model:"email",placeholder:r.showPlaceholders?__("auth.login.form.email"):""},password:{component:d.default,label:__("auth.login.form.password"),placeholder:r.showPlaceholders?__("auth.login.form.password"):""}}),h=m.object().shape({email:m.string().email(__("auth.validation.email")).required(__("auth.validation.required")),password:m.string().required(__("auth.validation.required"))}),v=e.ref({email:"",password:""});o.useSchemaForm(v);return f(a={loading:n,modal:s,schema:p,validation:h,reset:function(){l.commit("auth/modal","forget")},facebook:function(){window.location.href=$ziggy("auth.login.social",{provider:"facebook"})},google:function(){window.location.href=$ziggy("auth.login.social",{provider:"google"})}},"schema",p),f(a,"onSubmit",(function(){n.value=!0,l.dispatch("auth/login",{credentials:v.value,callback:function(e){if(r.loginCallback&&r.loginCallback(),window.authUserLoginCallback&&window.authUserLoginCallback(),e.data&&e.data.user&&!e.data.user.is_login_tracked){var t={event:"login",user_id:e.data.user.id,method:"site"};$env.debug.ecommerce&&console.log(t),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(t))}},finally:function(){n.value=!1},catch:function(e){if(e.response.data&&e.response.data.errors){for(var t=0,o=Object.entries(e.response.data.errors);t<o.length;t++){var r=g(o[t],2),a=r[0],n=r[1];n[0]&&(c.value[a]=n[0])}v.value.password="",i.value++}}})})),f(a,"errors",c),f(a,"key",i),f(a,"model",v),f(a,"register",(function(){l.commit("auth/modal","registration")})),a}},b={class:"auth-login"},y={class:"title"},w={class:"href-forget-password"},k={class:"field"},_={class:"socials"},E={class:"description has-text-centered"},S={class:"buttons"},N=[e.createElementVNode("svg",{class:"icon fb-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-facebook-icon"})],-1),e.createElementVNode("span",null,"Facebook",-1)],V=[e.createElementVNode("svg",{class:"icon google-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-google-icon"})],-1),e.createElementVNode("span",null,"Google",-1)],C={class:"href-register"};v.render=function(t,o,r,a,n,l){var i=e.resolveComponent("SchemaForm"),c=e.resolveComponent("forget");return e.openBlock(),e.createElementBlock("div",b,[e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",y,e.toDisplayString(t.__("auth.login.title")),1),(e.openBlock(),e.createBlock(i,{schemaRowClasses:"field",schema:a.schema,"validation-schema":a.validation,"initial-errors":a.errors,key:a.key,onSubmit:a.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",w,[e.createElementVNode("a",{onClick:o[0]||(o[0]=function(){return a.reset&&a.reset.apply(a,arguments)})},e.toDisplayString(t.__("auth.login.forget_password")),1)]),e.createElementVNode("div",k,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":a.loading}]),type:"submit"},e.toDisplayString(t.__("auth.login.form.submit")),3)]),e.createElementVNode("div",_,[e.createElementVNode("div",E,e.toDisplayString(t.__("auth.login.socials")),1),e.createElementVNode("div",S,[e.createElementVNode("a",{class:"button",onClick:o[1]||(o[1]=function(){return a.facebook&&a.facebook.apply(a,arguments)})},N),e.createElementVNode("a",{class:"button",onClick:o[2]||(o[2]=function(){return a.google&&a.google.apply(a,arguments)})},V)])]),e.createElementVNode("div",C,[e.createElementVNode("a",{onClick:o[3]||(o[3]=function(){return a.register&&a.register.apply(a,arguments)})},e.toDisplayString(t.__("auth.login.signup")),1)])]})),_:1},8,["schema","validation-schema","initial-errors","onSubmit"]))],512),[[e.vShow,"login"==a.modal]]),"forget"==a.modal?(e.openBlock(),e.createBlock(c,{key:0,email:a.model.email,"forget-type":r.forgetType,"show-placeholders":r.showPlaceholders},null,8,["email","forget-type","show-placeholders"])):e.createCommentVNode("v-if",!0)])},module.exports=v;
1
+ "use strict";var e=require("vue"),t=require("vuex"),o=require("formvuelate"),r=require("@formvuelate/plugin-vee-validate"),a=require("@perevorot/shop/dist/forms/FormText"),n=require("@perevorot/shop/dist/forms/FormPassword"),l=require("yup");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:function(){return e[o]}})}})),t.default=e,Object.freeze(t)}var s,u=i(r),d=i(a),m=i(n),f=c(l);function g(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==o)return;var r,a,n=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(n.push(r.value),!t||n.length!==t);l=!0);}catch(e){i=!0,a=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return p(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);"Object"===o&&e.constructor&&(o=e.constructor.name);if("Map"===o||"Set"===o)return Array.from(e);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return p(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=new Array(t);o<t;o++)r[o]=e[o];return r}e.markRaw(d.default);var b=o.SchemaFormFactory([u.default({})]),v={props:(s={loginCallback:{type:Function,default:function(){}},forgetType:{type:String,default:"email"},showPlaceholders:{type:Boolean,default:!1}},g(s,"showPlaceholders",{type:Boolean,default:!1}),g(s,"showRememberMe",{type:Boolean,default:!1}),s),name:"login",components:{SchemaForm:b},setup:function(r){var a,n=e.ref(!1),l=t.useStore(),i=e.ref(0),c=e.ref({}),s=e.computed((function(){return l.getters["auth/modal"]})),u=e.ref(!1),p=e.ref({email:{component:d.default,label:__("auth.login.form.email"),store:"login",model:"email",placeholder:r.showPlaceholders?__("auth.login.form.email"):""},password:{component:m.default,label:__("auth.login.form.password"),placeholder:r.showPlaceholders?__("auth.login.form.password"):""}}),b=f.object().shape({email:f.string().email(__("auth.validation.email")).required(__("auth.validation.required")),password:f.string().required(__("auth.validation.required"))}),v=e.ref({email:"",password:""});o.useSchemaForm(v);return g(a={loading:n,modal:s,schema:p,validation:b,reset:function(){l.commit("auth/modal","forget")},facebook:function(){window.location.href=$ziggy("auth.login.social",{provider:"facebook"})},google:function(){window.location.href=$ziggy("auth.login.social",{provider:"google"})}},"schema",p),g(a,"onSubmit",(function(){n.value=!0,l.dispatch("auth/login",{credentials:Object.assign({},v.value,{remember:u.value}),callback:function(e){if(r.loginCallback&&r.loginCallback(),window.authUserLoginCallback&&window.authUserLoginCallback(),e.data&&e.data.user&&!e.data.user.is_login_tracked){var t={event:"login",user_id:e.data.user.id,method:"site"};$env.debug.ecommerce&&console.log(t),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(t))}},finally:function(){n.value=!1},catch:function(e){if(e.response.data&&e.response.data.errors){for(var t=0,o=Object.entries(e.response.data.errors);t<o.length;t++){var r=h(o[t],2),a=r[0],n=r[1];n[0]&&(c.value[a]=n[0])}i.value++}}})})),g(a,"errors",c),g(a,"key",i),g(a,"model",v),g(a,"register",(function(){l.commit("auth/modal","registration")})),g(a,"remember",u),a}},y={class:"auth-login"},w={class:"title"},k={class:"schema-row field"},_={key:0,class:"control href-remember-me"},E={for:"remember-me-checkbox",class:"description"},V={class:"href-forget-password"},N={class:"field"},S={class:"socials"},C={class:"description has-text-centered"},j={class:"buttons"},x=[e.createElementVNode("svg",{class:"icon fb-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-facebook-icon"})],-1),e.createElementVNode("span",null,"Facebook",-1)],q=[e.createElementVNode("svg",{class:"icon google-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-google-icon"})],-1),e.createElementVNode("span",null,"Google",-1)],B={class:"href-register"};v.render=function(t,o,r,a,n,l){var i=e.resolveComponent("SchemaForm"),c=e.resolveComponent("forget");return e.openBlock(),e.createElementBlock("div",y,[e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",w,e.toDisplayString(t.__("auth.login.title")),1),e.renderSlot(t.$slots,"login-over-form"),(e.openBlock(),e.createBlock(i,{schemaRowClasses:"field",schema:a.schema,"validation-schema":a.validation,"initial-errors":a.errors,key:a.key,onSubmit:a.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",k,[r.showRememberMe?(e.openBlock(),e.createElementBlock("div",_,[e.withDirectives(e.createElementVNode("input",{class:"is-checkradio",type:"checkbox","onUpdate:modelValue":o[0]||(o[0]=function(e){return a.remember=e}),id:"remember-me-checkbox"},null,512),[[e.vModelCheckbox,a.remember]]),e.createElementVNode("label",E,e.toDisplayString(t.__("auth.login.remember_me")),1)])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",V,[e.createElementVNode("a",{onClick:o[1]||(o[1]=function(){return a.reset&&a.reset.apply(a,arguments)})},e.toDisplayString(t.__("auth.login.forget_password")),1)])]),e.createElementVNode("div",N,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":a.loading}]),type:"submit"},e.toDisplayString(t.__("auth.login.form.submit")),3)]),e.createElementVNode("div",S,[e.createElementVNode("div",C,e.toDisplayString(t.__("auth.login.socials")),1),e.createElementVNode("div",j,[e.createElementVNode("a",{class:"button",onClick:o[2]||(o[2]=function(){return a.facebook&&a.facebook.apply(a,arguments)})},x),e.createElementVNode("a",{class:"button",onClick:o[3]||(o[3]=function(){return a.google&&a.google.apply(a,arguments)})},q)])]),e.createElementVNode("div",B,[e.createElementVNode("a",{onClick:o[4]||(o[4]=function(){return a.register&&a.register.apply(a,arguments)})},e.toDisplayString(t.__("auth.login.signup")),1)])]})),_:1},8,["schema","validation-schema","initial-errors","onSubmit"]))],512),[[e.vShow,"login"==a.modal]]),"forget"==a.modal?(e.openBlock(),e.createBlock(c,{key:0,email:a.model.email,"forget-type":r.forgetType,"show-placeholders":r.showPlaceholders},null,8,["email","forget-type","show-placeholders"])):e.createCommentVNode("v-if",!0)])},module.exports=v;
2
2
  //# sourceMappingURL=Login.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Login.js","sources":["../../../src/components/auth/Login.vue","../../../src/components/auth/Login.vue?vue&type=template&id=11762c76&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-login\">\n <div v-show=\"modal == 'login'\">\n <div class=\"title\">{{ __('auth.login.title') }}</div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"href-forget-password\">\n <a @click=\"reset\">{{ __('auth.login.forget_password') }}</a>\n </div>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">{{ __('auth.login.form.submit') }}</button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">{{ __('auth.login.socials') }}</div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\">\n <svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-register\">\n <a @click=\"register\">{{ __('auth.login.signup') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n\n <forget v-if=\"modal == 'forget'\" :email=\"model.email\" :forget-type=\"forgetType\" :show-placeholders=\"showPlaceholders\"></forget>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n props: {\n loginCallback: {\n type: Function,\n default: () => { }\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n name: 'login',\n components: {\n SchemaForm\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const errors = ref({});\n const modal = computed(() => store.getters['auth/modal']);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email'),\n store: 'login',\n model: 'email',\n placeholder: props.showPlaceholders ? __('auth.login.form.email') : '',\n },\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n placeholder: props.showPlaceholders ? __('auth.login.form.password') : '',\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n password: yup.string().required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: '',\n password: ''\n });\n\n useSchemaForm(model);\n\n const reset = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/login', {\n credentials: model.value,\n callback: (response) => {\n if (props.loginCallback) {\n props.loginCallback();\n }\n\n if (window.authUserLoginCallback) {\n window.authUserLoginCallback();\n }\n\n if (response.data && response.data.user && !response.data.user.is_login_tracked) {\n let object = {\n event: 'login',\n user_id: response.data.user.id,\n method: 'site'\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n }\n },\n finally: () => {\n loading.value = false;\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n model.value.password = '';\n\n key.value++;\n }\n }\n });\n };\n\n return {\n loading,\n modal,\n schema,\n validation,\n reset,\n facebook,\n google,\n schema,\n onSubmit,\n errors,\n key,\n model,\n register\n };\n }\n};\n</script>","<template>\n <div class=\"auth-login\">\n <div v-show=\"modal == 'login'\">\n <div class=\"title\">{{ __('auth.login.title') }}</div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"href-forget-password\">\n <a @click=\"reset\">{{ __('auth.login.forget_password') }}</a>\n </div>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">{{ __('auth.login.form.submit') }}</button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">{{ __('auth.login.socials') }}</div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\">\n <svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-register\">\n <a @click=\"register\">{{ __('auth.login.signup') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n\n <forget v-if=\"modal == 'forget'\" :email=\"model.email\" :forget-type=\"forgetType\" :show-placeholders=\"showPlaceholders\"></forget>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n props: {\n loginCallback: {\n type: Function,\n default: () => { }\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n name: 'login',\n components: {\n SchemaForm\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const errors = ref({});\n const modal = computed(() => store.getters['auth/modal']);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email'),\n store: 'login',\n model: 'email',\n placeholder: props.showPlaceholders ? __('auth.login.form.email') : '',\n },\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n placeholder: props.showPlaceholders ? __('auth.login.form.password') : '',\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n password: yup.string().required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: '',\n password: ''\n });\n\n useSchemaForm(model);\n\n const reset = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/login', {\n credentials: model.value,\n callback: (response) => {\n if (props.loginCallback) {\n props.loginCallback();\n }\n\n if (window.authUserLoginCallback) {\n window.authUserLoginCallback();\n }\n\n if (response.data && response.data.user && !response.data.user.is_login_tracked) {\n let object = {\n event: 'login',\n user_id: response.data.user.id,\n method: 'site'\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n }\n },\n finally: () => {\n loading.value = false;\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n model.value.password = '';\n\n key.value++;\n }\n }\n });\n };\n\n return {\n loading,\n modal,\n schema,\n validation,\n reset,\n facebook,\n google,\n schema,\n onSubmit,\n errors,\n key,\n model,\n register\n };\n }\n};\n</script>"],"names":["markRaw","FormText","SchemaForm","SchemaFormFactory","VeeValidatePlugin","props","loginCallback","type","Function","forgetType","String","showPlaceholders","Boolean","name","components","setup","loading","ref","store","useStore","key","errors","modal","computed","getters","schema","email","component","label","__","model","placeholder","password","FormPassword","validation","yup","object","shape","string","required","useSchemaForm","reset","commit","facebook","window","location","href","$ziggy","provider","google","value","dispatch","credentials","callback","response","authUserLoginCallback","data","user","is_login_tracked","event","user_id","id","method","$env","debug","ecommerce","console","log","dataLayer","push","error","Object","entries","field","messages","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","_createBlock","schemaRowClasses","$setup","onSubmit","afterForm","_hoisted_3","onClick","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_14","$props"],"mappings":"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"}
1
+ {"version":3,"file":"Login.js","sources":["../../../src/components/auth/Login.vue","../../../src/components/auth/Login.vue?vue&type=template&id=0a3bafd0&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-login\">\n <div v-show=\"modal == 'login'\">\n <div class=\"title\">{{ __('auth.login.title') }}</div>\n <slot name=\"login-over-form\"></slot>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"schema-row field\">\n <div class=\"control href-remember-me\" v-if=\"showRememberMe\">\n <input class=\"is-checkradio\" type=\"checkbox\" v-model=\"remember\" id=\"remember-me-checkbox\">\n <label for=\"remember-me-checkbox\" class=\"description\">{{ __('auth.login.remember_me') }}</label>\n </div>\n <div class=\"href-forget-password\">\n <a @click=\"reset\">{{ __('auth.login.forget_password') }}</a>\n </div>\n </div>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">{{ __('auth.login.form.submit') }}</button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">{{ __('auth.login.socials') }}</div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\">\n <svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-register\">\n <a @click=\"register\">{{ __('auth.login.signup') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n\n <forget v-if=\"modal == 'forget'\" :email=\"model.email\" :forget-type=\"forgetType\" :show-placeholders=\"showPlaceholders\"></forget>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n props: {\n loginCallback: {\n type: Function,\n default: () => { }\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n },\n showRememberMe: {\n type: Boolean,\n default: false\n }\n },\n name: 'login',\n components: {\n SchemaForm\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const errors = ref({});\n const modal = computed(() => store.getters['auth/modal']);\n const remember = ref(false);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email'),\n store: 'login',\n model: 'email',\n placeholder: props.showPlaceholders ? __('auth.login.form.email') : '',\n },\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n placeholder: props.showPlaceholders ? __('auth.login.form.password') : '',\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n password: yup.string().required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: '',\n password: ''\n });\n\n useSchemaForm(model);\n\n const reset = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/login', {\n credentials: { ...model.value, remember: remember.value },\n callback: (response) => {\n if (props.loginCallback) {\n props.loginCallback();\n }\n\n if (window.authUserLoginCallback) {\n window.authUserLoginCallback();\n }\n\n if (response.data && response.data.user && !response.data.user.is_login_tracked) {\n let object = {\n event: 'login',\n user_id: response.data.user.id,\n method: 'site'\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n }\n },\n finally: () => {\n loading.value = false;\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n //model.value.password = '';\n\n key.value++;\n }\n }\n });\n };\n\n return {\n loading,\n modal,\n schema,\n validation,\n reset,\n facebook,\n google,\n schema,\n onSubmit,\n errors,\n key,\n model,\n register,\n remember,\n };\n }\n};\n</script>","<template>\n <div class=\"auth-login\">\n <div v-show=\"modal == 'login'\">\n <div class=\"title\">{{ __('auth.login.title') }}</div>\n <slot name=\"login-over-form\"></slot>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"schema-row field\">\n <div class=\"control href-remember-me\" v-if=\"showRememberMe\">\n <input class=\"is-checkradio\" type=\"checkbox\" v-model=\"remember\" id=\"remember-me-checkbox\">\n <label for=\"remember-me-checkbox\" class=\"description\">{{ __('auth.login.remember_me') }}</label>\n </div>\n <div class=\"href-forget-password\">\n <a @click=\"reset\">{{ __('auth.login.forget_password') }}</a>\n </div>\n </div>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">{{ __('auth.login.form.submit') }}</button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">{{ __('auth.login.socials') }}</div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\">\n <svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-register\">\n <a @click=\"register\">{{ __('auth.login.signup') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n\n <forget v-if=\"modal == 'forget'\" :email=\"model.email\" :forget-type=\"forgetType\" :show-placeholders=\"showPlaceholders\"></forget>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n props: {\n loginCallback: {\n type: Function,\n default: () => { }\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n },\n showRememberMe: {\n type: Boolean,\n default: false\n }\n },\n name: 'login',\n components: {\n SchemaForm\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const errors = ref({});\n const modal = computed(() => store.getters['auth/modal']);\n const remember = ref(false);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email'),\n store: 'login',\n model: 'email',\n placeholder: props.showPlaceholders ? __('auth.login.form.email') : '',\n },\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n placeholder: props.showPlaceholders ? __('auth.login.form.password') : '',\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n password: yup.string().required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: '',\n password: ''\n });\n\n useSchemaForm(model);\n\n const reset = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/login', {\n credentials: { ...model.value, remember: remember.value },\n callback: (response) => {\n if (props.loginCallback) {\n props.loginCallback();\n }\n\n if (window.authUserLoginCallback) {\n window.authUserLoginCallback();\n }\n\n if (response.data && response.data.user && !response.data.user.is_login_tracked) {\n let object = {\n event: 'login',\n user_id: response.data.user.id,\n method: 'site'\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n }\n },\n finally: () => {\n loading.value = false;\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n //model.value.password = '';\n\n key.value++;\n }\n }\n });\n };\n\n return {\n loading,\n modal,\n schema,\n validation,\n reset,\n facebook,\n google,\n schema,\n onSubmit,\n errors,\n key,\n model,\n register,\n remember,\n };\n }\n};\n</script>"],"names":["markRaw","FormText","SchemaForm","SchemaFormFactory","VeeValidatePlugin","props","loginCallback","type","Function","forgetType","String","showPlaceholders","Boolean","name","components","setup","loading","ref","store","useStore","key","errors","modal","computed","getters","remember","schema","email","component","label","__","model","placeholder","password","FormPassword","validation","yup","object","shape","string","required","useSchemaForm","reset","commit","facebook","window","location","href","$ziggy","provider","google","value","dispatch","credentials","callback","response","authUserLoginCallback","data","user","is_login_tracked","event","user_id","id","method","$env","debug","ecommerce","console","log","dataLayer","push","error","Object","entries","field","messages","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","_renderSlot","_createBlock","schemaRowClasses","$setup","onSubmit","afterForm","_hoisted_3","$props","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_17"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("vue"),t=require("vuex"),r=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),a=require("@perevorot/shop/dist/api"),n=require("@perevorot/shop/dist/helpers"),i=require("secure-ls");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=l(o),c=l(i);function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var o,a,n=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(o=r.next()).done)&&(n.push(o.value),!t||n.length!==t);i=!0);}catch(e){l=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return d(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}var m={name:"registration",components:{SchemaForm:r.SchemaFormFactory([s.default({})])},setup:function(){var o,i=t.useStore(),l=e.ref(!1),s=e.ref(!0),d=e.ref(0),m=e.ref({}),f=e.ref(!1),v=e.ref(""),h=e.ref({}),g=e.ref({}),p=e.ref({});r.useSchemaForm(p);return a.auth.registerForm().then((function(e){if(e.data){var t=n.formParse(e.data);o=t.model,h.value=t.schema,p.value=t.model,g.value=t.validation,v.value=e.data.type}})).finally((function(){s.value=!1})),{loading:l,loadingForm:s,key:d,errors:m,schema:h,validation:g,onSubmit:function(){l.value=!0,i.dispatch("auth/register",{type:v.value?v.value.charAt(0).toUpperCase()+v.value.slice(1):"",credentials:p.value,finally:function(){l.value=!1},callback:function(e){if(e.data&&e.data.user_id){var t={event:"sign_up",user_id:e.data.user_id,method:"site"};$env.debug.ecommerce&&console.log(t),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(t))}f.value=!0,p.value=o,d.value++;var r=new c.default({isCompression:!1}),a=r.get("forms");a.registration&&(a.registration={}),r.set("forms",a)},catch:function(e){var t={};if(e.response.data&&e.response.data.errors){for(var r=0,o=Object.entries(e.response.data.errors);r<o.length;r++){var a=u(o[r],2),n=a[0],i=a[1];i[0]&&(t[n]=i[0])}d.value++}m.value=t}})},facebook:function(){window.location.href=$ziggy("auth.login.social",{provider:"facebook"})},google:function(){window.location.href=$ziggy("auth.login.social",{provider:"google"})},thanks:f,model:p,close:function(){i.commit("auth/modal",null),i.dispatch("auth/me")},type:v,login:function(){i.commit("auth/modal","login")}}}},f={key:0,class:"auth-registration"},v={class:"title"},h={class:"field"},g={class:"socials"},p={class:"description has-text-centered"},y={class:"buttons"},b=[e.createElementVNode("svg",{class:"icon fb-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-facebook-icon"})],-1),e.createElementVNode("span",null,"Facebook",-1)],k=[e.createElementVNode("svg",{class:"icon google-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-google-icon"})],-1),e.createElementVNode("span",null,"Google",-1)],E={class:"href-already-register"},N={class:"mt-3"};m.render=function(t,r,o,a,n,i){var l=e.resolveComponent("SchemaForm");return a.loadingForm?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("div",v,e.toDisplayString(t.__("auth.registration.title")),1),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(a.model.user_type?"is-user-type-"+a.model.user_type.replaceAll("_","-"):null)},[(e.openBlock(),e.createBlock(l,{schemaRowClasses:"field",schema:a.schema,"validation-schema":a.validation,"initial-errors":a.errors,key:a.key,onSubmit:a.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",h,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":a.loading}]),type:"submit"},e.toDisplayString(t.__("auth.registration.form.submit"+("short"==a.type?"_short":""))),3)]),e.createElementVNode("div",g,[e.createElementVNode("div",p,e.toDisplayString(t.__("auth.login.socials")),1),e.createElementVNode("div",y,[e.createElementVNode("a",{class:"button",onClick:r[0]||(r[0]=function(){return a.facebook&&a.facebook.apply(a,arguments)})},b),e.createElementVNode("a",{class:"button",onClick:r[1]||(r[1]=function(){return a.google&&a.google.apply(a,arguments)})},k)])]),e.createElementVNode("div",E,[e.createElementVNode("a",{onClick:r[2]||(r[2]=function(){return a.login&&a.login.apply(a,arguments)})},e.toDisplayString(t.__("auth.registration.already")),1)])]})),_:1},8,["schema","validation-schema","initial-errors","onSubmit"]))],2),[[e.vShow,!a.thanks]]),e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(t.__("auth.registration.thanks"+("short"==a.type?"_short":""),{email:a.model.email})),1),e.createElementVNode("div",N,[e.createElementVNode("button",{class:"button",onClick:r[3]||(r[3]=function(){return a.close&&a.close.apply(a,arguments)})},e.toDisplayString(t.__("auth.registration.continue")),1)])],512),[[e.vShow,a.thanks]])]))},module.exports=m;
1
+ "use strict";var e=require("vue"),t=require("vuex"),r=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),a=require("@perevorot/shop/dist/api"),n=require("@perevorot/shop/dist/helpers"),i=require("secure-ls");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=l(o),c=l(i);function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var o,a,n=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(o=r.next()).done)&&(n.push(o.value),!t||n.length!==t);i=!0);}catch(e){l=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return d(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}var m={name:"registration",components:{SchemaForm:r.SchemaFormFactory([s.default({})])},setup:function(){var o,i=t.useStore(),l=e.ref(!1),s=e.ref(!0),d=e.ref(0),m=e.ref({}),f=e.ref(!1),v=e.ref(""),h=e.ref({}),g=e.ref({}),p=e.ref({});e.provide("formModel",p),r.useSchemaForm(p);return a.auth.registerForm().then((function(e){if(e.data){var t=n.formParse(e.data);o=t.model,h.value=t.schema,p.value=t.model,g.value=t.validation,v.value=e.data.type}})).finally((function(){s.value=!1})),{loading:l,loadingForm:s,key:d,errors:m,schema:h,validation:g,onSubmit:function(){l.value=!0,i.dispatch("auth/register",{type:v.value?v.value.charAt(0).toUpperCase()+v.value.slice(1):"",credentials:p.value,finally:function(){l.value=!1},callback:function(e){if(e.data&&e.data.user_id){var t={event:"sign_up",user_id:e.data.user_id,method:"site"};$env.debug.ecommerce&&console.log(t),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(t))}f.value=!0,p.value=o,d.value++;var r=new c.default({isCompression:!1}),a=r.get("forms");a.registration&&(a.registration={}),r.set("forms",a)},catch:function(e){var t={};if(e.response.data&&e.response.data.errors){for(var r=0,o=Object.entries(e.response.data.errors);r<o.length;r++){var a=u(o[r],2),n=a[0],i=a[1];i[0]&&(t[n]=i[0])}d.value++}m.value=t}})},facebook:function(){window.location.href=$ziggy("auth.login.social",{provider:"facebook"})},google:function(){window.location.href=$ziggy("auth.login.social",{provider:"google"})},thanks:f,model:p,close:function(){i.commit("auth/modal",null),i.dispatch("auth/me")},type:v,login:function(){i.commit("auth/modal","login")}}}},f={key:0,class:"auth-registration"},v={class:"title"},h={class:"field"},g={class:"socials"},p={class:"description has-text-centered"},y={class:"buttons"},b=[e.createElementVNode("svg",{class:"icon fb-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-facebook-icon"})],-1),e.createElementVNode("span",null,"Facebook",-1)],k=[e.createElementVNode("svg",{class:"icon google-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-google-icon"})],-1),e.createElementVNode("span",null,"Google",-1)],E={class:"href-already-register"},N={class:"mt-3"};m.render=function(t,r,o,a,n,i){var l=e.resolveComponent("SchemaForm");return a.loadingForm?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("div",v,e.toDisplayString(t.__("auth.registration.title")),1),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(a.model.user_type?"is-user-type-"+a.model.user_type.replaceAll("_","-"):null)},[(e.openBlock(),e.createBlock(l,{schemaRowClasses:"field",schema:a.schema,"validation-schema":a.validation,"initial-errors":a.errors,key:a.key,onSubmit:a.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",h,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":a.loading}]),type:"submit"},e.toDisplayString(t.__("auth.registration.form.submit"+("short"==a.type?"_short":""))),3)]),e.createElementVNode("div",g,[e.createElementVNode("div",p,e.toDisplayString(t.__("auth.login.socials")),1),e.createElementVNode("div",y,[e.createElementVNode("a",{class:"button",onClick:r[0]||(r[0]=function(){return a.facebook&&a.facebook.apply(a,arguments)})},b),e.createElementVNode("a",{class:"button",onClick:r[1]||(r[1]=function(){return a.google&&a.google.apply(a,arguments)})},k)])]),e.createElementVNode("div",E,[e.createElementVNode("a",{onClick:r[2]||(r[2]=function(){return a.login&&a.login.apply(a,arguments)})},e.toDisplayString(t.__("auth.registration.already")),1)])]})),_:1},8,["schema","validation-schema","initial-errors","onSubmit"]))],2),[[e.vShow,!a.thanks]]),e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(t.__("auth.registration.thanks"+("short"==a.type?"_short":""),{email:a.model.email})),1),e.createElementVNode("div",N,[e.createElementVNode("button",{class:"button",onClick:r[3]||(r[3]=function(){return a.close&&a.close.apply(a,arguments)})},e.toDisplayString(t.__("auth.registration.continue")),1)])],512),[[e.vShow,a.thanks]])]))},module.exports=m;
2
2
  //# sourceMappingURL=Registration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Registration.js","sources":["../../../src/components/auth/Registration.vue","../../../src/components/auth/Registration.vue?vue&type=template&id=5718b73a&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-registration\" v-if=\"!loadingForm\">\n <div class=\"title\">{{ __('auth.registration.title') }}</div>\n <div v-show=\"!thanks\" v-bind:class=\"model.user_type ? 'is-user-type-' + model.user_type.replaceAll('_', '-') : null\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.registration.form.submit' + (type == 'short' ? '_short' : '')) }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-already-register\">\n <a @click=\"login\">{{ __('auth.registration.already') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div v-show=\"thanks\">\n <div>\n {{\n __('auth.registration.thanks' + (type == 'short' ? '_short' : ''), {\n email: model.email\n })\n }}\n </div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.registration.continue') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\nimport SecureLS from 'secure-ls';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'registration',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const key = ref(0);\n const errors = ref({});\n const thanks = ref(false);\n const type = ref('');\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n\n let emptyModel;\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/register', {\n type: type.value ? type.value.charAt(0).toUpperCase() + type.value.slice(1) : '',\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: (response) => {\n if (response.data && response.data.user_id) {\n let object = {\n event: 'sign_up',\n user_id: response.data.user_id,\n method: 'site',\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n }\n\n thanks.value = true;\n\n model.value = emptyModel;\n\n key.value++;\n\n let ls = new SecureLS({\n isCompression: false\n });\n\n let forms = ls.get('forms');\n\n if (forms.registration) {\n forms.registration = {};\n }\n\n ls.set('forms', forms);\n },\n catch: (error) => {\n let incomingErrors = {};\n\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n incomingErrors[field] = messages[0];\n }\n }\n\n key.value++;\n }\n\n errors.value = incomingErrors;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const login = () => {\n store.commit('auth/modal', 'login');\n };\n\n api.registerForm()\n .then((response) => {\n if (response.data) {\n const form = formParse(response.data);\n\n emptyModel = form.model;\n\n schema.value = form.schema;\n model.value = form.model;\n validation.value = form.validation;\n\n type.value = response.data.type;\n }\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n key,\n errors,\n schema,\n validation,\n onSubmit,\n facebook,\n google,\n thanks,\n model,\n close,\n type,\n login\n };\n }\n};\n</script>","<template>\n <div class=\"auth-registration\" v-if=\"!loadingForm\">\n <div class=\"title\">{{ __('auth.registration.title') }}</div>\n <div v-show=\"!thanks\" v-bind:class=\"model.user_type ? 'is-user-type-' + model.user_type.replaceAll('_', '-') : null\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.registration.form.submit' + (type == 'short' ? '_short' : '')) }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-already-register\">\n <a @click=\"login\">{{ __('auth.registration.already') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div v-show=\"thanks\">\n <div>\n {{\n __('auth.registration.thanks' + (type == 'short' ? '_short' : ''), {\n email: model.email\n })\n }}\n </div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.registration.continue') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\nimport SecureLS from 'secure-ls';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'registration',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const key = ref(0);\n const errors = ref({});\n const thanks = ref(false);\n const type = ref('');\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n\n let emptyModel;\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/register', {\n type: type.value ? type.value.charAt(0).toUpperCase() + type.value.slice(1) : '',\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: (response) => {\n if (response.data && response.data.user_id) {\n let object = {\n event: 'sign_up',\n user_id: response.data.user_id,\n method: 'site',\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n }\n\n thanks.value = true;\n\n model.value = emptyModel;\n\n key.value++;\n\n let ls = new SecureLS({\n isCompression: false\n });\n\n let forms = ls.get('forms');\n\n if (forms.registration) {\n forms.registration = {};\n }\n\n ls.set('forms', forms);\n },\n catch: (error) => {\n let incomingErrors = {};\n\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n incomingErrors[field] = messages[0];\n }\n }\n\n key.value++;\n }\n\n errors.value = incomingErrors;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const login = () => {\n store.commit('auth/modal', 'login');\n };\n\n api.registerForm()\n .then((response) => {\n if (response.data) {\n const form = formParse(response.data);\n\n emptyModel = form.model;\n\n schema.value = form.schema;\n model.value = form.model;\n validation.value = form.validation;\n\n type.value = response.data.type;\n }\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n key,\n errors,\n schema,\n validation,\n onSubmit,\n facebook,\n google,\n thanks,\n model,\n close,\n type,\n login\n };\n }\n};\n</script>"],"names":["name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","setup","emptyModel","store","useStore","loading","ref","loadingForm","key","errors","thanks","type","schema","validation","model","useSchemaForm","api","registerForm","then","response","data","form","formParse","value","onSubmit","dispatch","charAt","toUpperCase","slice","credentials","callback","user_id","object","event","method","$env","debug","ecommerce","console","log","window","dataLayer","push","ls","SecureLS","isCompression","forms","get","registration","set","error","incomingErrors","Object","entries","field","messages","facebook","location","href","$ziggy","provider","google","close","commit","login","_createElementVNode","$setup","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","user_type","replaceAll","_createBlock","schemaRowClasses","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_13","_hoisted_14"],"mappings":"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"}
1
+ {"version":3,"file":"Registration.js","sources":["../../../src/components/auth/Registration.vue","../../../src/components/auth/Registration.vue?vue&type=template&id=423d6136&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-registration\" v-if=\"!loadingForm\">\n <div class=\"title\">{{ __('auth.registration.title') }}</div>\n <div v-show=\"!thanks\" v-bind:class=\"model.user_type ? 'is-user-type-' + model.user_type.replaceAll('_', '-') : null\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.registration.form.submit' + (type == 'short' ? '_short' : '')) }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-already-register\">\n <a @click=\"login\">{{ __('auth.registration.already') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div v-show=\"thanks\">\n <div>\n {{\n __('auth.registration.thanks' + (type == 'short' ? '_short' : ''), {\n email: model.email\n })\n }}\n </div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.registration.continue') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\nimport SecureLS from 'secure-ls';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'registration',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const key = ref(0);\n const errors = ref({});\n const thanks = ref(false);\n const type = ref('');\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n\n let emptyModel;\n\n provide('formModel', model);\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/register', {\n type: type.value ? type.value.charAt(0).toUpperCase() + type.value.slice(1) : '',\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: (response) => {\n if (response.data && response.data.user_id) {\n let object = {\n event: 'sign_up',\n user_id: response.data.user_id,\n method: 'site',\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n }\n\n thanks.value = true;\n\n model.value = emptyModel;\n\n key.value++;\n\n let ls = new SecureLS({\n isCompression: false\n });\n\n let forms = ls.get('forms');\n\n if (forms.registration) {\n forms.registration = {};\n }\n\n ls.set('forms', forms);\n },\n catch: (error) => {\n let incomingErrors = {};\n\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n incomingErrors[field] = messages[0];\n }\n }\n\n key.value++;\n }\n\n errors.value = incomingErrors;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const login = () => {\n store.commit('auth/modal', 'login');\n };\n\n api.registerForm()\n .then((response) => {\n if (response.data) {\n const form = formParse(response.data);\n\n emptyModel = form.model;\n\n schema.value = form.schema;\n model.value = form.model;\n validation.value = form.validation;\n\n type.value = response.data.type;\n }\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n key,\n errors,\n schema,\n validation,\n onSubmit,\n facebook,\n google,\n thanks,\n model,\n close,\n type,\n login\n };\n }\n};\n</script>","<template>\n <div class=\"auth-registration\" v-if=\"!loadingForm\">\n <div class=\"title\">{{ __('auth.registration.title') }}</div>\n <div v-show=\"!thanks\" v-bind:class=\"model.user_type ? 'is-user-type-' + model.user_type.replaceAll('_', '-') : null\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.registration.form.submit' + (type == 'short' ? '_short' : '')) }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-already-register\">\n <a @click=\"login\">{{ __('auth.registration.already') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div v-show=\"thanks\">\n <div>\n {{\n __('auth.registration.thanks' + (type == 'short' ? '_short' : ''), {\n email: model.email\n })\n }}\n </div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.registration.continue') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\nimport SecureLS from 'secure-ls';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'registration',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const key = ref(0);\n const errors = ref({});\n const thanks = ref(false);\n const type = ref('');\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n\n let emptyModel;\n\n provide('formModel', model);\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/register', {\n type: type.value ? type.value.charAt(0).toUpperCase() + type.value.slice(1) : '',\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: (response) => {\n if (response.data && response.data.user_id) {\n let object = {\n event: 'sign_up',\n user_id: response.data.user_id,\n method: 'site',\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n }\n\n thanks.value = true;\n\n model.value = emptyModel;\n\n key.value++;\n\n let ls = new SecureLS({\n isCompression: false\n });\n\n let forms = ls.get('forms');\n\n if (forms.registration) {\n forms.registration = {};\n }\n\n ls.set('forms', forms);\n },\n catch: (error) => {\n let incomingErrors = {};\n\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n incomingErrors[field] = messages[0];\n }\n }\n\n key.value++;\n }\n\n errors.value = incomingErrors;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const login = () => {\n store.commit('auth/modal', 'login');\n };\n\n api.registerForm()\n .then((response) => {\n if (response.data) {\n const form = formParse(response.data);\n\n emptyModel = form.model;\n\n schema.value = form.schema;\n model.value = form.model;\n validation.value = form.validation;\n\n type.value = response.data.type;\n }\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n key,\n errors,\n schema,\n validation,\n onSubmit,\n facebook,\n google,\n thanks,\n model,\n close,\n type,\n login\n };\n }\n};\n</script>"],"names":["name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","setup","emptyModel","store","useStore","loading","ref","loadingForm","key","errors","thanks","type","schema","validation","model","provide","useSchemaForm","api","registerForm","then","response","data","form","formParse","value","onSubmit","dispatch","charAt","toUpperCase","slice","credentials","callback","user_id","object","event","method","$env","debug","ecommerce","console","log","window","dataLayer","push","ls","SecureLS","isCompression","forms","get","registration","set","error","incomingErrors","Object","entries","field","messages","facebook","location","href","$ziggy","provider","google","close","commit","login","_createElementVNode","$setup","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","user_type","replaceAll","_createBlock","schemaRowClasses","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_13","_hoisted_14"],"mappings":"4wCA4DA,MAEe,CACXA,KAAM,eACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,qBAYQC,EAXEC,EAAQC,aACRC,EAAUC,OAAI,GACdC,EAAcD,OAAI,GAClBE,EAAMF,MAAI,GACVG,EAASH,MAAI,IACbI,EAASJ,OAAI,GACbK,EAAOL,MAAI,IACXM,EAASN,MAAI,IACbO,EAAaP,MAAI,IACjBQ,EAAQR,MAAI,IAIlBS,UAAQ,YAAaD,GAErBE,gBAAcF,UAyFdG,OAAIC,eACCC,MAAK,SAACC,MACCA,EAASC,KAAM,KACTC,EAAOC,YAAUH,EAASC,MAEhCnB,EAAaoB,EAAKR,MAElBF,EAAOY,MAAQF,EAAKV,OACpBE,EAAMU,MAAQF,EAAKR,MACnBD,EAAWW,MAAQF,EAAKT,WAExBF,EAAKa,MAAQJ,EAASC,KAAKV,kBAG1B,WACLJ,EAAYiB,OAAQ,KAGrB,CACHnB,QAAAA,EACAE,YAAAA,EACAC,IAAAA,EACAC,OAAAA,EACAG,OAAAA,EACAC,WAAAA,EACAY,SAhHa,WACbpB,EAAQmB,OAAQ,EAEhBrB,EAAMuB,SAAS,gBAAiB,CAC5Bf,KAAMA,EAAKa,MAAQb,EAAKa,MAAMG,OAAO,GAAGC,cAAgBjB,EAAKa,MAAMK,MAAM,GAAK,GAC9EC,YAAahB,EAAMU,cACV,WACLnB,EAAQmB,OAAQ,GAEpBO,SAAU,SAACX,MACHA,EAASC,MAAQD,EAASC,KAAKW,QAAS,KACpCC,EAAS,CACTC,MAAO,UACPF,QAASZ,EAASC,KAAKW,QACvBG,OAAQ,QAGRC,KAAKC,MAAMC,WACXC,QAAQC,IAAIP,IAGXG,KAAKC,MAAMC,WAAaG,OAAOC,YAChCD,OAAOC,UAAUC,KAAK,CAClBL,UAAW,OAGfG,OAAOC,UAAUC,KAAKV,IAI9BvB,EAAOc,OAAQ,EAEfV,EAAMU,MAAQtB,EAEdM,EAAIgB,YAEAoB,EAAK,IAAIC,UAAS,CAClBC,eAAe,IAGfC,EAAQH,EAAGI,IAAI,SAEfD,EAAME,eACNF,EAAME,aAAe,IAGzBL,EAAGM,IAAI,QAASH,UAEb,SAACI,OACAC,EAAiB,MAEjBD,EAAM/B,SAASC,MAAQ8B,EAAM/B,SAASC,KAAKZ,OAAQ,eACnB4C,OAAOC,QAAQH,EAAM/B,SAASC,KAAKZ,uBAAS,iBAAhE8C,OAAOC,OACXA,EAAS,KACTJ,EAAeG,GAASC,EAAS,IAIzChD,EAAIgB,QAGRf,EAAOe,MAAQ4B,MAoDvBK,SA1Ca,WACbhB,OAAOiB,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cAyCdC,OArCW,WACXrB,OAAOiB,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,YAoCdnD,OAAAA,EACAI,MAAAA,EACAiD,MAnDU,WACV5D,EAAM6D,OAAO,aAAc,MAC3B7D,EAAMuB,SAAS,YAkDff,KAAAA,EACAsD,MApCU,WACV9D,EAAM6D,OAAO,aAAc,4BCxKxB,8BACI,kBAIY,kBAKA,oBACI,0CAGA,cAEHE,kCAAW,gBACPA,yCAAgB,6BAEpBA,iCAAM,mBAEwBA,kCAAW,oBACrCA,yCAAgB,2BAEpBA,iCAAM,uBAIP,kCAcR,qFA1CmBC,6DAAtCC,2BAAAC,GACIH,2BAAAI,oBAAsBC,qDACtBL,mDAAoCC,QAAMK,0BAA8BL,QAAMK,UAAUC,2CACpFC,iBAAYC,iBAAiB,QAAS/D,OAAQuD,6BAA4BA,8BAA6BA,SAAS3D,IAAK2D,MAAM1C,SAAQ0C,aACpHS,qBACP,kBAAAV,2BAAAW,GACIX,uDAAc,+BAA6DC,aAA5CxD,KAAK,4BAC7B4D,+CAAsCJ,2BAGjDD,2BAAAY,GACIZ,2BAAAa,oBACOR,+BAEPL,2BAAAc,GACId,gCAAS,SAAUe,sCAAOd,gDAM1BD,gCAAS,SAAUe,sCAAOd,gDAOlCD,2BAAAgB,GACIhB,0BAAIe,sCAAOd,yDAAUI,+HA3BvBJ,6BAgCdD,iCACIA,kDAEIK,0CAAiCJ,+CAKrCD,2BAAAiB,GACIjB,qCAAc,SAAUe,sCAAOd,yDACxBI,yDAVFJ"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("js-cookie"),o=require("vue"),t=require("vuex");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=l(e),a={name:"user",props:{resetToken:{type:String,default:""},resetEmail:{type:String,default:""},tokenValid:{type:Boolean,default:!1},forgetType:{type:String,default:"email"},showPlaceholders:{type:Boolean,default:!1}},setup:function(e){var l=t.useStore(),a=o.computed((function(){return l.getters["auth/me"]})),r=o.computed((function(){return l.getters["auth/modal"]})),c=o.computed((function(){return Object.keys(a.value).length>0})),s=o.ref(!1),i=o.computed((function(){return l.getters["auth/account"]})),d=o.ref(""),u=o.ref("");o.provide("presetedResetToken",d),o.provide("presetedResetEmail",u);var m=function(){l.commit("auth/modal",null),l.dispatch("auth/me")};return l.dispatch("auth/me",{finally:function(){if(s.value=!0,c.value){if(a.value.is_social_registration_tracked){if(!a.value.is_login_tracked){var e={event:"login",user_id:a.value.id,method:a.value.social_provider?a.value.social_provider:"site"};$env.debug.ecommerce&&console.log(e),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e))}}else{var o={event:"sign_up",user_id:a.value.id,method:a.value.social_provider};$env.debug.ecommerce&&console.log(o),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(o))}n.default.set("user_id",a.value.id)}}}),window.addEventListener("keyup",(function(e){r.value&&"Escape"===e.key&&m()})),e.resetToken&&l.commit("auth/modal","reset"),{mounted:s,user:a,logged:c,modal:r,open:function(){l.commit("auth/modal","login")},close:m,register:function(){l.commit("auth/modal","registration")},logout:function(){l.dispatch("auth/logout"),window.authUserLogoutCallback&&window.authUserLogoutCallback()},routes:i}}},r={key:0,class:"auth-user"},c={class:"modal-content"},s=[o.createElementVNode("svg",{class:"icon close"},[o.createElementVNode("use",{"xlink:href":"#close"})],-1)],i={class:"box"},d={class:"tabs"},u={href:"#register"},m={key:1,class:"auth-user is-logged"},p={class:"dropdown is-right is-hoverable"},g={class:"dropdown-trigger"},v=["href"],f=o.createElementVNode("i",{class:"fas fa-user"},null,-1),h=o.createElementVNode("span",{class:"icon is-small"},[o.createElementVNode("i",{class:"fas fa-angle-down","aria-hidden":"true"})],-1),k={class:"dropdown-menu",role:"menu"},y={class:"dropdown-content"},E=["href"],V={key:0,class:"icon"},N=["xlink:href"],w={key:1,class:"badge"},B={key:1,class:"dropdown-divider"},_=o.createElementVNode("hr",{class:"dropdown-divider"},null,-1),b=o.createElementVNode("svg",{class:"icon"},[o.createElementVNode("use",{"xlink:href":"#icon-logout"})],-1);a.render=function(e,t,l,n,a,C){var S=o.resolveComponent("login"),x=o.resolveComponent("registration"),L=o.resolveComponent("reset");return n.mounted&&!n.logged?(o.openBlock(),o.createElementBlock("div",r,[o.renderSlot(e.$slots,"login",{open:n.open,label:e.__("auth.login.login")},(function(){return[o.createElementVNode("a",{href:"#login",class:"button",onClick:t[0]||(t[0]=function(){return n.open&&n.open.apply(n,arguments)})},o.toDisplayString(e.__("auth.login.login")),1)]})),o.createElementVNode("div",{class:o.normalizeClass(["modal",{"is-active":n.modal}])},[o.createElementVNode("div",{class:"modal-background",onClick:t[1]||(t[1]=function(){return n.close&&n.close.apply(n,arguments)})}),o.createElementVNode("div",c,[o.createElementVNode("button",{class:"modal-close is-large",onClick:t[2]||(t[2]=function(){return n.close&&n.close.apply(n,arguments)})},s),o.createElementVNode("div",i,[o.renderSlot(e.$slots,"hero"),o.createElementVNode("div",d,[o.createElementVNode("ul",null,[o.createElementVNode("li",{class:o.normalizeClass({"is-active":"login"==n.modal||"forget"==n.modal})},[o.createElementVNode("a",{href:"#login",onClick:t[3]||(t[3]=function(){return n.open&&n.open.apply(n,arguments)})},o.toDisplayString(e.__("auth.login.login")),1)],2),o.createElementVNode("li",{class:o.normalizeClass({"is-active":"registration"==n.modal}),onClick:t[4]||(t[4]=function(){return n.register&&n.register.apply(n,arguments)})},[o.createElementVNode("a",u,o.toDisplayString(e.__("auth.login.signup")),1)],2)])]),(o.openBlock(),o.createBlock(o.KeepAlive,null,["login"==n.modal||"forget"==n.modal?(o.openBlock(),o.createBlock(S,{key:0,"forget-type":l.forgetType,"show-placeholders":l.showPlaceholders},null,8,["forget-type","show-placeholders"])):o.createCommentVNode("v-if",!0)],1024)),(o.openBlock(),o.createBlock(o.KeepAlive,null,["registration"==n.modal?(o.openBlock(),o.createBlock(x,{key:0})):o.createCommentVNode("v-if",!0)],1024)),o.withDirectives(o.createVNode(L,{"show-placeholders":l.showPlaceholders},null,8,["show-placeholders"]),[[o.vShow,"reset"==n.modal]])])])],2)])):n.mounted?(o.openBlock(),o.createElementBlock("div",m,[o.createElementVNode("div",p,[o.createElementVNode("div",g,[o.createElementVNode("a",{class:"button",href:n.routes[0].path},[o.renderSlot(e.$slots,"user",{user:n.user.name?n.user.name:n.user.email},(function(){return[o.createElementVNode("span",null,[f,o.createTextVNode(" "+o.toDisplayString(n.user.name?n.user.name:n.user.email),1)]),h]}))],8,v)]),o.createElementVNode("div",k,[o.createElementVNode("div",y,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(n.routes,(function(e,t){return o.openBlock(),o.createElementBlock("div",{key:t},[e.text?(o.openBlock(),o.createElementBlock("a",{key:0,href:e.path,class:"dropdown-item"},[e.icon?(o.openBlock(),o.createElementBlock("svg",V,[o.createElementVNode("use",{"xlink:href":"#"+e.icon},null,8,N)])):o.createCommentVNode("v-if",!0),o.createElementVNode("span",null,o.toDisplayString(e.text),1),e.badge?(o.openBlock(),o.createElementBlock("span",w,o.toDisplayString(e.badge),1)):o.createCommentVNode("v-if",!0)],8,E)):(o.openBlock(),o.createElementBlock("hr",B))])})),128)),_,o.createElementVNode("a",{class:"dropdown-item",onClick:t[5]||(t[5]=function(){return n.logout&&n.logout.apply(n,arguments)})},[b,o.createElementVNode("span",null,o.toDisplayString(e.__("auth.user.menu.logout")),1)])])])])])):o.createCommentVNode("v-if",!0)},module.exports=a;
1
+ "use strict";var e=require("js-cookie"),o=require("vue"),t=require("vuex");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=l(e),r={name:"user",props:{resetToken:{type:String,default:""},resetEmail:{type:String,default:""},tokenValid:{type:Boolean,default:!1},forgetType:{type:String,default:"email"},showPlaceholders:{type:Boolean,default:!1},showRememberMe:{type:Boolean,default:!1}},setup:function(e){var l=t.useStore(),r=o.computed((function(){return l.getters["auth/me"]})),a=o.computed((function(){return l.getters["auth/modal"]})),s=o.computed((function(){return Object.keys(r.value).length>0})),c=o.ref(!1),i=o.computed((function(){return l.getters["auth/account"]})),d=o.ref(""),u=o.ref("");o.provide("presetedResetToken",d),o.provide("presetedResetEmail",u);var m=function(){l.commit("auth/modal",null),l.dispatch("auth/me")};return l.dispatch("auth/me",{finally:function(){if(c.value=!0,s.value){if(r.value.is_social_registration_tracked){if(!r.value.is_login_tracked){var e={event:"login",user_id:r.value.id,method:r.value.social_provider?r.value.social_provider:"site"};$env.debug.ecommerce&&console.log(e),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e))}}else{var o={event:"sign_up",user_id:r.value.id,method:r.value.social_provider};$env.debug.ecommerce&&console.log(o),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(o))}n.default.set("user_id",r.value.id)}}}),window.addEventListener("keyup",(function(e){a.value&&"Escape"===e.key&&m()})),e.resetToken&&l.commit("auth/modal","reset"),{mounted:c,user:r,logged:s,modal:a,open:function(){l.commit("auth/modal","login")},close:m,register:function(){l.commit("auth/modal","registration")},logout:function(){l.dispatch("auth/logout"),window.authUserLogoutCallback&&window.authUserLogoutCallback()},routes:i}}},a={key:0,class:"auth-user"},s={class:"modal-content"},c=[o.createElementVNode("svg",{class:"icon close"},[o.createElementVNode("use",{"xlink:href":"#close"})],-1)],i={class:"box"},d={class:"tabs"},u={href:"#register"},m={key:1,class:"auth-user is-logged"},p={class:"dropdown is-right is-hoverable"},g={class:"dropdown-trigger"},f=["href"],h=o.createElementVNode("i",{class:"fas fa-user"},null,-1),v=o.createElementVNode("span",{class:"icon is-small"},[o.createElementVNode("i",{class:"fas fa-angle-down","aria-hidden":"true"})],-1),k={class:"dropdown-menu",role:"menu"},y={class:"dropdown-content"},E=["href"],w={key:0,class:"icon"},V=["xlink:href"],N={key:1,class:"badge"},B={key:1,class:"dropdown-divider"},b=o.createElementVNode("hr",{class:"dropdown-divider"},null,-1),_=o.createElementVNode("svg",{class:"icon"},[o.createElementVNode("use",{"xlink:href":"#icon-logout"})],-1);r.render=function(e,t,l,n,r,C){var S=o.resolveComponent("login"),x=o.resolveComponent("registration"),L=o.resolveComponent("reset");return n.mounted&&!n.logged?(o.openBlock(),o.createElementBlock("div",a,[o.renderSlot(e.$slots,"login",{open:n.open,label:e.__("auth.login.login")},(function(){return[o.createElementVNode("a",{href:"#login",class:"button",onClick:t[0]||(t[0]=function(){return n.open&&n.open.apply(n,arguments)})},o.toDisplayString(e.__("auth.login.login")),1)]})),"login"==n.modal||"forget"==n.modal||"registration"==n.modal||"reset"==n.modal?(o.openBlock(),o.createElementBlock("div",{key:0,class:o.normalizeClass(["modal",{"is-active":n.modal}])},[o.createElementVNode("div",{class:"modal-background",onClick:t[1]||(t[1]=function(){return n.close&&n.close.apply(n,arguments)})}),o.createElementVNode("div",s,[o.createElementVNode("button",{class:"modal-close is-large",onClick:t[2]||(t[2]=function(){return n.close&&n.close.apply(n,arguments)})},c),o.createElementVNode("div",i,[o.renderSlot(e.$slots,"hero"),o.createElementVNode("div",d,[o.createElementVNode("ul",null,[o.createElementVNode("li",{class:o.normalizeClass({"is-active":"login"==n.modal||"forget"==n.modal})},[o.createElementVNode("a",{href:"#login",onClick:t[3]||(t[3]=function(){return n.open&&n.open.apply(n,arguments)})},o.toDisplayString(e.__("auth.login.login")),1)],2),o.createElementVNode("li",{class:o.normalizeClass({"is-active":"registration"==n.modal}),onClick:t[4]||(t[4]=function(){return n.register&&n.register.apply(n,arguments)})},[o.createElementVNode("a",u,o.toDisplayString(e.__("auth.login.signup")),1)],2)])]),(o.openBlock(),o.createBlock(o.KeepAlive,null,["login"==n.modal||"forget"==n.modal?(o.openBlock(),o.createBlock(S,{key:0,"show-remember-me":l.showRememberMe,"forget-type":l.forgetType,"show-placeholders":l.showPlaceholders},o.createSlots({_:2},[o.renderList(e.$slots,(function(t,l){return{name:l,fn:o.withCtx((function(t){return[o.renderSlot(e.$slots,l,o.normalizeProps(o.guardReactiveProps(t||{})))]}))}}))]),1032,["show-remember-me","forget-type","show-placeholders"])):o.createCommentVNode("v-if",!0)],1024)),(o.openBlock(),o.createBlock(o.KeepAlive,null,["registration"==n.modal?(o.openBlock(),o.createBlock(x,{key:0})):o.createCommentVNode("v-if",!0)],1024)),o.withDirectives(o.createVNode(L,{"show-placeholders":l.showPlaceholders},null,8,["show-placeholders"]),[[o.vShow,"reset"==n.modal]])])])],2)):o.createCommentVNode("v-if",!0)])):n.mounted?(o.openBlock(),o.createElementBlock("div",m,[o.createElementVNode("div",p,[o.createElementVNode("div",g,[o.createElementVNode("a",{class:"button",href:n.routes[0].path},[o.renderSlot(e.$slots,"user",{user:n.user.name?n.user.name:n.user.email},(function(){return[o.createElementVNode("span",null,[h,o.createTextVNode(" "+o.toDisplayString(n.user.name?n.user.name:n.user.email),1)]),v]}))],8,f)]),o.createElementVNode("div",k,[o.createElementVNode("div",y,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(n.routes,(function(e,t){return o.openBlock(),o.createElementBlock("div",{key:t},[e.text?(o.openBlock(),o.createElementBlock("a",{key:0,href:e.path,class:"dropdown-item"},[e.icon?(o.openBlock(),o.createElementBlock("svg",w,[o.createElementVNode("use",{"xlink:href":"#"+e.icon},null,8,V)])):o.createCommentVNode("v-if",!0),o.createElementVNode("span",null,o.toDisplayString(e.text),1),e.badge?(o.openBlock(),o.createElementBlock("span",N,o.toDisplayString(e.badge),1)):o.createCommentVNode("v-if",!0)],8,E)):(o.openBlock(),o.createElementBlock("hr",B))])})),128)),b,o.createElementVNode("a",{class:"dropdown-item",onClick:t[5]||(t[5]=function(){return n.logout&&n.logout.apply(n,arguments)})},[_,o.createElementVNode("span",null,o.toDisplayString(e.__("auth.user.menu.logout")),1)])])])])])):o.createCommentVNode("v-if",!0)},module.exports=r;
2
2
  //# sourceMappingURL=User.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"User.js","sources":["../../../src/components/auth/User.vue","../../../src/components/auth/User.vue?vue&type=template&id=5517ba48&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-user\" v-if=\"mounted && !logged\">\n <slot name=\"login\" :open=\"open\" :label=\"__('auth.login.login')\">\n <a href=\"#login\" class=\"button\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </slot>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"tabs\">\n <ul>\n <li v-bind:class=\"{\n 'is-active': modal == 'login' || modal == 'forget'\n }\">\n <a href=\"#login\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </li>\n <li v-bind:class=\"{\n 'is-active': modal == 'registration'\n }\" @click=\"register\">\n <a href=\"#register\">{{ __('auth.login.signup') }}</a>\n </li>\n </ul>\n </div>\n <keep-alive>\n <login v-if=\"modal == 'login' || modal == 'forget'\" :forget-type=\"forgetType\" :show-placeholders=\"showPlaceholders\"></login>\n </keep-alive>\n <keep-alive>\n <registration v-if=\"modal == 'registration'\"></registration>\n </keep-alive>\n <reset v-show=\"modal == 'reset'\" :show-placeholders=\"showPlaceholders\"></reset>\n </div>\n </div>\n </div>\n </div>\n <div class=\"auth-user is-logged\" v-else-if=\"mounted\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <a class=\"button\" :href=\"routes[0].path\">\n <slot name=\"user\" :user=\"user.name ? user.name : user.email\">\n <span>\n <i class=\"fas fa-user\"></i>\n {{ user.name ? user.name : user.email }}\n </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </slot>\n </a>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div v-for=\"(item, key) in routes\" v-bind:key=\"key\">\n <a :href=\"item.path\" v-if=\"item.text\" class=\"dropdown-item\">\n <svg class=\"icon\" v-if=\"item.icon\">\n <use :xlink:href=\"'#' + item.icon\" />\n </svg>\n <span>{{ item.text }}</span>\n <span class=\"badge\" v-if=\"item.badge\">{{ item.badge }}</span>\n </a>\n <hr class=\"dropdown-divider\" v-else />\n </div>\n <hr class=\"dropdown-divider\" />\n <a class=\"dropdown-item\" @click=\"logout\">\n <svg class=\"icon\">\n <use xlink:href=\"#icon-logout\" />\n </svg>\n <span>{{ __('auth.user.menu.logout') }}</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport Cookies from 'js-cookie';\nimport { ref, computed, provide, isVNode } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'user',\n props: {\n resetToken: {\n type: String,\n default: ''\n },\n resetEmail: {\n type: String,\n default: ''\n },\n tokenValid: {\n type: Boolean,\n default: false\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = computed(() => store.getters['auth/modal']);\n const logged = computed(() => Object.keys(user.value).length > 0);\n const mounted = ref(false);\n const routes = computed(() => store.getters['auth/account']);\n const presetedResetToken = ref('');\n const presetedResetEmail = ref('');\n\n provide('presetedResetToken', presetedResetToken);\n provide('presetedResetEmail', presetedResetEmail);\n\n const open = () => {\n store.commit('auth/modal', 'login');\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const logout = () => {\n store.dispatch('auth/logout');\n\n if (window.authUserLogoutCallback) {\n window.authUserLogoutCallback();\n }\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n store.dispatch('auth/me', {\n finally: () => {\n mounted.value = true;\n\n if (logged.value) {\n if (!user.value.is_social_registration_tracked) {\n let object = {\n event: 'sign_up',\n user_id: user.value.id,\n method: user.value.social_provider\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n } else if (!user.value.is_login_tracked) {\n let object = {\n event: 'login',\n user_id: user.value.id,\n method: user.value.social_provider ? user.value.social_provider : 'site'\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n }\n\n Cookies.set('user_id', user.value.id);\n }\n }\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n if (props.resetToken) {\n store.commit('auth/modal', 'reset');\n }\n\n return {\n mounted,\n user,\n logged,\n modal,\n open,\n close,\n register,\n logout,\n routes\n };\n }\n};\n</script>","<template>\n <div class=\"auth-user\" v-if=\"mounted && !logged\">\n <slot name=\"login\" :open=\"open\" :label=\"__('auth.login.login')\">\n <a href=\"#login\" class=\"button\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </slot>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"tabs\">\n <ul>\n <li v-bind:class=\"{\n 'is-active': modal == 'login' || modal == 'forget'\n }\">\n <a href=\"#login\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </li>\n <li v-bind:class=\"{\n 'is-active': modal == 'registration'\n }\" @click=\"register\">\n <a href=\"#register\">{{ __('auth.login.signup') }}</a>\n </li>\n </ul>\n </div>\n <keep-alive>\n <login v-if=\"modal == 'login' || modal == 'forget'\" :forget-type=\"forgetType\" :show-placeholders=\"showPlaceholders\"></login>\n </keep-alive>\n <keep-alive>\n <registration v-if=\"modal == 'registration'\"></registration>\n </keep-alive>\n <reset v-show=\"modal == 'reset'\" :show-placeholders=\"showPlaceholders\"></reset>\n </div>\n </div>\n </div>\n </div>\n <div class=\"auth-user is-logged\" v-else-if=\"mounted\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <a class=\"button\" :href=\"routes[0].path\">\n <slot name=\"user\" :user=\"user.name ? user.name : user.email\">\n <span>\n <i class=\"fas fa-user\"></i>\n {{ user.name ? user.name : user.email }}\n </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </slot>\n </a>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div v-for=\"(item, key) in routes\" v-bind:key=\"key\">\n <a :href=\"item.path\" v-if=\"item.text\" class=\"dropdown-item\">\n <svg class=\"icon\" v-if=\"item.icon\">\n <use :xlink:href=\"'#' + item.icon\" />\n </svg>\n <span>{{ item.text }}</span>\n <span class=\"badge\" v-if=\"item.badge\">{{ item.badge }}</span>\n </a>\n <hr class=\"dropdown-divider\" v-else />\n </div>\n <hr class=\"dropdown-divider\" />\n <a class=\"dropdown-item\" @click=\"logout\">\n <svg class=\"icon\">\n <use xlink:href=\"#icon-logout\" />\n </svg>\n <span>{{ __('auth.user.menu.logout') }}</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport Cookies from 'js-cookie';\nimport { ref, computed, provide, isVNode } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'user',\n props: {\n resetToken: {\n type: String,\n default: ''\n },\n resetEmail: {\n type: String,\n default: ''\n },\n tokenValid: {\n type: Boolean,\n default: false\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = computed(() => store.getters['auth/modal']);\n const logged = computed(() => Object.keys(user.value).length > 0);\n const mounted = ref(false);\n const routes = computed(() => store.getters['auth/account']);\n const presetedResetToken = ref('');\n const presetedResetEmail = ref('');\n\n provide('presetedResetToken', presetedResetToken);\n provide('presetedResetEmail', presetedResetEmail);\n\n const open = () => {\n store.commit('auth/modal', 'login');\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const logout = () => {\n store.dispatch('auth/logout');\n\n if (window.authUserLogoutCallback) {\n window.authUserLogoutCallback();\n }\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n store.dispatch('auth/me', {\n finally: () => {\n mounted.value = true;\n\n if (logged.value) {\n if (!user.value.is_social_registration_tracked) {\n let object = {\n event: 'sign_up',\n user_id: user.value.id,\n method: user.value.social_provider\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n } else if (!user.value.is_login_tracked) {\n let object = {\n event: 'login',\n user_id: user.value.id,\n method: user.value.social_provider ? user.value.social_provider : 'site'\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n }\n\n Cookies.set('user_id', user.value.id);\n }\n }\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n if (props.resetToken) {\n store.commit('auth/modal', 'reset');\n }\n\n return {\n mounted,\n user,\n logged,\n modal,\n open,\n close,\n register,\n logout,\n routes\n };\n }\n};\n</script>"],"names":["name","props","resetToken","type","String","resetEmail","tokenValid","Boolean","forgetType","showPlaceholders","setup","store","useStore","user","computed","getters","modal","logged","Object","keys","value","length","mounted","ref","routes","presetedResetToken","presetedResetEmail","provide","close","commit","dispatch","is_social_registration_tracked","is_login_tracked","object","event","user_id","id","method","social_provider","$env","debug","ecommerce","console","log","window","dataLayer","push","Cookies","set","addEventListener","e","key","open","register","logout","authUserLogoutCallback","_createElementVNode","href","role","$setup","_createElementBlock","_hoisted_1","_renderSlot","label","_ctx","onClick","_hoisted_2","_hoisted_5","_hoisted_6","_hoisted_7","_createBlock","$props","_createVNode","_hoisted_8","_hoisted_9","_hoisted_10","path","email","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","item","text","icon","_hoisted_17","badge","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22"],"mappings":"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"}
1
+ {"version":3,"file":"User.js","sources":["../../../src/components/auth/User.vue","../../../src/components/auth/User.vue?vue&type=template&id=695ec3d4&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-user\" v-if=\"mounted && !logged\">\n <slot name=\"login\" :open=\"open\" :label=\"__('auth.login.login')\">\n <a href=\"#login\" class=\"button\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </slot>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\" v-if=\"(modal == 'login' || modal == 'forget' || modal == 'registration' || modal == 'reset')\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"tabs\">\n <ul>\n <li v-bind:class=\"{\n 'is-active': modal == 'login' || modal == 'forget'\n }\">\n <a href=\"#login\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </li>\n <li v-bind:class=\"{\n 'is-active': modal == 'registration'\n }\" @click=\"register\">\n <a href=\"#register\">{{ __('auth.login.signup') }}</a>\n </li>\n </ul>\n </div>\n <keep-alive>\n <login :show-remember-me=\"showRememberMe\" v-if=\"modal == 'login' || modal == 'forget'\" :forget-type=\"forgetType\" :show-placeholders=\"showPlaceholders\">\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps || {}\"></slot>\n </template>\n </login>\n </keep-alive>\n <keep-alive>\n <registration v-if=\"modal == 'registration'\"></registration>\n </keep-alive>\n <reset v-show=\"modal == 'reset'\" :show-placeholders=\"showPlaceholders\"></reset>\n </div>\n </div>\n </div>\n </div>\n <div class=\"auth-user is-logged\" v-else-if=\"mounted\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <a class=\"button\" :href=\"routes[0].path\">\n <slot name=\"user\" :user=\"user.name ? user.name : user.email\">\n <span>\n <i class=\"fas fa-user\"></i>\n {{ user.name ? user.name : user.email }}\n </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </slot>\n </a>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div v-for=\"(item, key) in routes\" v-bind:key=\"key\">\n <a :href=\"item.path\" v-if=\"item.text\" class=\"dropdown-item\">\n <svg class=\"icon\" v-if=\"item.icon\">\n <use :xlink:href=\"'#' + item.icon\" />\n </svg>\n <span>{{ item.text }}</span>\n <span class=\"badge\" v-if=\"item.badge\">{{ item.badge }}</span>\n </a>\n <hr class=\"dropdown-divider\" v-else />\n </div>\n <hr class=\"dropdown-divider\" />\n <a class=\"dropdown-item\" @click=\"logout\">\n <svg class=\"icon\">\n <use xlink:href=\"#icon-logout\" />\n </svg>\n <span>{{ __('auth.user.menu.logout') }}</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport Cookies from 'js-cookie';\nimport { ref, computed, provide } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'user',\n props: {\n resetToken: {\n type: String,\n default: ''\n },\n resetEmail: {\n type: String,\n default: ''\n },\n tokenValid: {\n type: Boolean,\n default: false\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n },\n showRememberMe: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = computed(() => store.getters['auth/modal']);\n const logged = computed(() => Object.keys(user.value).length > 0);\n const mounted = ref(false);\n const routes = computed(() => store.getters['auth/account']);\n const presetedResetToken = ref('');\n const presetedResetEmail = ref('');\n\n provide('presetedResetToken', presetedResetToken);\n provide('presetedResetEmail', presetedResetEmail);\n\n const open = () => {\n store.commit('auth/modal', 'login');\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const logout = () => {\n store.dispatch('auth/logout');\n\n if (window.authUserLogoutCallback) {\n window.authUserLogoutCallback();\n }\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n store.dispatch('auth/me', {\n finally: () => {\n mounted.value = true;\n\n if (logged.value) {\n if (!user.value.is_social_registration_tracked) {\n let object = {\n event: 'sign_up',\n user_id: user.value.id,\n method: user.value.social_provider\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n } else if (!user.value.is_login_tracked) {\n let object = {\n event: 'login',\n user_id: user.value.id,\n method: user.value.social_provider ? user.value.social_provider : 'site'\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n }\n\n Cookies.set('user_id', user.value.id);\n }\n }\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n if (props.resetToken) {\n store.commit('auth/modal', 'reset');\n }\n\n return {\n mounted,\n user,\n logged,\n modal,\n open,\n close,\n register,\n logout,\n routes\n };\n }\n};\n</script>","<template>\n <div class=\"auth-user\" v-if=\"mounted && !logged\">\n <slot name=\"login\" :open=\"open\" :label=\"__('auth.login.login')\">\n <a href=\"#login\" class=\"button\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </slot>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\" v-if=\"(modal == 'login' || modal == 'forget' || modal == 'registration' || modal == 'reset')\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"tabs\">\n <ul>\n <li v-bind:class=\"{\n 'is-active': modal == 'login' || modal == 'forget'\n }\">\n <a href=\"#login\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </li>\n <li v-bind:class=\"{\n 'is-active': modal == 'registration'\n }\" @click=\"register\">\n <a href=\"#register\">{{ __('auth.login.signup') }}</a>\n </li>\n </ul>\n </div>\n <keep-alive>\n <login :show-remember-me=\"showRememberMe\" v-if=\"modal == 'login' || modal == 'forget'\" :forget-type=\"forgetType\" :show-placeholders=\"showPlaceholders\">\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps || {}\"></slot>\n </template>\n </login>\n </keep-alive>\n <keep-alive>\n <registration v-if=\"modal == 'registration'\"></registration>\n </keep-alive>\n <reset v-show=\"modal == 'reset'\" :show-placeholders=\"showPlaceholders\"></reset>\n </div>\n </div>\n </div>\n </div>\n <div class=\"auth-user is-logged\" v-else-if=\"mounted\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <a class=\"button\" :href=\"routes[0].path\">\n <slot name=\"user\" :user=\"user.name ? user.name : user.email\">\n <span>\n <i class=\"fas fa-user\"></i>\n {{ user.name ? user.name : user.email }}\n </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </slot>\n </a>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div v-for=\"(item, key) in routes\" v-bind:key=\"key\">\n <a :href=\"item.path\" v-if=\"item.text\" class=\"dropdown-item\">\n <svg class=\"icon\" v-if=\"item.icon\">\n <use :xlink:href=\"'#' + item.icon\" />\n </svg>\n <span>{{ item.text }}</span>\n <span class=\"badge\" v-if=\"item.badge\">{{ item.badge }}</span>\n </a>\n <hr class=\"dropdown-divider\" v-else />\n </div>\n <hr class=\"dropdown-divider\" />\n <a class=\"dropdown-item\" @click=\"logout\">\n <svg class=\"icon\">\n <use xlink:href=\"#icon-logout\" />\n </svg>\n <span>{{ __('auth.user.menu.logout') }}</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport Cookies from 'js-cookie';\nimport { ref, computed, provide } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'user',\n props: {\n resetToken: {\n type: String,\n default: ''\n },\n resetEmail: {\n type: String,\n default: ''\n },\n tokenValid: {\n type: Boolean,\n default: false\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n },\n showRememberMe: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = computed(() => store.getters['auth/modal']);\n const logged = computed(() => Object.keys(user.value).length > 0);\n const mounted = ref(false);\n const routes = computed(() => store.getters['auth/account']);\n const presetedResetToken = ref('');\n const presetedResetEmail = ref('');\n\n provide('presetedResetToken', presetedResetToken);\n provide('presetedResetEmail', presetedResetEmail);\n\n const open = () => {\n store.commit('auth/modal', 'login');\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const logout = () => {\n store.dispatch('auth/logout');\n\n if (window.authUserLogoutCallback) {\n window.authUserLogoutCallback();\n }\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n store.dispatch('auth/me', {\n finally: () => {\n mounted.value = true;\n\n if (logged.value) {\n if (!user.value.is_social_registration_tracked) {\n let object = {\n event: 'sign_up',\n user_id: user.value.id,\n method: user.value.social_provider\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n } else if (!user.value.is_login_tracked) {\n let object = {\n event: 'login',\n user_id: user.value.id,\n method: user.value.social_provider ? user.value.social_provider : 'site'\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n }\n\n Cookies.set('user_id', user.value.id);\n }\n }\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n if (props.resetToken) {\n store.commit('auth/modal', 'reset');\n }\n\n return {\n mounted,\n user,\n logged,\n modal,\n open,\n close,\n register,\n logout,\n routes\n };\n }\n};\n</script>"],"names":["name","props","resetToken","type","String","resetEmail","tokenValid","Boolean","forgetType","showPlaceholders","showRememberMe","setup","store","useStore","user","computed","getters","modal","logged","Object","keys","value","length","mounted","ref","routes","presetedResetToken","presetedResetEmail","provide","close","commit","dispatch","is_social_registration_tracked","is_login_tracked","object","event","user_id","id","method","social_provider","$env","debug","ecommerce","console","log","window","dataLayer","push","Cookies","set","addEventListener","e","key","open","register","logout","authUserLogoutCallback","_createElementVNode","href","role","$setup","_createElementBlock","_hoisted_1","_renderSlot","label","_ctx","onClick","_hoisted_2","_hoisted_5","_hoisted_6","_hoisted_7","_createBlock","$props","_","slotProps","_createVNode","_hoisted_8","_hoisted_9","_hoisted_10","path","email","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","item","text","icon","_hoisted_17","badge","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22"],"mappings":"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"}