PageSourceSearch

https://snfalyze.ai/_next/static/chunks/app/layout-1ac60072b1e48ff8.js

js snfalyze.ai collected 2026-10-05 15:07:16 UTC 16,702 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3185],{71065:function(e,t,a){Promise.resolve().then(a.t.bind(a,2778,23)),Promise.resolve().then(a.bind(a,44580)),Promise.resolve().then(a.bind(a,46883)),Promise.resolve().then(a.bind(a,5240))},92735:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(79205).Z)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]])},72051:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(79205).Z)("FolderKanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]])},52048:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(79205).Z)("Map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]])},58293:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(79205).Z)("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]])},99397:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(79205).Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},17689:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(79205).Z)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]])},92369:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(79205).Z)("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]])},32489:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(79205).Z)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},44580:function(e,t,a){"use strict";a.d(t,{AppShell:function(){return N}});var s=a(57437),n=a(99376),r=a(5240),l=a(2265),i=a(27648),c=a(93448),o=a(25466),d=a(17689),m=a(72051),x=a(52048),u=a(98420),h=a(95805),f=a(98728),p=a(92369),y=a(47692),j=a(32489),b=a(58293);let g=[{name:"Dashboard",href:"/",icon:o.Z},{name:"Upload & Analyze",href:"/upload",icon:d.Z},{name:"Deals",href:"/deals",icon:m.Z},{name:"Map",href:"/map",icon:x.Z},{name:"Portfolio",href:"/portfolio",icon:u.Z},{name:"Capital Partners",href:"/partners",icon:h.Z},{name:"Settings",href:"/settings",icon:f.Z}];function v(){let e=(0,n.usePathname)(),[t,a]=l.useState(!1),{user:o,logout:d}=(0,r.a)();return(0,s.jsx)("header",{className:"fixed top-0 left-0 right-0 z-50 bg-white border-b border-surface-200",children:(0,s.jsxs)("nav",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:[(0,s.jsxs)("div",{className:"flex h-16 items-center justify-between",children:[(0,s.jsx)("div",{className:"flex items-center",children:(0,s.jsxs)(i.default,{href:"/",className:"flex items-center gap-3",children:[(0,s.jsx)("div",{className:"w-8 h-8 rounded-lg bg-accent flex items-center justify-center",children:(0,s.jsx)("span",{className:"text-white font-bold text-sm",children:"SF"})}),(0,s.jsxs)("div",{className:"hidden sm:block",children:[(0,s.jsx)("span",{className:"text-lg font-semibold text-surface-900",children:"SNFalyze"}),(0,s.jsx)("span",{className:"hidden md:inline text-xs text-surface-500 ml-2",children:"Cascadia Healthcare"})]})]})}),(0,s.jsx)("div",{className:"hidden md:flex items-center gap-1",children:g.map(t=>{let a=e===t.href||"/"!==t.href&&e.startsWith(t.href);
1return(0,s.jsxs)(i.default,{href:t.href,className:(0,c.cn)("flex items-center gap-2 px-3 py-2 text-sm font-medium rounded-md transition-colors",a?"bg-accent/10 text-accent":"text-surface-600 hover:bg-surface-100 hover:text-surface-900"),children:[(0,s.jsx)(t.icon,{className:"w-4 h-4"}),t.name]},t.name)})}),(0,s.jsxs)("div",{className:"hidden md:flex items-center gap-3 border-l border-surface-200 pl-4 ml-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,s.jsx)(p.Z,{className:"w-4 h-4 text-surface-500"}),(0,s.jsx)("span",{className:"text-surface-700 font-medium",children:null==o?void 0:o.name})]}),(0,s.jsxs)("button",{onClick:d,className:"flex items-center gap-1 text-sm text-surface-500 hover:text-surface-700 transition-colors",children:[(0,s.jsx)(y.Z,{className:"w-4 h-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Sign out"})]})]}),(0,s.jsx)("div",{className:"md:hidden",children:(0,s.jsx)("button",{type:"button",className:"p-2 rounded-md text-surface-600 hover:bg-surface-100",onClick:()=>a(!t),children:t?(0,s.jsx)(j.Z,{className:"w-6 h-6"}):(0,s.jsx)(b.Z,{className:"w-6 h-6"})})})]}),t&&(0,s.jsxs)("div",{className:"md:hidden py-4 space-y-1",children:[g.map(t=>{let n=e===t.href||"/"!==t.href&&e.startsWith(t.href);return(0,s.jsxs)(i.default,{href:t.href,className:(0,c.cn)("flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-md transition-colors",n?"bg-accent/10 text-accent":"text-surface-600 hover:bg-surface-100"),onClick:()=>a(!1),children:[(0,s.jsx)(t.icon,{className:"w-5 h-5"}),t.name]},t.name)}),(0,s.jsxs)("div",{className:"border-t border-surface-200 pt-4 mt-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 text-sm text-surface-600",children:[(0,s.jsx)(p.Z,{className:"w-5 h-5"}),(0,s.jsxs)("span",{children:["Signed in as ",(0,s.jsx)("strong",{children:null==o?void 0:o.name})]})]}),(0,s.jsxs)("button",{onClick:()=>{a(!1),d()},className:"flex items-center gap-3 px-4 py-3 text-sm font-medium text-red-600 hover:bg-red-50 w-full rounded-md transition-colors",children:[(0,s.jsx)(y.Z,{className:"w-5 h-5"}),"Sign Out"]})]})]})]})})}function N(e){let{children:t}=e,{isAuthenticated:a}=(0,r.a)(),l=(0,n.usePathname)(),i=["/login","/design-demo","/"].includes(l),c=l.startsWith("/app");return i||!a||c?(0,s.jsx)(s.Fragment,{children:t}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(v,{}),(0,s.jsx)("main",{className:"pt-16 min-h-screen",children:(0,s.jsx)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8 py-8",children:t})})]})}},46883:function(e,t,a){"use strict";a.d(t,{InstallPrompt:function(){return u}});var s=a(57437),n=a(29),r=a.n(n),l=a(2265),i=a(79205);let c=(0,i.Z)("Smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);var o=a(32489);let d=(0,i.Z)("Share",[["path",{d:"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8",key:"1b2hhj"}],["polyline",{points:"16 6 12 2 8 6",key:"m901s6"}],["line",{x1:"12",x2:"12",y1:"2",y2:"15",key:"1p0rca"}]]);var m=a(99397),x=a(92735);function u(){let[e,t]=(0,l.useState)(null),[a,n]=(0,l.useState)(!1),[i,u]=(0,l.useState)(!1),[h,f]=(0,l.useState)(!1),[p,y]=(0,l.useState)(!1);(0,l.useEffect)(()=>{let e=window.matchMedia("(display-mode: standalone)").matches||!0===window.navigator.standalone;f(e);let a=localStorage.getItem("pwa-install-dismissed");if(a){let e=parseInt(a,10);Date.now()-e<6048e5&&y(!0)}let s=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream;u(s);let r=e=>{e.preventDefault(),t(e),setTimeout(()=>n(!0),3e3)};return window.addEventListener("beforeinstallprompt",r),!s||e||a||setTimeout(()=>n(!0),5e3),()=>{window.removeEventListener("beforeinstallprompt",r)}},[]);let j=async()=>{if(!e)return;e.prompt();let{outcome:a}=await e.userChoice;"accepted"===a&&console.log("SNFalyze installed successfully"),t(null),n(!1)},b=()=>{n(!1),y(!0),localStorage.setItem("pwa-install-dismissed",Date.now().toString())};return h||p||!a?null:(0,s.jsxs)("div",{className:"jsx-70ce26a9abc762e7 fixed bottom-4 left-4 right-4 md:left-auto md:right-4 md:w-96 z-50 animate-slide-up",children:[(0,s.jsxs)("div",{className:"jsx-70ce26a9abc762e7 bg-white dark:bg-gray-800 rounded-2xl shadow-2xl border border-gray-200 dark:border-gray-700 overflow-hidden",children:[(0,s.jsxs)("div",{className:"jsx-70ce26a9abc762e7 bg-gradient-to-r from-teal-500 to-teal-600 px-4 py-3 flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"jsx-70ce26a9abc762e7 flex items-center gap-3",children:[(0,s.jsx)("div",{className:"jsx-70ce26a9abc762e7 w-10 h-10 bg-white/20 rounded-xl flex items-center justify-center",children:(0,s.jsx)(c,{className:"w-5 h-5 text-white"})}),(0,s.jsxs)("div",{className:"jsx-70ce26a9abc762e7",children:[(0,s.jsx)("h3",{className:"jsx-70ce26a9abc762e7 font-semibold text-white",children:"Install SNFalyze"}),(0,s.jsx)("p",{className:"jsx-70ce26a9abc762e7 text-xs text-teal-100",children:"Get the app experience"})]})]}),(0,s.jsx)("button",{onClick:b,className:"jsx-70ce26a9abc762e7 p-1 hover:bg-white/20 rounded-lg transition-colors",children:(0,s.jsx)(o.Z,{className:"w-5 h-5 text-white"})})]}),(0,s.jsx)("div",{className:"jsx-70ce26a9abc762e7 p-4",children:i?(0,s.jsxs)("div",{className:"jsx-70ce26a9abc762e7 space-y-3",children:[(0,s.jsx)("p",{className:"jsx-70ce26a9abc762e7 text-sm text-gray-600 dark:text-gray-300",children:"Install SNFalyze on your iPhone for quick access:"}),(0,s.jsxs)("ol",{className:"jsx-70ce26a9abc762e7 space-y-2 text-sm",children:[(0,s.jsxs)("li",{className:"jsx-70ce26a9abc762e7 flex items-center gap-2",children:[(0,s.jsx)("span",{className:"jsx-70ce26a9abc762e7 w-6 h-6 rounded-full bg-teal-100 dar
1k:bg-teal-900 text-teal-600 dark:text-teal-400 flex items-center justify-center text-xs font-medium",children:"1"}),(0,s.jsxs)("span",{className:"jsx-70ce26a9abc762e7 text-gray-700 dark:text-gray-300",children:["Tap ",(0,s.jsx)(d,{className:"w-4 h-4 inline text-blue-500"})," Share button below"]})]}),(0,s.jsxs)("li",{className:"jsx-70ce26a9abc762e7 flex items-center gap-2",children:[(0,s.jsx)("span",{className:"jsx-70ce26a9abc762e7 w-6 h-6 rounded-full bg-teal-100 dark:bg-teal-900 text-teal-600 dark:text-teal-400 flex items-center justify-center text-xs font-medium",children:"2"}),(0,s.jsxs)("span",{className:"jsx-70ce26a9abc762e7 text-gray-700 dark:text-gray-300",children:["Scroll and tap ",(0,s.jsx)(m.Z,{className:"w-4 h-4 inline"})," Add to Home Screen"]})]}),(0,s.jsxs)("li",{className:"jsx-70ce26a9abc762e7 flex items-center gap-2",children:[(0,s.jsx)("span",{className:"jsx-70ce26a9abc762e7 w-6 h-6 rounded-full bg-teal-100 dark:bg-teal-900 text-teal-600 dark:text-teal-400 flex items-center justify-center text-xs font-medium",children:"3"}),(0,s.jsx)("span",{className:"jsx-70ce26a9abc762e7 text-gray-700 dark:text-gray-300",children:"Tap Add to confirm"})]})]})]}):(0,s.jsxs)("div",{className:"jsx-70ce26a9abc762e7 space-y-3",children:[(0,s.jsx)("p",{className:"jsx-70ce26a9abc762e7 text-sm text-gray-600 dark:text-gray-300",children:"Install SNFalyze for faster access, offline support, and a native app experience."}),(0,s.jsxs)("div",{className:"jsx-70ce26a9abc762e7 flex gap-2",children:[(0,s.jsxs)("button",{onClick:j,className:"jsx-70ce26a9abc762e7 flex-1 flex items-center justify-center gap-2 bg-teal-500 hover:bg-teal-600 text-white font-medium py-2.5 px-4 rounded-xl transition-colors",children:[(0,s.jsx)(x.Z,{className:"w-4 h-4"}),"Install App"]}),(0,s.jsx)("button",{onClick:b,className:"jsx-70ce26a9abc762e7 px-4 py-2.5 text-gray-600 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-xl transition-colors",children:"Later"})]})]})}),(0,s.jsx)("div",{className:"jsx-70ce26a9abc762e7 px-4 pb-4",children:(0,s.jsxs)("div",{className:"jsx-70ce26a9abc762e7 flex gap-4 text-xs text-gray-500 dark:text-gray-400",children:[(0,s.jsxs)("span",{className:"jsx-70ce26a9abc762e7 flex items-center gap-1",children:[(0,s.jsx)("span",{className:"jsx-70ce26a9abc762e7 w-1.5 h-1.5 rounded-full bg-green-500"}),"Works offline"]}),(0,s.jsxs)("span",{className:"jsx-70ce26a9abc762e7 flex items-center gap-1",children:[(0,s.jsx)("span",{className:"jsx-70ce26a9abc762e7 w-1.5 h-1.5 rounded-full bg-blue-500"}),"Fast access"]}),(0,s.jsxs)("span",{className:"jsx-70ce26a9abc762e7 flex items-center gap-1",children:[(0,s.jsx)("span",{className:"jsx-70ce26a9abc762e7 w-1.5 h-1.5 rounded-full bg-purple-500"}),"Notifications"]})]})})]}),(0,s.jsx)(r(),{id:"70ce26a9abc762e7",children:"@-webkit-keyframes slide-up{from{opacity:0;-webkit-transform:translatey(20px);transform:translatey(20px)}to{opacity:1;-webkit-transform:translatey(0);transform:translatey(0)}}@-moz-keyframes slide-up{from{opacity:0;-moz-transform:translatey(20px);transform:translatey(20px)}to{opacity:1;-moz-transform:translatey(0);transform:translatey(0)}}@-o-keyframes slide-up{from{opacity:0;-o-transform:translatey(20px);transform:translatey(20px)}to{opacity:1;-o-transform:translatey(0);transform:translatey(0)}}@keyframes slide-up{from{opacity:0;-webkit-transform:translatey(20px);-moz-transform:translatey(20px);-o-transform:translatey(20px);transform:translatey(20px)}to{opacity:1;-webkit-transform:translatey(0);-moz-transform:translatey(0);-o-transform:translatey(0);transform:translatey(0)}}.animate-slide-up.jsx-70ce26a9abc762e7{-webkit-animation:slide-up.3s ease-out;-moz-animation:slide-up.3s ease-out;-o-animation:slide-up.3s ease-out;animation:slide-up.3s ease-out}"})]})}},5240:function(e,t,a){"use strict";a.d(t,{AuthProvider:function(){return i},a:function(){return c}});var s=a(57437),n=a(2265),r=a(99376);let l=(0,n.createContext)(void 0);function i(e){let{children:t}=e,[a,i]=(0,n.useState)(null),[c,o]=(0,n.useState)(!0),d=(0,r.useRouter)();(0,n.useEffect)(()=>{fetch("/api/auth/me").then(e=>e.ok?e.json():{user:null}).then(e=>{e.user&&i({id:e.user.id,name:e.user.name,email:e.user.email||"",role:e.user.role||"analyst",avatarUrl:e.user.avatarUrl||null,loginTime:new Date})}).catch(()=>{}).finally(()=>o(!1))},[]);let m=async(e,t)=>{try{let a=e.includes("@"),s=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:a?e:void 0,name:a?void 0:e,password:t})});if(s.ok){let e=await s.json();if(e.success)return i({id:e.user.id,name:e.user.name,email:e.user.email||"",role:e.user.role||"analyst",avatarUrl:e.user.avatarUrl||null,loginTime:new Date}),d.push("/app/brain"),!0}}catch(e){}return!1};return c?(0,s.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-[#F8F7F4]",children:(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("div",{className:"w-3 h-3 rounded-full bg-teal-500 animate-pulse"}),(0,s.jsx)("div",{className:"w-3 h-3 rounded-full bg-orange-500 animate-pulse",style:{animationDelay:"0.5s"}})]})}):(0,s.jsx)(l.Provider,{value:{user:a,isAuthenticated:!!a,login:m,logout:()=>{i(null),document.cookie="snfalyze_session=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT",d.push("/login")}},children:t})}function c(){let e=(0,n.useContext)(l);if(void 0===e)throw Error("useAuth must be used within an AuthProvider");return e}},93448:function(e,t,a){"use strict";a.d(t,{Ox:function(){return o},T3:function(){return i},cn:function(){return r},fY:function(){return d},p6:function(){return c},so:function(){return m},xG:function(){return l}});var s=a(61994),n=a(53335);function r(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,n.m6)((0,s.W)(t))}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"USD",a="boolean"==typeof t?t:e>=1e6;return new Intl.NumberFormat("en-US",{style:"currency",currency:"str
1ing"==typeof t?t:"USD",notation:a?"compact":"standard",minimumFractionDigits:0,maximumFractionDigits:a?1:0}).format(e)}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return null==e||"number"!=typeof e||isNaN(e)?"—":"".concat(e.toFixed(t),"%")}function c(e,t){let a="string"==typeof e?new Date(e):e;return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",...t}).format(a)}function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8;return Math.random().toString(36).substring(2,2+e)}function d(e){return e>=.9?"text-emerald-600 dark:text-emerald-400":e>=.7?"text-sky-600 dark:text-sky-400":e>=.5?"text-amber-600 dark:text-amber-400":"text-rose-600 dark:text-rose-400"}function m(e){return e>=.9?"High":e>=.7?"Medium":e>=.5?"Low":"Very Low"}},2778:function(){}},function(e){e.O(0,[5641,2461,8590,2972,7508,2971,2117,1744],function(){return e(e.s=71065)}),_N_E=e.O()}]);

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.