-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtmp_root.html
More file actions
4 lines (4 loc) · 31.3 KB
/
tmp_root.html
File metadata and controls
4 lines (4 loc) · 31.3 KB
1
2
3
4
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/src/styles.css" data-precedence="default"/><link rel="stylesheet" href="/@tanstack-start/styles.css?routes=__root__%2C%2F" data-tanstack-router-dev-styles="true" data-precedence="default"/><title>MedExplain AI ΓÇö Understand Your Medical Reports</title><meta name="description" content="Upload medical reports and get clear, patient-friendly AI summaries in seconds."/><meta name="author" content="MedExplain AI"/><meta property="og:title" content="MedExplain AI ΓÇö Understand Your Medical Reports"/><meta property="og:description" content="Upload medical reports and get clear, patient-friendly AI summaries in seconds."/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary"/><meta name="twitter:site" content="@MedExplainAI"/><meta name="twitter:title" content="MedExplain AI ΓÇö Understand Your Medical Reports"/><meta name="twitter:description" content="Upload medical reports and get clear, patient-friendly AI summaries in seconds."/></head><body><!--$--><div class="min-h-screen bg-background"><nav class="sticky top-0 z-50 glass"><div class="mx-auto flex max-w-6xl items-center justify-between px-6 py-3"><a class="flex items-center gap-2 active" href="/" data-status="active" aria-current="page"><div class="grid h-8 w-8 place-items-center rounded-lg gradient-medical"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 text-white" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg></div><span class="text-lg font-bold tracking-tight">MedExplain<span class="text-accent">.AI</span></span></a><div class="flex items-center gap-2"><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 w-9" aria-label="Toggle theme"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon h-5 w-5" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></button><a href="/auth" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 bg-primary shadow hover:bg-primary/90 h-9 px-4 py-2 gradient-medical text-white hover:opacity-90">Sign in</a></div></div></nav><section class="relative overflow-hidden"><div class="absolute inset-0 -z-10 opacity-30"><div class="absolute top-1/4 -left-32 h-96 w-96 rounded-full bg-primary blur-3xl"></div><div class="absolute top-1/3 -right-32 h-96 w-96 rounded-full bg-accent blur-3xl"></div></div><div class="mx-auto max-w-6xl px-6 pt-20 pb-24 text-center"><div class="mx-auto inline-flex items-center gap-2 rounded-full border bg-card/60 px-4 py-1.5 text-sm text-muted-foreground backdrop-blur"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3.5 w-3.5 text-accent" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg> AI-powered medical insights</div><h1 class="mt-6 text-5xl font-extrabold tracking-tight md:text-6xl">Understand your<!-- --> <span class="bg-gradient-to-r from-primary to-accent bg-clip-text text-transparent">medical reports</span> <!-- -->in plain English</h1><p class="mx-auto mt-6 max-w-2xl text-lg text-muted-foreground">Upload lab reports, prescriptions or discharge summaries. MedExplain AI extracts the text and writes a clear, patient-friendly summary in seconds.</p><div class="mt-8 flex justify-center gap-3"><a href="/auth" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 bg-primary shadow hover:bg-primary/90 h-10 rounded-md px-8 gradient-medical text-white hover:opacity-90"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-upload mr-2 h-4 w-4" aria-hidden="true"><path d="M12 3v12"></path><path d="m17 8-5-5-5 5"></path><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path></svg> Upload a report</a><a href="#how" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground h-10 rounded-md px-8">See how it works</a></div></div></section><section class="mx-auto max-w-6xl px-6 pb-20"><div class="grid gap-6 md:grid-cols-4"><div class="rounded-xl border bg-card text-card-foreground shadow glass p-6"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-search h-7 w-7 text-primary" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><circle cx="11.5" cy="14.5" r="2.5"></circle><path d="M13.3 16.3 15 18"></path></svg><h3 class="mt-4 text-lg font-semibold">OCR extraction</h3><p class="mt-2 text-sm text-muted-foreground">Reads scanned PDFs and images of lab reports, prescriptions and X-ray notes.</p></div><div class="rounded-xl border bg-card text-card-foreground shadow glass p-6"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain h-7 w-7 text-primary" aria-hidden="true"><path d="M12 18V5"></path><path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"></path><path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"></path><path d="M17.997 5.125a4 4 0 0 1 2.526 5.77"></path><path d="M18 18a4 4 0 0 0 2-7.464"></path><path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"></path><path d="M6 18a4 4 0 0 1-2-7.464"></path><path d="M6.003 5.125a4 4 0 0 0-2.526 5.77"></path></svg><h3 class="mt-4 text-lg font-semibold">AI analysis</h3><p class="mt-2 text-sm text-muted-foreground">Identifies key findings and explains them in language anyone can understand.</p></div><div class="rounded-xl border bg-card text-card-foreground shadow glass p-6"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-7 w-7 text-primary" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><h3 class="mt-4 text-lg font-semibold">Abnormal value alerts</h3><p class="mt-2 text-sm text-muted-foreground">Highlights values outside the reference range with severity.</p></div><div class="rounded-xl border bg-card text-card-foreground shadow glass p-6"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check h-7 w-7 text-primary" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg><h3 class="mt-4 text-lg font-semibold">Private & secure</h3><p class="mt-2 text-sm text-muted-foreground">Reports are stored privately to your account only.</p></div></div></section><section id="how" class="mx-auto max-w-6xl px-6 pb-24"><h2 class="text-center text-3xl font-bold">How it works</h2><div class="mt-12 grid gap-6 md:grid-cols-4"><div class="relative rounded-2xl border bg-card p-6"><div class="absolute -top-3 left-6 rounded-full gradient-medical px-3 py-0.5 text-xs font-semibold text-white">Step <!-- -->1</div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-upload mt-2 h-6 w-6 text-accent" aria-hidden="true"><path d="M12 3v12"></path><path d="m17 8-5-5-5 5"></path><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path></svg><h3 class="mt-3 font-semibold">Upload report</h3><p class="mt-1 text-sm text-muted-foreground">Drag-drop a PDF, JPG or PNG.</p></div><div class="relative rounded-2xl border bg-card p-6"><div class="absolute -top-3 left-6 rounded-full gradient-medical px-3 py-0.5 text-xs font-semibold text-white">Step <!-- -->2</div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-search mt-2 h-6 w-6 text-accent" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><circle cx="11.5" cy="14.5" r="2.5"></circle><path d="M13.3 16.3 15 18"></path></svg><h3 class="mt-3 font-semibold">OCR extracts text</h3><p class="mt-1 text-sm text-muted-foreground">Runs locally in your browser.</p></div><div class="relative rounded-2xl border bg-card p-6"><div class="absolute -top-3 left-6 rounded-full gradient-medical px-3 py-0.5 text-xs font-semibold text-white">Step <!-- -->3</div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain mt-2 h-6 w-6 text-accent" aria-hidden="true"><path d="M12 18V5"></path><path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"></path><path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"></path><path d="M17.997 5.125a4 4 0 0 1 2.526 5.77"></path><path d="M18 18a4 4 0 0 0 2-7.464"></path><path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"></path><path d="M6 18a4 4 0 0 1-2-7.464"></path><path d="M6.003 5.125a4 4 0 0 0-2.526 5.77"></path></svg><h3 class="mt-3 font-semibold">AI summarizes</h3><p class="mt-1 text-sm text-muted-foreground">Sections you can actually understand.</p></div><div class="relative rounded-2xl border bg-card p-6"><div class="absolute -top-3 left-6 rounded-full gradient-medical px-3 py-0.5 text-xs font-semibold text-white">Step <!-- -->4</div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text mt-2 h-6 w-6 text-accent" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><h3 class="mt-3 font-semibold">Read & download</h3><p class="mt-1 text-sm text-muted-foreground">Export as PDF or text.</p></div></div><div class="mt-12 text-center"><a href="/auth" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 bg-primary shadow hover:bg-primary/90 h-10 rounded-md px-8 gradient-medical text-white hover:opacity-90">Get started ΓÇö it's free</a></div></section><footer class="border-t py-8 text-center text-sm text-muted-foreground">MedExplain AI ┬╖ Informational only ΓÇö not a substitute for professional medical advice.</footer></div><script>(function(i){let l;try{l=JSON.parse(sessionStorage.getItem(i.storageKey)||"{}")}catch(e){console.error(e);return}const c=i.key||window.history.state?.__TSR_key,o=c?l[c]:void 0;let f=!1;if(o&&typeof o=="object")for(const e in o){const t=o[e];if(!t||typeof t!="object")continue;const r=t.scrollX,s=t.scrollY;if(!(!Number.isFinite(r)||!Number.isFinite(s))){if(e==="window")window.scrollTo({top:s,left:r}),f=!0;else if(e){let n;try{n=document.querySelector(e)}catch{continue}n&&(n.scrollLeft=r,n.scrollTop=s)}}}if(f)return;const w=window.location.hash.split("#",2)[1];if(w){const e=window.history.state?.__hashScrollIntoViewOptions??!0;if(e){const t=document.getElementById(w);t&&t.scrollIntoView(e)}return}window.scrollTo({top:0,left:0})})({"storageKey":"tsr-scroll-restoration-v1_3"});document.currentScript.remove()</script><!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script class="$tsr" id="$tsr-stream-barrier">(self.$R=self.$R||{})["tsr"]=[];self.$_TSR={h(){this.hydrated=!0,this.c()},e(){this.streamEnded=!0,this.c()},c(){this.hydrated&&this.streamEnded&&(delete self.$_TSR,delete self.$R.tsr)},p(e){this.initialized?e():this.buffer.push(e)},buffer:[]};$_TSR.router=($R=>$R[0]={manifest:$R[1]={routes:$R[2]={__root__:$R[3]={assets:$R[4]=[$R[5]={tag:"link",attrs:$R[6]={rel:"stylesheet",href:"/@tanstack-start/styles.css?routes=__root__%2C%2F","data-tanstack-router-dev-styles":"true"}},$R[7]={tag:"script",attrs:$R[8]={type:"module",async:!0},children:"import { injectIntoGlobalHook } from \"/@react-refresh\";\ninjectIntoGlobalHook(window);\nwindow.$RefreshReg$ = () => {};\nwindow.$RefreshSig$ = () => (type) => type;;;import(\"/@id/virtual:tanstack-start-client-entry\")"}]}}},matches:$R[9]=[$R[10]={i:"__root__ ",u:1779383762479,s:"success",ssr:!0},$R[11]={i:"