@perevorot/shop 2.0.106 → 2.0.108
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/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/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/shop/compare/ComparsionModal.js +1 -1
- package/dist/components/shop/compare/ComparsionModal.js.map +1 -1
- package/dist/components/shop/order/Checkout.js +1 -1
- package/dist/components/shop/order/Checkout.js.map +1 -1
- package/dist/components/shop/order/OneClick.js +1 -1
- package/dist/components/shop/order/OneClick.js.map +1 -1
- package/dist/components/shop/order/shipping/OtherRecipient.js +1 -1
- package/dist/components/shop/order/shipping/OtherRecipient.js.map +1 -1
- package/dist/forms/FormPassword.js +1 -1
- package/dist/forms/FormPassword.js.map +1 -1
- package/dist/store.js +1 -1
- package/dist/store.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
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
|
|
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 d={name:"forget",components:{SchemaForm:a.SchemaFormFactory([s.default({})])},props:{email:{type:String,default:""},emailOrPhone:{type:String,default:""},forgetType:{type:String,default:"email"},showPlaceholders:{type:Boolean,default:!1}},setup:function(n){var r=e.ref(!1),o=t.useStore(),l=e.ref(0),i=e.ref(""),s=e.ref(""),d=e.ref(!1),m=e.ref({}),v=e.ref({}),f=e.ref(!1),p=e.ref(""),g=e.ref(""),h=e.ref(""),y=e.ref("");e.getCurrentInstance();var N={email:{component:u.default,label:__("auth.login.form.email"),placeholder:n.showPlaceholders?__("auth.login.form.email"):""},emailOrPhone:{component:u.default,label:__("auth.login.form.emailOrPhone"),placeholder:n.showPlaceholders?__("auth.login.form.emailOrPhone"):""}},_={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)}))};m.value[n.forgetType]=N[n.forgetType],v.value[n.forgetType]=n[n.forgetType];var b={};b[n.forgetType]=_[n.forgetType];var E=c.object().shape(b);a.useSchemaForm(v);var V=e.inject("presetedResetToken"),k=e.inject("presetedResetEmail");return{loading:r,key:l,schema:m,validation:E,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,d.value=!0,l.value++}})},again:function(){d.value=!1},sent:d,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=e.target.previousElementSibling,n=t&&"INPUT"===t.tagName,r=a&&"INPUT"===a.tagName;e.keyCode>=48&&e.keyCode<=57&&(s.value="",n&&t.focus()),8===e.keyCode&&(s.value="",""===e.target.value&&r&&a.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],s.value=""))},more:function(){f.value=!1,p.value="",g.value="",h.value="",y.value="",i.value="",d.value=!1},smsReset:function(){""===p.value||""===g.value||""===h.value||""===y.value?s.value=__("auth.validation.required"):(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.message:(p.value="",g.value="",h.value="",y.value="",V.value=e.token,k.value=e.email,o.commit("auth/modal","reset"))},finally:function(){r.value=!1,l.value++}}))}}}},m={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"},N=["innerHTML"],_={class:"mt-2 close-button"},b={class:"forget-thanks-mesage schema-col"},E=["innerHTML"],V={class:"sms-code"},k={class:"control"},S=["innerHTML"],T={class:"actions-wrapper"},P={class:"forget-error-mesage"},w=["innerHTML"],D={class:"mt-2"};d.render=function(t,a,n,r,o,l){var i=e.resolveComponent("SchemaForm"),s=e.resolveDirective("maska");return e.openBlock(),e.createElementBlock("div",m,[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,N),e.createElementVNode("div",_,[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",b,[e.createElementVNode("div",{innerHTML:r.message,class:"thanks-message"},null,8,E),e.createElementVNode("div",V,[e.createElementVNode("div",k,[e.withDirectives(e.createElementVNode("input",{type:"text",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:"text",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:"text",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:"text",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?(e.openBlock(),e.createElementBlock("p",{key:0,class:"help is-danger",innerHTML:r.error},null,8,S)):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)})},e.toDisplayString(t.__("auth.forget.sms_reset_password")),3),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",P,[e.createElementVNode("div",{class:"message",innerHTML:r.error},null,8,w),e.createElementVNode("div",D,[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=d;
|
|
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=6cb7e5c4&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 schema-col\">\n <div v-html=\"message\" class=\"thanks-message\"></div>\n <div class=\"sms-code\">\n <div class=\"control\">\n <input type=\"text\" class=\"input\" v-model=\"code1\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code1 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code2\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code2 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code3\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code3 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code4\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code4 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n </div>\n <p class=\"help is-danger\" v-html=\"error\" v-if=\"error\"></p>\n </div>\n <div class=\"actions-wrapper\">\n <button class=\"button\" v-bind:class=\"{ 'is-loading': loading }\" @click=\"smsReset\">{{ __('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 class=\"message\" 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: ''\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\n .string()\n .required(__('auth.validation.required'))\n .test('test-name', __('auth.validation.emailOrPhone'), 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 = '';\n code2.value = '';\n code3.value = '';\n code4.value = '';\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 prevElement = e.target.previousElementSibling;\n const isNextElementIsInput = nextElement && nextElement.tagName === 'INPUT';\n const isPrevElementIsInput = prevElement && prevElement.tagName === 'INPUT';\n\n if (e.keyCode >= 48 && e.keyCode <= 57) {\n error.value = '';\n\n if (isNextElementIsInput) {\n nextElement.focus();\n }\n }\n\n if (e.keyCode === 8) {\n error.value = '';\n\n if (e.target.value === '') {\n if (isPrevElementIsInput) {\n prevElement.focus();\n }\n }\n }\n\n // if (e.keyCode == 37) {\n // if (isPrevElementIsInput) {\n // prevElement.focus();\n // }\n // }\n\n // if (e.keyCode == 39) {\n // if (isNextElementIsInput) {\n // nextElement.focus();\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 error.value = '';\n }\n }\n };\n\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n const smsReset = () => {\n if (code1.value === '' || code2.value === '' || code3.value === '' || code4.value === '') {\n error.value = __('auth.validation.required');\n } else {\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.message;\n }\n },\n finally: () => {\n loading.value = false;\n key.value++;\n }\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 schema-col\">\n <div v-html=\"message\" class=\"thanks-message\"></div>\n <div class=\"sms-code\">\n <div class=\"control\">\n <input type=\"text\" class=\"input\" v-model=\"code1\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code1 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code2\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code2 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code3\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code3 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code4\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code4 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n </div>\n <p class=\"help is-danger\" v-html=\"error\" v-if=\"error\"></p>\n </div>\n <div class=\"actions-wrapper\">\n <button class=\"button\" v-bind:class=\"{ 'is-loading': loading }\" @click=\"smsReset\">{{ __('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 class=\"message\" 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: ''\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\n .string()\n .required(__('auth.validation.required'))\n .test('test-name', __('auth.validation.emailOrPhone'), 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 = '';\n code2.value = '';\n code3.value = '';\n code4.value = '';\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 prevElement = e.target.previousElementSibling;\n const isNextElementIsInput = nextElement && nextElement.tagName === 'INPUT';\n const isPrevElementIsInput = prevElement && prevElement.tagName === 'INPUT';\n\n if (e.keyCode >= 48 && e.keyCode <= 57) {\n error.value = '';\n\n if (isNextElementIsInput) {\n nextElement.focus();\n }\n }\n\n if (e.keyCode === 8) {\n error.value = '';\n\n if (e.target.value === '') {\n if (isPrevElementIsInput) {\n prevElement.focus();\n }\n }\n }\n\n // if (e.keyCode == 37) {\n // if (isPrevElementIsInput) {\n // prevElement.focus();\n // }\n // }\n\n // if (e.keyCode == 39) {\n // if (isNextElementIsInput) {\n // nextElement.focus();\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 error.value = '';\n }\n }\n };\n\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n const smsReset = () => {\n if (code1.value === '' || code2.value === '' || code3.value === '' || code4.value === '') {\n error.value = __('auth.validation.required');\n } else {\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.message;\n }\n },\n finally: () => {\n loading.value = false;\n key.value++;\n }\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","prevElement","previousElementSibling","isNextElementIsInput","tagName","isPrevElementIsInput","keyCode","focus","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","_hoisted_16","_hoisted_18"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Forget.js","sources":["../../../src/components/auth/Forget.vue","../../../src/components/auth/Forget.vue?vue&type=template&id=01249924&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 schema-col\">\n <div v-html=\"message\" class=\"thanks-message\"></div>\n <div class=\"sms-code\">\n <div class=\"control\">\n <input type=\"text\" class=\"input\" v-model=\"code1\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code1 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code2\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code2 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code3\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code3 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code4\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code4 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n </div>\n <p class=\"help is-danger\" v-html=\"error\" v-if=\"error\"></p>\n </div>\n <div class=\"actions-wrapper\">\n <button class=\"button\" v-bind:class=\"{ 'is-loading': loading }\" @click=\"smsReset\">{{ __('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 class=\"message\" 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: ''\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const 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 placeholder: props.showPlaceholders ? __('auth.login.form.email') : '',\n },\n emailOrPhone: {\n component: FormText,\n label: __('auth.login.form.emailOrPhone'),\n placeholder: props.showPlaceholders ? __('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\n .string()\n .required(__('auth.validation.required'))\n .test('test-name', __('auth.validation.emailOrPhone'), 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 = '';\n code2.value = '';\n code3.value = '';\n code4.value = '';\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 prevElement = e.target.previousElementSibling;\n const isNextElementIsInput = nextElement && nextElement.tagName === 'INPUT';\n const isPrevElementIsInput = prevElement && prevElement.tagName === 'INPUT';\n\n if (e.keyCode >= 48 && e.keyCode <= 57) {\n error.value = '';\n\n if (isNextElementIsInput) {\n nextElement.focus();\n }\n }\n\n if (e.keyCode === 8) {\n error.value = '';\n\n if (e.target.value === '') {\n if (isPrevElementIsInput) {\n prevElement.focus();\n }\n }\n }\n\n // if (e.keyCode == 37) {\n // if (isPrevElementIsInput) {\n // prevElement.focus();\n // }\n // }\n\n // if (e.keyCode == 39) {\n // if (isNextElementIsInput) {\n // nextElement.focus();\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 error.value = '';\n }\n }\n };\n\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n const smsReset = () => {\n if (code1.value === '' || code2.value === '' || code3.value === '' || code4.value === '') {\n error.value = __('auth.validation.required');\n } else {\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.message;\n }\n },\n finally: () => {\n loading.value = false;\n key.value++;\n }\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 schema-col\">\n <div v-html=\"message\" class=\"thanks-message\"></div>\n <div class=\"sms-code\">\n <div class=\"control\">\n <input type=\"text\" class=\"input\" v-model=\"code1\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code1 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code2\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code2 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code3\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code3 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code4\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code4 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n </div>\n <p class=\"help is-danger\" v-html=\"error\" v-if=\"error\"></p>\n </div>\n <div class=\"actions-wrapper\">\n <button class=\"button\" v-bind:class=\"{ 'is-loading': loading }\" @click=\"smsReset\">{{ __('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 class=\"message\" 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: ''\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const 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 placeholder: props.showPlaceholders ? __('auth.login.form.email') : '',\n },\n emailOrPhone: {\n component: FormText,\n label: __('auth.login.form.emailOrPhone'),\n placeholder: props.showPlaceholders ? __('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\n .string()\n .required(__('auth.validation.required'))\n .test('test-name', __('auth.validation.emailOrPhone'), 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 = '';\n code2.value = '';\n code3.value = '';\n code4.value = '';\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 prevElement = e.target.previousElementSibling;\n const isNextElementIsInput = nextElement && nextElement.tagName === 'INPUT';\n const isPrevElementIsInput = prevElement && prevElement.tagName === 'INPUT';\n\n if (e.keyCode >= 48 && e.keyCode <= 57) {\n error.value = '';\n\n if (isNextElementIsInput) {\n nextElement.focus();\n }\n }\n\n if (e.keyCode === 8) {\n error.value = '';\n\n if (e.target.value === '') {\n if (isPrevElementIsInput) {\n prevElement.focus();\n }\n }\n }\n\n // if (e.keyCode == 37) {\n // if (isPrevElementIsInput) {\n // prevElement.focus();\n // }\n // }\n\n // if (e.keyCode == 39) {\n // if (isNextElementIsInput) {\n // nextElement.focus();\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 error.value = '';\n }\n }\n };\n\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n const smsReset = () => {\n if (code1.value === '' || code2.value === '' || code3.value === '' || code4.value === '') {\n error.value = __('auth.validation.required');\n } else {\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.message;\n }\n },\n finally: () => {\n loading.value = false;\n key.value++;\n }\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","showPlaceholders","Boolean","setup","loading","ref","store","useStore","key","message","error","sent","schema","model","sms","code1","code2","code3","code4","getCurrentInstance","s","component","label","__","placeholder","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","prevElement","previousElementSibling","isNextElementIsInput","tagName","isPrevElementIsInput","keyCode","focus","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","_hoisted_16","_hoisted_18"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=require("vuex"),
|
|
1
|
+
"use strict";var e=require("vue"),t=require("vuex"),o=require("formvuelate"),r=require("@formvuelate/plugin-vee-validate"),a=require("@perevorot/shop/dist/forms/FormText"),n=require("@perevorot/shop/dist/forms/FormPassword"),l=require("yup");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:function(){return e[o]}})}})),t.default=e,Object.freeze(t)}var s=i(r),u=i(a),d=i(n),f=c(l);function m(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==o)return;var r,a,n=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(n.push(r.value),!t||n.length!==t);l=!0);}catch(e){i=!0,a=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return p(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);"Object"===o&&e.constructor&&(o=e.constructor.name);if("Map"===o||"Set"===o)return Array.from(e);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return p(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=new Array(t);o<t;o++)r[o]=e[o];return r}e.markRaw(u.default);var h=o.SchemaFormFactory([s.default({})]),v={props:m({loginCallback:{type:Function,default:function(){}},forgetType:{type:String,default:"email"},showPlaceholders:{type:Boolean,default:!1}},"showPlaceholders",{type:Boolean,default:!1}),name:"login",components:{SchemaForm:h},setup:function(r){var a,n=e.ref(!1),l=t.useStore(),i=e.ref(0),c=e.ref({}),s=e.computed((function(){return l.getters["auth/modal"]})),p=e.ref({email:{component:u.default,label:__("auth.login.form.email"),store:"login",model:"email",placeholder:r.showPlaceholders?__("auth.login.form.email"):""},password:{component:d.default,label:__("auth.login.form.password"),placeholder:r.showPlaceholders?__("auth.login.form.password"):""}}),h=f.object().shape({email:f.string().email(__("auth.validation.email")).required(__("auth.validation.required")),password:f.string().required(__("auth.validation.required"))}),v=e.ref({email:"",password:""});o.useSchemaForm(v);return m(a={loading:n,modal:s,schema:p,validation:h,reset:function(){l.commit("auth/modal","forget")},facebook:function(){window.location.href=$ziggy("auth.login.social",{provider:"facebook"})},google:function(){window.location.href=$ziggy("auth.login.social",{provider:"google"})}},"schema",p),m(a,"onSubmit",(function(){n.value=!0,l.dispatch("auth/login",{credentials:v.value,callback:function(){r.loginCallback&&r.loginCallback()},finally:function(){n.value=!1},catch:function(e){if(e.response.data&&e.response.data.errors){for(var t=0,o=Object.entries(e.response.data.errors);t<o.length;t++){var r=g(o[t],2),a=r[0],n=r[1];n[0]&&(c.value[a]=n[0])}v.value.password="",i.value++}}})})),m(a,"errors",c),m(a,"key",i),m(a,"model",v),m(a,"register",(function(){l.commit("auth/modal","registration")})),a}},y={class:"auth-login"},b={class:"title"},w={class:"href-forget-password"},k={class:"field"},_={class:"socials"},E={class:"description has-text-centered"},S={class:"buttons"},N=[e.createElementVNode("svg",{class:"icon fb-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-facebook-icon"})],-1),e.createElementVNode("span",null,"Facebook",-1)],V=[e.createElementVNode("svg",{class:"icon google-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-google-icon"})],-1),e.createElementVNode("span",null,"Google",-1)],C={class:"href-register"};v.render=function(t,o,r,a,n,l){var i=e.resolveComponent("SchemaForm"),c=e.resolveComponent("forget");return e.openBlock(),e.createElementBlock("div",y,[e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",b,e.toDisplayString(t.__("auth.login.title")),1),(e.openBlock(),e.createBlock(i,{schemaRowClasses:"field",schema:a.schema,"validation-schema":a.validation,"initial-errors":a.errors,key:a.key,onSubmit:a.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",w,[e.createElementVNode("a",{onClick:o[0]||(o[0]=function(){return a.reset&&a.reset.apply(a,arguments)})},e.toDisplayString(t.__("auth.login.forget_password")),1)]),e.createElementVNode("div",k,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":a.loading}]),type:"submit"},e.toDisplayString(t.__("auth.login.form.submit")),3)]),e.createElementVNode("div",_,[e.createElementVNode("div",E,e.toDisplayString(t.__("auth.login.socials")),1),e.createElementVNode("div",S,[e.createElementVNode("a",{class:"button",onClick:o[1]||(o[1]=function(){return a.facebook&&a.facebook.apply(a,arguments)})},N),e.createElementVNode("a",{class:"button",onClick:o[2]||(o[2]=function(){return a.google&&a.google.apply(a,arguments)})},V)])]),e.createElementVNode("div",C,[e.createElementVNode("a",{onClick:o[3]||(o[3]=function(){return a.register&&a.register.apply(a,arguments)})},e.toDisplayString(t.__("auth.login.signup")),1)])]})),_:1},8,["schema","validation-schema","initial-errors","onSubmit"]))],512),[[e.vShow,"login"==a.modal]]),"forget"==a.modal?(e.openBlock(),e.createBlock(c,{key:0,email:a.model.email,"forget-type":r.forgetType,"show-placeholders":r.showPlaceholders},null,8,["email","forget-type","show-placeholders"])):e.createCommentVNode("v-if",!0)])},module.exports=v;
|
|
2
2
|
//# sourceMappingURL=Login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Login.js","sources":["../../../src/components/auth/Login.vue","../../../src/components/auth/Login.vue?vue&type=template&id=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
|
+
{"version":3,"file":"Login.js","sources":["../../../src/components/auth/Login.vue","../../../src/components/auth/Login.vue?vue&type=template&id=159a530e&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-login\">\n <div v-show=\"modal == 'login'\">\n <div class=\"title\">{{ __('auth.login.title') }}</div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"href-forget-password\">\n <a @click=\"reset\">{{ __('auth.login.forget_password') }}</a>\n </div>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">{{ __('auth.login.form.submit') }}</button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">{{ __('auth.login.socials') }}</div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\">\n <svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-register\">\n <a @click=\"register\">{{ __('auth.login.signup') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n\n <forget v-if=\"modal == 'forget'\" :email=\"model.email\" :forget-type=\"forgetType\" :show-placeholders=\"showPlaceholders\"></forget>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n props: {\n loginCallback: {\n type: Function,\n default: () => { }\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n name: 'login',\n components: {\n SchemaForm\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const errors = ref({});\n const modal = computed(() => store.getters['auth/modal']);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email'),\n store: 'login',\n model: 'email',\n placeholder: props.showPlaceholders ? __('auth.login.form.email') : '',\n },\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n placeholder: props.showPlaceholders ? __('auth.login.form.password') : '',\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n password: yup.string().required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: '',\n password: ''\n });\n\n useSchemaForm(model);\n\n const reset = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/login', {\n credentials: model.value,\n callback: () => {\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\" :show-placeholders=\"showPlaceholders\"></forget>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n props: {\n loginCallback: {\n type: Function,\n default: () => { }\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n name: 'login',\n components: {\n SchemaForm\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const errors = ref({});\n const modal = computed(() => store.getters['auth/modal']);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email'),\n store: 'login',\n model: 'email',\n placeholder: props.showPlaceholders ? __('auth.login.form.email') : '',\n },\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n placeholder: props.showPlaceholders ? __('auth.login.form.password') : '',\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n password: yup.string().required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: '',\n password: ''\n });\n\n useSchemaForm(model);\n\n const reset = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/login', {\n credentials: model.value,\n callback: () => {\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","showPlaceholders","Boolean","name","components","setup","loading","ref","store","useStore","key","errors","modal","computed","getters","schema","email","component","label","__","model","placeholder","password","FormPassword","validation","yup","object","shape","string","required","useSchemaForm","reset","commit","facebook","window","location","href","$ziggy","provider","google","value","dispatch","credentials","callback","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,SACIC,cAAe,CACXC,KAAMC,iBACG,cAEbC,WAAY,CACRF,KAAMG,eACG,SAEbC,iBAAkB,CACdJ,KAAMK,iBACG,uBAEK,CACdL,KAAMK,iBACG,IAGjBC,KAAM,QACNC,WAAY,CACRZ,WAAAA,GAEJa,eAAMV,SACIW,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAASJ,MAAI,IACbK,EAAQC,YAAS,kBAAML,EAAMM,QAAQ,iBAErCC,EAASR,MAAI,CACfS,MAAO,CACHC,UAAW1B,UACX2B,MAAOC,GAAG,yBACVX,MAAO,QACPY,MAAO,QACPC,YAAa1B,EAAMM,iBAAmBkB,GAAG,yBAA2B,IAExEG,SAAU,CACNL,UAAWM,UACXL,MAAOC,GAAG,4BACVE,YAAa1B,EAAMM,iBAAmBkB,GAAG,4BAA8B,MAIzEK,EAAaC,EAAIC,SAASC,MAAM,CAClCX,MAAOS,EAAIG,SAASZ,MAAMG,GAAG,0BAA0BU,SAASV,GAAG,6BACnEG,SAAUG,EAAIG,SAASC,SAASV,GAAG,+BAGjCC,EAAQb,MAAI,CACdS,MAAO,GACPM,SAAU,KAGdQ,gBAAcV,eAoDVd,QAAAA,EACAM,MAAAA,EACAG,OAAAA,EACAS,WAAAA,EACAO,MAtDU,WACVvB,EAAMwB,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,sBAyCdvB,mBArCa,WACbT,EAAQkC,OAAQ,EAEhBhC,EAAMiC,SAAS,aAAc,CACzBC,YAAatB,EAAMoB,MACnBG,SAAU,WACFhD,EAAMC,eACND,EAAMC,yBAGL,WACLU,EAAQkC,OAAQ,SAEb,SAACI,MACAA,EAAMC,SAASC,MAAQF,EAAMC,SAASC,KAAKnC,OAAQ,eACnBoC,OAAOC,QAAQJ,EAAMC,SAASC,KAAKnC,uBAAS,iBAAhEsC,OAAOC,OACXA,EAAS,KACTvC,EAAO6B,MAAMS,GAASC,EAAS,IAIvC9B,EAAMoB,MAAMlB,SAAW,GAEvBZ,EAAI8B,4BAgBhB7B,aACAD,eACAU,mBAzDa,WACbZ,EAAMwB,OAAO,aAAc,gCCjHxB,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,QAAS1C,OAAQ2C,6BAA4BA,8BAA6BA,SAAShD,IAAKgD,MAAMC,SAAQD,aACpHE,qBACP,kBAAAT,2BAAAU,GACIV,0BAAIW,sCAAOJ,yDAAUH,yCAEzBJ,2BAAAY,GACIZ,uDAAc,+BAA6DO,aAA5C7D,KAAK,4BAAqD0D,qCAE7FJ,2BAAAa,GACIb,2BAAAc,oBAA8CV,+BAC9CJ,2BAAAe,GACIf,gCAAS,SAAUW,sCAAOJ,gDAM1BP,gCAAS,SAAUW,sCAAOJ,gDAQlCP,2BAAAgB,GACIhB,0BAAIW,sCAAOJ,+DAAaH,iIA5B3BG,qBAkCCA,uBAAdF,uBAAkCxC,MAAO0C,QAAM1C,oBAAqBoD,iCAAgCA"}
|
|
@@ -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"),o=require("@formvuelate/plugin-vee-validate"),r=require("@perevorot/shop/dist/forms/FormText"),n=require("@perevorot/shop/dist/forms/FormPassword"),l=require("yup");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function 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=i(o),u=i(r),d=i(n),m=s(l);e.markRaw(d.default),e.markRaw(u.default);var p=a.SchemaFormFactory([c.default({})]),f={name:"reset",props:{showPlaceholders:{type:Boolean,default:!1}},components:{SchemaForm:p},setup:function(o){var r=e.ref(!1),n=t.useStore(),l=e.ref(0),i=e.ref(""),s=e.ref(!1),c=e.getCurrentInstance(),p=e.inject("presetedResetToken"),f=e.inject("presetedResetEmail");e.watch(p,(function(e){e&&(_.value.token=e)})),e.watch(f,(function(e){e&&(_.value.email=e)}));var v=e.ref({password:{component:d.default,label:__("auth.login.form.password"),type:"password",placeholder:o.showPlaceholders?__("auth.login.form.password"):""},password_confirmation:{component:u.default,label:__("auth.login.form.password_confirmation"),type:"password",placeholder:o.showPlaceholders?__("auth.login.form.password_confirmation"):""}}),h=m.object().shape({password:m.string().min(6,__("auth.validation.min")).required(__("auth.validation.required")),password_confirmation:m.string().oneOf([m.ref("password"),null],__("auth.validation.password_confirmation"))}),_=e.ref({password:"",password_confirmation:"",token:c.parent.props.resetToken,email:c.parent.props.resetEmail});a.useSchemaForm(_);return{loading:r,key:l,schema:v,validation:h,onSubmit:function(){r.value=!0,n.dispatch("auth/passwordUpdate",{credentials:_.value,callback:function(e,t){i.value=e},finally:function(){_.value={},r.value=!1,s.value=!0,l.value++}})},reseted:s,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:p,presetedResetEmail:f}}},v={class:"form auth-reset"},h={class:"title"},_={key:0},w=["innerHTML"],g={class:"field"},k={class:"columns is-vcentered"},b={class:"column"},y={class:"mt-3"},E={key:1},S={class:"mt-3"},V={class:"mt-3"};f.render=function(t,a,o,r,n,l){var i=e.resolveComponent("SchemaForm");return e.openBlock(),e.createElementBlock("div",v,[e.createElementVNode("div",h,e.toDisplayString(t.__("auth.reset.title")),1),e.withDirectives(e.createElementVNode("div",null,[t.$parent.tokenValid||r.presetedResetToken?(e.openBlock(),e.createElementBlock("div",_,[e.createElementVNode("div",{class:"mb-3",innerHTML:t.__("auth.reset.info",{email:t.$parent.resetEmail||r.presetedResetEmail})},null,8,w),(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",g,[e.createElementVNode("div",k,[e.createElementVNode("div",b,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":r.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 r.cancel&&r.cancel.apply(r,arguments)})},e.toDisplayString(t.__("auth.reset.cancel")),1)])])):(e.openBlock(),e.createElementBlock("div",E,[e.createElementVNode("p",null,e.toDisplayString(t.__("auth.reset.token-not-valid")),1),e.createElementVNode("div",S,[e.createElementVNode("button",{class:"button",onClick:a[1]||(a[1]=function(){return r.again&&r.again.apply(r,arguments)})},e.toDisplayString(t.__("auth.reset.again")),1)])]))],512),[[e.vShow,!r.reseted]]),e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(r.message),1),e.createElementVNode("div",V,[e.createElementVNode("button",{class:"button",onClick:a[2]||(a[2]=function(){return r.close&&r.close.apply(r,arguments)})},e.toDisplayString(t.__("auth.reset.close")),1)])],512),[[e.vShow,r.reseted]])])},module.exports=f;
|
|
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=20efd33a&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\" v-html=\"__('auth.reset.info', { email: $parent.resetEmail || presetedResetEmail })\"></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\" v-html=\"__('auth.reset.info', { email: $parent.resetEmail || presetedResetEmail })\"></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","innerHTML","_createBlock","schemaRowClasses","afterForm","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","onClick","_hoisted_10","_hoisted_11"],"mappings":"ynBAqDAA,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,cCzJG,4BACI,4CAMgB,kBACI,iCACI,mBAShB,2BAQA,iBASJ,mGAnCnBoC,2BAAAC,GACIC,2BAAAC,oBAAsBC,8CACtBF,iCACeE,UAAQC,YAAcC,oCAAjCN,8BACIE,kCAAW,OAAOK,UAAQH,8BAA+BA,UAAQhB,YAAckB,iDAC/EE,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,mDA1BLE,8BA+BdJ,iCACIA,kDAAQI,cACRJ,2BAAAe,GACIf,qCAAc,SAAUa,sCAAOT,yDACxBF,+CAJFE"}
|
|
1
|
+
{"version":3,"file":"Reset.js","sources":["../../../src/components/auth/Reset.vue","../../../src/components/auth/Reset.vue?vue&type=template&id=7cbc8208&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\" v-html=\"__('auth.reset.info', { email: $parent.resetEmail || presetedResetEmail })\"></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 props: {\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n components: {\n SchemaForm\n },\n setup(props) {\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 placeholder: props.showPlaceholders ? __('auth.login.form.password') : '',\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password',\n placeholder: props.showPlaceholders ? __('auth.login.form.password_confirmation') : '',\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\" v-html=\"__('auth.reset.info', { email: $parent.resetEmail || presetedResetEmail })\"></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 props: {\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n components: {\n SchemaForm\n },\n setup(props) {\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 placeholder: props.showPlaceholders ? __('auth.login.form.password') : '',\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password',\n placeholder: props.showPlaceholders ? __('auth.login.form.password_confirmation') : '',\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","SchemaForm","SchemaFormFactory","VeeValidatePlugin","name","props","showPlaceholders","type","Boolean","components","setup","loading","ref","store","useStore","key","message","reseted","instance","getCurrentInstance","presetedResetToken","inject","presetedResetEmail","watch","value","model","token","email","schema","password","component","label","__","placeholder","password_confirmation","validation","yup","object","shape","string","min","required","oneOf","parent","resetToken","resetEmail","useSchemaForm","onSubmit","dispatch","credentials","callback","m","isError","cancel","commit","again","close","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_ctx","tokenValid","$setup","innerHTML","_createBlock","schemaRowClasses","afterForm","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","onClick","_hoisted_10","_hoisted_11"],"mappings":"ynBAqDAA,UAAQC,WACRD,UAAQE,WAER,IAAMC,EAAaC,oBAAkB,CAACC,UAAkB,QAEzC,CACXC,KAAM,QACNC,MAAO,CACHC,iBAAkB,CACdC,KAAMC,iBACG,IAGjBC,WAAY,CACRR,WAAAA,GAEJS,eAAML,OACIM,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,UAAW/B,UACXgC,MAAOC,GAAG,4BACVzB,KAAM,WACN0B,YAAa5B,EAAMC,iBAAmB0B,GAAG,4BAA8B,IAE3EE,sBAAuB,CACnBJ,UAAW9B,UACX+B,MAAOC,GAAG,yCACVzB,KAAM,WACN0B,YAAa5B,EAAMC,iBAAmB0B,GAAG,yCAA2C,MAItFG,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,OAAOtC,MAAMuC,WAC7BjB,MAAOT,EAASyB,OAAOtC,MAAMwC,aAGjCC,gBAAcrB,SAgCP,CACHd,QAAAA,EACAI,IAAAA,EACAa,OAAAA,EACAO,WAAAA,EACAY,SA3Ba,WACbpC,EAAQa,OAAQ,EAEhBX,EAAMmC,SAAS,sBAAuB,CAClCC,YAAaxB,EAAMD,MACnB0B,SAAU,SAACC,EAAGC,GACVpC,EAAQQ,MAAQ2B,WAEX,WACL1B,EAAMD,MAAQ,GACdb,EAAQa,OAAQ,EAChBP,EAAQO,OAAQ,EAChBT,EAAIS,YAgBZP,QAAAA,EACAD,QAAAA,EACAqC,OAtCW,WACXxC,EAAMyC,OAAO,aAAc,UAsC3BC,MAnCU,WACV1C,EAAMyC,OAAO,aAAc,WAmC3BE,MAfU,WACV3C,EAAMyC,OAAO,aAAc,MAC3BzC,EAAMmC,SAAS,YAcf5B,mBAAAA,EACAE,mBAAAA,cCjKG,4BACI,4CAMgB,kBACI,iCACI,mBAShB,2BAQA,iBASJ,mGAnCnBmC,2BAAAC,GACIC,2BAAAC,oBAAsBC,8CACtBF,iCACeE,UAAQC,YAAcC,oCAAjCN,8BACIE,kCAAW,OAAOK,UAAQH,8BAA+BA,UAAQhB,YAAckB,iDAC/EE,iBAAYC,iBAAiB,QAAStC,OAAQmC,6BAA4BA,aAAahD,IAAKgD,MAAMhB,SAAQgB,aAC3FI,qBACP,kBAAAR,2BAAAS,GACIT,2BAAAU,GACIV,2BAAAW,GACIX,uDAAc,+BAA6DI,aAA5CxD,KAAK,4BAC7BsD,gGAO3BF,2BAAAY,GACIZ,qCAAc,SAAUa,sCAAOT,2DACxBF,kDAIfJ,8BACIE,gDAAME,uCACNF,2BAAAc,GACId,qCAAc,SAAUa,sCAAOT,yDACxBF,mDA1BLE,8BA+BdJ,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},forgetType:{type:String,default:"email"}},setup:function(o){var
|
|
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"},showPlaceholders:{type:Boolean,default:!1}},setup:function(o){var l=t.useStore(),n=e.computed((function(){return l.getters["auth/me"]})),r=e.computed((function(){return l.getters["auth/modal"]})),a=e.computed((function(){return Object.keys(n.value).length>0})),s=e.ref(!1),c=e.computed((function(){return l.getters["auth/account"]})),i=e.ref(""),d=e.ref("");e.provide("presetedResetToken",i),e.provide("presetedResetEmail",d);var u=function(){l.commit("auth/modal",null),l.dispatch("auth/me")};return l.dispatch("auth/me",{finally:function(){s.value=!0}}),window.addEventListener("keyup",(function(e){r.value&&"Escape"===e.key&&u()})),o.resetToken&&l.commit("auth/modal","reset"),{mounted:s,user:n,logged:a,modal:r,open:function(){l.commit("auth/modal","login")},close:u,register:function(){l.commit("auth/modal","registration")},logout:function(){l.dispatch("auth/logout")},routes:c}}},l={key:0,class:"auth-user"},n={class:"modal-content"},r=[e.createElementVNode("svg",{class:"icon close"},[e.createElementVNode("use",{"xlink:href":"#close"})],-1)],a={class:"box"},s={class:"tabs"},c={key:1,class:"auth-user is-logged"},i={class:"dropdown is-right is-hoverable"},d={class:"dropdown-trigger"},u=["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"},h=["href"],k={key:0,class:"icon"},v=["xlink:href"],E={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,w,C,S){var b=e.resolveComponent("login"),x=e.resolveComponent("registration"),_=e.resolveComponent("reset");return w.mounted&&!w.logged?(e.openBlock(),e.createElementBlock("div",l,[e.renderSlot(t.$slots,"login",{open:w.open,label:t.__("auth.login.login")},(function(){return[e.createElementVNode("a",{class:"button",onClick:o[0]||(o[0]=function(){return w.open&&w.open.apply(w,arguments)})},e.toDisplayString(t.__("auth.login.login")),1)]})),e.createElementVNode("div",{class:e.normalizeClass(["modal",{"is-active":w.modal}])},[e.createElementVNode("div",{class:"modal-background",onClick:o[1]||(o[1]=function(){return w.close&&w.close.apply(w,arguments)})}),e.createElementVNode("div",n,[e.createElementVNode("button",{class:"modal-close is-large",onClick:o[2]||(o[2]=function(){return w.close&&w.close.apply(w,arguments)})},r),e.createElementVNode("div",a,[e.renderSlot(t.$slots,"hero"),e.createElementVNode("div",s,[e.createElementVNode("ul",null,[e.createElementVNode("li",{class:e.normalizeClass({"is-active":"login"==w.modal||"forget"==w.modal})},[e.createElementVNode("a",{onClick:o[3]||(o[3]=function(){return w.open&&w.open.apply(w,arguments)})},e.toDisplayString(t.__("auth.login.login")),1)],2),e.createElementVNode("li",{class:e.normalizeClass({"is-active":"registration"==w.modal}),onClick:o[4]||(o[4]=function(){return w.register&&w.register.apply(w,arguments)})},[e.createElementVNode("a",null,e.toDisplayString(t.__("auth.login.signup")),1)],2)])]),(e.openBlock(),e.createBlock(e.KeepAlive,null,["login"==w.modal||"forget"==w.modal?(e.openBlock(),e.createBlock(b,{key:0,"forget-type":B.forgetType,"show-placeholders":B.showPlaceholders},null,8,["forget-type","show-placeholders"])):e.createCommentVNode("v-if",!0)],1024)),(e.openBlock(),e.createBlock(e.KeepAlive,null,["registration"==w.modal?(e.openBlock(),e.createBlock(x,{key:0})):e.createCommentVNode("v-if",!0)],1024)),e.withDirectives(e.createVNode(_,{"show-placeholders":B.showPlaceholders},null,8,["show-placeholders"]),[[e.vShow,"reset"==w.modal]])])])],2)])):w.mounted?(e.openBlock(),e.createElementBlock("div",c,[e.createElementVNode("div",i,[e.createElementVNode("div",d,[e.createElementVNode("a",{class:"button",href:w.routes[0].path},[e.renderSlot(t.$slots,"user",{user:w.user.name?w.user.name:w.user.email},(function(){return[e.createElementVNode("span",null,[m,e.createTextVNode(" "+e.toDisplayString(w.user.name?w.user.name:w.user.email),1)]),p]}))],8,u)]),e.createElementVNode("div",g,[e.createElementVNode("div",f,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.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",k,[e.createElementVNode("use",{"xlink:href":"#"+t.icon},null,8,v)])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",null,e.toDisplayString(t.text),1),t.badge?(e.openBlock(),e.createElementBlock("span",E,e.toDisplayString(t.badge),1)):e.createCommentVNode("v-if",!0)],8,h)):(e.openBlock(),e.createElementBlock("hr",V))])})),128)),N,e.createElementVNode("a",{class:"dropdown-item",onClick:o[5]||(o[5]=function(){return w.logout&&w.logout.apply(w,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
|