This commit is contained in:
saparatayev 2022-12-13 14:23:41 +05:00
commit 4ecd782056
43 changed files with 173 additions and 292 deletions

View File

@ -1 +1 @@
import{ab as N,u as S,s as V,q as D,K as L,J as p,N as M,b as R,r as y,e as n,f as e,t as a,g as A,w as K,F as c,c as l,M as O,O as v,P as E,h as o,n as T,i as _,j as m,ac as U,l as q,E as B}from"./index.75616642.js";import{c as h,r as b,u as P}from"./index.esm.5dc79c4a.js";const F={class:"intro-y flex items-center mt-8"},Q={class:"text-lg font-medium mr-auto"},Y={class:"grid grid-cols-12 gap-6 mt-5"},j={class:"intro-y col-span-12 lg:col-span-6"},z={class:"flex flex-col sm:flex-row items-center p-5 border-b border-slate-200/60 dark:border-darkmode-400"},G={class:"font-medium text-base mr-auto"},J={class:"p-5"},W=["onSubmit"],H={class:"input-form"},X={class:"form-label w-full flex flex-col sm:flex-row"},Z=["placeholder"],ee={class:"input-form mt-3"},te={class:"form-label w-full flex flex-col sm:flex-row"},oe=e("option",{value:"",disabled:""},"Select the category",-1),se=["value"],re={class:"input-form mt-3"},ae={class:"form-label w-full flex flex-col sm:flex-row"},le=["placeholder"],ne=["disabled"],me={__name:"CreateTicket",setup(ie){const $=N(),I=S(),{categories:f}=V($),u=D(!1),g=L({title:"",content:"",category_id:""}),w={title:{required:h.withMessage(p.global.t("REQUIRED_VALIDATION"),b)},content:{required:h.withMessage(p.global.t("REQUIRED_VALIDATION"),b)},category_id:{required:h.withMessage(p.global.t("REQUIRED_VALIDATION"),b)}},t=P(w,M(g)),x=async()=>{t.value.$touch(),t.value.$invalid||(u.value=!0,I.createTicket(g),u.value=!1)};return R(async()=>{await $.getAll();const r=f.value.find(i=>i.code==="TM");r!==void 0&&(g.country=r.id)}),(r,i)=>{const k=y("LoadingIcon"),C=y("PreviewComponent");return l(),n(c,null,[e("div",F,[e("h2",Q,a(r.$t("TICKET_LIST")),1)]),e("div",Y,[e("div",j,[A(C,{class:"intro-y box"},{default:K(()=>[e("div",z,[e("h2",G,a(r.$t("NEW_TICKET_FORM")),1)]),e("div",J,[e("form",{class:"validate-form",onSubmit:O(x,["prevent"])},[e("div",H,[e("label",X,a(r.$t("TICKET_TITLE")),1),v(e("input",{type:"text","onUpdate:modelValue":i[0]||(i[0]=s=>o(t).title.$model=s),class:T(["form-control",{"border-danger":o(t).title.$error}]),name:"title",placeholder:r.$t("TYPE_TICKET_TITLE")},null,10,Z),[[E,o(t).title.$model,void 0,{trim:!0}]]),o(t).title.$error?(l(!0),n(c,{key:0},_(o(t).title.$errors,(s,d)=>(l(),n("div",{key:d,class:"text-danger mt-2"},a(s.$message),1))),128)):m("",!0)]),e("div",ee,[e("label",te,a(r.$t("TICKET_CATEGORIES")),1),v(e("select",{class:T(["form-select px-4 block sm:mr-2",{"border-danger":o(t).category_id.$error}]),"aria-label":"Default select example","onUpdate:modelValue":i[1]||(i[1]=s=>o(t).category_id.$model=s),name:"category"},[oe,o(f).length?(l(!0),n(c,{key:0},_(o(f),s=>(l(),n("option",{key:s.id,value:s.id},a(s.name),9,se))),128)):m("",!0)],2),[[U,o(t).category_id.$model]]),o(t).category_id.$error?(l(!0),n(c,{key:0},_(o(t).category_id.$errors,(s,d)=>(l(),n("div",{key:d,class:"text-danger mt-2"},a(s.$message),1))),128)):m("",!0)]),e("div",re,[e("label",ae,a(r.$t("TICKET_CONTENT")),1),v(e("textarea",{"onUpdate:modelValue":i[2]||(i[2]=s=>o(t).content.$model=s),class:T(["form-control",{"border-danger":o(t).content.$error}]),name:"content",placeholder:r.$t("TYPE_TICKET_CONTENT"),rows:"5"},null,10,le),[[E,o(t).content.$model,void 0,{trim:!0}]]),o(t).content.$error?(l(!0),n(c,{key:0},_(o(t).content.$errors,(s,d)=>(l(),n("div",{key:d,class:"text-danger mt-2"},a(s.$message),1))),128)):m("",!0)]),e("button",{type:"submit",class:"btn btn-primary mt-5",disabled:u.value},[q(a(r.$t("SAVE"))+" ",1),u.value?(l(),B(k,{key:0,icon:"oval",color:"white",class:"w-4 h-4 ml-2"})):m("",!0)],8,ne)],40,W)])]),_:1})])])],64)}}};export{me as default}; import{ab as N,u as S,s as V,q as D,K as L,J as p,N as M,b as R,r as y,e as n,f as e,t as a,g as A,w as K,F as c,c as l,M as O,O as v,P as E,h as o,n as T,i as _,j as m,ac as U,l as q,E as B}from"./index.86e1cebf.js";import{c as h,r as b,u as P}from"./index.esm.1c33b54f.js";const F={class:"intro-y flex items-center mt-8"},Q={class:"text-lg font-medium mr-auto"},Y={class:"grid grid-cols-12 gap-6 mt-5"},j={class:"intro-y col-span-12 lg:col-span-6"},z={class:"flex flex-col sm:flex-row items-center p-5 border-b border-slate-200/60 dark:border-darkmode-400"},G={class:"font-medium text-base mr-auto"},J={class:"p-5"},W=["onSubmit"],H={class:"input-form"},X={class:"form-label w-full flex flex-col sm:flex-row"},Z=["placeholder"],ee={class:"input-form mt-3"},te={class:"form-label w-full flex flex-col sm:flex-row"},oe=e("option",{value:"",disabled:""},"Select the category",-1),se=["value"],re={class:"input-form mt-3"},ae={class:"form-label w-full flex flex-col sm:flex-row"},le=["placeholder"],ne=["disabled"],me={__name:"CreateTicket",setup(ie){const $=N(),I=S(),{categories:f}=V($),u=D(!1),g=L({title:"",content:"",category_id:""}),w={title:{required:h.withMessage(p.global.t("REQUIRED_VALIDATION"),b)},content:{required:h.withMessage(p.global.t("REQUIRED_VALIDATION"),b)},category_id:{required:h.withMessage(p.global.t("REQUIRED_VALIDATION"),b)}},t=P(w,M(g)),x=async()=>{t.value.$touch(),t.value.$invalid||(u.value=!0,I.createTicket(g),u.value=!1)};return R(async()=>{await $.getAll();const r=f.value.find(i=>i.code==="TM");r!==void 0&&(g.country=r.id)}),(r,i)=>{const k=y("LoadingIcon"),C=y("PreviewComponent");return l(),n(c,null,[e("div",F,[e("h2",Q,a(r.$t("TICKET_LIST")),1)]),e("div",Y,[e("div",j,[A(C,{class:"intro-y box"},{default:K(()=>[e("div",z,[e("h2",G,a(r.$t("NEW_TICKET_FORM")),1)]),e("div",J,[e("form",{class:"validate-form",onSubmit:O(x,["prevent"])},[e("div",H,[e("label",X,a(r.$t("TICKET_TITLE")),1),v(e("input",{type:"text","onUpdate:modelValue":i[0]||(i[0]=s=>o(t).title.$model=s),class:T(["form-control",{"border-danger":o(t).title.$error}]),name:"title",placeholder:r.$t("TYPE_TICKET_TITLE")},null,10,Z),[[E,o(t).title.$model,void 0,{trim:!0}]]),o(t).title.$error?(l(!0),n(c,{key:0},_(o(t).title.$errors,(s,d)=>(l(),n("div",{key:d,class:"text-danger mt-2"},a(s.$message),1))),128)):m("",!0)]),e("div",ee,[e("label",te,a(r.$t("TICKET_CATEGORIES")),1),v(e("select",{class:T(["form-select px-4 block sm:mr-2",{"border-danger":o(t).category_id.$error}]),"aria-label":"Default select example","onUpdate:modelValue":i[1]||(i[1]=s=>o(t).category_id.$model=s),name:"category"},[oe,o(f).length?(l(!0),n(c,{key:0},_(o(f),s=>(l(),n("option",{key:s.id,value:s.id},a(s.name),9,se))),128)):m("",!0)],2),[[U,o(t).category_id.$model]]),o(t).category_id.$error?(l(!0),n(c,{key:0},_(o(t).category_id.$errors,(s,d)=>(l(),n("div",{key:d,class:"text-danger mt-2"},a(s.$message),1))),128)):m("",!0)]),e("div",re,[e("label",ae,a(r.$t("TICKET_CONTENT")),1),v(e("textarea",{"onUpdate:modelValue":i[2]||(i[2]=s=>o(t).content.$model=s),class:T(["form-control",{"border-danger":o(t).content.$error}]),name:"content",placeholder:r.$t("TYPE_TICKET_CONTENT"),rows:"5"},null,10,le),[[E,o(t).content.$model,void 0,{trim:!0}]]),o(t).content.$error?(l(!0),n(c,{key:0},_(o(t).content.$errors,(s,d)=>(l(),n("div",{key:d,class:"text-danger mt-2"},a(s.$message),1))),128)):m("",!0)]),e("button",{type:"submit",class:"btn btn-primary mt-5",disabled:u.value},[q(a(r.$t("SAVE"))+" ",1),u.value?(l(),B(k,{key:0,icon:"oval",color:"white",class:"w-4 h-4 ml-2"})):m("",!0)],8,ne)],40,W)])]),_:1})])])],64)}}};export{me as default};

View File

@ -1 +1 @@
import{q as w,K as I,N as L,D as N,v as C,r as E,e as r,f as e,g as V,t as l,O as p,P as x,h as o,n as _,F as h,i as v,j as u,M as g,l as M,E as S,a as B,k as O,c as n}from"./index.75616642.js";import{_ as T}from"./Main.4c0f7daa.js";import{u as A,r as k,e as D,m as F,a as G,n as U}from"./index.esm.5dc79c4a.js";import"./Main.eac7e8c5.js";const q={class:"container"},K={class:"block xl:grid grid-cols-2 gap-4"},P={class:"h-screen xl:h-auto flex py-5 xl:py-0 my-10 xl:my-0"},R={class:"my-auto mx-auto xl:ml-20 bg-white dark:bg-darkmode-600 xl:bg-transparent px-5 sm:px-8 py-8 xl:p-0 rounded-md shadow-md xl:shadow-none w-full sm:w-3/4 lg:w-2/4 xl:w-auto"},j={class:"intro-x font-bold text-2xl xl:text-3xl text-center xl:text-left"},z={class:"intro-x mt-2 text-slate-400 dark:text-slate-400 xl:hidden text-center"},Y={class:"intro-x mt-8"},H=["placeholder"],J={class:"relative"},Q=["placeholder"],W={class:"intro-x mt-5 xl:mt-8 text-center xl:text-left"},X=["onClick","disabled"],Z=["onClick"],le={__name:"EmailVerify",setup(ee){const i=w(!1),m=I({email:"",token:""}),f={email:{required:k,email:D},token:{required:k,minLength:F(5),maxLength:G(5),numeric:U}},t=A(f,L(m)),y=async()=>{const s=B();t.value.$touch(),t.value.$invalid||(i.value=!0,await s.verifyEmail(m.email,m.token),i.value=!1)},$=()=>O.push({path:"/login"});return N(()=>{C("body").removeClass("main").removeClass("error-page").addClass("login")}),(s,d)=>{const b=E("LoadingIcon");return n(),r("div",null,[e("div",q,[e("div",K,[V(T),e("div",P,[e("div",R,[e("h2",j,l(s.$t("VERIFY_EMAIL")),1),e("div",z,l(s.$t("SING_IN_MOTIVATION_MOBILE")),1),e("div",Y,[p(e("input",{type:"text","onUpdate:modelValue":d[0]||(d[0]=a=>o(t).email.$model=a),class:_(["intro-x login__input form-control py-3 px-4 block mt-4",{"border-danger":o(t).email.$error}]),placeholder:s.$t("EMAIL")},null,10,H),[[x,o(t).email.$model,void 0,{trim:!0}]]),o(t).email.$error?(n(!0),r(h,{key:0},v(o(t).email.$errors,(a,c)=>(n(),r("div",{key:c,class:"text-danger mt-2"},l(a.$message),1))),128)):u("",!0),e("div",J,[p(e("input",{type:"text","onUpdate:modelValue":d[1]||(d[1]=a=>o(t).token.$model=a),class:_(["login__input form-control py-3 px-4 block mt-4",{"border-danger":o(t).token.$error}]),placeholder:s.$t("TOKEN"),name:"token"},null,10,Q),[[x,o(t).token.$model,void 0,{trim:!0}]])]),o(t).token.$error?(n(!0),r(h,{key:1},v(o(t).token.$errors,(a,c)=>(n(),r("div",{key:c,class:"text-danger mt-2"},l(a.$message),1))),128)):u("",!0)]),e("div",W,[e("button",{class:"btn btn-primary py-3 px-4 xl:mr-3 align-top w-full xl:w-auto custom-btns",onClick:g(y,["prevent"]),disabled:i.value},[M(l(s.$t("SIGN_UP"))+" ",1),i.value?(n(),S(b,{key:0,icon:"oval",color:"white",class:"w-4 h-4 ml-2"})):u("",!0)],8,X),e("button",{class:"btn btn-outline-secondary py-3 px-4 mt-3 xl:mt-0 align-top w-full xl:w-auto custom-btns",onClick:g($,["prevent"])},l(s.$t("SIGN_IN")),9,Z)])])])])])])}}};export{le as default}; import{q as w,K as I,N as L,D as N,v as C,r as E,e as r,f as e,g as V,t as l,O as p,P as x,h as o,n as _,F as h,i as v,j as u,M as g,l as M,E as S,a as B,k as O,c as n}from"./index.86e1cebf.js";import{_ as T}from"./Main.27f3939b.js";import{u as A,r as k,e as D,m as F,a as G,n as U}from"./index.esm.1c33b54f.js";import"./Main.7a6f5f37.js";const q={class:"container"},K={class:"block xl:grid grid-cols-2 gap-4"},P={class:"h-screen xl:h-auto flex py-5 xl:py-0 my-10 xl:my-0"},R={class:"my-auto mx-auto xl:ml-20 bg-white dark:bg-darkmode-600 xl:bg-transparent px-5 sm:px-8 py-8 xl:p-0 rounded-md shadow-md xl:shadow-none w-full sm:w-3/4 lg:w-2/4 xl:w-auto"},j={class:"intro-x font-bold text-2xl xl:text-3xl text-center xl:text-left"},z={class:"intro-x mt-2 text-slate-400 dark:text-slate-400 xl:hidden text-center"},Y={class:"intro-x mt-8"},H=["placeholder"],J={class:"relative"},Q=["placeholder"],W={class:"intro-x mt-5 xl:mt-8 text-center xl:text-left"},X=["onClick","disabled"],Z=["onClick"],le={__name:"EmailVerify",setup(ee){const i=w(!1),m=I({email:"",token:""}),f={email:{required:k,email:D},token:{required:k,minLength:F(5),maxLength:G(5),numeric:U}},t=A(f,L(m)),y=async()=>{const s=B();t.value.$touch(),t.value.$invalid||(i.value=!0,await s.verifyEmail(m.email,m.token),i.value=!1)},$=()=>O.push({path:"/login"});return N(()=>{C("body").removeClass("main").removeClass("error-page").addClass("login")}),(s,d)=>{const b=E("LoadingIcon");return n(),r("div",null,[e("div",q,[e("div",K,[V(T),e("div",P,[e("div",R,[e("h2",j,l(s.$t("VERIFY_EMAIL")),1),e("div",z,l(s.$t("SING_IN_MOTIVATION_MOBILE")),1),e("div",Y,[p(e("input",{type:"text","onUpdate:modelValue":d[0]||(d[0]=a=>o(t).email.$model=a),class:_(["intro-x login__input form-control py-3 px-4 block mt-4",{"border-danger":o(t).email.$error}]),placeholder:s.$t("EMAIL")},null,10,H),[[x,o(t).email.$model,void 0,{trim:!0}]]),o(t).email.$error?(n(!0),r(h,{key:0},v(o(t).email.$errors,(a,c)=>(n(),r("div",{key:c,class:"text-danger mt-2"},l(a.$message),1))),128)):u("",!0),e("div",J,[p(e("input",{type:"text","onUpdate:modelValue":d[1]||(d[1]=a=>o(t).token.$model=a),class:_(["login__input form-control py-3 px-4 block mt-4",{"border-danger":o(t).token.$error}]),placeholder:s.$t("TOKEN"),name:"token"},null,10,Q),[[x,o(t).token.$model,void 0,{trim:!0}]])]),o(t).token.$error?(n(!0),r(h,{key:1},v(o(t).token.$errors,(a,c)=>(n(),r("div",{key:c,class:"text-danger mt-2"},l(a.$message),1))),128)):u("",!0)]),e("div",W,[e("button",{class:"btn btn-primary py-3 px-4 xl:mr-3 align-top w-full xl:w-auto custom-btns",onClick:g(y,["prevent"]),disabled:i.value},[M(l(s.$t("SIGN_UP"))+" ",1),i.value?(n(),S(b,{key:0,icon:"oval",color:"white",class:"w-4 h-4 ml-2"})):u("",!0)],8,X),e("button",{class:"btn btn-outline-secondary py-3 px-4 mt-3 xl:mt-0 align-top w-full xl:w-auto custom-btns",onClick:g($,["prevent"])},l(s.$t("SIGN_IN")),9,Z)])])])])])])}}};export{le as default};

1
dist/assets/Main.1ad65a4c.css vendored Normal file
View File

@ -0,0 +1 @@
.custom-btns[data-v-194ecf0d]{min-width:128px}.form-check-input[type=radio][data-v-194ecf0d],.login .login__input[data-v-194ecf0d],.form-select[data-v-194ecf0d]{border-color:rgb(var(--color-slate-400) / var(--tw-border-opacity))}

1
dist/assets/Main.2055f8b3.js vendored Normal file
View File

@ -0,0 +1 @@
import{_ as S,K as V,q as g,J as u,N as D,D as P,v as G,r as w,e as n,f as e,g as _,t as a,O as b,P as y,h as o,n as I,F as $,i as k,j as p,af as U,l as L,E as N,M as A,w as B,a as E,c as l,k as F}from"./index.86e1cebf.js";import{c as x,r as M,e as q,m as K,u as j}from"./index.esm.1c33b54f.js";import{L as H}from"./Main.7a6f5f37.js";import{_ as Q}from"./Main.27f3939b.js";import{_ as W}from"./Main.4ab270f3.js";const z={class:"container"},J={class:"block xl:grid grid-cols-2 gap-4"},Y={class:"h-screen xl:h-auto md:flex py-5 xl:py-0 my-10 xl:my-0"},X={class:"md:hidden mb-6"},Z={class:"text-center text-white text-lg ml-3"},ee={class:"my-auto mx-auto xl:ml-20 bg-white dark:bg-darkmode-600 xl:bg-transparent px-5 sm:px-8 py-8 xl:p-0 rounded-md shadow-md xl:shadow-none w-full sm:w-3/4 lg:w-2/4 xl:w-auto"},te={class:"flex items-center justify-between"},se={class:"intro-x font-bold text-2xl xl:text-3xl text-center xl:text-left"},oe={class:"intro-x mt-2 text-slate-400 xl:hidden text-center"},ae={class:"intro-x mt-8"},re=["placeholder"],le=["placeholder","onKeyup"],ne={class:"intro-x flex text-slate-600 dark:text-slate-500 text-xs sm:text-sm mt-4"},ie={class:"intro-x mt-5 xl:mt-8 text-center xl:text-left"},de=["onClick"],ce={class:"intro-x mt-5 xl:mt-8 text-primary xl:text-left"},me=["onClick"],ue={__name:"Main",setup(_e){const i=V({email:"",password:""}),d=g(!1),c=g(!1),O={email:{required:x.withMessage(u.global.t("REQUIRED_VALIDATION"),M),email:x.withMessage(u.global.t("EMAIL_VALIDATION"),q)},password:{required:x.withMessage(u.global.t("REQUIRED_VALIDATION"),M),minLength:x.withMessage(u.global.t("MIN_LENGTH_VALIDATION",{min:8}),K(8))}},t=j(O,D(i)),h=async()=>{if(d.value)return;const s=E();t.value.$touch(),!t.value.$invalid&&(d.value=!0,await s.login(i.email,i.password),d.value=!1)},T=async()=>{if(c.value||(t.value.email.$touch(),t.value.email.$invalid))return;c.value=!0,await E().forgotPassword(i.email),c.value=!1},C=()=>F.push({path:"/register"});return P(()=>{G("body").removeClass("main").removeClass("error-page").addClass("login")}),(s,m)=>{const f=w("LoadingIcon"),R=w("i18n-t");return l(),n("div",null,[e("div",z,[e("div",J,[_(Q),e("div",Y,[e("div",X,[e("a",null,[_(H,{class:"mx-auto"}),e("div",Z,a(s.$t("APP_TITLE")),1)])]),e("div",ee,[e("div",te,[e("h2",se,a(s.$t("SIGN_IN")),1),_(W)]),e("div",oe,a(s.$t("SING_IN_MOTIVATION_MOBILE")),1),e("div",ae,[b(e("input",{type:"text","onUpdate:modelValue":m[0]||(m[0]=r=>o(t).email.$model=r),class:I(["intro-x login__input form-control py-3 px-4 block mt-4",{"border-danger":o(t).email.$error}]),placeholder:s.$t("EMAIL")},null,10,re),[[y,o(t).email.$model,void 0,{trim:!0}]]),o(t).email.$error?(l(!0),n($,{key:0},k(o(t).email.$errors,(r,v)=>(l(),n("div",{key:v,class:"text-danger mt-2"},a(r.$message),1))),128)):p("",!0),b(e("input",{type:"password","onUpdate:modelValue":m[1]||(m[1]=r=>o(t).password.$model=r),class:I(["intro-x login__input form-control py-3 px-4 block mt-4",{"border-danger":o(t).password.$error}]),placeholder:s.$t("PASSWORD"),onKeyup:U(h,["enter"])},null,42,le),[[y,o(t).password.$model,void 0,{trim:!0}]]),o(t).password.$error?(l(!0),n($,{key:1},k(o(t).password.$errors,(r,v)=>(l(),n("div",{key:v,class:"text-danger mt-2"},a(r.$message),1))),128)):p("",!0)]),e("div",ne,[e("a",{type:"button",class:"flex items-center ml-auto cursor-pointer",onClick:T},[L(a(s.$t("FORGOT_PASSWORD"))+" ",1),c.value?(l(),N(f,{key:0,icon:"oval",class:"w-4 h-4 ml-2 primary"})):p("",!0)])]),e("div",ie,[e("button",{class:"btn btn-primary py-3 px-4 w-full xl:mr-3 align-top custom-btns",onClick:A(h,["prevent"])},[L(a(s.$t("LOGIN"))+" ",1),d.value?(l(),N(f,{key:0,icon:"oval",color:"white",class:"w-4 h-4 ml-2"})):p("",!0)],8,de)]),e("div",ce,[_(R,{keypath:"YOU_HAVE_NO_ACCOUNT",for:"REGISTER",class:"w-full text-center",tag:"p"},{default:B(()=>[e("a",{onClick:A(C,["prevent"]),href:"#",class:"font-bold underline"},a(s.$t("REGISTER")),9,me)]),_:1})])])])])])])}}};var ge=S(ue,[["__scopeId","data-v-83f9bdbc"]]);export{ge as default};

View File

@ -1 +1 @@
import{L as o}from"./Main.eac7e8c5.js";import{c as i,e as a,f as t,g as n,t as s}from"./index.75616642.js";var l="/assets/tmexlogin_small.46e10901.png";const _={class:"hidden xl:flex flex-col min-h-screen"},c={href:"",class:"-intro-x flex items-center pt-5"},r={class:"text-white text-lg ml-3 w-[50%]"},m={class:"my-auto"},d=t("img",{alt:"Midone Tailwind HTML Admin Template",class:"-intro-x 2xl:w-1/2 xl:w-1/2 -mt-16",src:l},null,-1),x={class:"-intro-x text-white font-medium text-4xl leading-tight mt-10 w-[80%]"},h={class:"-intro-x mt-5 text-lg text-white text-opacity-70 dark:text-slate-400 w-[70%]"},w={__name:"Main",setup(p){return(e,g)=>(i(),a("div",_,[t("a",c,[n(o),t("span",r,s(e.$t("APP_TITLE")),1)]),t("div",m,[d,t("div",x,s(e.$t("UNDER_APP_TITLE_DESC_ONE")),1),t("div",h,s(e.$t("UNDER_APP_TITLE_DESC_TWO")),1)])]))}};export{w as _}; import{L as o}from"./Main.7a6f5f37.js";import{c as i,e as a,f as t,g as n,t as s}from"./index.86e1cebf.js";var l="/assets/tmexlogin_small.46e10901.png";const _={class:"hidden xl:flex flex-col min-h-screen"},c={href:"",class:"-intro-x flex items-center pt-5"},r={class:"text-white text-lg ml-3 w-[50%]"},m={class:"my-auto"},d=t("img",{alt:"Midone Tailwind HTML Admin Template",class:"-intro-x 2xl:w-1/2 xl:w-1/2 -mt-16",src:l},null,-1),x={class:"-intro-x text-white font-medium text-4xl leading-tight mt-10 w-[80%]"},h={class:"-intro-x mt-5 text-lg text-white text-opacity-70 dark:text-slate-400 w-[70%]"},w={__name:"Main",setup(p){return(e,g)=>(i(),a("div",_,[t("a",c,[n(o),t("span",r,s(e.$t("APP_TITLE")),1)]),t("div",m,[d,t("div",x,s(e.$t("UNDER_APP_TITLE_DESC_ONE")),1),t("div",h,s(e.$t("UNDER_APP_TITLE_DESC_TWO")),1)])]))}};export{w as _};

1
dist/assets/Main.3c4deb04.css vendored Normal file
View File

@ -0,0 +1 @@
.custom-btns[data-v-83f9bdbc]{min-width:128px}.form-check-input[type=radio][data-v-83f9bdbc],.login .login__input[data-v-83f9bdbc],.form-select[data-v-83f9bdbc]{border-color:rgb(var(--color-slate-400) / var(--tw-border-opacity))}

View File

@ -1 +1 @@
import{q as f,b as w,S as r,r as t,c as d,E as h,w as s,g as l,f as o,e as v,i as D,t as C,n as b,F as x,J as L}from"./index.75616642.js";const T=["src"],k=["onClick"],E={class:"w-5 h-5 flex-none image-fit mr-1"},B=["src"],M={class:"ml-2 overflow-hidden"},S={class:"flex items-center"},N={href:"javascript:;",class:"font-medium truncate mr-5"},F={__name:"Main",setup(A){const n=f(""),i=[{code:"tm",label:"T\xFCrkmen dili"},{code:"ru",label:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"},{code:"en",label:"English"}],_=e=>{n.value=e,L.global.locale=e,localStorage.setItem(r,e)};return w(()=>{const e=localStorage.getItem(r);console.log("LANG: "+e),e?n.value=e:n.value="tm"}),(e,I)=>{const m=t("DropdownToggle"),g=t("DropdownContent"),u=t("DropdownMenu"),p=t("Dropdown");return d(),h(p,{class:"intro-x w-8"},{default:s(()=>[l(m,{tag:"div",role:"button",class:"w-6 h-6 rounded-full overflow-hidden shadow-lg image-fit zoom-in scale-110"},{default:s(()=>[o("img",{alt:"flag",src:`/flags/${n.value}.png`},null,8,T)]),_:1}),l(u,{class:"pt-2"},{default:s(()=>[l(g,{tag:"div"},{default:s(()=>[(d(),v(x,null,D(i,(a,c)=>o("div",{key:c,class:b(["cursor-pointer relative flex items-center",{"mt-5":c}]),onClick:$=>_(a.code)},[o("div",E,[o("img",{alt:"Icewall Tailwind HTML Admin Template",class:"rounded-full",src:`/flags/${a.code}.png`},null,8,B)]),o("div",M,[o("div",S,[o("a",N,C(a.label),1)])])],10,k)),64))]),_:1})]),_:1})]),_:1})}}};export{F as _}; import{q as f,b as w,S as r,r as t,c as d,E as h,w as s,g as l,f as o,e as v,i as D,t as C,n as b,F as x,J as L}from"./index.86e1cebf.js";const T=["src"],k=["onClick"],E={class:"w-5 h-5 flex-none image-fit mr-1"},B=["src"],M={class:"ml-2 overflow-hidden"},S={class:"flex items-center"},N={href:"javascript:;",class:"font-medium truncate mr-5"},F={__name:"Main",setup(A){const n=f(""),i=[{code:"tm",label:"T\xFCrkmen dili"},{code:"ru",label:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"},{code:"en",label:"English"}],_=e=>{n.value=e,L.global.locale=e,localStorage.setItem(r,e)};return w(()=>{const e=localStorage.getItem(r);console.log("LANG: "+e),e?n.value=e:n.value="tm"}),(e,I)=>{const m=t("DropdownToggle"),g=t("DropdownContent"),u=t("DropdownMenu"),p=t("Dropdown");return d(),h(p,{class:"intro-x w-8"},{default:s(()=>[l(m,{tag:"div",role:"button",class:"w-6 h-6 rounded-full overflow-hidden shadow-lg image-fit zoom-in scale-110"},{default:s(()=>[o("img",{alt:"flag",src:`/flags/${n.value}.png`},null,8,T)]),_:1}),l(u,{class:"pt-2"},{default:s(()=>[l(g,{tag:"div"},{default:s(()=>[(d(),v(x,null,D(i,(a,c)=>o("div",{key:c,class:b(["cursor-pointer relative flex items-center",{"mt-5":c}]),onClick:$=>_(a.code)},[o("div",E,[o("img",{alt:"Icewall Tailwind HTML Admin Template",class:"rounded-full",src:`/flags/${a.code}.png`},null,8,B)]),o("div",M,[o("div",S,[o("a",N,C(a.label),1)])])],10,k)),64))]),_:1})]),_:1})]),_:1})}}};export{F as _};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
import{q as d,b as U,r as n,e as _,f as e,t as s,M as k,F as u,i as A,g as a,w as m,k as S,L as $,c as p,l as r,n as E}from"./index.75616642.js";const I={class:"intro-y text-lg font-medium mt-10"},N={class:"grid grid-cols-12 gap-6 mt-5"},B={class:"intro-y col-span-12 flex flex-wrap sm:flex-nowrap items-center mt-2"},T=["onClick"],L={class:"intro-y col-span-12 overflow-auto lg:overflow-visible max-w-screen-lg"},R={class:"table table-report -mt-2"},q={class:"whitespace-nowrap"},D={class:"whitespace-nowrap"},V={class:"text-center whitespace-nowrap"},j={href:"",class:"font-medium whitespace-nowrap"},F={class:"text-slate-500 flex items-center mr-3",href:"javascript:;"},X={class:"w-40"},z={class:"p-5 text-center"},H=e("div",{class:"text-3xl mt-5"},"Are you sure?",-1),W=e("div",{class:"text-slate-500 mt-2"},[r(" Do you really want to delete these records? "),e("br"),r("This process cannot be undone. ")],-1),G={class:"px-5 pb-8 text-center"},J=e("button",{type:"button",class:"btn btn-danger w-24"},"Delete",-1),P={__name:"Main",setup(K){const f="https://panel.exchange.gov.tm/api",i=d(!1),h=d(!1),l=d([]),v=()=>{console.log("onAddNewUser"),S.push({path:"/create-user"})},w=async()=>{try{l.value.splice(0);const t=await $.get(`${f}/account/clients`);l.value=[...t.data],console.log("response fetchUsers: ",l.value)}catch(t){console.log("error fetchUsers: ",t)}};return U(async()=>{h.value=!0,await w(),h.value=!1}),(t,c)=>{const b=n("MailIcon"),x=n("CheckSquareIcon"),g=n("XCircleIcon"),y=n("ModalBody"),M=n("Modal");return p(),_(u,null,[e("h2",I,s(t.$t("USERS")),1),e("div",N,[e("div",B,[e("button",{class:"btn btn-primary shadow-md mr-2",onClick:k(v,["prevent"])},s(t.$t("CREATE_USER")),9,T)]),e("div",L,[e("table",R,[e("thead",null,[e("tr",null,[e("th",q,s(t.$t("NAME_SURNAME")),1),e("th",D,s(t.$t("EMAIL")),1),e("th",V,s(t.$t("STATUS")),1)])]),e("tbody",null,[(p(!0),_(u,null,A(l.value,(o,C)=>(p(),_("tr",{key:C,class:"intro-x"},[e("td",null,[e("a",j,s(o.firstname)+" "+s(o.lastname),1)]),e("td",null,[e("a",F,[a(b,{class:"w-4 h-4 mr-2"}),r(" "+s(o.email),1)])]),e("td",X,[e("div",{class:E(["flex items-center justify-center",{"text-success":o.is_verified,"text-danger":!o.is_verified}])},[a(x,{class:"w-4 h-4 mr-2"}),r(" "+s(o.is_verified?"Active":"Inactive"),1)],2)])]))),128))])])])]),a(M,{show:i.value,onHidden:c[1]||(c[1]=o=>i.value=!1)},{default:m(()=>[a(y,{class:"p-0"},{default:m(()=>[e("div",z,[a(g,{class:"w-16 h-16 text-danger mx-auto mt-3"}),H,W]),e("div",G,[e("button",{type:"button",onClick:c[0]||(c[0]=o=>i.value=!1),class:"btn btn-outline-secondary w-24 mr-1"}," Cancel "),J])]),_:1})]),_:1},8,["show"])],64)}}};export{P as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
import{K as E,q as M,J as i,N as T,D as V,v as O,r as U,e as n,f as o,g as y,t as p,O as g,P as _,h as t,n as h,F as x,i as w,j as c,M as b,l as R,E as C,k,ad as S,L as P,c as l}from"./index.75616642.js";import{c as d,r as f,e as q,m as v,u as W}from"./index.esm.5dc79c4a.js";import{L as B}from"./Main.eac7e8c5.js";import{_ as G}from"./Main.4c0f7daa.js";const Q={class:"container sm:px-10"},H={class:"block xl:grid grid-cols-2 gap-4"},F={class:"h-screen xl:h-auto md:flex py-5 xl:py-0 my-10 xl:my-0"},K={class:"md:hidden mb-6"},j=o("div",{class:"text-center text-white text-lg ml-3"}," T\xFCrkmenistany\u0148 D\xF6wlet haryt-\xE7ig mal bir\u017Easy ",-1),z={class:"my-auto mx-auto xl:ml-20 bg-white dark:bg-darkmode-600 xl:bg-transparent px-5 sm:px-8 py-8 xl:p-0 rounded-md shadow-md xl:shadow-none w-full sm:w-3/4 lg:w-2/4 xl:w-auto"},J={class:"intro-x font-bold text-2xl xl:text-3xl text-center xl:text-left"},Y={class:"intro-x mt-8"},X=["placeholder"],Z=["placeholder"],ee=["placeholder"],te=["placeholder"],oe={class:"intro-x mt-5 xl:mt-8 text-center xl:text-left"},se=["onClick"],re=["onClick"],me={__name:"Main",setup(ae){const I="https://panel.exchange.gov.tm/api",$=E({email:"",token:"",password:"",confirm_password:""}),u=M(!1),L={email:{required:d.withMessage(i.global.t("REQUIRED_VALIDATION"),f),email:d.withMessage(i.global.t("EMAIL_VALIDATION"),q)},password:{required:d.withMessage(i.global.t("REQUIRED_VALIDATION"),f),minLength:d.withMessage(i.global.t("MIN_LENGTH_VALIDATION",{min:8}),v(8))},confirm_password:{required:d.withMessage(i.global.t("REQUIRED_VALIDATION"),f),minLength:d.withMessage(i.global.t("MIN_LENGTH_VALIDATION",{min:8}),v(8))},token:{required:d.withMessage(i.global.t("REQUIRED_VALIDATION"),f),minLength:d.withMessage(i.global.t("MIN_LENGTH_VALIDATION",{min:4}),v(4))}},e=W(L,T($)),A=()=>k.push({path:"/"}),N=async()=>{if(e.value.$touch(),!e.value.$invalid)try{const r=S();u.value=!0;const a=await P.post(`${I}/reset-password`,{formData:$});u.value=!1,r.success(a.message),k.push({path:"/"})}catch{u.value=!1}};return V(()=>{O("body").removeClass("main").removeClass("error-page").addClass("login")}),(r,a)=>{const D=U("LoadingIcon");return l(),n("div",null,[o("div",Q,[o("div",H,[y(G),o("div",F,[o("div",K,[o("a",null,[y(B,{class:"mx-auto mb-2"}),j])]),o("div",z,[o("h2",J,p(r.$t("UPDATE_PWD")),1),o("div",Y,[g(o("input",{type:"text","onUpdate:modelValue":a[0]||(a[0]=s=>t(e).email.$model=s),class:h(["intro-x login__input form-control py-3 px-4 block mt-4",{"border-danger":t(e).email.$error}]),placeholder:r.$t("EMAIL")},null,10,X),[[_,t(e).email.$model,void 0,{trim:!0}]]),t(e).email.$error?(l(!0),n(x,{key:0},w(t(e).email.$errors,(s,m)=>(l(),n("div",{key:m,class:"text-danger mt-2"},p(s.$message),1))),128)):c("",!0),g(o("input",{type:"text","onUpdate:modelValue":a[1]||(a[1]=s=>t(e).token.$model=s),class:h(["intro-x login__input form-control py-3 px-4 block mt-4",{"border-danger":t(e).token.$error}]),placeholder:r.$t("TYPE_TOKEN")},null,10,Z),[[_,t(e).token.$model,void 0,{trim:!0}]]),t(e).token.$error?(l(!0),n(x,{key:1},w(t(e).token.$errors,(s,m)=>(l(),n("div",{key:m,class:"text-danger mt-2"},p(s.$message),1))),128)):c("",!0),g(o("input",{type:"password","onUpdate:modelValue":a[2]||(a[2]=s=>t(e).password.$model=s),class:h(["intro-x login__input form-control py-3 px-4 block mt-4",{"border-danger":t(e).password.$error}]),placeholder:r.$t("PASSWORD")},null,10,ee),[[_,t(e).password.$model,void 0,{trim:!0}]]),t(e).password.$error?(l(!0),n(x,{key:2},w(t(e).password.$errors,(s,m)=>(l(),n("div",{key:m,class:"text-danger mt-2"},p(s.$message),1))),128)):c("",!0),g(o("input",{type:"password","onUpdate:modelValue":a[3]||(a[3]=s=>t(e).confirm_password.$model=s),class:h(["intro-x login__input form-control py-3 px-4 block mt-4",{"border-danger":t(e).confirm_password.$error}]),placeholder:r.$t("NEW_PASSWORD")},null,10,te),[[_,t(e).confirm_password.$model,void 0,{trim:!0}]]),t(e).confirm_password.$error?(l(!0),n(x,{key:3},w(t(e).confirm_password.$errors,(s,m)=>(l(),n("div",{key:m,class:"text-danger mt-2"},p(s.$message),1))),128)):c("",!0)]),o("div",oe,[o("button",{class:"btn btn-primary py-3 px-4 w-full xl:w-32 xl:mr-3 align-top",onClick:b(N,["prevent"])},[R(p(r.$t("UPDATE"))+" ",1),u.value?(l(),C(D,{key:0,icon:"oval",color:"white",class:"w-4 h-4 ml-2"})):c("",!0)],8,se),o("button",{class:"btn btn-outline-secondary py-3 px-4 w-full xl:w-32 mt-3 xl:mt-0 align-top",onClick:b(A,["prevent"])},p(r.$t("SIGN_IN")),9,re)])])])])])])}}};export{me as default};

View File

@ -1 +1 @@
import{_ as t,c as a,e as o,I as i}from"./index.75616642.js";const l={},e={class:"header_img"},n=i('<svg id="Group_14" data-name="Group 14" xmlns="http://www.w3.org/2000/svg" width="100" height="100.001" viewBox="0 0 100 100.001"><path id="logo_left" data-name="Path 2130" d="M12613.869,7717.147l20.387-20.38v-9.209h9.2l3.371-3.372-16.276-16.277h-15.936v20.717l-14.645,14.635Z" transform="translate(-12599.973 -7653.263)" fill="#003197" fill-rule="evenodd"></path><path id="logo_top" data-name="Path 2131" d="M14257.869,7055.751l16.273-16.274v-15.936h-20.728l-14.622-14.645-13.891,13.886,20.389,20.4h9.215v9.209Z" transform="translate(-14188.795 -7008.896)" fill="#aba17d" fill-rule="evenodd"></path><path id="logo_bottom" data-name="Path 2132" d="M13308.307,9433.256l-20.394-20.391h-9.2v-9.215l-3.371-3.357-16.274,16.274V9432.5h20.706l14.647,14.644Z" transform="translate(-13244.428 -9347.147)" fill="#0056ff" fill-rule="evenodd"></path><path id="logo_right" data-name="Path 2133" d="M15007.646,8683.345h15.934v-20.727l14.643-14.622-13.891-13.883-20.393,20.382v9.213h-9.207l-3.361,3.371Z" transform="translate(-14938.223 -8597.992)" fill="#003197" fill-rule="evenodd"></path></svg>',1),d=[n];function r(f,s,h,_,p,g){return a(),o("div",e,d)}var c=t(l,[["render",r]]);export{c as L}; import{_ as t,c as a,e as o,I as l}from"./index.86e1cebf.js";const e={},i={class:"header_img"},n=l('<svg id="Group_14" data-name="Group 14" xmlns="http://www.w3.org/2000/svg" width="100" height="100.001" viewBox="0 0 100 100.001"><path id="logo_left" data-name="Path 2130" d="M12613.869,7717.147l20.387-20.38v-9.209h9.2l3.371-3.372-16.276-16.277h-15.936v20.717l-14.645,14.635Z" transform="translate(-12599.973 -7653.263)" fill="#003197" fill-rule="evenodd"></path><path id="logo_top" data-name="Path 2131" d="M14257.869,7055.751l16.273-16.274v-15.936h-20.728l-14.622-14.645-13.891,13.886,20.389,20.4h9.215v9.209Z" transform="translate(-14188.795 -7008.896)" fill="#aba17d" fill-rule="evenodd"></path><path id="logo_bottom" data-name="Path 2132" d="M13308.307,9433.256l-20.394-20.391h-9.2v-9.215l-3.371-3.357-16.274,16.274V9432.5h20.706l14.647,14.644Z" transform="translate(-13244.428 -9347.147)" fill="#0056ff" fill-rule="evenodd"></path><path id="logo_right" data-name="Path 2133" d="M15007.646,8683.345h15.934v-20.727l14.643-14.622-13.891-13.883-20.393,20.382v9.213h-9.207l-3.361,3.371Z" transform="translate(-14938.223 -8597.992)" fill="#003197" fill-rule="evenodd"></path></svg>',1),d=[n];function r(f,s,h,_,p,m){return a(),o("div",i,d)}var c=t(e,[["render",r]]);export{c as L};

1
dist/assets/Main.841d1262.js vendored Normal file
View File

@ -0,0 +1 @@
import{q as _,b as k,r as n,e as p,f as e,t as s,M as A,F as u,i as S,g as a,w as m,k as U,L as $,c as h,l as c,n as E}from"./index.86e1cebf.js";const I={class:"intro-y text-lg font-medium mt-10"},N={class:"grid grid-cols-12 gap-6 mt-5"},B={class:"intro-y col-span-12 flex flex-wrap sm:flex-nowrap items-center mt-2"},T=["onClick"],L={class:"intro-y col-span-12 overflow-auto lg:overflow-visible max-w-screen-lg"},R={class:"table table-report -mt-2"},q={class:"whitespace-nowrap"},D={class:"whitespace-nowrap"},V={class:"text-center whitespace-nowrap"},j={href:"",class:"font-medium whitespace-nowrap"},F={class:"text-slate-500 flex items-center mr-3",href:"javascript:;"},X={class:"w-40"},z={class:"p-5 text-center"},H=e("div",{class:"text-3xl mt-5"},"Are you sure?",-1),W=e("div",{class:"text-slate-500 mt-2"},[c(" Do you really want to delete these records? "),e("br"),c("This process cannot be undone. ")],-1),G={class:"px-5 pb-8 text-center"},J=e("button",{type:"button",class:"btn btn-danger w-24"},"Delete",-1),P={__name:"Main",setup(K){const f="https://panel.exchange.gov.tm/api",r=_(!1),i=_(!1),d=_([]),v=()=>{console.log("onAddNewUser"),U.push({path:"/create-user"})},w=async()=>{try{i.value=!0,d.value.splice(0);const t=await $.get(`${f}/account/clients`);d.value=[...t.data],i.value=!1}catch(t){console.log("error fetchUsers: ",t),i.value=!1}};return k(async()=>{await w()}),(t,l)=>{const b=n("MailIcon"),x=n("CheckSquareIcon"),y=n("XCircleIcon"),g=n("ModalBody"),M=n("Modal");return h(),p(u,null,[e("h2",I,s(t.$t("USERS")),1),e("div",N,[e("div",B,[e("button",{class:"btn btn-primary shadow-md mr-2",onClick:A(v,["prevent"])},s(t.$t("CREATE_USER")),9,T)]),e("div",L,[e("table",R,[e("thead",null,[e("tr",null,[e("th",q,s(t.$t("NAME_SURNAME")),1),e("th",D,s(t.$t("EMAIL")),1),e("th",V,s(t.$t("STATUS")),1)])]),e("tbody",null,[(h(!0),p(u,null,S(d.value,(o,C)=>(h(),p("tr",{key:C,class:"intro-x"},[e("td",null,[e("a",j,s(o.firstname)+" "+s(o.lastname),1)]),e("td",null,[e("a",F,[a(b,{class:"w-4 h-4 mr-2"}),c(" "+s(o.email),1)])]),e("td",X,[e("div",{class:E(["flex items-center justify-center",{"text-success":o.is_verified,"text-danger":!o.is_verified}])},[a(x,{class:"w-4 h-4 mr-2"}),c(" "+s(o.is_verified?"Active":"Inactive"),1)],2)])]))),128))])])])]),a(M,{show:r.value,onHidden:l[1]||(l[1]=o=>r.value=!1)},{default:m(()=>[a(g,{class:"p-0"},{default:m(()=>[e("div",z,[a(y,{class:"w-16 h-16 text-danger mx-auto mt-3"}),H,W]),e("div",G,[e("button",{type:"button",onClick:l[0]||(l[0]=o=>r.value=!1),class:"btn btn-outline-secondary w-24 mr-1"}," Cancel "),J])]),_:1})]),_:1},8,["show"])],64)}}};export{P as default};

1
dist/assets/Main.8cc64a13.js vendored Normal file
View File

@ -0,0 +1 @@
import{_ as M,K as T,q as V,J as i,N as O,D as U,v as R,r as S,e as n,f as o,g as b,t as c,O as g,P as h,h as t,n as x,F as v,i as f,j as p,M as k,l as C,E as P,p as q,m as W,k as I,ad as B,L as G,c as l}from"./index.86e1cebf.js";import{c as d,r as w,e as Q,m as y,u as H}from"./index.esm.1c33b54f.js";import{L as F}from"./Main.7a6f5f37.js";import{_ as K}from"./Main.27f3939b.js";const j=u=>(q("data-v-194ecf0d"),u=u(),W(),u),z={class:"container sm:px-10"},J={class:"block xl:grid grid-cols-2 gap-4"},Y={class:"h-screen xl:h-auto md:flex py-5 xl:py-0 my-10 xl:my-0"},X={class:"md:hidden mb-6"},Z=j(()=>o("div",{class:"text-center text-white text-lg ml-3"}," T\xFCrkmenistany\u0148 D\xF6wlet haryt-\xE7ig mal bir\u017Easy ",-1)),ee={class:"my-auto mx-auto xl:ml-20 bg-white dark:bg-darkmode-600 xl:bg-transparent px-5 sm:px-8 py-8 xl:p-0 rounded-md shadow-md xl:shadow-none w-full sm:w-3/4 lg:w-2/4 xl:w-auto"},te={class:"intro-x font-bold text-2xl xl:text-3xl text-center xl:text-left"},oe={class:"intro-x mt-8"},se=["placeholder"],re=["placeholder"],ae=["placeholder"],le=["placeholder"],ne={class:"intro-x mt-5 xl:mt-8 text-center xl:text-left"},ie=["onClick"],de={class:"intro-x mt-5 xl:mt-8 text-primary xl:text-left"},me={class:"w-full text-center"},ce=["onClick"],pe={__name:"Main",setup(u){const L="https://panel.exchange.gov.tm/api",$=T({email:"",token:"",password:"",confirm_password:""}),_=V(!1),A={email:{required:d.withMessage(i.global.t("REQUIRED_VALIDATION"),w),email:d.withMessage(i.global.t("EMAIL_VALIDATION"),Q)},password:{required:d.withMessage(i.global.t("REQUIRED_VALIDATION"),w),minLength:d.withMessage(i.global.t("MIN_LENGTH_VALIDATION",{min:8}),y(8))},confirm_password:{required:d.withMessage(i.global.t("REQUIRED_VALIDATION"),w),minLength:d.withMessage(i.global.t("MIN_LENGTH_VALIDATION",{min:8}),y(8))},token:{required:d.withMessage(i.global.t("REQUIRED_VALIDATION"),w),minLength:d.withMessage(i.global.t("MIN_LENGTH_VALIDATION",{min:4}),y(4))}},e=H(A,O($)),N=()=>I.push({path:"/"}),D=async()=>{if(e.value.$touch(),!e.value.$invalid)try{const r=B();_.value=!0;const a=await G.post(`${L}/reset-password`,{formData:$});_.value=!1,r.success(a.message),I.push({path:"/"})}catch{_.value=!1}};return U(()=>{R("body").removeClass("main").removeClass("error-page").addClass("login")}),(r,a)=>{const E=S("LoadingIcon");return l(),n("div",null,[o("div",z,[o("div",J,[b(K),o("div",Y,[o("div",X,[o("a",null,[b(F,{class:"mx-auto mb-2"}),Z])]),o("div",ee,[o("h2",te,c(r.$t("UPDATE_PWD")),1),o("div",oe,[g(o("input",{type:"text","onUpdate:modelValue":a[0]||(a[0]=s=>t(e).email.$model=s),class:x(["intro-x login__input form-control py-3 px-4 block mt-4",{"border-danger":t(e).email.$error}]),placeholder:r.$t("EMAIL")},null,10,se),[[h,t(e).email.$model,void 0,{trim:!0}]]),t(e).email.$error?(l(!0),n(v,{key:0},f(t(e).email.$errors,(s,m)=>(l(),n("div",{key:m,class:"text-danger mt-2"},c(s.$message),1))),128)):p("",!0),g(o("input",{type:"text","onUpdate:modelValue":a[1]||(a[1]=s=>t(e).token.$model=s),class:x(["intro-x login__input form-control py-3 px-4 block mt-4",{"border-danger":t(e).token.$error}]),placeholder:r.$t("TYPE_TOKEN")},null,10,re),[[h,t(e).token.$model,void 0,{trim:!0}]]),t(e).token.$error?(l(!0),n(v,{key:1},f(t(e).token.$errors,(s,m)=>(l(),n("div",{key:m,class:"text-danger mt-2"},c(s.$message),1))),128)):p("",!0),g(o("input",{type:"password","onUpdate:modelValue":a[2]||(a[2]=s=>t(e).password.$model=s),class:x(["intro-x login__input form-control py-3 px-4 block mt-4",{"border-danger":t(e).password.$error}]),placeholder:r.$t("PASSWORD")},null,10,ae),[[h,t(e).password.$model,void 0,{trim:!0}]]),t(e).password.$error?(l(!0),n(v,{key:2},f(t(e).password.$errors,(s,m)=>(l(),n("div",{key:m,class:"text-danger mt-2"},c(s.$message),1))),128)):p("",!0),g(o("input",{type:"password","onUpdate:modelValue":a[3]||(a[3]=s=>t(e).confirm_password.$model=s),class:x(["intro-x login__input form-control py-3 px-4 block mt-4",{"border-danger":t(e).confirm_password.$error}]),placeholder:r.$t("NEW_PASSWORD")},null,10,le),[[h,t(e).confirm_password.$model,void 0,{trim:!0}]]),t(e).confirm_password.$error?(l(!0),n(v,{key:3},f(t(e).confirm_password.$errors,(s,m)=>(l(),n("div",{key:m,class:"text-danger mt-2"},c(s.$message),1))),128)):p("",!0)]),o("div",ne,[o("button",{class:"btn btn-primary py-3 px-4 xl:mr-3 align-top w-full custom-btns",onClick:k(D,["prevent"])},[C(c(r.$t("UPDATE"))+" ",1),_.value?(l(),P(E,{key:0,icon:"oval",color:"white",class:"w-4 h-4 ml-2"})):p("",!0)],8,ie)]),o("div",de,[o("p",me,[o("a",{onClick:k(N,["prevent"]),href:"#",class:"font-bold underline"},c(r.$t("SIGN_IN")),9,ce)])])])])])])])}}};var xe=M(pe,[["__scopeId","data-v-194ecf0d"]]);export{xe as default};

1
dist/assets/Main.90841018.js vendored Normal file
View File

@ -0,0 +1 @@
import{q as u,b as y,r as o,e as l,f as a,t as s,j as k,F as _,i as B,h as F,L as N,c as n,E as w,w as c,g as i,l as m}from"./index.86e1cebf.js";const L={class:"intro-y flex items-center mt-8"},V={class:"text-lg font-medium mr-auto"},$={class:"intro-y mt-5"},b={key:0,class:"m-auto text-center text-primary text-lg"},C={class:"box"},q={__name:"Main",setup(G){let r=u([]);const p="https://panel.exchange.gov.tm/api",t=u(!1),f=async()=>{try{t.value=!0,r.value.splice(0);const e=await N.get(`${p}/faqs`);r.value=[...e.data],t.value=!1}catch(e){console.log("contract error ",e),t.value=!1}};return y(async()=>{await f()}),(e,I)=>{const h=o("Accordion"),x=o("AccordionPanel"),v=o("AccordionItem"),A=o("AccordionGroup");return n(),l(_,null,[a("div",L,[a("h2",V,s(e.$t("FAQ")),1)]),a("div",$,[t.value?(n(),l("div",b,s(e.$t("LOADING"))+" ... ",1)):k("",!0),a("div",C,[(n(!0),l(_,null,B(F(r),(d,g)=>(n(),w(A,{class:"p-5",key:g},{default:c(()=>[i(v,null,{default:c(()=>[i(h,null,{default:c(()=>[m(s(d.question_text),1)]),_:2},1024),i(x,{class:"text-slate-600 dark:text-slate-500 leading-relaxed"},{default:c(()=>[m(s(d.options),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))])])],64)}}};export{q as default};

View File

@ -1 +0,0 @@
import{_ as S,K as V,q as f,J as u,N as D,D as P,v as G,r as w,e as n,f as e,g as _,t as a,O as y,P as I,h as o,n as $,F as b,i as k,j as p,af as U,l as L,E as N,M as A,w as B,a as E,c as l,k as F}from"./index.75616642.js";import{c as x,r as M,e as q,m as K,u as j}from"./index.esm.5dc79c4a.js";import{L as H}from"./Main.eac7e8c5.js";import{_ as Q}from"./Main.4c0f7daa.js";import{_ as W}from"./Main.59a33119.js";const z={class:"container"},J={class:"block xl:grid grid-cols-2 gap-4"},Y={class:"h-screen xl:h-auto md:flex py-5 xl:py-0 my-10 xl:my-0"},X={class:"md:hidden mb-6"},Z={class:"text-center text-white text-lg ml-3"},ee={class:"my-auto mx-auto xl:ml-20 bg-white dark:bg-darkmode-600 xl:bg-transparent px-5 sm:px-8 py-8 xl:p-0 rounded-md shadow-md xl:shadow-none w-full sm:w-3/4 lg:w-2/4 xl:w-auto"},te={class:"flex items-center justify-between"},se={class:"intro-x font-bold text-2xl xl:text-3xl text-center xl:text-left"},oe={class:"intro-x mt-2 text-slate-400 xl:hidden text-center"},ae={class:"intro-x mt-8"},re=["placeholder"],le=["placeholder","onKeyup"],ne={class:"intro-x flex text-slate-600 dark:text-slate-500 text-xs sm:text-sm mt-4"},ie={class:"intro-x mt-5 xl:mt-8 text-center xl:text-left"},de=["onClick"],ce={class:"intro-x mt-5 xl:mt-8 text-primary xl:text-left"},me=["onClick"],ue={__name:"Main",setup(_e){const i=V({email:"",password:""}),d=f(!1),c=f(!1),O={email:{required:x.withMessage(u.global.t("REQUIRED_VALIDATION"),M),email:x.withMessage(u.global.t("EMAIL_VALIDATION"),q)},password:{required:x.withMessage(u.global.t("REQUIRED_VALIDATION"),M),minLength:x.withMessage(u.global.t("MIN_LENGTH_VALIDATION",{min:8}),K(8))}},t=j(O,D(i)),v=async()=>{if(d.value)return;const s=E();t.value.$touch(),!t.value.$invalid&&(d.value=!0,await s.login(i.email,i.password),d.value=!1)},T=async()=>{if(c.value||(t.value.email.$touch(),t.value.email.$invalid))return;c.value=!0,await E().forgotPassword(i.email),c.value=!1},C=()=>F.push({path:"/register"});return P(()=>{G("body").removeClass("main").removeClass("error-page").addClass("login")}),(s,m)=>{const g=w("LoadingIcon"),R=w("i18n-t");return l(),n("div",null,[e("div",z,[e("div",J,[_(Q),e("div",Y,[e("div",X,[e("a",null,[_(H,{class:"mx-auto mb-2"}),e("div",Z,a(s.$t("APP_TITLE")),1)])]),e("div",ee,[e("div",te,[e("h2",se,a(s.$t("SIGN_IN")),1),_(W)]),e("div",oe,a(s.$t("SING_IN_MOTIVATION_MOBILE")),1),e("div",ae,[y(e("input",{type:"text","onUpdate:modelValue":m[0]||(m[0]=r=>o(t).email.$model=r),class:$(["intro-x login__input form-control py-3 px-4 block mt-4",{"border-danger":o(t).email.$error}]),placeholder:s.$t("EMAIL")},null,10,re),[[I,o(t).email.$model,void 0,{trim:!0}]]),o(t).email.$error?(l(!0),n(b,{key:0},k(o(t).email.$errors,(r,h)=>(l(),n("div",{key:h,class:"text-danger mt-2"},a(r.$message),1))),128)):p("",!0),y(e("input",{type:"password","onUpdate:modelValue":m[1]||(m[1]=r=>o(t).password.$model=r),class:$(["intro-x login__input form-control py-3 px-4 block mt-4",{"border-danger":o(t).password.$error}]),placeholder:s.$t("PASSWORD"),onKeyup:U(v,["enter"])},null,42,le),[[I,o(t).password.$model,void 0,{trim:!0}]]),o(t).password.$error?(l(!0),n(b,{key:1},k(o(t).password.$errors,(r,h)=>(l(),n("div",{key:h,class:"text-danger mt-2"},a(r.$message),1))),128)):p("",!0)]),e("div",ne,[e("a",{type:"button",class:"flex items-center ml-auto cursor-pointer",onClick:T},[L(a(s.$t("FORGOT_PASSWORD"))+" ",1),c.value?(l(),N(g,{key:0,icon:"oval",class:"w-4 h-4 ml-2 primary"})):p("",!0)])]),e("div",ie,[e("button",{class:"btn btn-primary py-3 px-4 w-full xl:mr-3 align-top custom-btns",onClick:A(v,["prevent"])},[L(a(s.$t("LOGIN"))+" ",1),d.value?(l(),N(g,{key:0,icon:"oval",color:"white",class:"w-4 h-4 ml-2"})):p("",!0)],8,de)]),e("div",ce,[_(R,{keypath:"YOU_HAVE_NO_ACCOUNT",for:"REGISTER",class:"w-full text-center",tag:"p"},{default:B(()=>[e("a",{onClick:A(C,["prevent"]),href:"#",class:"font-bold underline"},a(s.$t("REGISTER")),9,me)]),_:1})])])])])])])}}};var fe=S(ue,[["__scopeId","data-v-cea9a940"]]);export{fe as default};

View File

@ -1 +1 @@
import{D as e,v as t,e as s,c as a,I as o}from"./index.75616642.js";var i="/assets/error-illustration.086ce2c4.svg";const r=o('<div class="container"><div class="error-page flex flex-col lg:flex-row items-center justify-center h-screen text-center lg:text-left"><div class="-intro-x lg:mr-20"><img alt="Midone Tailwind HTML Admin Template" class="h-48 lg:h-auto" src="'+i+'"></div><div class="text-white mt-10 lg:mt-0"><div class="intro-x text-8xl font-medium">404</div><div class="intro-x text-xl lg:text-3xl font-medium mt-5"> Oops. This page has gone missing. </div><div class="intro-x text-lg mt-3"> You may have mistyped the address or the page may have moved. </div><button class="intro-x btn py-3 px-4 text-white border-white dark:border-darkmode-400 dark:text-slate-200 mt-10"> Back to Home </button></div></div></div>',1),l=[r],v={__name:"Main",setup(d){return e(()=>{t("body").removeClass("main").removeClass("login").addClass("error-page")}),(n,c)=>(a(),s("div",null,l))}};export{v as default}; import{D as e,v as t,e as s,c as a,I as o}from"./index.86e1cebf.js";var i="/assets/error-illustration.086ce2c4.svg";const r=o('<div class="container"><div class="error-page flex flex-col lg:flex-row items-center justify-center h-screen text-center lg:text-left"><div class="-intro-x lg:mr-20"><img alt="Midone Tailwind HTML Admin Template" class="h-48 lg:h-auto" src="'+i+'"></div><div class="text-white mt-10 lg:mt-0"><div class="intro-x text-8xl font-medium">404</div><div class="intro-x text-xl lg:text-3xl font-medium mt-5"> Oops. This page has gone missing. </div><div class="intro-x text-lg mt-3"> You may have mistyped the address or the page may have moved. </div><button class="intro-x btn py-3 px-4 text-white border-white dark:border-darkmode-400 dark:text-slate-200 mt-10"> Back to Home </button></div></div></div>',1),l=[r],v={__name:"Main",setup(d){return e(()=>{t("body").removeClass("main").removeClass("login").addClass("error-page")}),(n,c)=>(a(),s("div",null,l))}};export{v as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
.custom-btns[data-v-cea9a940]{min-width:128px}

4
dist/assets/Main.cfe1f2e7.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
#logo_top,#logo_left,#logo_right,#logo_bottom{-webkit-animation:top 4s linear infinite;animation:top 4s linear infinite}#logo_right{-webkit-animation-delay:.3s;animation-delay:.3s}#logo_bottom{-webkit-animation-delay:.5s;animation-delay:.5s}#logo_left{-webkit-animation-delay:.8s;animation-delay:.8s}.header_img{background-color:#fff;padding:4px;border-radius:8px;width:60px;height:60px;margin-right:10px}.header_img svg{width:100%;height:100%;object-fit:contain;-o-object-fit:contain}@-webkit-keyframes top{0%{fill:#aba17d}25%{fill:#003197}50%{fill:#0056ff}75%{fill:#003197}to{fill:#aba17d}}@keyframes top{0%{fill:#aba17d}25%{fill:#003197}50%{fill:#0056ff}75%{fill:#003197}to{fill:#aba17d}} #logo_top,#logo_left,#logo_right,#logo_bottom{-webkit-animation:top 4s linear infinite;animation:top 4s linear infinite}#logo_right{-webkit-animation-delay:.3s;animation-delay:.3s}#logo_bottom{-webkit-animation-delay:.5s;animation-delay:.5s}#logo_left{-webkit-animation-delay:.8s;animation-delay:.8s}.header_img{background-color:#fff;padding:4px;border-radius:8px;width:60px;height:60px}.header_img svg{width:100%;height:100%;object-fit:contain;-o-object-fit:contain}@-webkit-keyframes top{0%{fill:#aba17d}25%{fill:#003197}50%{fill:#0056ff}75%{fill:#003197}to{fill:#aba17d}}@keyframes top{0%{fill:#aba17d}25%{fill:#003197}50%{fill:#0056ff}75%{fill:#003197}to{fill:#aba17d}}

View File

@ -1 +1 @@
import{a as V,s as D,q as O,K as U,J as p,N as P,r as b,e as d,f as e,t as r,g as I,h as s,j as u,O as h,P as v,n as w,F as g,i as E,M as q,l as C,E as F,c as n}from"./index.75616642.js";import{c as _,r as N,m as $,u as B}from"./index.esm.5dc79c4a.js";const G={class:"intro-y flex items-center mt-8"},H={class:"text-lg font-medium mr-auto"},j={class:"grid grid-cols-12 gap-6"},Q={class:"col-span-12 lg:col-span-4 2xl:col-span-3 flex lg:block flex-col-reverse"},W={class:"intro-y box mt-5"},z={class:"relative flex items-center p-5"},J={class:"w-12 h-12"},K={class:"ml-4 mr-auto"},X={key:0,class:"font-medium text-base"},Y={class:"col-span-12 lg:col-span-8 2xl:col-span-9"},Z={class:"intro-y box mt-5"},ee={class:"flex items-center p-5 border-b border-slate-200/60 dark:border-darkmode-400"},se={class:"font-medium text-base mr-auto"},te={class:"p-5"},oe={class:"grid grid-cols-12 gap-x-5"},ae={class:"col-span-12 xl:col-span-6"},re={for:"update-profile-form-1",class:"form-label"},le=["placeholder"],ne={class:"mt-3"},ie={for:"update-profile-form-2",class:"form-label"},de=["placeholder"],ce={class:"col-span-12 xl:col-span-6"},me={for:"update-profile-form-3",class:"form-label"},pe=["placeholder"],ue={class:"mt-3 xl:mt-3"},_e={for:"update-profile-form-4",class:"form-label"},fe={class:"relative"},he=["placeholder"],ve={class:"flex justify-end mt-4"},ge=["onClick","disabled"],$e={__name:"Main",setup(be){const y=V(),{user:c}=D(y);console.log("user state: ",c.value);const f=O(!1),i=U({firstname:c.value.firstname,lastname:c.value.lastname,email:c.value.email,password:""}),A={firstname:{required:_.withMessage(p.global.t("REQUIRED_VALIDATION"),N),minLength:_.withMessage(p.global.t("MIN_LENGTH_VALIDATION",{min:2}),$(2))},lastname:{required:_.withMessage(p.global.t("REQUIRED_VALIDATION"),N),minLength:_.withMessage(p.global.t("MIN_LENGTH_VALIDATION",{min:2}),$(2))},password:{minLength:_.withMessage(p.global.t("MIN_LENGTH_VALIDATION",{min:8}),$(8))}},t=B(A,P(i)),L=()=>{document.querySelector("input[name='password']").type="text"},x=()=>{document.querySelector("input[name='password']").type="password"},M=()=>i.password==="",T=async()=>{if(t.value.$touch(),!t.value.$invalid){let o={firstname:i.firstname,lastname:i.lastname},l=M()?{}:{password:i.password};f.value=!0,await y.updateClient({...o,...l}),f.value=!1,i.password=""}};return(o,l)=>{const k=b("UserIcon"),R=b("EyeIcon"),S=b("LoadingIcon");return n(),d(g,null,[e("div",G,[e("h2",H,r(o.$t("UPDATE_PROFILE")),1)]),e("div",j,[e("div",Q,[e("div",W,[e("div",z,[e("div",J,[I(k,{class:"text-dark w-12 h-12"})]),e("div",K,[s(c)?(n(),d("div",X,r(s(c).firstname)+" "+r(s(c).lastname),1)):u("",!0)])])])]),e("div",Y,[e("div",Z,[e("div",ee,[e("h2",se,r(o.$t("PERSONAL_INFO")),1)]),e("div",te,[e("div",oe,[e("div",ae,[e("div",null,[e("label",re,r(o.$t("FIRSTNAME")),1),h(e("input",{id:"update-profile-form-1",type:"text","onUpdate:modelValue":l[0]||(l[0]=a=>s(t).firstname.$model=a),class:w([{"border-danger":s(t).firstname.$error},"form-control"]),placeholder:o.$t("ENTER_FIRSTNAME")},null,10,le),[[v,s(t).firstname.$model,void 0,{trim:!0}]]),s(t).firstname.$error?(n(!0),d(g,{key:0},E(s(t).firstname.$errors,(a,m)=>(n(),d("div",{key:m,class:"text-danger mt-2"},r(a.$message),1))),128)):u("",!0)]),e("div",ne,[e("label",ie,r(o.$t("LASTNAME")),1),h(e("input",{id:"update-profile-form-2",type:"text","onUpdate:modelValue":l[1]||(l[1]=a=>s(t).lastname.$model=a),class:w([{"border-danger":s(t).lastname.$error},"form-control"]),placeholder:o.$t("ENTER_LASTNAME")},null,10,de),[[v,s(t).lastname.$model,void 0,{trim:!0}]]),s(t).lastname.$error?(n(!0),d(g,{key:0},E(s(t).lastname.$errors,(a,m)=>(n(),d("div",{key:m,class:"text-danger mt-2"},r(a.$message),1))),128)):u("",!0)])]),e("div",ce,[e("div",null,[e("label",me,r(o.$t("EMAIL")),1),h(e("input",{id:"update-profile-form-3",type:"text","onUpdate:modelValue":l[2]||(l[2]=a=>i.email=a),class:"form-control",placeholder:o.$t("ENTER_EMAIL"),disabled:""},null,8,pe),[[v,i.email,void 0,{trim:!0}]])]),e("div",ue,[e("label",_e,r(o.$t("PASSWORD")),1),e("div",fe,[h(e("input",{id:"update-profile-form-4",type:"password","onUpdate:modelValue":l[3]||(l[3]=a=>s(t).password.$model=a),class:w([{"border-danger":s(t).password.$error},"form-control"]),name:"password",placeholder:o.$t("ENTER_PASSWORD")},null,10,he),[[v,s(t).password.$model,void 0,{trim:!0}]]),I(R,{class:"block mx-auto absolute top-1/2 transform -translate-y-1/2 right-3 text-slate-400 cursor-pointer",onMousedown:L,onMouseup:x})]),s(t).password.$error?(n(!0),d(g,{key:0},E(s(t).password.$errors,(a,m)=>(n(),d("div",{key:m,class:"text-danger mt-2"},r(a.$message),1))),128)):u("",!0)])])]),e("div",ve,[e("button",{type:"button",class:"btn btn-primary w-20 mr-auto",onClick:q(T,["prevent"]),disabled:f.value},[C(r(o.$t("SAVE"))+" ",1),f.value?(n(),F(S,{key:0,icon:"oval",color:"white",class:"w-4 h-4 ml-2"})):u("",!0)],8,ge)])])])])])],64)}}};export{$e as default}; import{a as V,s as D,q as O,K as U,J as p,N as P,r as b,e as d,f as e,t as r,g as I,h as s,j as u,O as h,P as v,n as w,F as g,i as E,M as q,l as C,E as F,c as n}from"./index.86e1cebf.js";import{c as _,r as N,m as $,u as B}from"./index.esm.1c33b54f.js";const G={class:"intro-y flex items-center mt-8"},H={class:"text-lg font-medium mr-auto"},j={class:"grid grid-cols-12 gap-6"},Q={class:"col-span-12 lg:col-span-4 2xl:col-span-3 flex lg:block flex-col-reverse"},W={class:"intro-y box mt-5"},z={class:"relative flex items-center p-5"},J={class:"w-12 h-12"},K={class:"ml-4 mr-auto"},X={key:0,class:"font-medium text-base"},Y={class:"col-span-12 lg:col-span-8 2xl:col-span-9"},Z={class:"intro-y box mt-5"},ee={class:"flex items-center p-5 border-b border-slate-200/60 dark:border-darkmode-400"},se={class:"font-medium text-base mr-auto"},te={class:"p-5"},oe={class:"grid grid-cols-12 gap-x-5"},ae={class:"col-span-12 xl:col-span-6"},re={for:"update-profile-form-1",class:"form-label"},le=["placeholder"],ne={class:"mt-3"},ie={for:"update-profile-form-2",class:"form-label"},de=["placeholder"],ce={class:"col-span-12 xl:col-span-6"},me={for:"update-profile-form-3",class:"form-label"},pe=["placeholder"],ue={class:"mt-3 xl:mt-3"},_e={for:"update-profile-form-4",class:"form-label"},fe={class:"relative"},he=["placeholder"],ve={class:"flex justify-end mt-4"},ge=["onClick","disabled"],$e={__name:"Main",setup(be){const y=V(),{user:c}=D(y);console.log("user state: ",c.value);const f=O(!1),i=U({firstname:c.value.firstname,lastname:c.value.lastname,email:c.value.email,password:""}),A={firstname:{required:_.withMessage(p.global.t("REQUIRED_VALIDATION"),N),minLength:_.withMessage(p.global.t("MIN_LENGTH_VALIDATION",{min:2}),$(2))},lastname:{required:_.withMessage(p.global.t("REQUIRED_VALIDATION"),N),minLength:_.withMessage(p.global.t("MIN_LENGTH_VALIDATION",{min:2}),$(2))},password:{minLength:_.withMessage(p.global.t("MIN_LENGTH_VALIDATION",{min:8}),$(8))}},t=B(A,P(i)),L=()=>{document.querySelector("input[name='password']").type="text"},x=()=>{document.querySelector("input[name='password']").type="password"},M=()=>i.password==="",T=async()=>{if(t.value.$touch(),!t.value.$invalid){let o={firstname:i.firstname,lastname:i.lastname},l=M()?{}:{password:i.password};f.value=!0,await y.updateClient({...o,...l}),f.value=!1,i.password=""}};return(o,l)=>{const k=b("UserIcon"),R=b("EyeIcon"),S=b("LoadingIcon");return n(),d(g,null,[e("div",G,[e("h2",H,r(o.$t("UPDATE_PROFILE")),1)]),e("div",j,[e("div",Q,[e("div",W,[e("div",z,[e("div",J,[I(k,{class:"text-dark w-12 h-12"})]),e("div",K,[s(c)?(n(),d("div",X,r(s(c).firstname)+" "+r(s(c).lastname),1)):u("",!0)])])])]),e("div",Y,[e("div",Z,[e("div",ee,[e("h2",se,r(o.$t("PERSONAL_INFO")),1)]),e("div",te,[e("div",oe,[e("div",ae,[e("div",null,[e("label",re,r(o.$t("FIRSTNAME")),1),h(e("input",{id:"update-profile-form-1",type:"text","onUpdate:modelValue":l[0]||(l[0]=a=>s(t).firstname.$model=a),class:w([{"border-danger":s(t).firstname.$error},"form-control"]),placeholder:o.$t("ENTER_FIRSTNAME")},null,10,le),[[v,s(t).firstname.$model,void 0,{trim:!0}]]),s(t).firstname.$error?(n(!0),d(g,{key:0},E(s(t).firstname.$errors,(a,m)=>(n(),d("div",{key:m,class:"text-danger mt-2"},r(a.$message),1))),128)):u("",!0)]),e("div",ne,[e("label",ie,r(o.$t("LASTNAME")),1),h(e("input",{id:"update-profile-form-2",type:"text","onUpdate:modelValue":l[1]||(l[1]=a=>s(t).lastname.$model=a),class:w([{"border-danger":s(t).lastname.$error},"form-control"]),placeholder:o.$t("ENTER_LASTNAME")},null,10,de),[[v,s(t).lastname.$model,void 0,{trim:!0}]]),s(t).lastname.$error?(n(!0),d(g,{key:0},E(s(t).lastname.$errors,(a,m)=>(n(),d("div",{key:m,class:"text-danger mt-2"},r(a.$message),1))),128)):u("",!0)])]),e("div",ce,[e("div",null,[e("label",me,r(o.$t("EMAIL")),1),h(e("input",{id:"update-profile-form-3",type:"text","onUpdate:modelValue":l[2]||(l[2]=a=>i.email=a),class:"form-control",placeholder:o.$t("ENTER_EMAIL"),disabled:""},null,8,pe),[[v,i.email,void 0,{trim:!0}]])]),e("div",ue,[e("label",_e,r(o.$t("PASSWORD")),1),e("div",fe,[h(e("input",{id:"update-profile-form-4",type:"password","onUpdate:modelValue":l[3]||(l[3]=a=>s(t).password.$model=a),class:w([{"border-danger":s(t).password.$error},"form-control"]),name:"password",placeholder:o.$t("ENTER_PASSWORD")},null,10,he),[[v,s(t).password.$model,void 0,{trim:!0}]]),I(R,{class:"block mx-auto absolute top-1/2 transform -translate-y-1/2 right-3 text-slate-400 cursor-pointer",onMousedown:L,onMouseup:x})]),s(t).password.$error?(n(!0),d(g,{key:0},E(s(t).password.$errors,(a,m)=>(n(),d("div",{key:m,class:"text-danger mt-2"},r(a.$message),1))),128)):u("",!0)])])]),e("div",ve,[e("button",{type:"button",class:"btn btn-primary w-20 mr-auto",onClick:q(T,["prevent"]),disabled:f.value},[C(r(o.$t("SAVE"))+" ",1),f.value?(n(),F(S,{key:0,icon:"oval",color:"white",class:"w-4 h-4 ml-2"})):u("",!0)],8,ge)])])])])])],64)}}};export{$e as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4
dist/index.html vendored
View File

@ -5,8 +5,8 @@
<link rel="icon" href="/fav_icon.svg" /> <link rel="icon" href="/fav_icon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>TMEX</title> <title>TMEX</title>
<script type="module" crossorigin src="/assets/index.75616642.js"></script> <script type="module" crossorigin src="/assets/index.86e1cebf.js"></script>
<link rel="stylesheet" href="/assets/index.452e02d9.css"> <link rel="stylesheet" href="/assets/index.034917a5.css">
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>

View File

@ -74,7 +74,7 @@ export default {};
border-radius: 8px; border-radius: 8px;
width: 60px; width: 60px;
height: 60px; height: 60px;
margin-right: 10px; /* margin-right: 10px; */
} }
.header_img svg { .header_img svg {

View File

@ -1,11 +1,8 @@
<template> <template>
<!-- BEGIN: Mobile Menu --> <!-- BEGIN: Mobile Menu -->
<div <div class="mobile-menu md:hidden" :class="{
class="mobile-menu md:hidden" 'mobile-menu--active': activeMobileMenu,
:class="{ }">
'mobile-menu--active': activeMobileMenu,
}"
>
<div class="mobile-menu-bar"> <div class="mobile-menu-bar">
<a href="" class="flex mr-auto"> <a href="" class="flex mr-auto">
<!-- <img <!-- <img
@ -16,47 +13,29 @@
<Logo class="w-10 h-10" /> <Logo class="w-10 h-10" />
</a> </a>
<a href="javascript:;" class="mobile-menu-toggler"> <a href="javascript:;" class="mobile-menu-toggler">
<BarChart2Icon <BarChart2Icon class="w-8 h-8 text-white transform -rotate-90" @click="toggleMobileMenu" />
class="w-8 h-8 text-white transform -rotate-90"
@click="toggleMobileMenu"
/>
</a> </a>
</div> </div>
<div class="scrollable"> <div class="scrollable">
<a href="javascript:;" class="mobile-menu-toggler"> <a href="javascript:;" class="mobile-menu-toggler">
<XCircleIcon <XCircleIcon class="w-8 h-8 text-white transform -rotate-90" @click="toggleMobileMenu" />
class="w-8 h-8 text-white transform -rotate-90"
@click="toggleMobileMenu"
/>
</a> </a>
<ul class="scrollable__content py-2"> <ul class="scrollable__content py-2">
<!-- BEGIN: First Child --> <!-- BEGIN: First Child -->
<template v-for="(menu, menuKey) in formattedMenu"> <template v-for="(menu, menuKey) in formattedMenu">
<li <li v-if="menu == 'devider'" :key="menu + menuKey" class="menu__devider my-6"></li>
v-if="menu == 'devider'"
:key="menu + menuKey"
class="menu__devider my-6"
></li>
<li v-else :key="menu + menuKey"> <li v-else :key="menu + menuKey">
<a <a href="javascript:;" class="menu" :class="{
href="javascript:;" 'menu--active': menu.active,
class="menu" 'menu--open': menu.activeDropdown,
:class="{ }" @click="linkTo(menu, router)">
'menu--active': menu.active,
'menu--open': menu.activeDropdown,
}"
@click="linkTo(menu, router)"
>
<div class="menu__icon"> <div class="menu__icon">
<component :is="menu.icon" /> <component :is="menu.icon" />
</div> </div>
<div class="menu__title"> <div class="menu__title">
{{ menu.title }} {{ $t(menu.title) }}
<div <div v-if="menu.subMenu" class="menu__sub-icon"
v-if="menu.subMenu" :class="{ 'transform rotate-180': menu.activeDropdown }">
class="menu__sub-icon"
:class="{ 'transform rotate-180': menu.activeDropdown }"
>
<ChevronDownIcon /> <ChevronDownIcon />
</div> </div>
</div> </div>
@ -64,28 +43,17 @@
<!-- BEGIN: Second Child --> <!-- BEGIN: Second Child -->
<transition @enter="enter" @leave="leave"> <transition @enter="enter" @leave="leave">
<ul v-if="menu.subMenu && menu.activeDropdown"> <ul v-if="menu.subMenu && menu.activeDropdown">
<li <li v-for="(subMenu, subMenuKey) in menu.subMenu" :key="subMenuKey">
v-for="(subMenu, subMenuKey) in menu.subMenu" <a href="javascript:;" class="menu" :class="{ 'menu--active': subMenu.active }"
:key="subMenuKey" @click="linkTo(subMenu, router)">
>
<a
href="javascript:;"
class="menu"
:class="{ 'menu--active': subMenu.active }"
@click="linkTo(subMenu, router)"
>
<div class="menu__icon"> <div class="menu__icon">
<ActivityIcon /> <ActivityIcon />
</div> </div>
<div class="menu__title"> <div class="menu__title">
{{ subMenu.title }} {{ $t(subMenu.title) }}
<div <div v-if="subMenu.subMenu" class="menu__sub-icon" :class="{
v-if="subMenu.subMenu" 'transform rotate-180': subMenu.activeDropdown,
class="menu__sub-icon" }">
:class="{
'transform rotate-180': subMenu.activeDropdown,
}"
>
<ChevronDownIcon /> <ChevronDownIcon />
</div> </div>
</div> </div>
@ -93,21 +61,14 @@
<!-- BEGIN: Third Child --> <!-- BEGIN: Third Child -->
<transition @enter="enter" @leave="leave"> <transition @enter="enter" @leave="leave">
<ul v-if="subMenu.subMenu && subMenu.activeDropdown"> <ul v-if="subMenu.subMenu && subMenu.activeDropdown">
<li <li v-for="(lastSubMenu, lastSubMenuKey) in subMenu.subMenu" :key="lastSubMenuKey">
v-for="(lastSubMenu, lastSubMenuKey) in subMenu.subMenu" <a href="javascript:;" class="menu" :class="{ 'menu--active': lastSubMenu.active }"
:key="lastSubMenuKey" @click="linkTo(lastSubMenu, router)">
>
<a
href="javascript:;"
class="menu"
:class="{ 'menu--active': lastSubMenu.active }"
@click="linkTo(lastSubMenu, router)"
>
<div class="menu__icon"> <div class="menu__icon">
<ZapIcon /> <ZapIcon />
</div> </div>
<div class="menu__title"> <div class="menu__title">
{{ lastSubMenu.title }} {{ $t(lastSubMenu.title) }}
</div> </div>
</a> </a>
</li> </li>
@ -131,7 +92,7 @@
import { computed, onMounted, ref, watch } from "vue"; import { computed, onMounted, ref, watch } from "vue";
import { useRoute, useRouter } from "vue-router"; import { useRoute, useRouter } from "vue-router";
import { helper as $h } from "@/utils/helper"; import { helper as $h } from "@/utils/helper";
import { useSideMenuStore } from "@/stores/side-menu"; import { useTopMenuStore } from "@/stores/top-menu";
import { import {
activeMobileMenu, activeMobileMenu,
toggleMobileMenu, toggleMobileMenu,
@ -147,8 +108,8 @@ import Logo from "@/components/logo/Main.vue";
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();
const formattedMenu = ref([]); const formattedMenu = ref([]);
const sideMenuStore = useSideMenuStore(); const topMenuStore = useTopMenuStore();
const mobileMenu = computed(() => nestedMenu(sideMenuStore.menu, route)); const mobileMenu = computed(() => nestedMenu(topMenuStore.menu, route));
watch( watch(
computed(() => route.path), computed(() => route.path),

View File

@ -15,7 +15,6 @@ export const locale = {
APPLICATION_PROCESS_DESCRIPTION_TWO: APPLICATION_PROCESS_DESCRIPTION_TWO:
"Воспользуйтесь значком «і» слева от документа, чтобы получить разъяснения о нем.", "Воспользуйтесь значком «і» слева от документа, чтобы получить разъяснения о нем.",
QUESTIONNAIRE_LINK: "Скачайте вопросник", QUESTIONNAIRE_LINK: "Скачайте вопросник",
STATUS: "Статус",
TICKET_LIST: "Список обращений", TICKET_LIST: "Список обращений",
NEW_TICKET_FORM: "Создать новое обращение", NEW_TICKET_FORM: "Создать новое обращение",
CREATED: "Создан", CREATED: "Создан",
@ -192,4 +191,6 @@ export const locale = {
INFO_STEP_1: INFO_STEP_1:
"ШАГ 1. Заполните профиль. Чтобы открыть форму, нажмите кнопку «Редактировать».", "ШАГ 1. Заполните профиль. Чтобы открыть форму, нажмите кнопку «Редактировать».",
INFO_STEP_2: "ШАГ 2. Подайте документы онлайн, нажав кнопку «Подать заявку».", INFO_STEP_2: "ШАГ 2. Подайте документы онлайн, нажав кнопку «Подать заявку».",
FAQ: "Frequently asked questions",
}; };

View File

@ -191,4 +191,6 @@ export const locale = {
INFO_STEP_2: "ШАГ 2. Подайте документы онлайн, нажав кнопку «Подать заявку».", INFO_STEP_2: "ШАГ 2. Подайте документы онлайн, нажав кнопку «Подать заявку».",
INFO_FORM: `Заполните все поля. Проверьте правильность внесенной информации, поскольку все данные из этого раздела автоматически отобразятся в «Вопроснике», необходимого для регистрации. Обратите внимание, что Вы сможете подать документы онлайн только когда заполнены все поля в этом разделе.`, INFO_FORM: `Заполните все поля. Проверьте правильность внесенной информации, поскольку все данные из этого раздела автоматически отобразятся в «Вопроснике», необходимого для регистрации. Обратите внимание, что Вы сможете подать документы онлайн только когда заполнены все поля в этом разделе.`,
FAQ: "Часто задаваемые вопросы",
}; };

View File

@ -164,14 +164,11 @@ export const locale = {
REGISTER_DATE: "Hasaba alyş senesi", REGISTER_DATE: "Hasaba alyş senesi",
STATUS: "Ýagdaýy", STATUS: "Ýagdaýy",
REMARK: "Bellik", REMARK: "Bellik",
APPLICATION_ACCEPTED_BY: APPLICATION_ACCEPTED_BY: "Arza admin: {accepted_by} tarapyndan kabul edildi.",
"Arza admin: {accepted_by} tarapyndan kabul edildi.",
APPLICATION_ACCEPTED_DATE: "Kabul edilen senesi: {accepted_date}.", APPLICATION_ACCEPTED_DATE: "Kabul edilen senesi: {accepted_date}.",
APPLICATION_APPROVED_BY: APPLICATION_APPROVED_BY: "Arza admin: {approved_by} tarapyndan tassyklandy.",
"Arza admin: {approved_by} tarapyndan tassyklandy.",
APPLICATION_APPROVED_DATE: "Tassyklanan senesi: {approved_date}.", APPLICATION_APPROVED_DATE: "Tassyklanan senesi: {approved_date}.",
APPLICATION_NEEDS_TO_BE_IMPROVED_TEXT_INTRO: APPLICATION_NEEDS_TO_BE_IMPROVED_TEXT_INTRO: "Siziň arzaňyzda düzedilmeli kemçilikler bar.",
"Siziň arzaňyzda düzedilmeli kemçilikler bar.",
LEG_BTN_DRAFT: "Arza geç", LEG_BTN_DRAFT: "Arza geç",
LEG_BTN_REFINE: "Arza geç", LEG_BTN_REFINE: "Arza geç",
@ -191,4 +188,6 @@ export const locale = {
INFO_STEP_2: `Ädim 2. "Arza tabşyrmak" düwmesine basyp, resminamalary onlaýn tabşyryň.`, INFO_STEP_2: `Ädim 2. "Arza tabşyrmak" düwmesine basyp, resminamalary onlaýn tabşyryň.`,
INFO_FORM: `Ähli meýdançalary dolduryň. Girizilen maglumatlaryň dogrulygyny barlaň, sebäbi bu bölümdäki maglumatlar awtomatiki usulda hasaba alynmak üçin zerur bolan "Sowalnama" geçer. Üns beriň, şu bölümde ähli meýdançalary dolduranyňyzdan soň resminamalary onlaýn tabşyrmaga mümkinçilik dörär.`, INFO_FORM: `Ähli meýdançalary dolduryň. Girizilen maglumatlaryň dogrulygyny barlaň, sebäbi bu bölümdäki maglumatlar awtomatiki usulda hasaba alynmak üçin zerur bolan "Sowalnama" geçer. Üns beriň, şu bölümde ähli meýdançalary dolduranyňyzdan soň resminamalary onlaýn tabşyrmaga mümkinçilik dörär.`,
FAQ: "Sorag-jogap",
}; };

View File

@ -36,26 +36,11 @@ const routes = [
name: "profile-form", name: "profile-form",
component: () => import("../views/profile-forms/ProfileForm.vue"), component: () => import("../views/profile-forms/ProfileForm.vue"),
}, },
/* {
path: "contacts-form",
name: "contacts",
component: () => import("../views/profile-forms/Contacts.vue"),
},
{ {
path: "bank-form", path: "faq",
name: "bank-account", name: "faq",
component: () => import("../views/profile-forms/BankAccount.vue"), component: () => import("../views/faq/Main.vue"),
}, },
{
path: "business-form",
name: "business",
component: () => import("../views/profile-forms/ProfileForm.vue"),
},
{
path: "company-form",
name: "company",
component: () => import("../views/profile-forms/Company.vue"),
}, */
{ {
path: "contracts", path: "contracts",
name: "contracts", name: "contracts",

View File

@ -23,6 +23,11 @@ export const useTopMenuStore = defineStore("topMenu", {
pageName: "create-ticket", pageName: "create-ticket",
title: "NEW_TICKET", title: "NEW_TICKET",
}, },
{
icon: "FolderIcon",
pageName: "faq",
title: "FAQ",
},
], ],
}, },
{ {

View File

@ -12,7 +12,7 @@
</div> </div>
<div v-else-if="isLoading" <div v-else-if="isLoading"
class="flex sm:w-2/3 intro-y grid grid-cols-1 lg:grid-cols-1 text-center m-auto text-primary text-lg"> class="flex sm:w-2/3 intro-y grid grid-cols-1 lg:grid-cols-1 text-center m-auto text-primary text-lg">
{{ $t('LOADING') }} .. {{ $t('LOADING') }} ...
</div> </div>
<div v-else-if="!hasNumber" <div v-else-if="!hasNumber"
class="flex sm:w-2/3 intro-y grid grid-cols-1 lg:grid-cols-1 text-center m-auto text-primary text-lg"> class="flex sm:w-2/3 intro-y grid grid-cols-1 lg:grid-cols-1 text-center m-auto text-primary text-lg">

View File

@ -1,126 +0,0 @@
<template>
<div class="intro-y mt-8">
<div class="lg:flex">
<div class="flex flex-col sm:w-1/3 ">
<div class="flex m-auto">
<Calculator @on-enter="(number) => onEnter(number)" />
</div>
</div>
<div class="flex sm:w-2/3 mx-auto mt-20 text-3xl text-primary">
<div v-if="firstTouched" class="w-3/4">
<div v-if="isLoading">
{{ $t('LOADING') }} ...
</div>
<div v-else>
<div v-if="hasNumber" class=" text-base text-black">
<PreviewComponent class="intro-y box py-4">
<div class="mt-2 p-2 font-medium text-center"> {{ contract.Workflow }} </div>
<div>
<div class="flex pl-4 m-2">
<div class="flex items-center">
<div class="font-medium">{{ $t('INPUT_NUMBER') }} :</div>
<div class="pl-3">{{ contract.InputNumber }}</div>
</div>
</div>
<div class="flex pl-4 m-2">
<div class="flex items-center">
<div class="font-medium">{{ $t('INPUT_DATE') }} :</div>
<div class="pl-3">{{ contract.InputDate }}</div>
</div>
</div>
<div class="flex pl-4 m-2">
<div class="flex items-center">
<div class="font-medium">{{ $t('REGISTER_DATE') }} :</div>
<div class="pl-3">{{ contract.RegDate }}</div>
</div>
</div>
<div class="flex pl-4 m-2">
<div class="flex items-center">
<div class="font-medium">{{ $t('STATUS') }} :</div>
<div class="pl-3">{{ contract.Status }}</div>
</div>
</div>
<div class="flex pl-4 m-2">
<div class="flex items-center">
<div class="font-medium"> {{ $t('REMARK') }}:</div>
<div class="pl-3">{{ contract.Remark }}</div>
</div>
</div>
</div>
</PreviewComponent>
</div>
<div v-else>
{{ $t('DATA_NOT_FOUND') }}
</div>
</div>
</div>
<div v-else class="text-center">
{{ $t('FIRST_TOUCH_WARNING') }}
</div>
</div>
</div>
</div>
</template>
<script setup>
import Calculator from "@/components/calculator/Main.vue";
import { fetchWrapper } from "@/api";
import { ref, reactive } from "vue";
import { helper as $h } from "@/utils/helper";
const baseUrl = `${import.meta.env.VITE_API_URL}/api`;
const isLoading = ref(false);
const hasNumber = ref(false);
const firstTouched = ref(false);
let contract = reactive({});
const onEnter = async (number) => {
// reset contract
Object.assign(contract, {});
firstTouched.value = true;
console.log("NUMBER ENTERED: " + number);
try {
hasNumber.value = false;
isLoading.value = true;
// await delay(2000)
const response = await fetchWrapper.post(
`${baseUrl}/contract`,
{
"number": number
}
);
isLoading.value = false;
if ('data' in response) {
Object.assign(contract, response.data);
contract.InputDate = $h.formatDate(contract.InputDate, "DD.MM.YYYY");
contract.RegDate = $h.formatDate(contract.RegDate, "DD.MM.YYYY");
console.log("contract: ", contract);
hasNumber.value = true;
}
} catch (error) {
console.log("contract error ", error);
isLoading.value = false;
hasNumber.value = false;
}
};
</script>

63
src/views/faq/Main.vue Normal file
View File

@ -0,0 +1,63 @@
<template>
<div class="intro-y flex items-center mt-8">
<h2 class="text-lg font-medium mr-auto">{{ $t('FAQ') }}</h2>
</div>
<!-- BEGIN: FAQ Content -->
<div class="intro-y mt-5">
<div v-if="isLoading" class="m-auto text-center text-primary text-lg">
{{ $t('LOADING') }} ...
</div>
<div class="box">
<AccordionGroup class="p-5" v-for="(faq, faqKey) in FAQs" :key="faqKey">
<AccordionItem>
<Accordion>
{{ faq.question_text }}
</Accordion>
<AccordionPanel class="text-slate-600 dark:text-slate-500 leading-relaxed">
{{ faq.options }}
</AccordionPanel>
</AccordionItem>
</AccordionGroup>
</div>
</div>
<!-- END: FAQ Content -->
</template>
<script setup>
import { fetchWrapper } from "@/api";
import { ref, reactive, onBeforeMount, onMounted } from "vue";
import { delay } from "@/helpers";
let FAQs = ref([]);
const baseUrl = `${import.meta.env.VITE_API_URL}/api`;
const isLoading = ref(false);
const fetchFAQs = async () => {
try {
isLoading.value = true;
FAQs.value.splice(0);
// await delay(2000)
const response = await fetchWrapper.get(`${baseUrl}/faqs`);
FAQs.value = [...response['data']];
isLoading.value = false;
} catch (error) {
console.log("contract error ", error);
isLoading.value = false;
}
}
onBeforeMount(async () => {
await fetchFAQs();
});
</script>

View File

@ -10,15 +10,15 @@
<div class="h-screen xl:h-auto md:flex py-5 xl:py-0 my-10 xl:my-0"> <div class="h-screen xl:h-auto md:flex py-5 xl:py-0 my-10 xl:my-0">
<div class="md:hidden mb-6"> <div class="md:hidden mb-6">
<a> <a>
<Logo class="mx-auto mb-2" /> <Logo class="mx-auto" />
<div class="text-center text-white text-lg ml-3"> <div class="text-center text-white text-lg ml-3">
{{$t('APP_TITLE')}} {{ $t('APP_TITLE') }}
</div> </div>
</a> </a>
</div> </div>
<div <div
class="my-auto mx-auto xl:ml-20 bg-white dark:bg-darkmode-600 xl:bg-transparent px-5 sm:px-8 py-8 xl:p-0 rounded-md shadow-md xl:shadow-none w-full sm:w-3/4 lg:w-2/4 xl:w-auto"> class="my-auto mx-auto xl:ml-20 bg-white dark:bg-darkmode-600 xl:bg-transparent px-5 sm:px-8 py-8 xl:p-0 rounded-md shadow-md xl:shadow-none w-full sm:w-3/4 lg:w-2/4 xl:w-auto">
<div class="flex items-center justify-between"> <div class="flex items-center justify-between">
<h2 class="intro-x font-bold text-2xl xl:text-3xl text-center xl:text-left"> <h2 class="intro-x font-bold text-2xl xl:text-3xl text-center xl:text-left">
{{ $t("SIGN_IN") }} {{ $t("SIGN_IN") }}
@ -27,7 +27,7 @@
</div> </div>
<div class="intro-x mt-2 text-slate-400 xl:hidden text-center"> <div class="intro-x mt-2 text-slate-400 xl:hidden text-center">
{{$t('SING_IN_MOTIVATION_MOBILE')}} {{ $t('SING_IN_MOTIVATION_MOBILE') }}
</div> </div>
<div class="intro-x mt-8"> <div class="intro-x mt-8">
<input type="text" v-model.trim="validate.email.$model" <input type="text" v-model.trim="validate.email.$model"
@ -50,34 +50,25 @@
</div> </div>
<div class="intro-x flex text-slate-600 dark:text-slate-500 text-xs sm:text-sm mt-4"> <div class="intro-x flex text-slate-600 dark:text-slate-500 text-xs sm:text-sm mt-4">
<a type="button" class="flex items-center ml-auto cursor-pointer" @click="onForgotPassword"> <a type="button" class="flex items-center ml-auto cursor-pointer" @click="onForgotPassword">
{{$t('FORGOT_PASSWORD')}} {{ $t('FORGOT_PASSWORD') }}
<LoadingIcon icon="oval" class="w-4 h-4 ml-2 primary" v-if="isForgotPwdLoading" /> <LoadingIcon icon="oval" class="w-4 h-4 ml-2 primary" v-if="isForgotPwdLoading" />
</a> </a>
</div> </div>
<div class="intro-x mt-5 xl:mt-8 text-center xl:text-left"> <div class="intro-x mt-5 xl:mt-8 text-center xl:text-left">
<button class="btn btn-primary py-3 px-4 w-full xl:mr-3 align-top custom-btns" <button class="btn btn-primary py-3 px-4 w-full xl:mr-3 align-top custom-btns" @click.prevent="onLogin">
@click.prevent="onLogin"> {{ $t('LOGIN') }}
{{$t('LOGIN')}}
<LoadingIcon icon="oval" color="white" class="w-4 h-4 ml-2" v-if="isLoading" /> <LoadingIcon icon="oval" color="white" class="w-4 h-4 ml-2" v-if="isLoading" />
</button> </button>
</div> </div>
<div class="intro-x mt-5 xl:mt-8 text-primary xl:text-left"> <div class="intro-x mt-5 xl:mt-8 text-primary xl:text-left">
<i18n-t <i18n-t keypath="YOU_HAVE_NO_ACCOUNT" for="REGISTER" class="w-full text-center" tag="p">
keypath="YOU_HAVE_NO_ACCOUNT" <a @click.prevent="onRegister" href="#" class="font-bold underline">
for="REGISTER"
class="w-full text-center"
tag="p"
>
<a
@click.prevent="onRegister"
href="#"
class="font-bold underline"
>
{{ $t('REGISTER') }} {{ $t('REGISTER') }}
</a> </a>
</i18n-t> </i18n-t>
</div> </div>
</div> </div>
</div> </div>
<!-- END: Login Form --> <!-- END: Login Form -->
</div> </div>

View File

@ -90,6 +90,7 @@ const onAddNewUser = () => {
const fetchUsers = async () => { const fetchUsers = async () => {
try { try {
isLoading.value = true;
// clear array // clear array
users.value.splice(0); users.value.splice(0);
@ -97,18 +98,15 @@ const fetchUsers = async () => {
users.value = [...response['data']]; users.value = [...response['data']];
console.log("response fetchUsers: ", users.value); isLoading.value = false;
} catch (e) { } catch (e) {
console.log("error fetchUsers: ", e); console.log("error fetchUsers: ", e);
isLoading.value = false;
} }
} }
onBeforeMount(async () => { onBeforeMount(async () => {
isLoading.value = true;
await fetchUsers(); await fetchUsers();
isLoading.value = false;
}); });
</script> </script>