1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[73876],{73876:(e,t,s)=>{s.r(t),s.d(t,{default:()=>C});var a=s(85406),l=s(30002),r=s(22020),n=s(49303),i=s(95155),c=s(12115),m=s(81477),o=s(4450),d=s(48035),x=s(32539),u=s(59656),h=s(18662),p=s(75045),f=s(31962),b=s(68022),j=s(67389),y=s(57420),N=s(127),v=s(93219),g=s(41585),w=s(44071),k=s(67514);let C=(0,c.memo)(function(e){var t,s,C,I,V,F,M=e.ticker,S=(0,l._)((0,c.useState)(null),2),P=S[0],A=S[1],O=(0,l._)((0,c.useState)(!0),2),R=O[0],L=O[1];(0,c.useEffect)(function(){E()},[M]);var E=function(){return(0,a._)(function(){return(0,n.YH)(this,function(e){switch(e.label){case 0:L(!0),e.label=1;case 1:return e.trys.push([1,4,,5]),[4,fetch("/api/options?ticker=".concat(M,"&format=flow"))];case 2:return[4,e.sent().json()];case 3:return A(e.sent()),[3,5];case 4:return console.error("Error fetching options data:",e.sent()),[3,5];case 5:return L(!1),[2]}})})()},$=(0,c.useMemo)(function(){if(!P)return[];var e=P.calls&&Array.isArray(P.calls)?P.calls:[],t=P.puts&&Array.isArray(P.puts)?P.puts:[];return(0,r._)(e).concat((0,r._)(t)).reduce(function(e,t){var s=e.find(function(e){return e.strike===t.strike});return s?"call"===t.type?(s.callVolume=t.volume,s.callOI=t.openInterest):(s.putVolume=t.volume,s.putOI=t.openInterest):e.push({strike:t.strike,callVolume:"call"===t.type?t.volume:0,putVolume:"put"===t.type?t.volume:0,callOI:"call"===t.type?t.openInterest:0,putOI:"put"===t.type?t.openInterest:0}),e},[]).sort(function(e,t){return e.strike-t.strike}).slice(-15)},[P]),B=(0,c.useMemo)(function(){return(null==P?void 0:P.summary)?[{name:"Calls",value:P.summary.totalCallVolume||0,color:"#4ebe96"},{name:"Puts",value:P.summary.totalPutVolume||0,color:"#ff5c5c"}]:[]},[null==P?void 0:P.summary]),D=(null==P||null==(I=P.summary)?void 0:I.expirationDate)?function(e){if(!e)return 0;var t=new Date;return Math.ceil((new Date(e).getTime()-t.getTime())/864e5)}(P.summary.expirationDate):0;return(0,i.jsxs)(m.Zp,{className:"w-full bg-white/[0.03] backdrop-blur-[10px] border border-white/[0.08]",children:[(0,i.jsx)(m.aR,{children:(0,i.jsxs)("div",{className:"flex items-center justify-between",children:[(0,i.jsxs)(m.ZB,{className:"flex items-center gap-2",children:[(0,i.jsx)("span",{className:"text-2xl",children:"\uD83D\uDCCA"}),"Options Flow - ",M]}),(null==P||null==(V=P.summary)?void 0:V.expirationDate)&&(0,i.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,i.jsx)(y.A,{className:"w-4 h-4 text-[#868f97]"}),(0,i.jsx)("span",{className:"text-[#868f97]",children:"Exp:"}),(0,i.jsx)("span",{className:"font-medium",children:(t=P.summary.expirationDate)?new Date(t).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):""}),(0,i.jsxs)("span",{className:"px-2 py-0.5 rounded-full text-xs font-medium tabular-nums ".concat(D<=2?"bg-[#ff5c5c]/20 text-[#ff5c5c]":D<=7?"bg-yellow-500/20 text-yellow-500":"bg-white/[0.05] text-[#868f97]"),children:[D,"d"]})]})]})}),(0,i.jsx)(m.Wu,{children:R?(0,i.jsx)("div",{className:"flex items-center justify-center h-64",children:(0,i.jsx)("div",{className:"animate-spin rounded-full h-8 w-8 border-t-2 border-[#4ebe96]"})}):(null==P?void 0:P.summary)?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-4 mb-6",children:[(0,i.jsxs)("div",{className:"p-4 bg-[#4ebe96]/10 border border-[#4ebe96]/30 rounded-2xl text-center",children:[(0,i.jsx)("p",{className:"text-[#868f97] text-sm",children:"Call Volume"}),(0,i.jsx)("p",{className:"text-2xl font-bold text-[#4ebe96] tabular-nums",children:(P.summary.totalCallVolume||0).toLocaleString()})]}),(0,i.jsxs)("div",{className:"p-4 bg-[#ff5c5c]/10 border border-[#ff5c5c]/30 rounded-2xl text-center",children:[(0,i.jsx)("p",{className:"text-[#868f97] text-sm",children:"Put Volume"}),(0,i.jsx)("p",{className:"text-2xl font-bold text-[#ff5c5c] tabular-nums",children:(P.summary.totalPutVolume||0).toLocaleString()})]}),(0,i.jsxs)("div",{className:"p-4 bg-white/[0.05] rounded-2xl text-center",children:[(0,i.jsx)("p",{className:"text-[#868f97] text-sm",children:"Put/Call Ratio"}),(0,i.jsx)("p",{className:"text-2xl font-bold tabular-nums ".concat((P.summary.putCallRatio||0)>1?"text-[#ff5c5c]":"text-[#4ebe96]"),children:(P.summary.putCallRatio||0).toFixed(2)})]}),(0,i.jsxs)("div",{className:"p-4 bg-white/[0.05] rounded-2xl text-center",children:[(0,i.jsx)("p",{className:"text-[#868f97] text-sm",children:"Max Pain"}),(0,i.jsxs)("p",{className:"text-2xl font-bold tabular-nums",children:["$",P.summary.maxPain||0]})]}),(0,i.jsxs)("div",{className:"p-4 bg-white/[0.05] rounded-2xl text-center",children:[(0,i.jsx)("p",{className:"text-[#868f97] text-sm",children:"Sentiment"}),(0,i.jsxs)("p",{className:"text-2xl font-bold ".concat("Bullish"===(s=P.summary.sentiment||"Neutral")?"text-[#4ebe96]":"Bearish"===s?"text-[#ff5c5c]":"text-yellow-500"),children:["Bullish"===(C=P.summary.sentiment||"Neutral")?"\uD83D\uDC02":"Bearish"===C?"\uD83D\uDC3B":"âï¸"," ",P.summary.sentiment||"Neutral"]})]})]}),P.summary.expectedMove&&P.summary.iv&&(0,i.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4 mb-6",children:[(0,i.jsxs)("div",{className:"p-5 bg-gradient-to-br from-purple-500/10 to-[#479ffa]/10 border border-purple-500/30 rounded-xl",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,i.jsx)(N.A,{className:"w-5 h-5 text-purple-500"}),(0,i.jsx)("h3",{className:"font-semibold text-purple-400",children:"Expected Move"}),(0,i.jsxs)("span",{className:"ml-auto text-xs text-[#868f97]",children:[P.summary.expectedMove.daysToExpiration,"d to exp"]})]}),(0,i.jsxs)("div",{className:"mb-4",children:[(0,i.jsxs)("div",{className:"flex justify-between text-sm mb-2",children:[(0,i.jsxs)("span",{className:"text-[#ff5c5c] tabular-nums",children:["$",P.summary.expectedMove.low.toFixed(2)]}),(0,i.jsxs)("span",{className:"font-bold text-lg tabular-nums",children:["$",null==(F=P.summary.currentPrice)?void 0:F.toFixed(2)]}),(0,i.jsxs)("span",{className:"text-[#4ebe96] tabular-nums",children:["$",P.summary.expectedMove.high.toFixed(2)]})]}),(0,i.jsx)("div",{className:"relative h-3 bg-white/[0.05] rounded-full overflow-hidden",children:(0,i.jsxs)("div",{className:"absolute inset-y-0 left-0 right-0 flex",children:[(0,i.jsx)("div",{className:"flex-1 bg-[#ff5c5c]/30"}),(0,i.jsx)("div",{className:"w-1 bg-white"}),(0,i.jsx)("div",{className:"flex-1 bg-[#4ebe96]/30"})]})}),(0,i.jsxs)("div",{className:"flex justify-between text-xs text-[#868f97] mt-1",children:[(0,i.jsxs)("span",{className:"tabular-nums",children:["-",P.summary.expectedMove.percent.toFixed(1),"%"]}),(0,i.jsx)("span",{children:"Current"}),(0,i.jsxs)("span",{className:"tabular-nums",children:["+",P.summary.expectedMove.percent.toFixed(1),"%"]})]})]}),(0,i.jsxs)("div",{className:"grid grid-cols-3 gap-2 text-center text-sm",children:[(0,i.jsxs)("div",{className:"p-2 bg-white/[0.05] rounded-2xl",children:[(0,i.jsx)("p",{className:"text-[#868f97] text-xs",children:"ATM Strike"}),(0,i.jsxs)("p",{className:"font-bold tabular-nums",children:["$",P.summary.expectedMove.atmStrike]})]}),(0,i.jsxs)("div",{className:"p-2 bg-[#4ebe96]/10 rounded-2xl",children:[(0,i.jsx)("p",{className:"text-[#868f97] text-xs",children:"Call"}),(0,i.jsxs)("p",{className:"font-bold text-[#4ebe96] tabular-nums",children:["$",P.summary.expectedMove.atmCallPrice.toFixed(2)]})]}),(0,i.jsxs)("div",{className:"p-2 bg-[#ff5c5c]/10 rounded-2xl",children:[(0,i.jsx)("p",{className:"text-[#868f97] text-xs",children:"Put"}),(0,i.jsxs)("p",{className:"font-bold text-[#ff5c5c] tabular-nums",children:["$",P.summary.expectedMove.atmPutPrice.toFixed(2)]})]})]}),(0,i.jsxs)("div",{className:"mt-3 p-2 bg-white/[0.05] rounded-2xl text-xs text-[#868f97]",children:["Market expects ",(0,i.jsxs)("span",{className:"font-bold text-white tabular-nums",children:["\xb1$",P.summary.expectedMove.amount.toFixed(2)]})," (",(0,i.jsxs)("span",{className:"tabular-nums",children:[P.summary.expectedMove.percent.toFixed(1),"%"]}),") move by expiration"]})]}),(0,i.jsxs)("div",{className:"p-5 bg-gradient-to-br from-amber-500/10 to-orange-500/10 border border-amber-500/30 rounded-xl",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,i.jsx)(v.A,{className:"w-5 h-5 text-amber-500"}),(0,i.jsx)("h3",{className:"font-semibold text-amber-400",children:"Implied Volatility"})]}),(0,i.jsxs)("div",{className:"flex items-center gap-6 mb-4",children:[(0,i.jsxs)("div",{className:"text-center",children:[(0,i.jsxs)("p",{className:"text-4xl font-bold tabular-nums",children:[P.summary.iv.atm.toFixed(1),"%"]}),(0,i.jsx)("p",{className:"text-xs text-[#868f97]",children:"ATM IV"})]}),(0,i.jsxs)("div",{className:"flex-1",children:[(0,i.jsxs)("div",{className:"flex justify-between text-xs text-[#868f97] mb-1",children:[(0,i.jsx)("span",{children:"IV Rank"}),(0,i.jsxs)("span",{className:"font-bold tabular-nums ".concat(P.summary.iv.rank>70?"text-[#ff5c5c]":P.summary.iv.rank<30?"text-[#4ebe96]":"text-amber-500"),
1children:[P.summary.iv.rank.toFixed(0),"%"]})]}),(0,i.jsx)("div",{className:"h-3 bg-white/[0.05] rounded-full overflow-hidden",children:(0,i.jsx)("div",{className:"h-full motion-safe:transition-all motion-safe:duration-150 ease-out ".concat(P.summary.iv.rank>70?"bg-[#ff5c5c]":P.summary.iv.rank<30?"bg-[#4ebe96]":"bg-amber-500"),style:{width:"".concat(Math.min(100,P.summary.iv.rank),"%")}})}),(0,i.jsxs)("div",{className:"flex justify-between text-xs text-[#868f97] mt-1",children:[(0,i.jsx)("span",{children:"Low"}),(0,i.jsx)("span",{children:"High"})]})]})]}),(0,i.jsxs)("div",{className:"grid grid-cols-2 gap-2 text-center text-sm",children:[(0,i.jsxs)("div",{className:"p-2 bg-white/[0.05] rounded-2xl",children:[(0,i.jsx)("p",{className:"text-[#868f97] text-xs",children:"IV Range Low"}),(0,i.jsxs)("p",{className:"font-bold tabular-nums",children:[P.summary.iv.min.toFixed(1),"%"]})]}),(0,i.jsxs)("div",{className:"p-2 bg-white/[0.05] rounded-2xl",children:[(0,i.jsx)("p",{className:"text-[#868f97] text-xs",children:"IV Range High"}),(0,i.jsxs)("p",{className:"font-bold tabular-nums",children:[P.summary.iv.max.toFixed(1),"%"]})]})]}),(0,i.jsx)("div",{className:"mt-3 p-2 rounded-2xl text-xs ".concat(P.summary.iv.rank>70?"bg-[#ff5c5c]/10 text-[#ff5c5c]":P.summary.iv.rank<30?"bg-[#4ebe96]/10 text-[#4ebe96]":"bg-white/[0.05] text-[#868f97]"),children:P.summary.iv.rank>70?"â ï¸ High IV - Options are expensive. Consider selling strategies.":P.summary.iv.rank<30?"â
Low IV - Options are cheap. Good for buying strategies.":"\uD83D\uDCCA Normal IV levels. Both buying and selling can work."})]})]}),(0,i.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("p",{className:"text-sm text-[#868f97] mb-2",children:"Volume by Strike Price"}),(0,i.jsx)("div",{className:"h-64",children:(0,i.jsx)(o.u,{width:"100%",height:"100%",children:(0,i.jsxs)(d.E,{data:$,children:[(0,i.jsx)(x.W,{dataKey:"strike",stroke:"currentColor",tick:{fontSize:10,fill:"currentColor"},tickLine:{stroke:"currentColor"},className:"text-[#868f97]"}),(0,i.jsx)(u.h,{stroke:"currentColor",tick:{fill:"currentColor"},tickLine:{stroke:"currentColor"},className:"text-[#868f97]"}),(0,i.jsx)(h.m,{contentStyle:{backgroundColor:"#000000",border:"1px solid rgba(255, 255, 255, 0.08)",borderRadius:"16px",color:"white"},labelStyle:{color:"white"},formatter:function(e,t){return[e.toLocaleString(),t]}}),(0,i.jsx)(p.y,{dataKey:"callVolume",name:"Call Volume",fill:"#4ebe96"}),(0,i.jsx)(p.y,{dataKey:"putVolume",name:"Put Volume",fill:"#ff5c5c"})]})})})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("p",{className:"text-sm text-[#868f97] mb-2",children:"Put/Call Distribution"}),(0,i.jsx)("div",{className:"h-64",children:(0,i.jsx)(o.u,{width:"100%",height:"100%",children:(0,i.jsxs)(f.r,{children:[(0,i.jsx)(b.F,{data:B,cx:"50%",cy:"50%",innerRadius:60,outerRadius:80,paddingAngle:2,dataKey:"value",label:function(e){var t=e.name,s=e.percent;return"".concat(t," ").concat(((null!=s?s:0)*100).toFixed(0),"%")},labelLine:{stroke:"#868f97"},children:B.map(function(e,t){return(0,i.jsx)(j.f,{fill:e.color},"cell-".concat(t))})}),(0,i.jsx)(h.m,{contentStyle:{backgroundColor:"#000000",border:"1px solid rgba(255, 255, 255, 0.08)",borderRadius:"16px",color:"white"},formatter:function(e){return[e.toLocaleString(),"Volume"]}})]})})})]})]}),(0,i.jsxs)("div",{className:"mb-6",children:[(0,i.jsx)("p",{className:"text-sm text-[#868f97] mb-2",children:"Open Interest by Strike"}),(0,i.jsx)("div",{className:"h-48",children:(0,i.jsx)(o.u,{width:"100%",height:"100%",children:(0,i.jsxs)(d.E,{data:$,layout:"vertical",children:[(0,i.jsx)(x.W,{type:"number",stroke:"currentColor",tick:{fill:"currentColor"},tickLine:{stroke:"currentColor"},className:"text-[#868f97]"}),(0,i.jsx)(u.h,{type:"category",dataKey:"strike",stroke:"currentColor",tick:{fontSize:10,fill:"currentColor"},tickLine:{stroke:"currentColor"},width:60,className:"text-[#868f97]"}),(0,i.jsx)(h.m,{contentStyle:{backgroundColor:"#000000",border:"1px solid rgba(255, 255, 255, 0.08)",borderRadius:"16px",color:"white"}
1,formatter:function(e){return[e.toLocaleString(),"OI"]}}),(0,i.jsx)(p.y,{dataKey:"callOI",name:"Call OI",fill:"#4ebe96"}),(0,i.jsx)(p.y,{dataKey:"putOI",name:"Put OI",fill:"#ff5c5c"})]})})})]}),P.summary.unusualActivity&&P.summary.unusualActivity.length>0&&(0,i.jsxs)("div",{className:"mb-6 p-4 bg-yellow-500/10 border border-yellow-500/30 rounded-2xl",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,i.jsx)(g.A,{className:"w-5 h-5 text-yellow-500"}),(0,i.jsx)("p",{className:"font-medium text-yellow-500",children:"Unusual Options Activity"})]}),(0,i.jsx)("div",{className:"space-y-2",children:P.summary.unusualActivity.map(function(e,t){return(0,i.jsxs)("div",{className:"flex items-center justify-between p-2 bg-white/[0.05] rounded-2xl text-sm",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:["call"===e.type?(0,i.jsx)(w.A,{className:"w-4 h-4 text-[#4ebe96]"}):(0,i.jsx)(k.A,{className:"w-4 h-4 text-[#ff5c5c]"}),(0,i.jsx)("span",{className:"call"===e.type?"text-[#4ebe96]":"text-[#ff5c5c]",children:e.type.toUpperCase()}),(0,i.jsxs)("span",{className:"font-medium tabular-nums",children:["$",e.strike]})]}),(0,i.jsxs)("div",{className:"flex items-center gap-4 text-[#868f97]",children:[(0,i.jsxs)("span",{children:["Vol: ",(0,i.jsx)("span",{className:"text-white font-medium tabular-nums",children:e.volume.toLocaleString()})]}),(0,i.jsxs)("span",{children:["OI: ",(0,i.jsx)("span",{className:"text-white tabular-nums",children:e.openInterest.toLocaleString()})]}),(0,i.jsxs)("span",{className:"text-yellow-500 font-medium",children:[e.ratio,"x OI"]})]})]},t)})})]}),(0,i.jsxs)("div",{className:"p-4 rounded-2xl ".concat("Bullish"===(P.summary.sentiment||"Neutral")?"bg-[#4ebe96]/10 border border-[#4ebe96]/30":"Bearish"===(P.summary.sentiment||"Neutral")?"bg-[#ff5c5c]/10 border border-[#ff5c5c]/30":"bg-white/[0.05] border border-white/[0.08]"),children:[(0,i.jsx)("p",{className:"font-medium mb-1",children:"Options Flow Interpretation"}),(0,i.jsxs)("p",{className:"text-sm text-[#868f97]",children:[.7>(P.summary.putCallRatio||0)?"Heavy call buying suggests bullish sentiment. The put/call ratio of ".concat((P.summary.putCallRatio||0).toFixed(2)," indicates traders expect ").concat(M," to rise."):(P.summary.putCallRatio||0)>1.2?"Elevated put activity signals bearish sentiment. The put/call ratio of ".concat((P.summary.putCallRatio||0).toFixed(2)," suggests hedging or downside bets."):"Balanced options activity with a put/call ratio of ".concat((P.summary.putCallRatio||0).toFixed(2),". Market is neutral on ").concat(M," direction."),(P.summary.maxPain||0)>0&&" Max pain at $".concat(P.summary.maxPain," may act as a magnet for expiration.")]})]})]}):(0,i.jsxs)("div",{className:"text-center py-12 text-[#868f97]",children:["No options data available for ",M]})})]})})}}]);
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.