PageSourceSearch

https://www.bullishbrief.com/_next/static/chunks/5664-3b23c0741b31ca0b.js?dpl=dpl_6khg8r8Jex84Rk4AQNB7bGZ8abmK

js bullishbrief.com collected 2026-10-07 18:40:02 UTC 11,380 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5664],{1760:e=>{function t(e){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=1760,e.exports=t},8711:(e,t,s)=>{"use strict";s.d(t,{F:()=>n,y:()=>o});var r=s(95155);s(12115);var a=s(66766),i=s(57740);let n=e=>{let{width:t=40,height:s=40,className:n="",alt:o="The Bullish Brief",variant:l="auto",priority:u=!1,sizes:d}=e,{theme:c}=(0,i.D)();return(0,r.jsx)(a.default,{src:"light"===l?"/images/logo.png":"dark"===l||"light"===c?"/images/logo-black.png":"/images/logo.png",alt:o,width:t,height:s,className:n,priority:u,sizes:d,style:{width:"auto",height:"auto",maxWidth:"".concat(t,"px"),maxHeight:"".concat(s,"px")}})},o=e=>{let{width:t=40,height:s=40,className:n="",alt:o="The Bullish Brief",variant:l="auto"}=e,{theme:u}=(0,i.D)();return(0,r.jsx)(a.default,{src:"light"===l?"/images/logo.png":"dark"===l||"light"===u?"/images/logo-black.png":"/images/logo.png",alt:o,width:t,height:s,className:n,style:{width:"auto",height:"auto",maxWidth:"".concat(t,"px"),maxHeight:"".concat(s,"px"),objectFit:"contain"}})}},8730:(e,t,s)=>{"use strict";s.d(t,{t:()=>l,useToastContext:()=>u});var r=s(95155),a=s(12115);let i=(0,a.createContext)(void 0),n=(e,t)=>{switch(t.type){case"ADD_TOAST":{let s={...t.payload,id:Math.random().toString(36).substr(2,9),timestamp:Date.now()};return{...e,toasts:[...e.toasts,s]}}case"START_CLOSING_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.payload?{...e,isClosing:!0}:e)};case"REMOVE_TOAST":return{...e,toasts:e.toasts.filter(e=>e.id!==t.payload)};default:return e}},o={toasts:[]},l=e=>{let{children:t}=e,[s,l]=(0,a.useReducer)(n,o),u={toasts:s.toasts,showToast:(e,t)=>{l({type:"ADD_TOAST",payload:{message:e,type:t}})},startClosingToast:e=>{l({type:"START_CLOSING_TOAST",payload:e})},removeToast:e=>{l({type:"REMOVE_TOAST",payload:e})}};return(0,r.jsx)(i.Provider,{value:u,children:t})},u=()=>{let e=(0,a.useContext)(i);return void 0===e?{toasts:[],showToast:()=>{},startClosingToast:()=>{},removeToast:()=>{}}:e}},11502:(e,t,s)=>{"use strict";s.d(t,{X:()=>l,f:()=>o});var r=s(95155),a=s(12115),i=s(40283);let n=(0,a.createContext)(void 0),o=e=>{let{children:t}=e,[s,o]=(0,a.useState)(!1),[l,u]=(0,a.useState)("signin"),{user:d}=(0,i.useAuth)();return(0,a.useEffect)(()=>{d&&s&&o(!1)},[d,s]),(0,r.jsx)(n.Provider,{value:{showAuthModal:s,authModalMode:l,handleSignInClick:()=>{u("signin"),o(!0)},handleSignUpClick:()=>{u("signup"),o(!0)},handleAuthModalClose:()=>{o(!1)}},children:t})},l=()=>{let e=(0,a.useContext)(n);return void 0===e?{showAuthModal:!1,authModalMode:"signin",handleSignInClick:()=>{},handleSignUpClick:()=>{},handleAuthModalClose:()=>{}}:e}},13432:(e,t,s)=>{"use strict";s.d(t,{Pl:()=>a,lH:()=>i});var r=s(52775);let a=()=>new r.E({defaultOptions:{queries:{staleTime:3e5,gcTime:6e5,retry:(e,t)=>(!((null==t?void 0:t.status)>=400)||!((null==t?void 0:t.status)<500))&&e<3,retryDelay:e=>Math.min(1e3*2**e,3e4),refetchOnWindowFocus:!1,refetchOnReconnect:!0,refetchOnMount:!0},mutations:{retry:1,retryDelay:1e3}}});a();let i={articles:{all:["articles"],lists:()=>[...i.articles.all,"list"],list:e=>[...i.articles.lists(),{filters:e}],details:()=>[...i.articles.all,"detail"],detail:e=>[...i.articles.details(),e],bySlug:e=>[...i.articles.details(),"slug",e],featured:()=>[...i.articles.all,"featured"],related:(e,t)=>[...i.articles.all,"related",e,t]},categories:{all:["categories"],list:()=>[...i.categories.all,"list"]},tags:{all:["tags"],list:()=>[...i.tags.all,"list"]},bookmarks:{all:["bookmarks"],list:()=>[...i.bookmarks.all,"list"],detail:e=>[...i.bookmarks.all,"detail",e]},views:{all:["views"],detail:e=>[...i.views.all,"detail",e]},briefs:{all:["briefs"],lists:()=>[...i.briefs.all,"list"],list:e=>[...i.briefs.lists(),{filters:e}],details:()=>[...i.briefs.all,"detail"],detail:e=>[...i.briefs.details(),e],bySlug:e=>[...i.briefs.details(),"slug",e],featured:()=>[...i.briefs.all,"featured"]}}},27366:(e,t,s)=>{"use strict";s.d(t,{d:()=>a});var r=s(8730);let a=()=>{let{showToast:e}=(0,r.useToastContext)();return{success:t=>e(t,"success"),error:t=>e(t,"error")}}}
1,31858:(e,t,s)=>{"use strict";s.d(t,{X:()=>a});var r=s(12115);let a=()=>{let{height:e}=(()=>{let[e,t]=(0,r.useState)(()=>({height:window.innerHeight,width:window.innerWidth,isSafariMobile:(()=>{let e=window.navigator.userAgent,t=/Safari/.test(e)&&!/Chrome/.test(e),s=/iPhone|iPad|iPod/.test(e)||"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1;return t&&s})(),safeAreaInsets:{top:0,bottom:0,left:0,right:0}})),s=(0,r.useCallback)(()=>{var e,s;let r=(null==(e=window.visualViewport)?void 0:e.height)||window.innerHeight,a=(null==(s=window.visualViewport)?void 0:s.width)||window.innerWidth,i=(()=>{var e;if(!(null==(e=window.CSS)?void 0:e.supports))return{top:0,bottom:0,left:0,right:0};let t=e=>{try{let t=document.createElement("div");t.style.position="fixed",t.style[e]="env(safe-area-inset-top, 0px)",document.body.appendChild(t);let s=window.getComputedStyle(t),r=parseFloat(s[e])||0;return document.body.removeChild(t),r}catch(e){return 0}};return{top:t("paddingTop"),bottom:t("paddingBottom"),left:t("paddingLeft"),right:t("paddingRight")}})();t(e=>({...e,height:r,width:a,safeAreaInsets:i}))},[]);return(0,r.useEffect)(()=>(s(),window.addEventListener("resize",s),window.addEventListener("orientationchange",s),window.visualViewport&&(window.visualViewport.addEventListener("resize",s),window.visualViewport.addEventListener("scroll",s)),()=>{window.removeEventListener("resize",s),window.removeEventListener("orientationchange",s),window.visualViewport&&(window.visualViewport.removeEventListener("resize",s),window.visualViewport.removeEventListener("scroll",s))}),[s]),e})();return e}},40283:(e,t,s)=>{"use strict";s.d(t,{O:()=>l,useAuth:()=>o});var r=s(95155),a=s(12115),i=s(42099);let n=(0,a.createContext)(void 0),o=()=>{let e=(0,a.useContext)(n);return void 0===e?{user:null,loading:!0,signIn:async()=>({error:null,success:!1}),signUp:async()=>({error:null,success:!1}),signOut:async()=>({error:null,success:!1}),resetPassword:async()=>({error:null,success:!1}),updateProfile:async()=>({error:null,success:!1}),sendOTP:async()=>({error:null,success:!1}),verifyOTP:async()=>({error:null,success:!1}),refreshToken:async()=>({error:null,success:!1}),hasRole:()=>!1,isAdmin:!1,isPremium:!1}:e},l=e=>{let{children:t}=e,[s,o]=(0,a.useState)(null),[l,u]=(0,a.useState)(!0),[d,c]=(0,a.useState)(!1),h=a.useMemo(()=>({user:s,loading:l,hasRole:e=>"admin"===e&&((null==s?void 0:s.isAdmin)||!1),hasPermission:(e,t)=>(null==s?void 0:s.isAdmin)||!1,signUp:async(e,t)=>{let{error:s}=await i.supabase.auth.signInWithOtp({email:e,options:{shouldCreateUser:!0,data:{username:t||e.split("@")[0]}}});return{error:s}},signIn:async e=>{let{error:t}=await i.supabase.auth.signInWithOtp({email:e});return{error:t}},sendOTP:async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=arguments.length>2?arguments[2]:void 0;try{let{error:r}=await i.supabase.auth.signInWithOtp({email:e,options:{shouldCreateUser:t,data:t?{username:s||e.split("@")[0]}:void 0}});if(r)return console.error("OTP send error:",r),{error:r};return{success:!0}}catch(e){return console.error("OTP send catch error:",e),{error:e}}},verifyOTP:async(e,t)=>{try{let{data:s,error:r}=await i.supabase.auth.verifyOtp({email:e,token:t,type:"email"});if(r)return console.error("OTP verification error:",r),{error:r};return(null==s?void 0:s.user)&&(o({...s.user,isAdmin:!1}),u(!1),g(s.user.id)),{data:s,success:!0}}catch(e){return console.error("OTP verification catch error:",e),{error:e}}},signOut:async()=>{await i.supabase.auth.signOut(),o(null),u(!1)},grantRole:async(e,t)=>(console.error("SECURITY VIOLATION: Client-side admin role assignment attempted"),{error:{message:"Admin role assignment must be done server-side for security"}}),revokeRole:async(e,t)=>(console.error("SECURITY VIOLATION: Client-side admin role revocation attempted"),{error:{message:"Admin role revocation must be done server-side for security"}}),refreshToken:async()=>{try{let{data:e,error:t}=await i.supabase.auth.refreshSession();if(t)return console.error("Error refreshing token:",t),{error:t};return{data:e,success:!0}}catch(e){return console.error("Error refreshing token:",e),{error:e}}},updateUserMetadata:async e=>{try{let{data:t,error:s}=await i.supabase.auth.updateUser({data:e});if(s)return console.error("Error updating user metadata:",s),{error:s};let{error:r}=await i.supabase.auth.refreshSession();if(r)return console.error("Error refreshing session:",r),{error:r};return o(e=>{var s;return e?{...e,user_metadata:null==(s=t.user)?void 0:s.user_metadata}:null}),{data:t,success:!0}}catch(e){return console.error("Error updating user metadata:",e),{error:e}}}}),[s,l]),g=async e=>{c(!0);try{var t,s;let{data:r,error:a}=await i.supabase.from("user_profiles").select("*").eq("id",e).maybeSingle();if(a)return void console.error("Could not fetch user profile:",a);let{data:{session:n}}=await i.supabase.auth.getSession(),l=(null==n||null==(s=n.user)||null==(t=s.app_metadata)?void 0:t.is_admin)||!1,u=(null==r?void 0:r.is_admin)||l;o(e=>e?{...e,isAdmin:u,profile:r||void 0}:null)}catch(e){console.error("Error fetching user profile:",e)}finally{c(!1)}};return(0,a.useEffect)(()=>
1{if(!i.x)return void u(!1);(async()=>{try{let{data:{session:e}}=await i.supabase.auth.getSession();(null==e?void 0:e.user)?(o({...e.user,isAdmin:!1}),u(!1),g(e.user.id)):(o(null),u(!1))}catch(e){console.error("Error getting initial session:",e),o(null),u(!1)}})()},[]),(0,r.jsx)(n.Provider,{value:h,children:t})}},42099:(e,t,s)=>{"use strict";s.d(t,{supabase:()=>o,x:()=>n});var r=s(72354);let a="https://potsdvyvpwuycgocpivf.supabase.co",i="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InBvdHNkdnl2cHd1eWNnb2NwaXZmIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTIwOTc5MTUsImV4cCI6MjA2NzY3MzkxNX0.cZyAZ0-dEapPfPENXOjDXaolwgczVziSVtNuE_JEK4s",n=!a.includes("your-supabase-url-here")&&!i.includes("your-supabase-anon-key-here"),o=(0,r.UU)(a,i,{auth:{autoRefreshToken:!1,persistSession:!0,detectSessionInUrl:!0}})},57740:(e,t,s)=>{"use strict";s.d(t,{D:()=>n,N:()=>o});var r=s(95155),a=s(12115);let i=(0,a.createContext)(void 0),n=()=>{let e=(0,a.useContext)(i);return void 0===e?{theme:"light",setTheme:()=>{},toggleTheme:()=>{}}:e},o=e=>{let{children:t}=e,[s]=(0,a.useState)("light"),[n,o]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{o(!0)},[]),(0,a.useEffect)(()=>{if(!n)return;let e=document.documentElement;e.classList.remove("light","dark"),e.classList.add(s),e.setAttribute("data-theme",s)},[s,n]),(0,r.jsx)(i.Provider,{value:{theme:s,setTheme:()=>{},toggleTheme:()=>{}},children:t})}},77322:(e,t,s)=>{"use strict";s.d(t,{cg:()=>a,du:()=>r});let r="\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100vw;\n  height: 100vh;\n  height: 100dvh;\n  z-index: var(--z-modal, 1000);\n",a="\n  position: fixed;\n  height: 100vh;\n  height: 100dvh;\n  padding-top: env(safe-area-inset-top, 0);\n  padding-bottom: env(safe-area-inset-bottom, 0);\n"},83534:(e,t,s)=>{"use strict";s.d(t,{J:()=>n,t:()=>o});var r=s(95155),a=s(12115);let i=(0,a.createContext)(void 0),n=()=>{let e=(0,a.useContext)(i);return e||{config:null,setConfig:()=>{}}},o=e=>{let{children:t}=e,[s,n]=(0,a.useState)(null);return(0,r.jsx)(i.Provider,{value:{config:s,setConfig:n},children:t})}}}]);

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.