@perevorot/shop 2.0.142 → 2.0.144
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -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(),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}},
|
|
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;
|
|
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=333cd1ae&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 (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 (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","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":"isDAgDAA,UAAQC,WAER,IAAMC,EAAaC,oBAAkB,CAACC,UAAkB,QAEzC,CACXC,SACIC,cAAe,CACXC,KAAMC,iBACG,cAEbC,WAAY,CACRF,KAAMG,eACG,SAEbC,iBAAkB,CACdJ,KAAMK,iBACG,uBAEK,CACdL,KAAMK,iBACG,IAGjBC,KAAM,QACNC,WAAY,CACRZ,WAAAA,GAEJa,eAAMV,SACIW,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAASJ,MAAI,IACbK,EAAQC,YAAS,kBAAML,EAAMM,QAAQ,iBAErCC,EAASR,MAAI,CACfS,MAAO,CACHC,UAAW1B,UACX2B,MAAOC,GAAG,yBACVX,MAAO,QACPY,MAAO,QACPC,YAAa1B,EAAMM,iBAAmBkB,GAAG,yBAA2B,IAExEG,SAAU,CACNL,UAAWM,UACXL,MAAOC,GAAG,4BACVE,YAAa1B,EAAMM,iBAAmBkB,GAAG,4BAA8B,MAIzEK,EAAaC,EAAIC,SAASC,MAAM,CAClCX,MAAOS,EAAIG,SAASZ,MAAMG,GAAG,0BAA0BU,SAASV,GAAG,6BACnEG,SAAUG,EAAIG,SAASC,SAASV,GAAG,+BAGjCC,EAAQb,MAAI,CACdS,MAAO,GACPM,SAAU,KAGdQ,gBAAcV,eAwEVd,QAAAA,EACAM,MAAAA,EACAG,OAAAA,EACAS,WAAAA,EACAO,MA1EU,WACVvB,EAAMwB,OAAO,aAAc,WA0E3BC,SAnEa,WACbC,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cAkEdC,OA9DW,WACXL,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,sBA6DdvB,mBAzDa,WACbT,EAAQkC,OAAQ,EAEhBhC,EAAMiC,SAAS,aAAc,CACzBC,YAAatB,EAAMoB,MACnBG,SAAU,SAACC,MACHjD,EAAMC,eACND,EAAMC,gBAGNgD,EAASC,MAAQD,EAASC,KAAKC,OAASF,EAASC,KAAKC,KAAKC,iBAAkB,KACzErB,EAAS,CACTsB,MAAO,QACPC,QAASL,EAASC,KAAKC,KAAKI,GAC5BC,OAAQ,QAGRC,KAAKC,MAAMC,WACXC,QAAQC,IAAI9B,IAGX0B,KAAKC,MAAMC,WAAapB,OAAOuB,YAChCvB,OAAOuB,UAAUC,KAAK,CAClBJ,UAAW,OAGfpB,OAAOuB,UAAUC,KAAKhC,cAIzB,WACLpB,EAAQkC,OAAQ,SAEb,SAACmB,MACAA,EAAMf,SAASC,MAAQc,EAAMf,SAASC,KAAKlC,OAAQ,eACnBiD,OAAOC,QAAQF,EAAMf,SAASC,KAAKlC,uBAAS,iBAAhEmD,OAAOC,OACXA,EAAS,KACTpD,EAAO6B,MAAMsB,GAASC,EAAS,IAIvC3C,EAAMoB,MAAMlB,SAAW,GAEvBZ,EAAI8B,4BAgBhB7B,aACAD,eACAU,mBA7Ea,WACbZ,EAAMwB,OAAO,aAAc,gCCjHxB,uBAEQ,kBAGQ,iCAGA,kBAGA,oBACI,0CACA,cAEHgC,kCAAW,gBACPA,yCAAgB,6BAEpBA,iCAAM,mBAGNA,kCAAW,oBACPA,yCAAgB,2BAEpBA,iCAAM,uBAIP,2IA5B3BC,2BAAAC,oBACIF,iCACIA,2BAAAG,oBAAsBC,4CACtBC,iBAAYC,iBAAiB,QAASvD,OAAQwD,6BAA4BA,8BAA6BA,SAAS7D,IAAK6D,MAAMC,SAAQD,aACpHE,qBACP,kBAAAT,2BAAAU,GACIV,0BAAIW,sCAAOJ,yDAAUH,yCAEzBJ,2BAAAY,GACIZ,uDAAc,+BAA6DO,aAA5C1E,KAAK,4BAAqDuE,qCAE7FJ,2BAAAa,GACIb,2BAAAc,oBAA8CV,+BAC9CJ,2BAAAe,GACIf,gCAAS,SAAUW,sCAAOJ,gDAM1BP,gCAAS,SAAUW,sCAAOJ,gDAQlCP,2BAAAgB,GACIhB,0BAAIW,sCAAOJ,+DAAaH,iIA5B3BG,qBAkCCA,uBAAdF,uBAAkCrD,MAAOuD,QAAMvD,oBAAqBiE,iCAAgCA"}
|
|
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,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),
|
|
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;
|
|
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=50d28da8&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\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\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","_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=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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"}
|