PageSourceSearch

https://portal.clickheredigital.com/assets/Login-DTtSAw3t.js

js clickheredigital.com collected 2026-10-01 16:29:51 UTC 8,224 bytes, 1 lines download raw bytes

1import{b as d,e as p,g as $,w as r,F as R,m as S,f as a,c as X,Y as ee,j as l,h as v,V as te,p as H,n as ae,_ as se,d as T,Z as le,t as oe,v as N,$ as z,a0 as j,q as ne,N as G,k as F,a1 as ie,U as b,Q as k,a2 as M,r as f,a3 as re,a4 as ue,a5 as de,I as ce,a6 as fe,M as me,B as ge,C as ve,s as pe,a7 as he,a8 as D,a9 as ye,aa as E,u as we}from"./index-DUWew8AW.js";import{V as xe,a as be}from"./VCarouselItem-CFZ3D2rm.js";import{_ as _e}from"./Logo-Dp_N0Pmi.js";import{_ as ke}from"./TwoFactorModal-BP7-GW-E.js";import"./OtpCodeInput-D397E2-Y.js";const Ce={class:"h-auto w-auto"},Ve={key:1,class:"flex h-auto lg:h-screen w-full lg:w-full p-4 lg:p-16 bg-primary bg-pattern"},Ae={__name:"Carousel",props:{slides:{type:Array,required:!0,default:()=>[]},shuffle:{type:Boolean,default:!1}},setup(y){const c=y,w=X(()=>{const h=c.slides.map(i=>`https://api.clickiqportal.com/uploads/carousel/attachments/${i.id}/${i.name}`);return c.shuffle?ee.shuffle(h):h});return(h,i)=>(d(),p("div",Ce,[w.value.length>0?(d(),$(be,{key:0,cycle:"",height:"100%","hide-delimiter-background":"","show-arrows":"hover"},{default:r(()=>[(d(!0),p(R,null,S(w.value,(x,o)=>(d(),$(xe,{key:o,src:x,cover:"",class:"w-full"},null,8,["src"]))),128))]),_:1})):(d(),p("div",Ve,[...i[0]||(i[0]=[a("div",{class:"flex flex-col justify-center w-full text-center lg:text-left lg:justify-start leading-tight lg:my-auto"},[a("h1",{class:"text-white font-semibold text-2xl lg:text-5xl"},"Welcome Back."),a("h2",{class:"text-white font-light text-xl lg:text-4xl"},"Log into your account.")],-1)])]))]))}},Le=["disabled"],Te={__name:"GoogleLoginButton",props:{service:{required:!0,type:Object},disabled:{required:!1,type:Boolean,default:!1}},emits:["handleLoginGoogle"],setup(y,{emit:c}){const w=y,h=c;function i(){h("handleLoginGoogle",w.service)}return(x,o)=>(d(),p("button",{class:ae(["w-full button-circle text-white justify-center bg-red-600",{"opacity-40":y.disabled}]),onClick:H(i,["prevent"]),disabled:y.disabled},[l(te,{size:"x-small",class:"text-white mr-3"},{default:r(()=>[...o[0]||(o[0]=[v("fab fa-google",-1)])]),_:1}),o[1]||(o[1]=v(" Login with Google ",-1))],10,Le))}},qe={class:"flex flex-col lg:flex-row-reverse"},Pe={class:"flex h-auto lg:h-screen lg:w-1/3 p-8 lg:p-16"},Fe={class:"flex flex-col justify-center leading-none m-auto w-full max-w-lg"},$e={class:"mx-2 my-6 lg:m-6"},Re={class:"my-2 lg:my-10 text-center h-10"},Be={class:"flex flex-col my-6 group"},Ue=["disabled"],Ie={class:"flex flex-col my-6 group"},Ne=["disabled"],ze={class:"flex flex-col my-6 text-right"},je={class:"mt-12"},Ge={class:"text-center flex space-x-3 justify-center"},Me={class:"flex flex-col my-6 text-center"},De={__name:"Login",setup(y){T.extend(le);const{showErrorNotification:c,showSuccessNotification:w,showWarningNotification:h}
1=we(),i=ue(),x=de(),o=f(null),q=f(null),_=f(null),C=f(null),m=f(!1),V=f(!1),B=f([]),g=f(!1),A=f({}),U=f([]);function K(){g.value=!1}async function O(){const{id:n,partnerTenant:e}=k.getters["authorization/currentTenant"];let s;o.value&&e!==!0&&(s=await b.getUsernameByEmail({email:o.value,tenantId:n}).then(t=>t.data)),q.value=s}function P(){V.value=!1}async function W(){await b.resetPassword(o.value).then(()=>{w("A password reset request has been sent to your email."),P()}).catch(()=>{c()})}async function Y(n){const e=k.state.authorization.authAccessToken||null,s=k.state.authorization.tenant.id||null;s&&e?M.verifyGoogleAccessToken(s,e).then(async t=>{const u=t.data;u.ask2FACode?(g.value=!0,C.value=e):u.set2FA?(C.value=e,g.value=!0,A.value=await b.set2FA().then(L=>L.data)):(await D(u,x),x.push(ye(i.query.redirect)??{name:"dashboard.index"}))}).catch(()=>{E(i.query.redirect),window.location=n.loginUrl}):(E(i.query.redirect),window.location=n.loginUrl)}async function I(n){if(m.value=!0,n.lastPasswordChangedAt){const e=T().diff(T(n.lastPasswordChangedAt),"day");e>=80&&e<=90&&h(`Your password is expiring soon. Please change it before ${T(n.lastPasswordChangedAt).add(90,"day").format("LL")}`)}await D(n,x,i),m.value=!1}async function Q(){var n,e;try{m.value=!0,(n=o.value)!=null&&n.trim()&&((e=_.value)!=null&&e.trim())?await b.login(o.value,_.value).then(async s=>{if(s.status===200){const t=s.data;t.ask2FACode?g.value=!0:t.set2FA?(g.value=!0,A.value=await b.set2FA().then(u=>u.data)):await I(t)}}).catch(s=>{var u,L;const t=(u=s.response)==null?void 0:u.status;t===429?c(((L=s.response.data)==null?void 0:L.message)||s.response.data||null):t===401?c("Invalid email/password combination"):t!==403&&c("There was an error logging in. Please refresh this page.")}):c("Please input a valid email and password")}finally{m.value=!1}}function Z(){B.value=k.state.authorization.tenant.tenantCarouselItems}async function J(){i.query.set2FA&&(g.value=!0,A.value=await b.set2FA().then(s=>s.data)),i.query.ask2FACode&&(g.value=!0,C.value=i.query.authAccessToken);const{id:n,partnerTenant:e}=k.state.authorization.tenant;n&&e!==!0&&M.getTenantAuthServices(n).then(s=>{U.value=s.data})}return J(),Z(),(n,e)=>{const s=re("RouterLink");return d(),p("div",qe,[l(Ae,{class:"flex carousel lg:order-last lg:w-2/3",slides:B.value,shuffle:""},null,8,["slides"]),a("div",Pe,[a("div",Fe,[a("div",$e,[l(_e)]),a("h4",Re,[q.value?(d(),p(R,{key:0},[v("Hello "+oe(q.value)+"!",1)],64)):N("",!0)]),a("form",{onSubmit:H(Q,["prevent"]),class:"max-w-xl"},[a("div",Be,[e[6]||(e[6]=a("label",{for:"email",class:"text-gray-500 font-light lg:text-sm mb-3 group-hover:text-gray-700"}," Email Address ",-1)),z(a("input",{type:"text",class:"border-gray-200 border-b outline-hidden focus:outline-hidden text-gray-700 pb-1",id:"email",autocomplete:"username","onUpdate:modelValue":e[0]||(e[0]=t=>o.value=t),onBlur:O,disabled:m.value},null,40,Ue),[[j,o.value]])]),a("div",Ie,[e[7]||(e[7]=a("label",{for:"password",class:"text-gray-500 font-light lg:text-sm mb-3 group-hover:text-gray-700"}," Password ",-1)),z(a("input",{type:"password",class:"border-gray-200 border-b outline-hidden focus:outline-hidden text-gray-700 pb-1",id:"password",autocomplete:"current-password","onUpdate:modelValue":e[1]||(e[1]=t=>_.value=t),disabled:m.value},null,8,Ne),[[j,_.value]])]),a("div",ze,[a("span",{class:"text-primary lg:text-sm hover:dark cursor-pointer",onClick:e[2]||(e[2]=t=>V.value=!0)}," Forgot your password? "),l(G,{modelValue:V.value,"onUpdate:modelValue":e[4]||(e[4]=t=>V.value=t),onKeydown:ne(P,["esc"]),persistent:"","max-width":"600px"},{default:r(()=>[l(ce,null,{default:r(()=>[l(fe,null,{default:r(()=>[...e[8]||(e[8]=[v("Reset My Password",-1)])]),_:1}),l(me,null,{default:r(()=>[l(ge,null,{default:r(()=>[l(ve,{cols:"12"},{default:r(()=>[l(pe,{modelValue:o.value,"onUpdate:modelValue":e[3]||(e[3]=t=>o.value=t),label:"Email",required:"",variant:"filled"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(he,null,{default:r(()=>[l(F,{variant:"text",color:"error",onClick:P},{default:r(()=>[...e[9]||(e[9]=[v(" Cancel ",-1)])]),_:1}),l(F,{color:"primary",onClick:W},{default:r(()=>[...e[10]||(e[10]=[v("Request New Password",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),a("div",je,[l(F,{id:"submit",type:"submit",loading:m.value,disabled:m.value,color:"primary",rounded:"",block:"",size:"large",class:"text-base! font-semibold"},{default:r(()=>[...e[11]||(e[11]=[v(" Login ",-1)])]),_:1},8,["loading","disabled"])]),(d(!0),p(R,null,S(U.value,(t,u)=>(d(),p("div",{class:"mt-8",key:u},[t.provider.toLowerCase()==="google"?(d(),$(Te,{service:t,onHandleLoginGoogle:Y,key:u,disabled:m.value},null,8,["service","disabled"])):N("",!0)]))),128)),l(ie,{class:"my-4"}),a("div",Ge,[e[13]||(e[13]=a("a",{target:"_blank",href:"//www.clickheredigital.com/privacy-policy"},"Privacy Policy",-1)),e[14]||(e[14]=a("span",{class:"text-gray-400"},"|",-1)),l(s,{to:{name:"shared.terms-of-service"}},{default:r(()=>[...e[12]||(e[12]=[v("Terms of Service",-1)])]),_:1})])],32)])]),a("div",Me,[l(G,{modelValue:g.value,"onUpdate:modelValue":e[5]||(e[5]=t=>g.value=t),width:"95%","max-width":"680"},{default:r(()=>[l(ke,{authAccessToken:C.value,onCloseDialog:K,onLoginLogic:I,password:_.value,email:o.value,qrCode:A.value},null,8,["authAccessToken","password","email","qrCode"])]),_:1},8,["modelValue"])])])}}},We=se(De,[["__scopeId","data-v-56656eb4"]]);export{We as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.