@perevorot/shop 2.0.74 → 2.0.76
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.
- package/dist/api.js +1 -1
- package/dist/api.js.map +1 -1
- package/dist/components/auth/Forget.js +1 -1
- package/dist/components/auth/Forget.js.map +1 -1
- package/dist/components/auth/Login.js +1 -1
- package/dist/components/auth/Login.js.map +1 -1
- package/dist/components/auth/Registration.js +1 -1
- package/dist/components/auth/Registration.js.map +1 -1
- package/dist/components/auth/Reset.js +1 -1
- package/dist/components/auth/Reset.js.map +1 -1
- package/dist/components/auth/User.js +1 -1
- package/dist/components/auth/User.js.map +1 -1
- package/dist/components/auth/UserTrigger.js +1 -1
- package/dist/components/auth/UserTrigger.js.map +1 -1
- package/dist/forms/FormText.js.map +1 -1
- package/dist/global.js +1 -1
- package/dist/global.js.map +1 -1
- package/dist/helpers.js +1 -1
- package/dist/helpers.js.map +1 -1
- package/dist/store.js +1 -1
- package/dist/store.js.map +1 -1
- package/package.json +1 -1
package/dist/api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var t={auth:{me:function(){return $http.post($ziggy("auth.me"))},login:function(t){return $http.post($ziggy("auth.login"),t)},logout:function(){return $http.post($ziggy("auth.logout"))},reset:function(t){return $http.post($ziggy("auth.password.email"),t)},passwordUpdate:function(t){return $http.post($ziggy("auth.password.update"),t)},registerShort:function(t){return $http.post($ziggy("auth.register.short"),t)},registerFull:function(t){return $http.post($ziggy("auth.register.full"),t)},registerForm:function(){return $http.post($ziggy("auth.register.form"))},update:function(t){return $http.post($ziggy("auth.register.update"),t)}},cart:{items:function(){return $http.post($ziggy("api.cart"),{action:"get"})},add:function(t){return $http.post($ziggy("api.cart"),{action:"add",id:t.id,quantity:t.quantity,options:!!t.options&&t.options})},options:function(t){return $http.post($ziggy("api.cart"),{action:"options",id:t.id,options:t.options})},addBundle:function(t){return $http.post($ziggy("api.cart"),{action:"addBundle",id:t.id,second:t.second,third:t.third})},remove:function(t){return $http.post($ziggy("api.cart"),{action:"remove",id:t})},clear:function(){return $http.post($ziggy("api.cart"),{action:"clear"})},quantity:function(t){return $http.post($ziggy("api.cart"),{action:"quantity",id:t.id,exact:t.exact})}},compare:{items:function(){return $http.post($ziggy("api.compare"),{action:"get"})},category:function(t){return $http.post($ziggy("api.compare"),{action:"category",slug:t})},toggle:function(t){return $http.post($ziggy("api.compare"),{action:"toggle",id:t})},delete:function(t){return $http.post($ziggy("api.compare"),{action:"delete",id:t})}},shop:{search:function(t){return $http.post($ziggy("api.search"),{term:t})}},wishlist:{items:function(){return $http.post($ziggy("api.wishlist"),{action:"get"})},toggle:function(t){return $http.post($ziggy("api.wishlist"),{action:"toggle",id:t})}}};module.exports=t;
|
|
1
|
+
"use strict";var t={auth:{me:function(){return $http.post($ziggy("auth.me"))},login:function(t){return $http.post($ziggy("auth.login"),t)},logout:function(){return $http.post($ziggy("auth.logout"))},reset:function(t){return $http.post($ziggy("auth.password.email"),t)},resetSms:function(t){return $http.post($ziggy("auth.password.sms"),t)},passwordUpdate:function(t){return $http.post($ziggy("auth.password.update"),t)},registerShort:function(t){return $http.post($ziggy("auth.register.short"),t)},registerFull:function(t){return $http.post($ziggy("auth.register.full"),t)},registerForm:function(){return $http.post($ziggy("auth.register.form"))},update:function(t){return $http.post($ziggy("auth.register.update"),t)}},cart:{items:function(){return $http.post($ziggy("api.cart"),{action:"get"})},add:function(t){return $http.post($ziggy("api.cart"),{action:"add",id:t.id,quantity:t.quantity,options:!!t.options&&t.options})},options:function(t){return $http.post($ziggy("api.cart"),{action:"options",id:t.id,options:t.options})},addBundle:function(t){return $http.post($ziggy("api.cart"),{action:"addBundle",id:t.id,second:t.second,third:t.third})},remove:function(t){return $http.post($ziggy("api.cart"),{action:"remove",id:t})},clear:function(){return $http.post($ziggy("api.cart"),{action:"clear"})},quantity:function(t){return $http.post($ziggy("api.cart"),{action:"quantity",id:t.id,exact:t.exact})}},compare:{items:function(){return $http.post($ziggy("api.compare"),{action:"get"})},category:function(t){return $http.post($ziggy("api.compare"),{action:"category",slug:t})},toggle:function(t){return $http.post($ziggy("api.compare"),{action:"toggle",id:t})},delete:function(t){return $http.post($ziggy("api.compare"),{action:"delete",id:t})}},shop:{search:function(t){return $http.post($ziggy("api.search"),{term:t})}},wishlist:{items:function(){return $http.post($ziggy("api.wishlist"),{action:"get"})},toggle:function(t){return $http.post($ziggy("api.wishlist"),{action:"toggle",id:t})}}};module.exports=t;
|
|
2
2
|
//# sourceMappingURL=api.js.map
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sources":["../src/api/modules/auth.js","../src/api/index.js","../src/api/modules/cart.js","../src/api/modules/compare.js","../src/api/modules/shop.js","../src/api/modules/wishlist.js"],"sourcesContent":["export default {\n me() {\n return $http.post($ziggy(
|
|
1
|
+
{"version":3,"file":"api.js","sources":["../src/api/modules/auth.js","../src/api/index.js","../src/api/modules/cart.js","../src/api/modules/compare.js","../src/api/modules/shop.js","../src/api/modules/wishlist.js"],"sourcesContent":["export default {\n me() {\n return $http.post($ziggy('auth.me'));\n },\n login(credentials) {\n return $http.post($ziggy('auth.login'), credentials);\n },\n logout() {\n return $http.post($ziggy('auth.logout'));\n },\n reset(credentials) {\n return $http.post($ziggy('auth.password.email'), credentials);\n },\n resetSms(credentials) {\n return $http.post($ziggy('auth.password.sms'), credentials);\n },\n passwordUpdate(credentials) {\n return $http.post($ziggy('auth.password.update'), credentials);\n },\n registerShort(credentials) {\n return $http.post($ziggy('auth.register.short'), credentials);\n },\n registerFull(credentials) {\n return $http.post($ziggy('auth.register.full'), credentials);\n },\n registerForm() {\n return $http.post($ziggy('auth.register.form'));\n },\n update(credentials) {\n return $http.post($ziggy('auth.register.update'), credentials);\n },\n};\n","import auth from './modules/auth';\nimport cart from './modules/cart';\nimport compare from './modules/compare';\nimport shop from './modules/shop';\nimport wishlist from './modules/wishlist';\n\nexport default {\n auth,\n cart,\n compare,\n shop,\n wishlist\n};","export default {\n items() {\n return $http.post($ziggy(\"api.cart\"), {\n action: \"get\",\n });\n },\n\n add(item) {\n return $http.post($ziggy(\"api.cart\"), {\n action: \"add\",\n id: item.id,\n quantity: item.quantity,\n options: item.options ? item.options : false\n });\n },\n\n options(item) {\n return $http.post($ziggy(\"api.cart\"), {\n action: \"options\",\n id: item.id,\n options: item.options\n });\n },\n\n addBundle(item) {\n return $http.post($ziggy(\"api.cart\"), {\n action: \"addBundle\",\n id: item.id,\n second: item.second,\n third: item.third\n });\n },\n\n remove(id) {\n return $http.post($ziggy(\"api.cart\"), {\n action: \"remove\",\n id: id\n });\n },\n\n clear() {\n return $http.post($ziggy(\"api.cart\"), {\n action: \"clear\"\n });\n },\n\n quantity(item) {\n return $http.post($ziggy(\"api.cart\"), {\n action: \"quantity\",\n id: item.id,\n exact: item.exact\n });\n },\n}","export default {\n items() {\n return $http.post($ziggy(\"api.compare\"), {\n action: \"get\",\n });\n },\n\n category(slug) {\n return $http.post($ziggy(\"api.compare\"), {\n action: \"category\",\n slug: slug\n });\n },\n\n toggle(id) {\n return $http.post($ziggy(\"api.compare\"), {\n action: \"toggle\",\n id: id\n });\n },\n\n delete(id) {\n return $http.post($ziggy(\"api.compare\"), {\n action: \"delete\",\n id: id\n });\n },\n}","export default {\n search(term) {\n return $http.post($ziggy(\"api.search\"), {\n term: term,\n });\n },\n}","export default {\n items() {\n return $http.post($ziggy(\"api.wishlist\"), {\n action: \"get\",\n });\n },\n\n toggle(id) {\n return $http.post($ziggy(\"api.wishlist\"), {\n action: \"toggle\",\n id: id\n });\n },\n}"],"names":["auth","me","$http","post","$ziggy","login","credentials","logout","reset","resetSms","passwordUpdate","registerShort","registerFull","registerForm","update","cart","items","action","add","item","id","quantity","options","addBundle","second","third","remove","clear","exact","compare","category","slug","toggle","shop","search","term","wishlist"],"mappings":"aAAA,MCMe,CACXA,KDPW,CACXC,qBACWC,MAAMC,KAAKC,OAAO,aAE7BC,eAAMC,UACKJ,MAAMC,KAAKC,OAAO,cAAeE,IAE5CC,yBACWL,MAAMC,KAAKC,OAAO,iBAE7BI,eAAMF,UACKJ,MAAMC,KAAKC,OAAO,uBAAwBE,IAErDG,kBAASH,UACEJ,MAAMC,KAAKC,OAAO,qBAAsBE,IAEnDI,wBAAeJ,UACJJ,MAAMC,KAAKC,OAAO,wBAAyBE,IAEtDK,uBAAcL,UACHJ,MAAMC,KAAKC,OAAO,uBAAwBE,IAErDM,sBAAaN,UACFJ,MAAMC,KAAKC,OAAO,sBAAuBE,IAEpDO,+BACWX,MAAMC,KAAKC,OAAO,wBAE7BU,gBAAOR,UACIJ,MAAMC,KAAKC,OAAO,wBAAyBE,KCrBtDS,KCRW,CACXC,wBACWd,MAAMC,KAAKC,OAAO,YAAa,CAClCa,OAAQ,SAIhBC,aAAIC,UACOjB,MAAMC,KAAKC,OAAO,YAAa,CAClCa,OAAQ,MACRG,GAAID,EAAKC,GACTC,SAAUF,EAAKE,SACfC,UAASH,EAAKG,SAAUH,EAAKG,WAIrCA,iBAAQH,UACGjB,MAAMC,KAAKC,OAAO,YAAa,CAClCa,OAAQ,UACRG,GAAID,EAAKC,GACTE,QAASH,EAAKG,WAItBC,mBAAUJ,UACCjB,MAAMC,KAAKC,OAAO,YAAa,CAClCa,OAAQ,YACRG,GAAID,EAAKC,GACTI,OAAQL,EAAKK,OACbC,MAAON,EAAKM,SAIpBC,gBAAON,UACIlB,MAAMC,KAAKC,OAAO,YAAa,CAClCa,OAAQ,SACRG,GAAIA,KAIZO,wBACWzB,MAAMC,KAAKC,OAAO,YAAa,CAClCa,OAAQ,WAIhBI,kBAASF,UACEjB,MAAMC,KAAKC,OAAO,YAAa,CAClCa,OAAQ,WACRG,GAAID,EAAKC,GACTQ,MAAOT,EAAKS,UDzCpBC,QETW,CACXb,wBACWd,MAAMC,KAAKC,OAAO,eAAgB,CACrCa,OAAQ,SAIhBa,kBAASC,UACE7B,MAAMC,KAAKC,OAAO,eAAgB,CACrCa,OAAQ,WACRc,KAAMA,KAIdC,gBAAOZ,UACIlB,MAAMC,KAAKC,OAAO,eAAgB,CACrCa,OAAQ,SACRG,GAAIA,qBAILA,UACIlB,MAAMC,KAAKC,OAAO,eAAgB,CACrCa,OAAQ,SACRG,GAAIA,MFdZa,KGVW,CACXC,gBAAOC,UACIjC,MAAMC,KAAKC,OAAO,cAAe,CACpC+B,KAAMA,MHQdC,SIXW,CACXpB,wBACWd,MAAMC,KAAKC,OAAO,gBAAiB,CACtCa,OAAQ,SAIhBe,gBAAOZ,UACIlB,MAAMC,KAAKC,OAAO,gBAAiB,CACtCa,OAAQ,SACRG,GAAIA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=require("vuex"),a=require("formvuelate"),
|
|
1
|
+
"use strict";var e=require("vue"),t=require("vuex"),a=require("formvuelate"),n=require("@formvuelate/plugin-vee-validate"),r=require("@perevorot/shop/dist/forms/FormText"),o=require("yup");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var s=l(n),u=l(r),c=i(o);e.markRaw(u.default);var m={name:"forget",components:{SchemaForm:a.SchemaFormFactory([s.default({})])},props:{email:{type:String,default:""},emailOrPhone:{type:String,default:"0505836898"},forgetType:{type:String,default:"email"}},setup:function(n){var r=e.ref(!1),o=t.useStore(),l=e.ref(0),i=e.ref(""),s=e.ref(""),m=e.ref(!1),d=e.ref({}),v=e.ref({}),f=e.ref(!1),p=e.ref(""),g=e.ref(""),h=e.ref(""),y=e.ref("");e.getCurrentInstance();var b={email:{component:u.default,label:__("auth.login.form.email")},emailOrPhone:{component:u.default,label:__("auth.login.form.emailOrPhone")}},N={email:c.string().email(__("auth.validation.email")).required(__("auth.validation.required")),emailOrPhone:c.string().required(__("auth.validation.required")).test("test-name",__("auth.validation.emailOrPhone"),(function(e){var t=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(e),a=/^(?:\+38)?(?:\((044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)\)[ .-]?[0-9]{3}[ .-]?[0-9]{2}[ .-]?[0-9]{2}|(044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)[ .-]?[0-9]{3}[ .-]?[0-9]{2}[ .-]?[0-9]{2}|(044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)[0-9]{7})$/.test(e);return!(!t&&!a)}))};d.value[n.forgetType]=b[n.forgetType],v.value[n.forgetType]=n[n.forgetType];var E={};E[n.forgetType]=N[n.forgetType];var _=c.object().shape(E);a.useSchemaForm(v);var S=e.inject("presetedResetToken"),V=e.inject("presetedResetEmail");return{loading:r,key:l,schema:d,validation:_,remembered:function(){o.commit("auth/modal","login")},onSubmit:function(){r.value=!0,i.value="",s.value="",o.dispatch("auth/reset",{credentials:v.value,callback:function(e,t,a){t?s.value=e:(i.value=e,f.value="phone"==(null==a?void 0:a.credentials))},finally:function(){v.value={},r.value=!1,m.value=!0,l.value++}})},again:function(){m.value=!1},sent:m,message:i,error:s,close:function(){o.commit("auth/modal",null)},sms:f,code1:p,code2:g,code3:h,code4:y,codeKeyUp:function(e){var t=e.target.nextElementSibling,a=t&&"INPUT"===t.tagName;e.keyCode>=48&&e.keyCode<=57&&a&&t.focus(),8===e.keyCode&&""===e.target.value&&e.target.previousElementSibling&&"INPUT"===e.target.previousElementSibling.tagName&&e.target.previousElementSibling.focus()},codePaste:function(e){e.preventDefault();var t=e.clipboardData.getData("Text");4==t.length&&(isNaN(t[0])||isNaN(t[1])||isNaN(t[2])||isNaN(t[3])||(p.value=t[0],g.value=t[1],h.value=t[2],y.value=t[3]))},more:function(){f.value=!1,p.value="1",g.value="2",h.value="3",y.value="4",i.value="",m.value=!1},smsReset:function(){r.value=!0,s.value="",o.dispatch("auth/resetSms",{credentials:{code:String(p.value)+String(g.value)+String(h.value)+String(y.value)},callback:function(e,t){t?s.value=e:(p.value="",g.value="",h.value="",y.value="",S.value=e.token,V.value=e.email,o.commit("auth/modal","reset"))},finally:function(){r.value=!1,l.value++}})}}}},d={class:"form auth-forget"},v={class:"title"},f={class:"field"},p={class:"columns is-vcentered"},g={class:"column"},h={class:"mt-2"},y={class:"forget-thanks-mesage"},b=["innerHTML"],N={class:"mt-2 close-button"},E={class:"forget-thanks-mesage"},_=["innerHTML"],S={class:"sms-code"},V={class:"control"},k=["innerHTML"],T={class:"actions-wrapper"},D=["disabled"],C={class:"forget-error-mesage"},w=["innerHTML"],P={class:"mt-2"};m.render=function(t,a,n,r,o,l){var i=e.resolveComponent("SchemaForm"),s=e.resolveDirective("maska");return e.openBlock(),e.createElementBlock("div",d,[e.createElementVNode("div",v,e.toDisplayString(t.__("auth.forget.title")),1),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(),e.createBlock(i,{schemaRowClasses:"field",schema:r.schema,"validation-schema":r.validation,key:r.key,onSubmit:r.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",f,[e.createElementVNode("div",p,[e.createElementVNode("div",g,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":r.loading}]),type:"submit"},e.toDisplayString(t.__("auth.forget.form.submit")),3)])])])]})),_:1},8,["schema","validation-schema","onSubmit"])),e.createElementVNode("div",h,[e.createElementVNode("a",{onClick:a[0]||(a[0]=function(){return r.remembered&&r.remembered.apply(r,arguments)})},e.toDisplayString(t.__("auth.forget.remembered")),1)])],512),[[e.vShow,!r.sent]]),e.withDirectives(e.createElementVNode("div",y,[e.createElementVNode("div",{innerHTML:r.message,class:"thanks-message"},null,8,b),e.createElementVNode("div",N,[e.createElementVNode("a",{onClick:a[1]||(a[1]=function(){return r.close&&r.close.apply(r,arguments)})},e.toDisplayString(t.__("auth.forget.close")),1)])],512),[[e.vShow,r.sent&&r.message&&!r.sms]]),e.withDirectives(e.createElementVNode("div",E,[e.createElementVNode("div",{innerHTML:r.message,class:"thanks-message"},null,8,_),e.createElementVNode("div",S,[e.createElementVNode("div",V,[e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(["input",{"is-filled":""!==r.code1}]),"onUpdate:modelValue":a[2]||(a[2]=function(e){return r.code1=e}),onKeyup:a[3]||(a[3]=function(e){return r.codeKeyUp(e)}),onPaste:a[4]||(a[4]=function(e){return r.codePaste(e)})},null,34),[[e.vModelText,r.code1],[s,"#"]]),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(["input",{"is-filled":""!==r.code2}]),"onUpdate:modelValue":a[5]||(a[5]=function(e){return r.code2=e}),onKeyup:a[6]||(a[6]=function(e){return r.codeKeyUp(e)}),onPaste:a[7]||(a[7]=function(e){return r.codePaste(e)})},null,34),[[e.vModelText,r.code2],[s,"#"]]),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(["input",{"is-filled":""!==r.code3}]),"onUpdate:modelValue":a[8]||(a[8]=function(e){return r.code3=e}),onKeyup:a[9]||(a[9]=function(e){return r.codeKeyUp(e)}),onPaste:a[10]||(a[10]=function(e){return r.codePaste(e)})},null,34),[[e.vModelText,r.code3],[s,"#"]]),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(["input",{"is-filled":""!==r.code4}]),"onUpdate:modelValue":a[11]||(a[11]=function(e){return r.code4=e}),onKeyup:a[12]||(a[12]=function(e){return r.codeKeyUp(e)}),onPaste:a[13]||(a[13]=function(e){return r.codePaste(e)})},null,34),[[e.vModelText,r.code4],[s,"#"]])])]),r.error.message?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:r.error.message,class:"forget-sms-error-mesage"},null,8,k)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",T,[e.createElementVNode("button",{class:e.normalizeClass(["button",{"is-loading":r.loading}]),onClick:a[14]||(a[14]=function(){return r.smsReset&&r.smsReset.apply(r,arguments)}),disabled:""===r.code1||""===r.code2||""===r.code3||""===r.code4},e.toDisplayString(t.__("auth.forget.sms_reset_password")),11,D),e.createElementVNode("button",{class:"button",onClick:a[15]||(a[15]=function(){return r.more&&r.more.apply(r,arguments)})},e.toDisplayString(t.__("auth.forget.sms_more")),1),e.createElementVNode("button",{class:"button",onClick:a[16]||(a[16]=function(){return r.remembered&&r.remembered.apply(r,arguments)})},e.toDisplayString(t.__("auth.forget.remembered")),1)])],512),[[e.vShow,r.sent&&r.message&&r.sms]]),e.withDirectives(e.createElementVNode("div",C,[e.createElementVNode("div",{innerHTML:r.error},null,8,w),e.createElementVNode("div",P,[e.createElementVNode("a",{onClick:a[17]||(a[17]=function(){return r.again&&r.again.apply(r,arguments)})},e.toDisplayString(t.__("auth.forget.send")),1)])],512),[[e.vShow,r.sent&&r.error&&!r.sms]])])},module.exports=m;
|
|
2
2
|
//# sourceMappingURL=Forget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Forget.js","sources":["../../../src/components/auth/Forget.vue","../../../src/components/auth/Forget.vue?vue&type=template&id=128fc09e&lang.js"],"sourcesContent":["<template>\n <div class=\"form auth-forget\">\n <div class=\"title\">{{ __('auth.forget.title') }}</div>\n <div v-show=\"!sent\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.forget.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n\n <div class=\"mt-2\">\n <a @click=\"remembered\">{{ __('auth.forget.remembered') }}</a>\n </div>\n </div>\n <div v-show=\"sent && message\">\n <div>{{ message }}</div>\n <div class=\"mt-2\">\n <a @click=\"close\">{{ __('auth.forget.close') }}</a>\n </div>\n </div>\n <div v-show=\"sent && error\">\n <div>{{ error }}</div>\n <div class=\"mt-2\">\n <a @click=\"again\">{{ __('auth.forget.send') }}</a>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw } 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 * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'forget',\n components: {\n SchemaForm\n },\n props: {\n email: {\n type: String,\n default: ''\n }\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const error = ref('');\n const sent = ref(false);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email')\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: props.email\n });\n\n useSchemaForm(model);\n\n const remembered = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n sent.value = false;\n };\n\n const onSubmit = () => {\n loading.value = true;\n message.value = '';\n error.value = '';\n\n store.dispatch('auth/reset', {\n credentials: model.value,\n callback: (m, isError) => {\n if (!isError) {\n message.value = m;\n } else {\n error.value = m;\n }\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n sent.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n remembered,\n onSubmit,\n again,\n sent,\n message,\n error,\n close\n };\n }\n};\n</script>","<template>\n <div class=\"form auth-forget\">\n <div class=\"title\">{{ __('auth.forget.title') }}</div>\n <div v-show=\"!sent\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.forget.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n\n <div class=\"mt-2\">\n <a @click=\"remembered\">{{ __('auth.forget.remembered') }}</a>\n </div>\n </div>\n <div v-show=\"sent && message\">\n <div>{{ message }}</div>\n <div class=\"mt-2\">\n <a @click=\"close\">{{ __('auth.forget.close') }}</a>\n </div>\n </div>\n <div v-show=\"sent && error\">\n <div>{{ error }}</div>\n <div class=\"mt-2\">\n <a @click=\"again\">{{ __('auth.forget.send') }}</a>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw } 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 * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'forget',\n components: {\n SchemaForm\n },\n props: {\n email: {\n type: String,\n default: ''\n }\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const error = ref('');\n const sent = ref(false);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email')\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: props.email\n });\n\n useSchemaForm(model);\n\n const remembered = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n sent.value = false;\n };\n\n const onSubmit = () => {\n loading.value = true;\n message.value = '';\n error.value = '';\n\n store.dispatch('auth/reset', {\n credentials: model.value,\n callback: (m, isError) => {\n if (!isError) {\n message.value = m;\n } else {\n error.value = m;\n }\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n sent.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n remembered,\n onSubmit,\n again,\n sent,\n message,\n error,\n close\n };\n }\n};\n</script>"],"names":["markRaw","FormText","name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","props","email","type","String","setup","loading","ref","store","useStore","key","message","error","sent","schema","component","label","__","validation","yup","object","shape","string","required","model","useSchemaForm","remembered","commit","onSubmit","value","dispatch","credentials","callback","m","isError","again","close","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_ctx","_createBlock","schemaRowClasses","$setup","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_7","_hoisted_8"],"mappings":"6jBA4CAA,UAAQC,WAER,MAEe,CACXC,KAAM,SACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,MAAO,CACHC,MAAO,CACHC,KAAMC,eACG,KAGjBC,eAAMJ,OACIK,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAAUJ,MAAI,IACdK,EAAQL,MAAI,IACZM,EAAON,OAAI,GAEXO,EAASP,MAAI,CACfL,MAAO,CACHa,UAAWpB,UACXqB,MAAOC,GAAG,4BAIZC,EAAaC,EAAIC,SAASC,MAAM,CAClCnB,MAAOiB,EAAIG,SAASpB,MAAMe,GAAG,0BAA0BM,SAASN,GAAG,+BAGjEO,EAAQjB,MAAI,CACdL,MAAOD,EAAMC,QAGjBuB,gBAAcD,SAqCP,CACHlB,QAAAA,EACAI,IAAAA,EACAI,OAAAA,EACAI,WAAAA,EACAQ,WAxCe,WACflB,EAAMmB,OAAO,aAAc,UAwC3BC,SAjCa,WACbtB,EAAQuB,OAAQ,EAChBlB,EAAQkB,MAAQ,GAChBjB,EAAMiB,MAAQ,GAEdrB,EAAMsB,SAAS,aAAc,CACzBC,YAAaP,EAAMK,MACnBG,SAAU,SAACC,EAAGC,GACLA,EAGDtB,EAAMiB,MAAQI,EAFdtB,EAAQkB,MAAQI,WAKf,WACLT,EAAMK,MAAQ,GACdvB,EAAQuB,OAAQ,EAChBhB,EAAKgB,OAAQ,EACbnB,EAAImB,YAgBZM,MAtCU,WACVtB,EAAKgB,OAAQ,GAsCbhB,KAAAA,EACAF,QAAAA,EACAC,MAAAA,EACAwB,MAfU,WACV5B,EAAMmB,OAAO,aAAc,mBCnHxB,6BACI,kBAIY,kBACI,iCACI,mBAUhB,iBAMA,iBAMA,mGA7BnBU,2BAAAC,GACIC,2BAAAC,oBAAsBC,+CACtBF,gDACIG,iBAAYC,iBAAiB,QAAS7B,OAAQ8B,6BAA4BA,aAAalC,IAAKkC,MAAMhB,SAAQgB,aAC3FC,qBACP,kBAAAN,2BAAAO,GACIP,2BAAAQ,GACIR,2BAAAS,GACIT,uDAAc,+BAA6DK,aAA5CzC,KAAK,4BAC7BsC,iGAQ3BF,2BAAAU,GACIV,0BAAIW,sCAAON,mEAAeH,sDAhBpBG,2BAmBdL,iCACIA,kDAAQK,cACRL,2BAAAY,GACIZ,0BAAIW,sCAAON,yDAAUH,gDAHhBG,QAAQA,8BAMrBL,iCACIA,kDAAQK,YACRL,2BAAAa,GACIb,0BAAIW,sCAAON,yDAAUH,+CAHhBG,QAAQA"}
|
|
1
|
+
{"version":3,"file":"Forget.js","sources":["../../../src/components/auth/Forget.vue","../../../src/components/auth/Forget.vue?vue&type=template&id=5ce54a71&lang.js"],"sourcesContent":["<template>\n <div class=\"form auth-forget\">\n <div class=\"title\">{{ __('auth.forget.title') }}</div>\n <div v-show=\"!sent\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.forget.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-2\">\n <a @click=\"remembered\">{{ __('auth.forget.remembered') }}</a>\n </div>\n </div>\n <div v-show=\"sent && message && !sms\" class=\"forget-thanks-mesage\">\n <div v-html=\"message\" class=\"thanks-message\"></div>\n <div class=\"mt-2 close-button\">\n <a @click=\"close\">{{ __('auth.forget.close') }}</a>\n </div>\n </div>\n <div v-show=\"sent && message && sms\" class=\"forget-thanks-mesage\">\n <div v-html=\"message\" class=\"thanks-message\"></div>\n <div class=\"sms-code\">\n <div class=\"control\">\n <input type=\"number\" class=\"input\" v-model=\"code1\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code1 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\">\n <input type=\"number\" class=\"input\" v-model=\"code2\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code2 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\">\n <input type=\"number\" class=\"input\" v-model=\"code3\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code3 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\">\n <input type=\"number\" class=\"input\" v-model=\"code4\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code4 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\">\n </div>\n </div>\n <div v-html=\"error.message\" v-if=\"error.message\" class=\"forget-sms-error-mesage\"></div>\n <div class=\"actions-wrapper\">\n <button class=\"button\" v-bind:class=\"{ 'is-loading': loading }\" @click=\"smsReset\" v-bind:disabled=\"code1 === '' || code2 === '' || code3 === '' || code4 === ''\">{{ __('auth.forget.sms_reset_password') }}</button>\n <button class=\"button\" @click=\"more\">{{ __('auth.forget.sms_more') }}</button>\n <button class=\"button\" @click=\"remembered\">{{ __('auth.forget.remembered') }}</button>\n </div>\n </div>\n <div v-show=\"sent && error && !sms\" class=\"forget-error-mesage\">\n <div v-html=\"error\"></div>\n <div class=\"mt-2\">\n <a @click=\"again\">{{ __('auth.forget.send') }}</a>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance, inject } 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 * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'forget',\n components: {\n SchemaForm\n },\n props: {\n email: {\n type: String,\n default: ''\n },\n emailOrPhone: {\n type: String,\n default: '0505836898'\n },\n forgetType: {\n type: String,\n default: 'email'\n }\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const error = ref('');\n const sent = ref(false);\n const schema = ref({});\n const model = ref({});\n const sms = ref(false);\n const code1 = ref('');\n const code2 = ref('');\n const code3 = ref('');\n const code4 = ref('');\n const instance = getCurrentInstance();\n\n const s = {\n email: {\n component: FormText,\n label: __('auth.login.form.email')\n },\n emailOrPhone: {\n component: FormText,\n label: __('auth.login.form.emailOrPhone')\n }\n };\n\n const yupValidations = {\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n emailOrPhone: yup.string().required(__('auth.validation.required')).test('test-name', __('auth.validation.emailOrPhone'),\n function (value) {\n const emailRegex = /^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$/;\n const phoneRegex = /^(?:\\+38)?(?:\\((044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)\\)[ .-]?[0-9]{3}[ .-]?[0-9]{2}[ .-]?[0-9]{2}|(044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)[ .-]?[0-9]{3}[ .-]?[0-9]{2}[ .-]?[0-9]{2}|(044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)[0-9]{7})$/;\n\n let isValidEmail = emailRegex.test(value);\n let isValidPhone = phoneRegex.test(value);\n\n if (!isValidEmail && !isValidPhone) {\n return false;\n }\n\n return true;\n })\n };\n\n schema.value[props.forgetType] = s[props.forgetType];\n model.value[props.forgetType] = props[props.forgetType];\n\n let currentYupValidation = {};\n currentYupValidation[props.forgetType] = yupValidations[props.forgetType];\n\n const validation = yup.object().shape(currentYupValidation);\n\n useSchemaForm(model);\n\n const remembered = () => {\n store.commit('auth/modal', 'login');\n };\n\n const more = () => {\n sms.value = false;\n code1.value = '1';\n code2.value = '2';\n code3.value = '3';\n code4.value = '4';\n message.value = '';\n sent.value = false;\n }\n\n const again = () => {\n sent.value = false;\n };\n\n const onSubmit = () => {\n loading.value = true;\n message.value = '';\n error.value = '';\n\n store.dispatch('auth/reset', {\n credentials: model.value,\n callback: (m, isError, response) => {\n if (!isError) {\n message.value = m;\n sms.value = response?.credentials == 'phone';\n } else {\n error.value = m;\n }\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n sent.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n };\n\n const codeKeyUp = (e) => {\n const nextElement = e.target.nextElementSibling;\n const isNextElementIsInput = nextElement && nextElement.tagName === 'INPUT';\n\n if (e.keyCode >= 48 && e.keyCode <= 57) {\n if (isNextElementIsInput) {\n nextElement.focus();\n }\n }\n\n if (e.keyCode === 8) {\n if (e.target.value === '') {\n if (e.target.previousElementSibling && e.target.previousElementSibling.tagName === 'INPUT') {\n e.target.previousElementSibling.focus();\n }\n }\n }\n };\n\n const codePaste = (e) => {\n e.preventDefault();\n\n const value = e.clipboardData.getData('Text');\n\n if (value.length == 4) {\n if (!isNaN(value[0]) && !isNaN(value[1]) && !isNaN(value[2]) && !isNaN(value[3])) {\n code1.value = value[0];\n code2.value = value[1];\n code3.value = value[2];\n code4.value = value[3];\n }\n }\n }\n\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n const smsReset = () => {\n loading.value = true;\n error.value = '';\n\n store.dispatch('auth/resetSms', {\n credentials: {\n code: String(code1.value) + String(code2.value) + String(code3.value) + String(code4.value),\n },\n callback: (m, isError) => {\n if (!isError) {\n code1.value = '';\n code2.value = '';\n code3.value = '';\n code4.value = '';\n\n presetedResetToken.value = m.token;\n presetedResetEmail.value = m.email;\n\n store.commit('auth/modal', 'reset');\n } else {\n error.value = m;\n }\n },\n finally: () => {\n loading.value = false;\n key.value++;\n }\n });\n }\n\n return {\n loading,\n key,\n schema,\n validation,\n remembered,\n onSubmit,\n again,\n sent,\n message,\n error,\n close,\n sms,\n code1,\n code2,\n code3,\n code4,\n codeKeyUp,\n codePaste,\n more,\n smsReset,\n };\n }\n};\n</script>","<template>\n <div class=\"form auth-forget\">\n <div class=\"title\">{{ __('auth.forget.title') }}</div>\n <div v-show=\"!sent\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.forget.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-2\">\n <a @click=\"remembered\">{{ __('auth.forget.remembered') }}</a>\n </div>\n </div>\n <div v-show=\"sent && message && !sms\" class=\"forget-thanks-mesage\">\n <div v-html=\"message\" class=\"thanks-message\"></div>\n <div class=\"mt-2 close-button\">\n <a @click=\"close\">{{ __('auth.forget.close') }}</a>\n </div>\n </div>\n <div v-show=\"sent && message && sms\" class=\"forget-thanks-mesage\">\n <div v-html=\"message\" class=\"thanks-message\"></div>\n <div class=\"sms-code\">\n <div class=\"control\">\n <input type=\"number\" class=\"input\" v-model=\"code1\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code1 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\">\n <input type=\"number\" class=\"input\" v-model=\"code2\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code2 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\">\n <input type=\"number\" class=\"input\" v-model=\"code3\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code3 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\">\n <input type=\"number\" class=\"input\" v-model=\"code4\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code4 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\">\n </div>\n </div>\n <div v-html=\"error.message\" v-if=\"error.message\" class=\"forget-sms-error-mesage\"></div>\n <div class=\"actions-wrapper\">\n <button class=\"button\" v-bind:class=\"{ 'is-loading': loading }\" @click=\"smsReset\" v-bind:disabled=\"code1 === '' || code2 === '' || code3 === '' || code4 === ''\">{{ __('auth.forget.sms_reset_password') }}</button>\n <button class=\"button\" @click=\"more\">{{ __('auth.forget.sms_more') }}</button>\n <button class=\"button\" @click=\"remembered\">{{ __('auth.forget.remembered') }}</button>\n </div>\n </div>\n <div v-show=\"sent && error && !sms\" class=\"forget-error-mesage\">\n <div v-html=\"error\"></div>\n <div class=\"mt-2\">\n <a @click=\"again\">{{ __('auth.forget.send') }}</a>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance, inject } 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 * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'forget',\n components: {\n SchemaForm\n },\n props: {\n email: {\n type: String,\n default: ''\n },\n emailOrPhone: {\n type: String,\n default: '0505836898'\n },\n forgetType: {\n type: String,\n default: 'email'\n }\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const error = ref('');\n const sent = ref(false);\n const schema = ref({});\n const model = ref({});\n const sms = ref(false);\n const code1 = ref('');\n const code2 = ref('');\n const code3 = ref('');\n const code4 = ref('');\n const instance = getCurrentInstance();\n\n const s = {\n email: {\n component: FormText,\n label: __('auth.login.form.email')\n },\n emailOrPhone: {\n component: FormText,\n label: __('auth.login.form.emailOrPhone')\n }\n };\n\n const yupValidations = {\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n emailOrPhone: yup.string().required(__('auth.validation.required')).test('test-name', __('auth.validation.emailOrPhone'),\n function (value) {\n const emailRegex = /^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$/;\n const phoneRegex = /^(?:\\+38)?(?:\\((044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)\\)[ .-]?[0-9]{3}[ .-]?[0-9]{2}[ .-]?[0-9]{2}|(044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)[ .-]?[0-9]{3}[ .-]?[0-9]{2}[ .-]?[0-9]{2}|(044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)[0-9]{7})$/;\n\n let isValidEmail = emailRegex.test(value);\n let isValidPhone = phoneRegex.test(value);\n\n if (!isValidEmail && !isValidPhone) {\n return false;\n }\n\n return true;\n })\n };\n\n schema.value[props.forgetType] = s[props.forgetType];\n model.value[props.forgetType] = props[props.forgetType];\n\n let currentYupValidation = {};\n currentYupValidation[props.forgetType] = yupValidations[props.forgetType];\n\n const validation = yup.object().shape(currentYupValidation);\n\n useSchemaForm(model);\n\n const remembered = () => {\n store.commit('auth/modal', 'login');\n };\n\n const more = () => {\n sms.value = false;\n code1.value = '1';\n code2.value = '2';\n code3.value = '3';\n code4.value = '4';\n message.value = '';\n sent.value = false;\n }\n\n const again = () => {\n sent.value = false;\n };\n\n const onSubmit = () => {\n loading.value = true;\n message.value = '';\n error.value = '';\n\n store.dispatch('auth/reset', {\n credentials: model.value,\n callback: (m, isError, response) => {\n if (!isError) {\n message.value = m;\n sms.value = response?.credentials == 'phone';\n } else {\n error.value = m;\n }\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n sent.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n };\n\n const codeKeyUp = (e) => {\n const nextElement = e.target.nextElementSibling;\n const isNextElementIsInput = nextElement && nextElement.tagName === 'INPUT';\n\n if (e.keyCode >= 48 && e.keyCode <= 57) {\n if (isNextElementIsInput) {\n nextElement.focus();\n }\n }\n\n if (e.keyCode === 8) {\n if (e.target.value === '') {\n if (e.target.previousElementSibling && e.target.previousElementSibling.tagName === 'INPUT') {\n e.target.previousElementSibling.focus();\n }\n }\n }\n };\n\n const codePaste = (e) => {\n e.preventDefault();\n\n const value = e.clipboardData.getData('Text');\n\n if (value.length == 4) {\n if (!isNaN(value[0]) && !isNaN(value[1]) && !isNaN(value[2]) && !isNaN(value[3])) {\n code1.value = value[0];\n code2.value = value[1];\n code3.value = value[2];\n code4.value = value[3];\n }\n }\n }\n\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n const smsReset = () => {\n loading.value = true;\n error.value = '';\n\n store.dispatch('auth/resetSms', {\n credentials: {\n code: String(code1.value) + String(code2.value) + String(code3.value) + String(code4.value),\n },\n callback: (m, isError) => {\n if (!isError) {\n code1.value = '';\n code2.value = '';\n code3.value = '';\n code4.value = '';\n\n presetedResetToken.value = m.token;\n presetedResetEmail.value = m.email;\n\n store.commit('auth/modal', 'reset');\n } else {\n error.value = m;\n }\n },\n finally: () => {\n loading.value = false;\n key.value++;\n }\n });\n }\n\n return {\n loading,\n key,\n schema,\n validation,\n remembered,\n onSubmit,\n again,\n sent,\n message,\n error,\n close,\n sms,\n code1,\n code2,\n code3,\n code4,\n codeKeyUp,\n codePaste,\n more,\n smsReset,\n };\n }\n};\n</script>"],"names":["markRaw","FormText","name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","props","email","type","String","emailOrPhone","forgetType","setup","loading","ref","store","useStore","key","message","error","sent","schema","model","sms","code1","code2","code3","code4","getCurrentInstance","s","component","label","__","yupValidations","yup","string","required","test","value","isValidEmail","isValidPhone","currentYupValidation","validation","object","shape","useSchemaForm","presetedResetToken","inject","presetedResetEmail","remembered","commit","onSubmit","dispatch","credentials","callback","m","isError","response","again","close","codeKeyUp","e","nextElement","target","nextElementSibling","isNextElementIsInput","tagName","keyCode","focus","previousElementSibling","codePaste","preventDefault","clipboardData","getData","length","isNaN","more","smsReset","code","token","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_ctx","_createBlock","schemaRowClasses","$setup","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_7","innerHTML","_hoisted_9","_hoisted_10","_hoisted_12","_hoisted_13","onKeyup","$event","onPaste","_hoisted_15","disabled","_hoisted_17","_hoisted_19"],"mappings":"6jBA4DAA,UAAQC,WAER,MAEe,CACXC,KAAM,SACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,MAAO,CACHC,MAAO,CACHC,KAAMC,eACG,IAEbC,aAAc,CACVF,KAAMC,eACG,cAEbE,WAAY,CACRH,KAAMC,eACG,UAGjBG,eAAMN,OACIO,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAAUJ,MAAI,IACdK,EAAQL,MAAI,IACZM,EAAON,OAAI,GACXO,EAASP,MAAI,IACbQ,EAAQR,MAAI,IACZS,EAAMT,OAAI,GACVU,EAAQV,MAAI,IACZW,EAAQX,MAAI,IACZY,EAAQZ,MAAI,IACZa,EAAQb,MAAI,IACDc,2BAEXC,EAAI,CACNtB,MAAO,CACHuB,UAAW9B,UACX+B,MAAOC,GAAG,0BAEdtB,aAAc,CACVoB,UAAW9B,UACX+B,MAAOC,GAAG,kCAIZC,EAAiB,CACnB1B,MAAO2B,EAAIC,SAAS5B,MAAMyB,GAAG,0BAA0BI,SAASJ,GAAG,6BACnEtB,aAAcwB,EAAIC,SAASC,SAASJ,GAAG,6BAA6BK,KAAK,YAAaL,GAAG,iCACrF,SAAUM,OAIFC,EAHe,kEAGWF,KAAKC,GAC/BE,EAHe,uTAGWH,KAAKC,YAE9BC,IAAiBC,OAQlCnB,EAAOiB,MAAMhC,EAAMK,YAAckB,EAAEvB,EAAMK,YACzCW,EAAMgB,MAAMhC,EAAMK,YAAcL,EAAMA,EAAMK,gBAExC8B,EAAuB,GAC3BA,EAAqBnC,EAAMK,YAAcsB,EAAe3B,EAAMK,gBAExD+B,EAAaR,EAAIS,SAASC,MAAMH,GAEtCI,gBAAcvB,OAkFRwB,EAAqBC,SAAO,sBAC5BC,EAAqBD,SAAO,4BAgC3B,CACHlC,QAAAA,EACAI,IAAAA,EACAI,OAAAA,EACAqB,WAAAA,EACAO,WAtHe,WACflC,EAAMmC,OAAO,aAAc,UAsH3BC,SArGa,WACbtC,EAAQyB,OAAQ,EAChBpB,EAAQoB,MAAQ,GAChBnB,EAAMmB,MAAQ,GAEdvB,EAAMqC,SAAS,aAAc,CACzBC,YAAa/B,EAAMgB,MACnBgB,SAAU,SAACC,EAAGC,EAASC,GACdD,EAIDrC,EAAMmB,MAAQiB,GAHdrC,EAAQoB,MAAQiB,EAChBhC,EAAIe,MAAiC,UAAzBmB,MAAAA,SAAAA,EAAUJ,uBAKrB,WACL/B,EAAMgB,MAAQ,GACdzB,EAAQyB,OAAQ,EAChBlB,EAAKkB,OAAQ,EACbrB,EAAIqB,YAmFZoB,MA1GU,WACVtC,EAAKkB,OAAQ,GA0GblB,KAAAA,EACAF,QAAAA,EACAC,MAAAA,EACAwC,MAlFU,WACV5C,EAAMmC,OAAO,aAAc,OAkF3B3B,IAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAiC,UApFc,SAACC,OACTC,EAAcD,EAAEE,OAAOC,mBACvBC,EAAuBH,GAAuC,UAAxBA,EAAYI,QAEpDL,EAAEM,SAAW,IAAMN,EAAEM,SAAW,IAC5BF,GACAH,EAAYM,QAIF,IAAdP,EAAEM,SACqB,KAAnBN,EAAEE,OAAOzB,OACLuB,EAAEE,OAAOM,wBAAsE,UAA5CR,EAAEE,OAAOM,uBAAuBH,SACnEL,EAAEE,OAAOM,uBAAuBD,SAwE5CE,UAlEc,SAACT,GACfA,EAAEU,qBAEIjC,EAAQuB,EAAEW,cAAcC,QAAQ,QAElB,GAAhBnC,EAAMoC,SACDC,MAAMrC,EAAM,KAAQqC,MAAMrC,EAAM,KAAQqC,MAAMrC,EAAM,KAAQqC,MAAMrC,EAAM,MACzEd,EAAMc,MAAQA,EAAM,GACpBb,EAAMa,MAAQA,EAAM,GACpBZ,EAAMY,MAAQA,EAAM,GACpBX,EAAMW,MAAQA,EAAM,MAyD5BsC,KAhIS,WACTrD,EAAIe,OAAQ,EACZd,EAAMc,MAAQ,IACdb,EAAMa,MAAQ,IACdZ,EAAMY,MAAQ,IACdX,EAAMW,MAAQ,IACdpB,EAAQoB,MAAQ,GAChBlB,EAAKkB,OAAQ,GA0HbuC,SAlDa,WACbhE,EAAQyB,OAAQ,EAChBnB,EAAMmB,MAAQ,GAEdvB,EAAMqC,SAAS,gBAAiB,CAC5BC,YAAa,CACTyB,KAAMrE,OAAOe,EAAMc,OAAS7B,OAAOgB,EAAMa,OAAS7B,OAAOiB,EAAMY,OAAS7B,OAAOkB,EAAMW,QAEzFgB,SAAU,SAACC,EAAGC,GACLA,EAWDrC,EAAMmB,MAAQiB,GAVd/B,EAAMc,MAAQ,GACdb,EAAMa,MAAQ,GACdZ,EAAMY,MAAQ,GACdX,EAAMW,MAAQ,GAEdQ,EAAmBR,MAAQiB,EAAEwB,MAC7B/B,EAAmBV,MAAQiB,EAAEhD,MAE7BQ,EAAMmC,OAAO,aAAc,mBAK1B,WACLrC,EAAQyB,OAAQ,EAChBrB,EAAIqB,wBCrPT,6BACI,kBAIY,kBACI,iCACI,mBAShB,iBAI6B,iDAE7B,8BAI4B,iDAE5B,qBACI,oCAQJ,2CAM2B,gDAE3B,iIA7CnB0C,2BAAAC,GACIC,2BAAAC,oBAAsBC,+CACtBF,gDACIG,iBAAYC,iBAAiB,QAASjE,OAAQkE,6BAA4BA,aAAatE,IAAKsE,MAAMpC,SAAQoC,aAC3FC,qBACP,kBAAAN,2BAAAO,GACIP,2BAAAQ,GACIR,2BAAAS,GACIT,uDAAc,+BAA6DK,aAA5C/E,KAAK,4BAC7B4E,iGAO3BF,2BAAAU,GACIV,0BAAIW,sCAAON,mEAAeH,sDAfpBG,2BAkBdL,2BAAAY,GACIZ,4BAAKa,UAAQR,gBAAe,4BAC5BL,2BAAAc,GACId,0BAAIW,sCAAON,yDAAUH,gDAHhBG,QAAQA,YAAYA,0BAMjCL,2BAAAe,GACIf,4BAAKa,UAAQR,gBAAe,4BAC5BL,2BAAAgB,GACIhB,2BAAAiB,oBACIjB,8BAAO1E,KAAK,iCAAe,0BAAmE+E,gEAAlDA,YAAmEa,uCAAOb,YAAUc,KAAUC,uCAAOf,YAAUc,8BAA/Gd,YAAgB,wBAC5DL,8BAAO1E,KAAK,iCAAe,0BAAmE+E,gEAAlDA,YAAmEa,uCAAOb,YAAUc,KAAUC,uCAAOf,YAAUc,8BAA/Gd,YAAgB,wBAC5DL,8BAAO1E,KAAK,iCAAe,0BAAmE+E,gEAAlDA,YAAmEa,uCAAOb,YAAUc,KAAUC,yCAAOf,YAAUc,8BAA/Gd,YAAgB,wBAC5DL,8BAAO1E,KAAK,iCAAe,0BAAmE+E,kEAAlDA,YAAmEa,yCAAOb,YAAUc,KAAUC,yCAAOf,YAAUc,8BAA/Gd,YAAgB,WAGlCA,QAAMrE,uBAAxC8D,kCAAKe,UAAQR,QAAMrE,cAAoC,sEACvDgE,2BAAAqB,GACIrB,uDAAc,uBAAuCK,aAAYM,wCAAON,4CAAiBiB,cAAUjB,cAAgBA,cAAgBA,cAAgBA,2BAAiBH,8CACpKF,qCAAc,SAAUW,wCAAON,uDAASH,iCACxCF,qCAAc,SAAUW,wCAAON,mEAAeH,qDAdzCG,QAAQA,WAAWA,0BAiBhCL,2BAAAuB,GACIvB,4BAAKa,UAAQR,mBACbL,2BAAAwB,GACIxB,0BAAIW,wCAAON,yDAAUH,+CAHhBG,QAAQA,UAAUA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=require("vuex"),r=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),n=require("@perevorot/shop/dist/forms/FormText"),a=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(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var u=i(o),s=i(n),
|
|
1
|
+
"use strict";var e=require("vue"),t=require("vuex"),r=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),n=require("@perevorot/shop/dist/forms/FormText"),a=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(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var u=i(o),s=i(n),f=i(a),d=c(l);function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(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,n,a=[],l=!0,i=!1;try{for(r=r.call(e);!(l=(o=r.next()).done)&&(a.push(o.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(i)throw n}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return p(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 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 r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}e.markRaw(s.default);var v=r.SchemaFormFactory([u.default({})]),h={props:{loginCallback:{type:Function,default:function(){}},forgetType:{type:String,default:"email"}},name:"login",components:{SchemaForm:v},setup:function(o){var n,a=e.ref(!1),l=t.useStore(),i=e.ref(0),c=e.ref({}),u=e.computed((function(){return l.getters["auth/modal"]})),p=e.ref({email:{component:s.default,label:__("auth.login.form.email"),store:"login",model:"email"},password:{component:f.default,label:__("auth.login.form.password")}}),v=d.object().shape({email:d.string().email(__("auth.validation.email")).required(__("auth.validation.required")),password:d.string().required(__("auth.validation.required"))}),h=e.ref({email:"",password:""});r.useSchemaForm(h);return m(n={loading:a,modal:u,schema:p,validation:v,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),m(n,"onSubmit",(function(){a.value=!0,l.dispatch("auth/login",{credentials:h.value,callback:function(){o.loginCallback&&o.loginCallback()},finally:function(){a.value=!1},catch:function(e){if(e.response.data&&e.response.data.errors){for(var t=0,r=Object.entries(e.response.data.errors);t<r.length;t++){var o=g(r[t],2),n=o[0],a=o[1];a[0]&&(c.value[n]=a[0])}h.value.password="",i.value++}}})})),m(n,"errors",c),m(n,"key",i),m(n,"model",h),m(n,"register",(function(){l.commit("auth/modal","registration")})),n}},b={class:"auth-login"},y={class:"title"},k={class:"href-forget-password"},_={class:"field"},w={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"};h.render=function(t,r,o,n,a,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:n.schema,"validation-schema":n.validation,"initial-errors":n.errors,key:n.key,onSubmit:n.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",k,[e.createElementVNode("a",{onClick:r[0]||(r[0]=function(){return n.reset&&n.reset.apply(n,arguments)})},e.toDisplayString(t.__("auth.login.forget_password")),1)]),e.createElementVNode("div",_,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":n.loading}]),type:"submit"},e.toDisplayString(t.__("auth.login.form.submit")),3)]),e.createElementVNode("div",w,[e.createElementVNode("div",E,e.toDisplayString(t.__("auth.login.socials")),1),e.createElementVNode("div",S,[e.createElementVNode("a",{class:"button",onClick:r[1]||(r[1]=function(){return n.facebook&&n.facebook.apply(n,arguments)})},N),e.createElementVNode("a",{class:"button",onClick:r[2]||(r[2]=function(){return n.google&&n.google.apply(n,arguments)})},V)])]),e.createElementVNode("div",C,[e.createElementVNode("a",{onClick:r[3]||(r[3]=function(){return n.register&&n.register.apply(n,arguments)})},e.toDisplayString(t.__("auth.login.signup")),1)])]})),_:1},8,["schema","validation-schema","initial-errors","onSubmit"]))],512),[[e.vShow,"login"==n.modal]]),"forget"==n.modal?(e.openBlock(),e.createBlock(c,{key:0,email:n.model.email,"forget-type":o.forgetType},null,8,["email","forget-type"])):e.createCommentVNode("v-if",!0)])},module.exports=h;
|
|
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=67850c25&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\n schemaRowClasses=\"field\"\n :schema=\"schema\"\n :validation-schema=\"validation\"\n :initial-errors=\"errors\"\n :key=\"key\"\n @submit=\"onSubmit\"\n >\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\n class=\"button is-link\"\n type=\"submit\"\n v-bind:class=\"{ 'is-loading': loading }\"\n >{{ __('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>\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: Function,\n default: () => { }\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 },\n password: {\n component: FormPassword,\n label: __('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: () => {\n if (props.loginCallback) {\n props.loginCallback();\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\n schemaRowClasses=\"field\"\n :schema=\"schema\"\n :validation-schema=\"validation\"\n :initial-errors=\"errors\"\n :key=\"key\"\n @submit=\"onSubmit\"\n >\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\n class=\"button is-link\"\n type=\"submit\"\n v-bind:class=\"{ 'is-loading': loading }\"\n >{{ __('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>\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: Function,\n default: () => { }\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 },\n password: {\n component: FormPassword,\n label: __('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: () => {\n if (props.loginCallback) {\n props.loginCallback();\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","Function","name","components","setup","loading","ref","store","useStore","key","errors","modal","computed","getters","schema","email","component","label","__","model","password","FormPassword","validation","yup","object","shape","string","required","useSchemaForm","reset","commit","facebook","window","location","href","$ziggy","provider","google","value","dispatch","credentials","callback","error","response","data","Object","entries","field","messages","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","_createBlock","schemaRowClasses","$setup","onSubmit","afterForm","_hoisted_3","onClick","_hoisted_4","type","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_14"],"mappings":"isDA2DAA,UAAQC,WAER,IAAMC,EAAaC,oBAAkB,CAACC,UAAkB,QAEzC,CACXC,MAAO,CACHC,cAAeC,iBACN,cAEbC,KAAM,QACNC,WAAY,CACRP,WAAAA,GAEJQ,eAAML,SACIM,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAASJ,MAAI,IACbK,EAAQC,YAAS,kBAAML,EAAMM,QAAQ,iBAErCC,EAASR,MAAI,CACfS,MAAO,CACHC,UAAWrB,UACXsB,MAAOC,GAAG,yBACVX,MAAO,QACPY,MAAO,SAEXC,SAAU,CACNJ,UAAWK,UACXJ,MAAOC,GAAG,+BAIZI,EAAaC,EAAIC,SAASC,MAAM,CAClCV,MAAOQ,EAAIG,SAASX,MAAMG,GAAG,0BAA0BS,SAAST,GAAG,6BACnEE,SAAUG,EAAIG,SAASC,SAAST,GAAG,+BAGjCC,EAAQb,MAAI,CACdS,MAAO,GACPK,SAAU,KAGdQ,gBAAcT,eAoDVd,QAAAA,EACAM,MAAAA,EACAG,OAAAA,EACAQ,WAAAA,EACAO,MAtDU,WACVtB,EAAMuB,OAAO,aAAc,WAsD3BC,SA/Ca,WACbC,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cA8CdC,OA1CW,WACXL,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,sBAyCdtB,mBArCa,WACbT,EAAQiC,OAAQ,EAEhB/B,EAAMgC,SAAS,aAAc,CACzBC,YAAarB,EAAMmB,MACnBG,SAAU,WACF1C,EAAMC,eACND,EAAMC,yBAGL,WACLK,EAAQiC,OAAQ,SAEb,SAACI,MACAA,EAAMC,SAASC,MAAQF,EAAMC,SAASC,KAAKlC,OAAQ,eACnBmC,OAAOC,QAAQJ,EAAMC,SAASC,KAAKlC,uBAAS,iBAAhEqC,OAAOC,OACXA,EAAS,KACTtC,EAAO4B,MAAMS,GAASC,EAAS,IAIvC7B,EAAMmB,MAAMlB,SAAW,GAEvBX,EAAI6B,4BAgBhB5B,aACAD,eACAU,mBAzDa,WACbZ,EAAMuB,OAAO,aAAc,gCC5GxB,uBAEQ,kBAUQ,iCAGA,kBAOA,oBACI,0CACA,cAEHmB,kCAAW,gBACPA,yCAAgB,6BAEpBA,iCAAM,mBAGNA,kCAAW,oBACPA,yCAAgB,2BAEpBA,iCAAM,uBAIP,2IAvC3BC,2BAAAC,oBACIF,iCACIA,2BAAAG,oBAAsBC,4CACtBC,iBACIC,iBAAiB,QAChBzC,OAAQ0C,6BACWA,8BACHA,SAChB/C,IAAK+C,MACLC,SAAQD,aAEEE,qBACP,kBAAAT,2BAAAU,GACIV,0BAAIW,sCAAOJ,yDAAUH,yCAEzBJ,2BAAAY,GACIZ,uDACU,+BAEwBO,aAD9BM,KAAK,4BAELT,qCAERJ,2BAAAc,GACId,2BAAAe,oBAA8CX,+BAC9CJ,2BAAAgB,GACIhB,gCAAS,SAAUW,sCAAOJ,gDAM1BP,gCAAS,SAAUW,sCAAOJ,gDAQlCP,2BAAAiB,GACIjB,0BAAIW,sCAAOJ,+DAAaH,iIAvC3BG,qBA6CCA,uBAAdF,uBAAkCvC,MAAOyC,QAAMzC"}
|
|
1
|
+
{"version":3,"file":"Login.js","sources":["../../../src/components/auth/Login.vue","../../../src/components/auth/Login.vue?vue&type=template&id=4c0e9204&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\"></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 },\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 },\n password: {\n component: FormPassword,\n label: __('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: () => {\n if (props.loginCallback) {\n props.loginCallback();\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\"></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 },\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 },\n password: {\n component: FormPassword,\n label: __('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: () => {\n if (props.loginCallback) {\n props.loginCallback();\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","name","components","setup","loading","ref","store","useStore","key","errors","modal","computed","getters","schema","email","component","label","__","model","password","FormPassword","validation","yup","object","shape","string","required","useSchemaForm","reset","commit","facebook","window","location","href","$ziggy","provider","google","value","dispatch","credentials","callback","error","response","data","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,MAAO,CACHC,cAAe,CACXC,KAAMC,iBACG,cAEbC,WAAY,CACRF,KAAMG,eACG,UAGjBC,KAAM,QACNC,WAAY,CACRV,WAAAA,GAEJW,eAAMR,SACIS,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAASJ,MAAI,IACbK,EAAQC,YAAS,kBAAML,EAAMM,QAAQ,iBAErCC,EAASR,MAAI,CACfS,MAAO,CACHC,UAAWxB,UACXyB,MAAOC,GAAG,yBACVX,MAAO,QACPY,MAAO,SAEXC,SAAU,CACNJ,UAAWK,UACXJ,MAAOC,GAAG,+BAIZI,EAAaC,EAAIC,SAASC,MAAM,CAClCV,MAAOQ,EAAIG,SAASX,MAAMG,GAAG,0BAA0BS,SAAST,GAAG,6BACnEE,SAAUG,EAAIG,SAASC,SAAST,GAAG,+BAGjCC,EAAQb,MAAI,CACdS,MAAO,GACPK,SAAU,KAGdQ,gBAAcT,eAoDVd,QAAAA,EACAM,MAAAA,EACAG,OAAAA,EACAQ,WAAAA,EACAO,MAtDU,WACVtB,EAAMuB,OAAO,aAAc,WAsD3BC,SA/Ca,WACbC,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cA8CdC,OA1CW,WACXL,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,sBAyCdtB,mBArCa,WACbT,EAAQiC,OAAQ,EAEhB/B,EAAMgC,SAAS,aAAc,CACzBC,YAAarB,EAAMmB,MACnBG,SAAU,WACF7C,EAAMC,eACND,EAAMC,yBAGL,WACLQ,EAAQiC,OAAQ,SAEb,SAACI,MACAA,EAAMC,SAASC,MAAQF,EAAMC,SAASC,KAAKlC,OAAQ,eACnBmC,OAAOC,QAAQJ,EAAMC,SAASC,KAAKlC,uBAAS,iBAAhEqC,OAAOC,OACXA,EAAS,KACTtC,EAAO4B,MAAMS,GAASC,EAAS,IAIvC7B,EAAMmB,MAAMlB,SAAW,GAEvBX,EAAI6B,4BAgBhB5B,aACAD,eACAU,mBAzDa,WACbZ,EAAMuB,OAAO,aAAc,gCCvGxB,uBAEQ,kBAGQ,iCAGA,kBAGA,oBACI,0CACA,cAEHmB,kCAAW,gBACPA,yCAAgB,6BAEpBA,iCAAM,mBAGNA,kCAAW,oBACPA,yCAAgB,2BAEpBA,iCAAM,uBAIP,2IA5B3BC,2BAAAC,oBACIF,iCACIA,2BAAAG,oBAAsBC,4CACtBC,iBAAYC,iBAAiB,QAASzC,OAAQ0C,6BAA4BA,8BAA6BA,SAAS/C,IAAK+C,MAAMC,SAAQD,aACpHE,qBACP,kBAAAT,2BAAAU,GACIV,0BAAIW,sCAAOJ,yDAAUH,yCAEzBJ,2BAAAY,GACIZ,uDAAc,+BAA6DO,aAA5C1D,KAAK,4BAAqDuD,qCAE7FJ,2BAAAa,GACIb,2BAAAc,oBAA8CV,+BAC9CJ,2BAAAe,GACIf,gCAAS,SAAUW,sCAAOJ,gDAM1BP,gCAAS,SAAUW,sCAAOJ,gDAQlCP,2BAAAgB,GACIhB,0BAAIW,sCAAOJ,+DAAaH,iIA5B3BG,qBAkCCA,uBAAdF,uBAAkCvC,MAAOyC,QAAMzC,oBAAqBmD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=require("vuex"),r=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),
|
|
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"),l=require("secure-ls");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=i(o),c=i(l);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=[],l=!0,i=!1;try{for(r=r.call(e);!(l=(o=r.next()).done)&&(n.push(o.value),!t||n.length!==t);l=!0);}catch(e){i=!0,a=e}finally{try{l||null==r.return||r.return()}finally{if(i)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return m(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 m(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 m(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 d={name:"registration",components:{SchemaForm:r.SchemaFormFactory([s.default({})])},setup:function(){var o,l=t.useStore(),i=e.ref(!1),s=e.ref(!0),m=e.ref(0),d=e.ref({}),f=e.ref(!1),v=e.ref(""),h=e.ref({}),p=e.ref({}),g=e.ref({});r.useSchemaForm(g);return a.auth.registerForm().then((function(e){if(e.data&&"switch"==e.data.type);else{var t=n.formParse(e.data);o=t.model,h.value=t.schema,g.value=t.model,p.value=t.validation,v.value=e.data.type}})).finally((function(){s.value=!1})),{loading:i,loadingForm:s,key:m,errors:d,schema:h,validation:p,onSubmit:function(){i.value=!0,l.dispatch("auth/register",{type:v.value.charAt(0).toUpperCase()+v.value.slice(1),credentials:g.value,finally:function(){i.value=!1},callback:function(){f.value=!0,g.value=o,m.value++;var e=new c.default({isCompression:!1}),t=e.get("forms");t.registration&&(t.registration={}),e.set("forms",t)},catch:function(e){if(e.response.data&&e.response.data.errors){for(var t=0,r=Object.entries(e.response.data.errors);t<r.length;t++){var o=u(r[t],2),a=o[0],n=o[1];n[0]&&(d.value[a]=n[0])}m.value++}}})},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:g,close:function(){l.commit("auth/modal",null),l.dispatch("auth/me")},type:v,login:function(){l.commit("auth/modal","login")}}}},f={key:0,class:"auth-registration"},v={class:"title"},h={class:"field"},p={class:"socials"},g={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"};d.render=function(t,r,o,a,n,l){var i=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(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",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",p,[e.createElementVNode("div",g,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=d;
|
|
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=23c4e6c6&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\">\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\"\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-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.charAt(0).toUpperCase() + type.value.slice(1),\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: () => {\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 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 key.value++;\n }\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 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 .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\">\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\"\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-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.charAt(0).toUpperCase() + type.value.slice(1),\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: () => {\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 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 key.value++;\n }\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 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 .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","form","formParse","data","value","onSubmit","dispatch","charAt","toUpperCase","slice","credentials","callback","ls","SecureLS","isCompression","forms","get","registration","set","error","Object","entries","field","messages","facebook","window","location","href","$ziggy","provider","google","close","commit","login","_createElementVNode","$setup","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","_createBlock","schemaRowClasses","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_13","_hoisted_14"],"mappings":"4wCA6DA,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,gBAAcD,UAiEdE,OAAIC,eACCC,MAAK,SAACC,OACGC,EAAOC,YAAUF,EAASG,MAEhCpB,EAAakB,EAAKN,MAElBF,EAAOW,MAAQH,EAAKR,OACpBE,EAAMS,MAAQH,EAAKN,MACnBD,EAAWU,MAAQH,EAAKP,WAExBF,EAAKY,MAAQJ,EAASG,KAAKX,iBAEtB,WACLJ,EAAYgB,OAAQ,KAGrB,CACHlB,QAAAA,EACAE,YAAAA,EACAC,IAAAA,EACAC,OAAAA,EACAG,OAAAA,EACAC,WAAAA,EACAW,SAtFa,WACbnB,EAAQkB,OAAQ,EAEhBpB,EAAMsB,SAAS,gBAAiB,CAC5Bd,KAAMA,EAAKY,MAAMG,OAAO,GAAGC,cAAgBhB,EAAKY,MAAMK,MAAM,GAC5DC,YAAaf,EAAMS,cACV,WACLlB,EAAQkB,OAAQ,GAEpBO,SAAU,WACNpB,EAAOa,OAAQ,EAEfT,EAAMS,MAAQrB,EAEdM,EAAIe,YAEAQ,EAAK,IAAIC,UAAS,CAClBC,eAAe,IAGfC,EAAQH,EAAGI,IAAI,SAEfD,EAAME,eACNF,EAAME,aAAe,IAGzBL,EAAGM,IAAI,QAASH,UAEb,SAACI,MACAA,EAAMnB,SAASG,MAAQgB,EAAMnB,SAASG,KAAKb,OAAQ,eACnB8B,OAAOC,QAAQF,EAAMnB,SAASG,KAAKb,uBAAS,iBAAhEgC,OAAOC,OACXA,EAAS,KACTjC,EAAOc,MAAMkB,GAASC,EAAS,IAIvClC,EAAIe,aAmDhBoB,SAxCa,WACbC,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cAuCdC,OAnCW,WACXL,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,YAkCdtC,OAAAA,EACAI,MAAAA,EACAoC,MAjDU,WACV/C,EAAMgD,OAAO,aAAc,MAC3BhD,EAAMsB,SAAS,YAgDfd,KAAAA,EACAyC,MAlCU,WACVjD,EAAMgD,OAAO,aAAc,4BC/IxB,8BACI,kBAIY,kBAKA,oBACI,0CAGA,cAEHE,kCAAW,gBACPA,yCAAgB,6BAEpBA,iCAAM,mBAGLA,kCAAW,oBACRA,yCAAgB,2BAEpBA,iCAAM,uBAIP,kCAcR,qFA3CmBC,6DAAtCC,2BAAAC,GACIH,2BAAAI,oBAAsBC,qDACtBL,gDACIM,iBAAYC,iBAAiB,QAAShD,OAAQ0C,6BAA4BA,8BAA6BA,SAAS9C,IAAK8C,MAAM9B,SAAQ8B,aACpHO,qBACP,kBAAAR,2BAAAS,GACIT,uDAAc,+BAA6DC,aAA5C3C,KAAK,4BAC7B+C,+CAAsCJ,2BAGjDD,2BAAAU,GACIV,2BAAAW,oBACON,+BAEPL,2BAAAY,GACIZ,gCAAS,SAAUa,sCAAOZ,gDAM1BD,gCAAS,SAAUa,sCAAOZ,gDAQlCD,2BAAAc,GACId,0BAAIa,sCAAOZ,yDAAUI,iIA5BvBJ,6BAiCdD,iCACIA,kDAEQK,0CAAiCJ,+CAKzCD,2BAAAe,GACIf,qCAAc,SAAUa,sCAAOZ,yDACxBI,yDAVFJ"}
|
|
1
|
+
{"version":3,"file":"Registration.js","sources":["../../../src/components/auth/Registration.vue","../../../src/components/auth/Registration.vue?vue&type=template&id=cdb3078e&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.charAt(0).toUpperCase() + type.value.slice(1),\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: () => {\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 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 key.value++;\n }\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 && response.data.type == 'switch') {\n } else {\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.charAt(0).toUpperCase() + type.value.slice(1),\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: () => {\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 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 key.value++;\n }\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 && response.data.type == 'switch') {\n } else {\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","ls","SecureLS","isCompression","forms","get","registration","set","error","Object","entries","field","messages","facebook","window","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,gBAAcD,UAiEdE,OAAIC,eACCC,MAAK,SAACC,MACCA,EAASC,MAA8B,UAAtBD,EAASC,KAAKT,UAC5B,KACGU,EAAOC,YAAUH,EAASC,MAEhClB,EAAamB,EAAKP,MAElBF,EAAOW,MAAQF,EAAKT,OACpBE,EAAMS,MAAQF,EAAKP,MACnBD,EAAWU,MAAQF,EAAKR,WAExBF,EAAKY,MAAQJ,EAASC,KAAKT,kBAG1B,WACLJ,EAAYgB,OAAQ,KAGrB,CACHlB,QAAAA,EACAE,YAAAA,EACAC,IAAAA,EACAC,OAAAA,EACAG,OAAAA,EACAC,WAAAA,EACAW,SAzFa,WACbnB,EAAQkB,OAAQ,EAEhBpB,EAAMsB,SAAS,gBAAiB,CAC5Bd,KAAMA,EAAKY,MAAMG,OAAO,GAAGC,cAAgBhB,EAAKY,MAAMK,MAAM,GAC5DC,YAAaf,EAAMS,cACV,WACLlB,EAAQkB,OAAQ,GAEpBO,SAAU,WACNpB,EAAOa,OAAQ,EAEfT,EAAMS,MAAQrB,EAEdM,EAAIe,YAEAQ,EAAK,IAAIC,UAAS,CAClBC,eAAe,IAGfC,EAAQH,EAAGI,IAAI,SAEfD,EAAME,eACNF,EAAME,aAAe,IAGzBL,EAAGM,IAAI,QAASH,UAEb,SAACI,MACAA,EAAMnB,SAASC,MAAQkB,EAAMnB,SAASC,KAAKX,OAAQ,eACnB8B,OAAOC,QAAQF,EAAMnB,SAASC,KAAKX,uBAAS,iBAAhEgC,OAAOC,OACXA,EAAS,KACTjC,EAAOc,MAAMkB,GAASC,EAAS,IAIvClC,EAAIe,aAsDhBoB,SA3Ca,WACbC,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cA0CdC,OAtCW,WACXL,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,YAqCdtC,OAAAA,EACAI,MAAAA,EACAoC,MApDU,WACV/C,EAAMgD,OAAO,aAAc,MAC3BhD,EAAMsB,SAAS,YAmDfd,KAAAA,EACAyC,MArCU,WACVjD,EAAMgD,OAAO,aAAc,4BC9IxB,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,QAASlD,OAAQ0C,6BAA4BA,8BAA6BA,SAAS9C,IAAK8C,MAAM9B,SAAQ8B,aACpHS,qBACP,kBAAAV,2BAAAW,GACIX,uDAAc,+BAA6DC,aAA5C3C,KAAK,4BAC7B+C,+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,kDAEQK,0CAAiCJ,+CAKzCD,2BAAAiB,GACIjB,qCAAc,SAAUe,sCAAOd,yDACxBI,yDAVFJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=require("vuex"),a=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),
|
|
1
|
+
"use strict";var e=require("vue"),t=require("vuex"),a=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),n=require("@perevorot/shop/dist/forms/FormText"),r=require("@perevorot/shop/dist/forms/FormPassword"),i=require("yup");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var o=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,o.get?o:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var c=l(o),u=l(n),m=l(r),d=s(i);e.markRaw(m.default),e.markRaw(u.default);var p={name:"reset",components:{SchemaForm:a.SchemaFormFactory([c.default({})])},setup:function(){var o=e.ref(!1),n=t.useStore(),r=e.ref(0),i=e.ref(""),l=e.ref(!1),s=e.getCurrentInstance(),c=e.inject("presetedResetToken"),p=e.inject("presetedResetEmail");e.watch(c,(function(e){e&&(h.value.token=e)})),e.watch(p,(function(e){e&&(h.value.email=e)}));var f=e.ref({password:{component:m.default,label:__("auth.login.form.password"),type:"password"},password_confirmation:{component:u.default,label:__("auth.login.form.password_confirmation"),type:"password"}}),v=d.object().shape({password:d.string().min(6,__("auth.validation.min")).required(__("auth.validation.required")),password_confirmation:d.string().oneOf([d.ref("password"),null],__("auth.validation.password_confirmation"))}),h=e.ref({password:"",password_confirmation:"",token:s.parent.props.resetToken,email:s.parent.props.resetEmail});a.useSchemaForm(h);return{loading:o,key:r,schema:f,validation:v,onSubmit:function(){o.value=!0,n.dispatch("auth/passwordUpdate",{credentials:h.value,callback:function(e,t){i.value=e},finally:function(){h.value={},o.value=!1,l.value=!0,r.value++}})},reseted:l,message:i,cancel:function(){n.commit("auth/modal","login")},again:function(){n.commit("auth/modal","forget")},close:function(){n.commit("auth/modal",null),n.dispatch("auth/me")},presetedResetToken:c,presetedResetEmail:p}}},f={class:"form auth-reset"},v={class:"title"},h={key:0},_={class:"mb-3"},k={class:"field"},g={class:"columns is-vcentered"},b={class:"column"},y={class:"mt-3"},w={key:1},E={class:"mt-3"},S={class:"mt-3"};p.render=function(t,a,o,n,r,i){var l=e.resolveComponent("SchemaForm");return e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("div",v,e.toDisplayString(t.__("auth.reset.title")),1),e.withDirectives(e.createElementVNode("div",null,[t.$parent.tokenValid||n.presetedResetToken?(e.openBlock(),e.createElementBlock("div",h,[e.createElementVNode("div",_,e.toDisplayString(t.__("auth.reset.info",{email:t.$parent.resetEmail||n.presetedResetEmail})),1),(e.openBlock(),e.createBlock(l,{schemaRowClasses:"field",schema:n.schema,"validation-schema":n.validation,key:n.key,onSubmit:n.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",k,[e.createElementVNode("div",g,[e.createElementVNode("div",b,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":n.loading}]),type:"submit"},e.toDisplayString(t.__("auth.reset.form.submit")),3)])])])]})),_:1},8,["schema","validation-schema","onSubmit"])),e.createElementVNode("div",y,[e.createElementVNode("button",{class:"button",onClick:a[0]||(a[0]=function(){return n.cancel&&n.cancel.apply(n,arguments)})},e.toDisplayString(t.__("auth.reset.cancel")),1)])])):(e.openBlock(),e.createElementBlock("div",w,[e.createElementVNode("p",null,e.toDisplayString(t.__("auth.reset.token-not-valid")),1),e.createElementVNode("div",E,[e.createElementVNode("button",{class:"button",onClick:a[1]||(a[1]=function(){return n.again&&n.again.apply(n,arguments)})},e.toDisplayString(t.__("auth.reset.again")),1)])]))],512),[[e.vShow,!n.reseted]]),e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(n.message),1),e.createElementVNode("div",S,[e.createElementVNode("button",{class:"button",onClick:a[2]||(a[2]=function(){return n.close&&n.close.apply(n,arguments)})},e.toDisplayString(t.__("auth.reset.close")),1)])],512),[[e.vShow,n.reseted]])])},module.exports=p;
|
|
2
2
|
//# sourceMappingURL=Reset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reset.js","sources":["../../../src/components/auth/Reset.vue","../../../src/components/auth/Reset.vue?vue&type=template&id=e1e7a78c&lang.js"],"sourcesContent":["<template>\n <div class=\"form auth-reset\">\n <div class=\"title\">{{ __('auth.reset.title') }}</div>\n <div v-show=\"!reseted\">\n <div v-if=\"$parent.tokenValid\">\n <div class=\"mb-3\">\n {{\n __('auth.reset.info', {\n email: $parent.resetEmail\n })\n }}\n </div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.reset.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">\n {{ __('auth.reset.cancel') }}\n </button>\n </div>\n </div>\n <div v-else>\n <p>{{ __('auth.reset.token-not-valid') }}</p>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"again\">\n {{ __('auth.reset.again') }}\n </button>\n </div>\n </div>\n </div>\n <div v-show=\"reseted\">\n <div>{{ message }}</div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.reset.close') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance } 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(FormPassword);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'reset',\n components: {\n SchemaForm\n },\n setup() {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const reseted = ref(false);\n const instance = getCurrentInstance();\n\n const schema = ref({\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n type: 'password'\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password'\n }\n });\n\n const validation = yup.object().shape({\n password: yup.string().min(6, __('auth.validation.min')).required(__('auth.validation.required')),\n password_confirmation: yup.string().oneOf([yup.ref('password'), null], __('auth.validation.password_confirmation'))\n });\n\n const model = ref({\n password: '',\n password_confirmation: '',\n token: instance.parent.props.resetToken,\n email: instance.parent.props.resetEmail\n });\n\n useSchemaForm(model);\n\n const cancel = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/passwordUpdate', {\n credentials: model.value,\n callback: (m, isError) => {\n message.value = m;\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n reseted.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n onSubmit,\n reseted,\n message,\n cancel,\n again,\n close\n };\n }\n};\n</script>","<template>\n <div class=\"form auth-reset\">\n <div class=\"title\">{{ __('auth.reset.title') }}</div>\n <div v-show=\"!reseted\">\n <div v-if=\"$parent.tokenValid\">\n <div class=\"mb-3\">\n {{\n __('auth.reset.info', {\n email: $parent.resetEmail\n })\n }}\n </div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.reset.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">\n {{ __('auth.reset.cancel') }}\n </button>\n </div>\n </div>\n <div v-else>\n <p>{{ __('auth.reset.token-not-valid') }}</p>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"again\">\n {{ __('auth.reset.again') }}\n </button>\n </div>\n </div>\n </div>\n <div v-show=\"reseted\">\n <div>{{ message }}</div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.reset.close') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance } 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(FormPassword);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'reset',\n components: {\n SchemaForm\n },\n setup() {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const reseted = ref(false);\n const instance = getCurrentInstance();\n\n const schema = ref({\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n type: 'password'\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password'\n }\n });\n\n const validation = yup.object().shape({\n password: yup.string().min(6, __('auth.validation.min')).required(__('auth.validation.required')),\n password_confirmation: yup.string().oneOf([yup.ref('password'), null], __('auth.validation.password_confirmation'))\n });\n\n const model = ref({\n password: '',\n password_confirmation: '',\n token: instance.parent.props.resetToken,\n email: instance.parent.props.resetEmail\n });\n\n useSchemaForm(model);\n\n const cancel = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/passwordUpdate', {\n credentials: model.value,\n callback: (m, isError) => {\n message.value = m;\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n reseted.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n onSubmit,\n reseted,\n message,\n cancel,\n again,\n close\n };\n }\n};\n</script>"],"names":["markRaw","FormPassword","FormText","name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","setup","loading","ref","store","useStore","key","message","reseted","instance","getCurrentInstance","schema","password","component","label","__","type","password_confirmation","validation","yup","object","shape","string","min","required","oneOf","model","token","parent","props","resetToken","email","resetEmail","useSchemaForm","onSubmit","value","dispatch","credentials","callback","m","isError","cancel","commit","again","close","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_ctx","tokenValid","_hoisted_4","_createBlock","schemaRowClasses","$setup","afterForm","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","onClick","_hoisted_10","_hoisted_11"],"mappings":"ynBA2DAA,UAAQC,WACRD,UAAQE,WAER,MAEe,CACXC,KAAM,QACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,qBACUC,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAAUJ,MAAI,IACdK,EAAUL,OAAI,GACdM,EAAWC,uBAEXC,EAASR,MAAI,CACfS,SAAU,CACNC,UAAWnB,UACXoB,MAAOC,GAAG,4BACVC,KAAM,YAEVC,sBAAuB,CACnBJ,UAAWlB,UACXmB,MAAOC,GAAG,yCACVC,KAAM,cAIRE,EAAaC,EAAIC,SAASC,MAAM,CAClCT,SAAUO,EAAIG,SAASC,IAAI,EAAGR,GAAG,wBAAwBS,SAAST,GAAG,6BACrEE,sBAAuBE,EAAIG,SAASG,MAAM,CAACN,EAAIhB,IAAI,YAAa,MAAOY,GAAG,4CAGxEW,EAAQvB,MAAI,CACdS,SAAU,GACVK,sBAAuB,GACvBU,MAAOlB,EAASmB,OAAOC,MAAMC,WAC7BC,MAAOtB,EAASmB,OAAOC,MAAMG,aAGjCC,gBAAcP,SAgCP,CACHxB,QAAAA,EACAI,IAAAA,EACAK,OAAAA,EACAO,WAAAA,EACAgB,SA3Ba,WACbhC,EAAQiC,OAAQ,EAEhB/B,EAAMgC,SAAS,sBAAuB,CAClCC,YAAaX,EAAMS,MACnBG,SAAU,SAACC,EAAGC,GACVjC,EAAQ4B,MAAQI,WAEX,WACLb,EAAMS,MAAQ,GACdjC,EAAQiC,OAAQ,EAChB3B,EAAQ2B,OAAQ,EAChB7B,EAAI6B,YAgBZ3B,QAAAA,EACAD,QAAAA,EACAkC,OAtCW,WACXrC,EAAMsC,OAAO,aAAc,UAsC3BC,MAnCU,WACVvC,EAAMsC,OAAO,aAAc,WAmC3BE,MAfU,WACVxC,EAAMsC,OAAO,aAAc,MAC3BtC,EAAMgC,SAAS,wBClIZ,4BACI,4BAGQ,iBASQ,kBACI,iCACI,mBAShB,2BAQA,iBASJ,mGAzCnBS,2BAAAC,GACIC,2BAAAC,oBAAsBC,8CACtBF,iCACeE,UAAQC,0BAAnBL,8BACIE,2BAAAI,oBAEQF,wEAKRG,iBAAYC,iBAAiB,QAAS1C,OAAQ2C,6BAA4BA,aAAahD,IAAKgD,MAAMpB,SAAQoB,aAC3FC,qBACP,kBAAAR,2BAAAS,GACIT,2BAAAU,GACIV,2BAAAW,GACIX,uDAAc,+BAA6DO,aAA5CtC,KAAK,4BAC7BiC,gGAO3BF,2BAAAY,GACIZ,qCAAc,SAAUa,sCAAON,2DACxBL,kDAIfJ,8BACIE,gDAAME,uCACNF,2BAAAc,GACId,qCAAc,SAAUa,sCAAON,yDACxBL,mDAhCLK,8BAqCdP,iCACIA,kDAAQO,cACRP,2BAAAe,GACIf,qCAAc,SAAUa,sCAAON,yDACxBL,+CAJFK"}
|
|
1
|
+
{"version":3,"file":"Reset.js","sources":["../../../src/components/auth/Reset.vue","../../../src/components/auth/Reset.vue?vue&type=template&id=4776fa14&lang.js"],"sourcesContent":["<template>\n <div class=\"form auth-reset\">\n <div class=\"title\">{{ __('auth.reset.title') }}</div>\n <div v-show=\"!reseted\">\n <div v-if=\"$parent.tokenValid || presetedResetToken\">\n <div class=\"mb-3\">\n {{\n __('auth.reset.info', {\n email: $parent.resetEmail || presetedResetEmail\n })\n }}\n </div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.reset.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">\n {{ __('auth.reset.cancel') }}\n </button>\n </div>\n </div>\n <div v-else>\n <p>{{ __('auth.reset.token-not-valid') }}</p>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"again\">\n {{ __('auth.reset.again') }}\n </button>\n </div>\n </div>\n </div>\n <div v-show=\"reseted\">\n <div>{{ message }}</div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.reset.close') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance, inject, watch } 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(FormPassword);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'reset',\n components: {\n SchemaForm\n },\n setup() {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const reseted = ref(false);\n const instance = getCurrentInstance();\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n watch(presetedResetToken, (value) => {\n if (value) {\n model.value.token = value;\n }\n });\n\n watch(presetedResetEmail, (value) => {\n if (value) {\n model.value.email = value;\n }\n });\n\n const schema = ref({\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n type: 'password'\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password'\n }\n });\n\n const validation = yup.object().shape({\n password: yup.string().min(6, __('auth.validation.min')).required(__('auth.validation.required')),\n password_confirmation: yup.string().oneOf([yup.ref('password'), null], __('auth.validation.password_confirmation'))\n });\n\n const model = ref({\n password: '',\n password_confirmation: '',\n token: instance.parent.props.resetToken,\n email: instance.parent.props.resetEmail,\n });\n\n useSchemaForm(model);\n\n const cancel = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/passwordUpdate', {\n credentials: model.value,\n callback: (m, isError) => {\n message.value = m;\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n reseted.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n onSubmit,\n reseted,\n message,\n cancel,\n again,\n close,\n presetedResetToken,\n presetedResetEmail,\n };\n }\n};\n</script>","<template>\n <div class=\"form auth-reset\">\n <div class=\"title\">{{ __('auth.reset.title') }}</div>\n <div v-show=\"!reseted\">\n <div v-if=\"$parent.tokenValid || presetedResetToken\">\n <div class=\"mb-3\">\n {{\n __('auth.reset.info', {\n email: $parent.resetEmail || presetedResetEmail\n })\n }}\n </div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.reset.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">\n {{ __('auth.reset.cancel') }}\n </button>\n </div>\n </div>\n <div v-else>\n <p>{{ __('auth.reset.token-not-valid') }}</p>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"again\">\n {{ __('auth.reset.again') }}\n </button>\n </div>\n </div>\n </div>\n <div v-show=\"reseted\">\n <div>{{ message }}</div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.reset.close') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance, inject, watch } 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(FormPassword);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'reset',\n components: {\n SchemaForm\n },\n setup() {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const reseted = ref(false);\n const instance = getCurrentInstance();\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n watch(presetedResetToken, (value) => {\n if (value) {\n model.value.token = value;\n }\n });\n\n watch(presetedResetEmail, (value) => {\n if (value) {\n model.value.email = value;\n }\n });\n\n const schema = ref({\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n type: 'password'\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password'\n }\n });\n\n const validation = yup.object().shape({\n password: yup.string().min(6, __('auth.validation.min')).required(__('auth.validation.required')),\n password_confirmation: yup.string().oneOf([yup.ref('password'), null], __('auth.validation.password_confirmation'))\n });\n\n const model = ref({\n password: '',\n password_confirmation: '',\n token: instance.parent.props.resetToken,\n email: instance.parent.props.resetEmail,\n });\n\n useSchemaForm(model);\n\n const cancel = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/passwordUpdate', {\n credentials: model.value,\n callback: (m, isError) => {\n message.value = m;\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n reseted.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n onSubmit,\n reseted,\n message,\n cancel,\n again,\n close,\n presetedResetToken,\n presetedResetEmail,\n };\n }\n};\n</script>"],"names":["markRaw","FormPassword","FormText","name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","setup","loading","ref","store","useStore","key","message","reseted","instance","getCurrentInstance","presetedResetToken","inject","presetedResetEmail","watch","value","model","token","email","schema","password","component","label","__","type","password_confirmation","validation","yup","object","shape","string","min","required","oneOf","parent","props","resetToken","resetEmail","useSchemaForm","onSubmit","dispatch","credentials","callback","m","isError","cancel","commit","again","close","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_ctx","tokenValid","$setup","_hoisted_4","_createBlock","schemaRowClasses","afterForm","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","onClick","_hoisted_10","_hoisted_11"],"mappings":"ynBA2DAA,UAAQC,WACRD,UAAQE,WAER,MAEe,CACXC,KAAM,QACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,qBACUC,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAAUJ,MAAI,IACdK,EAAUL,OAAI,GACdM,EAAWC,uBACXC,EAAqBC,SAAO,sBAC5BC,EAAqBD,SAAO,sBAElCE,QAAMH,GAAoB,SAACI,GACnBA,IACAC,EAAMD,MAAME,MAAQF,MAI5BD,QAAMD,GAAoB,SAACE,GACnBA,IACAC,EAAMD,MAAMG,MAAQH,UAItBI,EAAShB,MAAI,CACfiB,SAAU,CACNC,UAAW3B,UACX4B,MAAOC,GAAG,4BACVC,KAAM,YAEVC,sBAAuB,CACnBJ,UAAW1B,UACX2B,MAAOC,GAAG,yCACVC,KAAM,cAIRE,EAAaC,EAAIC,SAASC,MAAM,CAClCT,SAAUO,EAAIG,SAASC,IAAI,EAAGR,GAAG,wBAAwBS,SAAST,GAAG,6BACrEE,sBAAuBE,EAAIG,SAASG,MAAM,CAACN,EAAIxB,IAAI,YAAa,MAAOoB,GAAG,4CAGxEP,EAAQb,MAAI,CACdiB,SAAU,GACVK,sBAAuB,GACvBR,MAAOR,EAASyB,OAAOC,MAAMC,WAC7BlB,MAAOT,EAASyB,OAAOC,MAAME,aAGjCC,gBAActB,SAgCP,CACHd,QAAAA,EACAI,IAAAA,EACAa,OAAAA,EACAO,WAAAA,EACAa,SA3Ba,WACbrC,EAAQa,OAAQ,EAEhBX,EAAMoC,SAAS,sBAAuB,CAClCC,YAAazB,EAAMD,MACnB2B,SAAU,SAACC,EAAGC,GACVrC,EAAQQ,MAAQ4B,WAEX,WACL3B,EAAMD,MAAQ,GACdb,EAAQa,OAAQ,EAChBP,EAAQO,OAAQ,EAChBT,EAAIS,YAgBZP,QAAAA,EACAD,QAAAA,EACAsC,OAtCW,WACXzC,EAAM0C,OAAO,aAAc,UAsC3BC,MAnCU,WACV3C,EAAM0C,OAAO,aAAc,WAmC3BE,MAfU,WACV5C,EAAM0C,OAAO,aAAc,MAC3B1C,EAAMoC,SAAS,YAcf7B,mBAAAA,EACAE,mBAAAA,cC/JG,4BACI,4BAGQ,iBASQ,kBACI,iCACI,mBAShB,2BAQA,iBASJ,mGAzCnBoC,2BAAAC,GACIC,2BAAAC,oBAAsBC,8CACtBF,iCACeE,UAAQC,YAAcC,oCAAjCN,8BACIE,2BAAAK,oBAEQH,8FAKRI,iBAAYC,iBAAiB,QAASvC,OAAQoC,6BAA4BA,aAAajD,IAAKiD,MAAMhB,SAAQgB,aAC3FI,qBACP,kBAAAR,2BAAAS,GACIT,2BAAAU,GACIV,2BAAAW,GACIX,uDAAc,+BAA6DI,aAA5C/B,KAAK,4BAC7B6B,gGAO3BF,2BAAAY,GACIZ,qCAAc,SAAUa,sCAAOT,2DACxBF,kDAIfJ,8BACIE,gDAAME,uCACNF,2BAAAc,GACId,qCAAc,SAAUa,sCAAOT,yDACxBF,mDAhCLE,8BAqCdJ,iCACIA,kDAAQI,cACRJ,2BAAAe,GACIf,qCAAc,SAAUa,sCAAOT,yDACxBF,+CAJFE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=require("vuex"),o={name:"user",props:{resetToken:{type:String,default:""},resetEmail:{type:String,default:""},tokenValid:{type:Boolean,default:!1}},setup:function(o){var n=t.useStore(),l=e.computed((function(){return n.getters["auth/me"]})),
|
|
1
|
+
"use strict";var e=require("vue"),t=require("vuex"),o={name:"user",props:{resetToken:{type:String,default:""},resetEmail:{type:String,default:""},tokenValid:{type:Boolean,default:!1},forgetType:{type:String,default:"email"}},setup:function(o){var n=t.useStore(),l=e.computed((function(){return n.getters["auth/me"]})),r=e.computed((function(){return n.getters["auth/modal"]})),a=e.computed((function(){return Object.keys(l.value).length>0})),c=e.ref(!1),s=e.computed((function(){return n.getters["auth/account"]})),i=e.ref(""),u=e.ref("");e.provide("presetedResetToken",i),e.provide("presetedResetEmail",u);var d=function(){n.commit("auth/modal",null),n.dispatch("auth/me")};return n.dispatch("auth/me",{finally:function(){c.value=!0}}),window.addEventListener("keyup",(function(e){r.value&&"Escape"===e.key&&d()})),o.resetToken&&n.commit("auth/modal","reset"),{mounted:c,user:l,logged:a,modal:r,open:function(){n.commit("auth/modal","login")},close:d,register:function(){n.commit("auth/modal","registration")},logout:function(){n.dispatch("auth/logout")},routes:s}}},n={key:0,class:"auth-user"},l={class:"modal-content"},r=[e.createElementVNode("svg",{class:"icon close"},[e.createElementVNode("use",{"xlink:href":"#close"})],-1)],a={class:"box"},c={class:"tabs"},s={key:1,class:"auth-user is-logged"},i={class:"dropdown is-right is-hoverable"},u={class:"dropdown-trigger"},d=["href"],m=e.createElementVNode("i",{class:"fas fa-user"},null,-1),p=e.createElementVNode("span",{class:"icon is-small"},[e.createElementVNode("i",{class:"fas fa-angle-down","aria-hidden":"true"})],-1),g={class:"dropdown-menu",role:"menu"},f={class:"dropdown-content"},k=["href"],v={key:0,class:"icon"},E=["xlink:href"],h={key:1,class:"badge"},V={key:1,class:"dropdown-divider"},N=e.createElementVNode("hr",{class:"dropdown-divider"},null,-1),y=e.createElementVNode("svg",{class:"icon"},[e.createElementVNode("use",{"xlink:href":"#icon-logout"})],-1);o.render=function(t,o,B,C,S,w){var b=e.resolveComponent("login"),x=e.resolveComponent("registration"),_=e.resolveComponent("reset");return C.mounted&&!C.logged?(e.openBlock(),e.createElementBlock("div",n,[e.renderSlot(t.$slots,"login",{open:C.open,label:t.__("auth.login.login")},(function(){return[e.createElementVNode("a",{class:"button",onClick:o[0]||(o[0]=function(){return C.open&&C.open.apply(C,arguments)})},e.toDisplayString(t.__("auth.login.login")),1)]})),e.createElementVNode("div",{class:e.normalizeClass(["modal",{"is-active":C.modal}])},[e.createElementVNode("div",{class:"modal-background",onClick:o[1]||(o[1]=function(){return C.close&&C.close.apply(C,arguments)})}),e.createElementVNode("div",l,[e.createElementVNode("button",{class:"modal-close is-large",onClick:o[2]||(o[2]=function(){return C.close&&C.close.apply(C,arguments)})},r),e.createElementVNode("div",a,[e.renderSlot(t.$slots,"hero"),e.createElementVNode("div",c,[e.createElementVNode("ul",null,[e.createElementVNode("li",{class:e.normalizeClass({"is-active":"login"==C.modal||"forget"==C.modal})},[e.createElementVNode("a",{onClick:o[3]||(o[3]=function(){return C.open&&C.open.apply(C,arguments)})},e.toDisplayString(t.__("auth.login.login")),1)],2),e.createElementVNode("li",{class:e.normalizeClass({"is-active":"registration"==C.modal}),onClick:o[4]||(o[4]=function(){return C.register&&C.register.apply(C,arguments)})},[e.createElementVNode("a",null,e.toDisplayString(t.__("auth.login.signup")),1)],2)])]),(e.openBlock(),e.createBlock(e.KeepAlive,null,["login"==C.modal||"forget"==C.modal?(e.openBlock(),e.createBlock(b,{key:0,"forget-type":B.forgetType},null,8,["forget-type"])):e.createCommentVNode("v-if",!0)],1024)),(e.openBlock(),e.createBlock(e.KeepAlive,null,["registration"==C.modal?(e.openBlock(),e.createBlock(x,{key:0})):e.createCommentVNode("v-if",!0)],1024)),e.withDirectives(e.createVNode(_,null,null,512),[[e.vShow,"reset"==C.modal]])])])],2)])):C.mounted?(e.openBlock(),e.createElementBlock("div",s,[e.createElementVNode("div",i,[e.createElementVNode("div",u,[e.createElementVNode("a",{class:"button",href:C.routes[0].path},[e.renderSlot(t.$slots,"user",{user:C.user.name?C.user.name:C.user.email},(function(){return[e.createElementVNode("span",null,[m,e.createTextVNode(" "+e.toDisplayString(C.user.name?C.user.name:C.user.email),1)]),p]}))],8,d)]),e.createElementVNode("div",g,[e.createElementVNode("div",f,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.routes,(function(t,o){return e.openBlock(),e.createElementBlock("div",{key:o},[t.text?(e.openBlock(),e.createElementBlock("a",{key:0,href:t.path,class:"dropdown-item"},[t.icon?(e.openBlock(),e.createElementBlock("svg",v,[e.createElementVNode("use",{"xlink:href":"#"+t.icon},null,8,E)])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",null,e.toDisplayString(t.text),1),t.badge?(e.openBlock(),e.createElementBlock("span",h,e.toDisplayString(t.badge),1)):e.createCommentVNode("v-if",!0)],8,k)):(e.openBlock(),e.createElementBlock("hr",V))])})),128)),N,e.createElementVNode("a",{class:"dropdown-item",onClick:o[5]||(o[5]=function(){return C.logout&&C.logout.apply(C,arguments)})},[y,e.createElementVNode("span",null,e.toDisplayString(t.__("auth.user.menu.logout")),1)])])])])])):e.createCommentVNode("v-if",!0)},module.exports=o;
|
|
2
2
|
//# sourceMappingURL=User.js.map
|