PageSourceSearch

https://heartbioportal.com/assets/login-DTK5NEAI.js

js heartbioportal.com collected 2026-10-04 16:25:22 UTC 7,336 bytes, 1 lines download raw bytes

1import{_ as e,u as s,s as o,N as r,a as t}from"./index-DxR1C7Xs.js";import{N as a}from"./Notification-OM5XDjz-.js";import{F as i,J as l,H as n,G as d,R as c,S as u,M as g,N as p,O as m,E as f,I as h,B as x,C as b,D as v}from"./charts-hTM29QIp.js";const y={class:"flex items-center justify-center min-h-[calc(100vh-80px)]"},w={class:"w-full max-w-md relative z-10"},k={class:"relative"},M={class:"absolute inset-0 overflow-hidden"},D={class:"relative py-8 mb-4 flex flex-col items-center"},z=["src"],B={class:"px-6"},C={class:"px-6 pb-8"},H={class:"space-y-2"},L={class:"relative"},N={class:"space-y-2"},V={class:"relative"},_={class:"text-right"},j={class:"text-center mt-6"},S={class:"fixed inset-0 -z-10 overflow-hidden pointer-events-none"};const P=e({name:"Login",setup(){const e=s(),{isDarkMode:r}=o(e);return{themeStore:e,isDarkMode:r}},components:{Notification:a,Navbar:r},data:()=>({email:"",password:"",errorMessages:[],isLoading:!1}),methods:{async login(){this.isLoading=!0,document.body.style.cursor="wait",this.errorMessages=[];try{const e=t(),[s,o]=await e.login(this.email,this.password);s?this.$router.push("/"):this.errorMessages.push(o)}catch(e){this.errorMessages.push({detail:"An unexpected error occurred. Please try again."})}finally{this.isLoading=!1,document.body.style.cursor="default"}},getCookie:function(e){var s=null;if(document.cookie&&""!=document.cookie)for(var o=document.cookie.split(";"),r=0;r<o.length;r++){var t=o[r].trim();if(t.substring(0,e.length+1)==e+"="){s=decodeURIComponent(t.substring(e.length+1));break}}return s}}},[["render",function(e,s,o,r,t,a){const P=x("navbar"),A=x("Notification"),I=x("router-link");return b(),i("section",{class:d([r.themeStore.mainBackgroundClass,"min-h-screen"])},[l(P),n("div",y,[n("div",w,[n("div",{class:d(["backdrop-blur-md rounded-2xl overflow-hidden shadow-xl transform transition-all",r.isDarkMode?"bg-gray-900/40 border border-gray-700/50 shadow-rose-500/10":"bg-white/40 border border-gray-200/50 shadow-rose-500/20"])},[n("div",k,[n("div",M,[n("div",{class:d(["absolute -inset-[150px] blur-3xl opacity-20 rounded-full",r.isDarkMode?"bg-rose-600":"bg-rose-400"]),style:{animation:"pulse 8s cubic-bezier(0.4, 0, 0.6, 1) infinite"}},null,2)]),n("div",D,[n("img",{class:"w-24 h-24 mb-2 drop-shadow-lg",src:r.isDarkMode?"/logo3_dark.png":"/logo3.png",alt:"HeartBioPortal Logo"},null,8,z),n("h2",{class:d(["text-2xl font-bold tracking-tight mt-2",r.isDarkMode?"text-white":"text-gray-900"])}," Login to HeartBioPortal ",2),n("p",{class:d(["text-sm mt-1 max-w-xs text-center",r.isDarkMode?"text-gray-300":"text-gray-600"])}," Access the world's largest cardiovascular disease genetics data ecosystem ",2)])]),n("div",B,[(b(!0),i(c,null,u(t.errorMessages,((e,s)=>(b(),v(A,{key:s,message:e.detail},null,8,["message"])))),128))]),n("div",C,[n("form",{onSubmit:s[2]||(s[2]=g(((...e)=>a.login&&a.login(...e)),["prevent"])),class:"space-y-4"},[n("div",H,[n("label",{class:d(["block text-sm font-medium",r.isDarkMode?"text-gray-200":"text-gray-700"]),for:"email"}," Email ",2),n("div",L,[n("div",{class:d(["absolute inset-y-0 left-0 flex items-center pl-3",r.isDarkMode?"text-gray-400":"text-gray-500"])},s[3]||(s[3]=[n("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor"},[n("path",{d:"M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z"}),n("path",{d:"M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z"})],-1)]),2),p(n("input",{id:"email","onUpdate:modelValue":s[0]||(s[0]=e=>t.email=e),type:"email",required:"",class:d(["block w-full pl-10 pr-3 py-3 border rounded-lg focus:ring-2 focus:outline-none transition-colors duration-200 text-sm",r.isDarkMode?"bg-gray-800/70 border-gray-700 text-white placeholder-gray-400 focus:border-rose-500 focus:ring-rose-500/30":"bg-white/70 border-gray-300 text-gray-900 placeholder-gray-400 focus:border-rose-500 focus:ring-rose-500/30"]),placeholder:"[email protected]"},null,2),[[m,t.email]])])]),n("div",N,[n("label",{class:d(["block text-sm font-medium",r.isDarkMode?"text-gray-200":"text-gray-700"]),for:"password"}," Password ",2),n("div",V,[n("div",{class:d(["absolute inset-y-0 left-0 flex items-center pl-3",r.isDarkMode?"text-gray-400":"text-gray-500"])},s[4]||(s[4]=[n("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor"},[n("path",{"fill-rule":"evenodd",d:"M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z","clip-rule":"evenodd"})],-1)]),2),p(n("input",{id:"password","onUpdate:modelValue":s[1]||(s[1]=e=>t.password=e),type:"password",required:"",class:d(["block w-full pl-10 pr-3 py-3 border rounded-lg focus:ring-2 focus:outline-none transition-colors duration-200 text-sm",r.isDarkMode?"bg-gray-800/70 border-gray-700 text-white placeholder-gray-400 focus:border-rose-500 focus:ring-rose-500/30":"bg-white/70 border-gray-300 text-gray-900 placeholder-gray-400 focus:border-rose-500 focus:ring-rose-500/30"]),placeholder:"••••••••"},null,2),[[m,t.password]])]),n("div",_,[l(I,{to:"/forgot-password",class:d(["text-xs font-medium hover:underline transition-colors",r.isDarkMode?"text-rose-300 hover:text-rose-200":"text-rose-700 hover:text-rose-800"])},{default:f((()=>s[5]||(s[5]=[h(" Forgot password? ")]))),_:1},8,["class"])])]),n("button",{type:"submit",class:d(["relative w-full flex justify-center py-3 px-4 border border-transparent roun
1ded-lg shadow-sm text-sm font-medium text-white focus:outline-none focus:ring-2 transition-all duration-300 overflow-hidden group",r.isDarkMode?"bg-rose-600 hover:bg-rose-500 focus:ring-rose-500/30":"bg-rose-700 hover:bg-rose-600 focus:ring-rose-500/30"])},s[6]||(s[6]=[n("span",{class:"flex items-center"},[n("span",{class:"mr-2"},"Sign in"),n("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 16l-4-4m0 0l4-4m-4 4h14m-5 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h7a3 3 0 013 3v1"})])],-1)]),2)],32)])],2),n("div",j,[n("p",{class:d(r.isDarkMode?"text-gray-300":"text-gray-600")},[s[8]||(s[8]=h(" Don't have an account? ")),l(I,{to:"/signup",class:d(["font-medium ml-1 transition-colors",r.isDarkMode?"text-rose-300 hover:text-rose-200":"text-rose-700 hover:text-rose-800"])},{default:f((()=>s[7]||(s[7]=[h(" Sign up now ")]))),_:1},8,["class"])],2)])])]),n("div",S,[n("div",{class:d(r.isDarkMode?"opacity-10":"opacity-20")},[n("div",{class:d(["absolute top-[20%] right-[15%] w-64 h-64 rounded-full",r.isDarkMode?"bg-rose-600/40":"bg-rose-400/40"]),style:{filter:"blur(80px)",animation:"float 15s ease-in-out infinite"}},null,2),n("div",{class:d(["absolute bottom-[30%] left-[10%] w-80 h-80 rounded-full",r.isDarkMode?"bg-rose-500/30":"bg-rose-300/30"]),style:{filter:"blur(90px)",animation:"float 18s ease-in-out infinite 2s"}},null,2),n("div",{class:d(["absolute top-[60%] right-[20%] w-72 h-72 rounded-full",r.isDarkMode?"bg-rose-400/20":"bg-rose-200/20"]),style:{filter:"blur(80px)",animation:"float 20s ease-in-out infinite 1s"}},null,2)],2),n("div",{class:d(["absolute inset-0 bg-grid-pattern bg-[length:50px_50px]",(r.isDarkMode,"opacity-[0.03]")])},null,2)])],2)}],["__scopeId","data-v-c987ef03"]]);export{P 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.