@liberfi.io/ui-predict 4.0.40 → 4.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import {createContext,memo,useRef,forwardRef,useState,useImperativeHandle,useMemo,useEffect,useCallback,useContext,Fragment as Fragment$1,startTransition,Component}from'react';import {PolymarketIcon,KalshiIcon,cn as cn$1,Skeleton,toast,StyledModal,ModalContent,useDisclosure,Tabs,Tab,StyledInput,StyledSwitch,Select,SelectItem,StyledNumberInput,ChevronDownIcon,Button,Spinner,useScreen,TimerIcon,DropletIcon,ChartLineIcon,CalendarIcon,Linkable,Avatar,ChevronUpIcon,OrderbookTableIcon,OrderbookDepthIcon,RefreshIcon,Dropdown,DropdownTrigger,DropdownMenu,DropdownItem,ChevronRightIcon,ChevronLeftIcon,EmptyIcon,TrashIcon,Chip,XCloseIcon,Kbd,SearchIcon,ModalHeader,ModalBody}from'@liberfi.io/ui';import {AsyncModal,useAsyncModal}from'@liberfi.io/ui-scaffold';import {useTranslation}from'@liberfi.io/i18n';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {useWallets,useAuth,useAuthCallback}from'@liberfi.io/wallet-connector';import {keepPreviousData,useQueryClient,useQueries}from'@tanstack/react-query';import {useInfiniteMatchMarkets,useBalance,useDFlowKYC,usePolymarketSetup,usePredictClient,PolymarketContext,useTickSize,useFeeRate,useRebateConfig,useRealtimeOrderbook,pickBestAsk,walkOrderbook,usePositions,useDFlowQuote,useDFlowSubmit,useOrder,buildSignedV2OrderPayload,buildCtfExchangeDomain,buildOrderMessage,CTF_ORDER_TYPES,buildSignedOrder,buildClobPayload,resolveEventsParams,useInfiniteEvents,useRedeemPosition,pickBestBid,buildPolymarketL2Headers,useAvailableShares,getPolymarketSharesPrecision,useInfiniteOrders,useCancelOrder,useInfiniteTrades,useMarketHistory,useOrderbook,useEvent,useSimilarEvents,candlesticksQueryKey,useInfiniteComments,useSearchEvents}from'@liberfi.io/react-predict';export{PredictClient,PredictContext,PredictProvider,PredictWsClient,createPredictClient,createPredictWsClient,eventStatsQueryKey,fetchMatchMarketsPage,fetchMatchesPage,matchMarketsQueryKey,matchQueryKey,matchesQueryKey,useBalance,useCancelOrder,useCandlesticks,useDFlowKYC,useDFlowQuote,useDFlowSubmit,useEvent,useEventStats,useEvents,useInfiniteEvents,useInfiniteMatchMarkets,useInfiniteMatches,useInfiniteOrders,useInfiniteTrades,useMarket,useMarketHistory,useMarketTrades,useMatch,useOrder,useOrderbook,useOrders,usePositions,usePredictClient,usePriceHistory,useRedeemPosition,useSearchEvents,useSimilarEvents,useTrades}from'@liberfi.io/react-predict';import {ChainNamespace,Chain}from'@liberfi.io/types';import {formatAmountInUsd,SOLANA_TOKENS,formatAmount,debounce}from'@liberfi.io/utils';import yo from'canvas-confetti';import {List,useDynamicRowHeight}from'react-window';import {useInfiniteLoader}from'react-window-infinite-loader';import {useScrollCollapse,useResizeObserver,useCallbackRef}from'@liberfi.io/hooks';import {ResponsiveContainer,LineChart,CartesianGrid,XAxis,YAxis,Tooltip,Line,ReferenceDot}from'recharts';import {useAtom}from'jotai';import {atomWithStorage}from'jotai/utils';var Yl={Weather:["Daily temperature","Snow and rain","Climate change","Natural disasters","Hurricanes"],Companies:["IPOs","Product launches","KPIs","Elon Musk","CEOs","Layoffs"],Crypto:["BTC","15 min","Hourly","ETH","SOL","DOGE","Pre-Market","XRP","BNB","HYPE"],Economics:["Growth","Fed","Inflation","Oil and energy","Employment","Housing","Jobs & Economy","Bankruptcy & Defaults","GDP","Global Central Banks"],Elections:["Primaries","International elections"],Entertainment:["Music","Movies","Music charts","Television","Awards","Video games","Oscars","Rotten Tomatoes"],Financials:["S&P","Nasdaq","Daily","Metals","Treasuries","Oil","EUR/USD","USD/JPY","WTI"],Mentions:["Politicians","Earnings","Entertainment"],Politics:["Trump","Congress","International","SCOTUS & courts","Local","Recurring","Iran","House"],Science:["AI","Energy","Space"],Social:null,Sports:["Soccer","Basketball","Baseball","Football","Hockey","Golf","Tennis","Motorsport","Esports","Boxing","MMA","Rugby","Lacrosse","Mentions","Chess","Cricket","Aussie Rules","Darts"],World:null},vi=["Politics","Sports","Crypto","Economics","Financials","Elections","Entertainment","Companies","Science and Technology","Climate and Weather","Mentions","Social","World"],vo=(()=>{let e=t=>{let r=vi.indexOf(t);return r===-1?vi.length:r};return Object.entries(Yl).map(([t,r])=>({slug:t,label:t,tags:(r??[]).map(o=>({slug:o,label:o}))})).sort((t,r)=>e(t.slug)-e(r.slug))})();function yi({categories:e,selectedCategory:t,selectedTag:r,activeTags:o,onCategorySelect:n,onTagSelect:i,trailing:s,pulsingTab:a="Trending",className:l}){let{t:d}=useTranslation(),u=useCallback(()=>{n(null);},[n]),p=d("predict.categories.trending");return jsxs("div",{className:cn$1("sticky top-0 z-30 flex w-full flex-col justify-between gap-2 px-4 py-2.5 lg:px-4 lg:py-2",l),children:[jsx("style",{children:".cat-primary-row{display:flex;width:100%;flex-direction:column;gap:8px}@media(min-width:1024px){.cat-primary-row{flex-direction:row;align-items:center}}.cat-primary-row>.cat-tabs{min-width:0;overflow-x:auto;overflow-y:hidden;-ms-overflow-style:none;scrollbar-width:none}.cat-primary-row>.cat-tabs::-webkit-scrollbar{display:none}@media(min-width:1024px){.cat-primary-row>.cat-tabs{flex:1 1 0%}}"}),jsxs("div",{className:"cat-primary-row",children:[jsx("div",{className:"cat-tabs hideScrollbar",children:jsxs("div",{className:"flex min-h-9 items-stretch gap-x-3 lg:min-h-10",children:[jsx(xi,{label:p,isSelected:t===null,onPress:u,showPulse:p===a}),jsx(Zl,{}),e.map(m=>jsx(xi,{label:m.category,isSelected:t===m.category,onPress:()=>n(m.category),badge:m.badge,showPulse:m.category===a},m.category))]})}),s&&jsx("div",{className:"flex-shrink-0",children:s})]}),t&&o.length>0&&jsx("div",{className:"hideScrollbar overflow-x-auto overflow-y-hidden flex items-center",children:jsxs("div",{className:"flex gap-x-1.5 pl-1 lg:w-full lg:gap-x-2",children:[jsx(bi,{label:d("predict.categories.allMarkets"),isSelected:r===null,onPress:()=>i(null)}),o.map(m=>jsx(bi,{label:m.label,icon:m.icon,isSelected:r===m.label,onPress:()=>i(m.label)},m.label))]})})]})}function xi({label:e,isSelected:t,onPress:r,badge:o,showPulse:n}){return jsxs("button",{type:"button",onClick:r,className:cn$1("relative shrink-0 cursor-pointer whitespace-nowrap border-b px-2.5 py-1.5 text-sm font-medium capitalize transition-colors",t?"border-primary/50 text-primary":"border-transparent text-neutral-500 hover:text-neutral-300"),children:[n?jsxs("span",{className:"flex items-center gap-x-1.5",children:[jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-[rgb(240,68,56)]"}),jsx("span",{children:e})]}):e,o&&jsx("span",{className:"absolute -right-1 top-0 rounded bg-primary px-0.5 py-px text-[0.625rem] font-semibold leading-none text-neutral-950",children:o})]})}function Zl(){return jsx("span",{className:"flex items-center text-neutral-600","aria-hidden":"true",children:"|"})}function bi({label:e,icon:t,isSelected:r,onPress:o}){return jsxs("button",{type:"button",onClick:o,className:cn$1("flex shrink-0 items-center justify-center gap-x-1 min-w-14 rounded-2xl border px-3 py-1.5 text-sm font-medium uppercase transition-colors cursor-pointer",r?"border-primary/40 bg-primary/15 text-primary":"border-border/80 text-neutral-500 hover:bg-primary/10 hover:text-primary"),children:[t&&jsx("span",{className:cn$1("iconify size-4",t)}),e]})}function Kh({count:e=6}){return jsx("div",{className:"flex w-full flex-col gap-2 px-4 py-2.5 lg:px-4 lg:py-2",children:jsx("div",{className:"flex min-h-9 items-center gap-x-3 lg:min-h-10",children:Array.from({length:e}).map((t,r)=>jsx(Skeleton,{className:"h-6 w-16 shrink-0 rounded"},r))})})}function ec(e){return e.map(t=>({category:t.label,tags:t.tags.map(r=>r.label)}))}function tc(e){return e?e.tags.map(t=>({label:t.label,icon:t.icon})):[]}function wi({onSelect:e,trailing:t,className:r}){let[o,n]=useState(null),[i,s]=useState(null),a=useCallback(m=>{n(m),s(null),e?.({categorySlug:m,tagSlug:null});},[e]),l=useCallback(m=>{s(m),e?.({categorySlug:o,tagSlug:m});},[o,e]),d=ec(vo),u=vo.find(m=>m.slug===o),p=tc(u);return jsx(yi,{categories:d,selectedCategory:o,selectedTag:i,activeTags:p,onCategorySelect:a,onTagSelect:l,trailing:t,className:r})}function xn(e){return {title:e.title,imageUrl:e.image_url}}function bn(e,t){let r=e.outcomes[0],o=e.outcomes[1];return {question:e.question,yesAsk:t?.yesAsk??r?.best_ask??r?.price,noAsk:t?.noAsk??o?.best_ask??o?.price,yesBid:t?.yesBid??r?.best_bid,noBid:t?.noBid??o?.best_bid,yesSubTitle:r?.label??"Yes",noSubTitle:o?.label??"No"}}var Ur=24,xo=4,yn={ONE_MINUTE:1,ONE_HOUR:60,ONE_DAY:1440},ae={ONE_DAY:"1d",ONE_WEEK:"1w",ONE_MONTH:"1m",ALL:"all"},kn=ae.ALL,Zh={[ae.ONE_DAY]:yn.ONE_MINUTE,[ae.ONE_WEEK]:yn.ONE_HOUR,[ae.ONE_MONTH]:yn.ONE_HOUR,[ae.ALL]:yn.ONE_DAY},ev={[ae.ONE_DAY]:300,[ae.ONE_WEEK]:3600,[ae.ONE_MONTH]:10800,[ae.ALL]:1440*60},tv={[ae.ONE_DAY]:1440*60,[ae.ONE_WEEK]:10080*60,[ae.ONE_MONTH]:720*60*60,[ae.ALL]:null},Sn=1,wn=1,rv=1,nv=1,ov=99,wr={ONE_HOUR:"1h",SIX_HOURS:"6h",ONE_DAY:"1d",ONE_WEEK:"1w",MAX:"max"},iv=wr.ONE_WEEK,sv={[wr.ONE_HOUR]:60,[wr.SIX_HOURS]:60,[wr.ONE_DAY]:300,[wr.ONE_WEEK]:1800,[wr.MAX]:1800};var Ci=createContext(null);function ar(){let e=useContext(Ci);if(!e)throw new Error("usePredictWallet must be used within a PredictWalletProvider");return e}var lc=1e4;function cc({pollingInterval:e=lc,enabled:t=true,enableKalshi:r=true,children:o}){let n=useWallets(),i=useMemo(()=>n.find(D=>D.chainNamespace===ChainNamespace.SOLANA&&D.isConnected)?.address,[n]),s=useMemo(()=>n.find(D=>D.chainNamespace===ChainNamespace.EVM&&D.isConnected)?.address,[n]),{data:a,isLoading:l,isFetching:d,error:u}=useBalance({source:"kalshi",user:i??""},{enabled:t&&r&&!!i,refetchInterval:e}),{data:p,isLoading:m}=useDFlowKYC(i,{enabled:t&&r&&!!i,refetchInterval:3e4}),{data:c,isLoading:f}=usePolymarketSetup(s,{enabled:t&&!!s,refetchInterval:3e4}),g=c?.safe_address,v=c?.verified??false,x=c?.wallet_kind??"deposit",b=c?.deposit_wallet_address,w=x==="safe"?c?.safe_address:b,P=x==="safe"?c?.safe_deployed??false:c?.deposit_wallet_deployed??false,{data:h,isLoading:y,isFetching:S,error:N}=useBalance({source:"polymarket",user:s??""},{enabled:t&&v&&!!s,refetchInterval:e}),A=useMemo(()=>({solanaAddress:i,evmAddress:s,polymarketWalletKind:x,polymarketWalletAddress:w,polymarketDepositWalletAddress:b,polymarketWalletDeployed:P,polymarketSafeAddress:g,kalshiUsdcBalance:a?Number(a.balance):null,polymarketUsdcBalance:v&&h?Number(h.balance):null,kalshiKycVerified:p?.verified??false,kalshiKycUrl:p?.kyc_url??null,kalshiKycLoading:m,polymarketSetupVerified:v,polymarketSafeDeployed:c?.safe_deployed??false,polymarketTokenApproved:c?.token_approved??false,polymarketSetupLoading:f,isLoading:l||y,isFetching:d||S,error:u??N??null}),[i,s,x,w,b,P,g,a,h,v,p,m,c,f,l,y,d,S,u,N]);return jsx(Ci.Provider,{value:A,children:o})}var uc={minutes:60,hours:3600,days:86400};function Pn(e,t,r){let o=Math.floor(Date.now()/1e3);switch(e){case "5m":return o+300;case "1h":return o+3600;case "12h":return o+720*60;case "24h":return o+1440*60;case "eod":{let n=new Date;return n.setUTCHours(23,59,59,0),Math.floor(n.getTime()/1e3)}case "custom":return o+t*uc[r]}}function Nn(e,t){let r=parseFloat(t);return !r||r<=0?e:Math.round(e/r)*r}function Pe(e,t){let r=Math.pow(10,t);return Math.floor(e*r)/r}function Cn(e,t,r){let o=e.match(/Size\s*\(([\d.]+)\)\s*lower than the minimum:\s*([\d.]+)/i);if(o)return t("predict.trade.polymarket.minOrderSize",{current:o[1],min:o[2]});let n=e.match(/balance:\s*(\d+),\s*sum of active orders:\s*(\d+)/i);if(n){let s=parseInt(n[1],10)/1e6,a=parseInt(n[2],10)/1e6,l=Math.max(0,s-a);return t("predict.trade.polymarket.insufficientBalance",{total:Pe(s,2).toFixed(2),active:Pe(a,2).toFixed(2),available:Pe(l,2).toFixed(2)})}return /not enough balance/i.test(e)?t(r==="sell"?"predict.trade.insufficientShares":"predict.trade.insufficientBalance"):/max accuracy of/i.test(e)?t("predict.trade.polymarket.decimalAccuracy"):/tick size/i.test(e)?t("predict.trade.polymarket.tickSizeError"):/couldn.*fully filled|FOK.*filled or killed/i.test(e)?t("predict.trade.polymarket.fokNotFilled"):e.replace(/order\s+0x[a-f0-9]+\s+is invalid\.\s*/i,"")||e}function $r(e,t=2){return parseFloat(Pe(e,t).toFixed(t)).toString()}function lr(){let e={startVelocity:30,spread:360,ticks:60,zIndex:9999};yo({...e,particleCount:80,origin:{x:.5,y:.4}}),setTimeout(()=>{yo({...e,particleCount:40,origin:{x:.3,y:.6}});},150),setTimeout(()=>{yo({...e,particleCount:40,origin:{x:.7,y:.6}});},300);}function Ti({market:e,initialOutcome:t="yes",slippageBps:r=100,onInsufficientBalance:o}){let{t:n}=useTranslation(),{status:i}=useAuth(),s=useWallets(),a=usePredictClient(),l=useContext(PolymarketContext),d=useQueryClient(),u=e.source,p=u==="polymarket",m=s.find(_=>_.chainNamespace===ChainNamespace.SOLANA&&_.isConnected),c=s.find(_=>_.chainNamespace===ChainNamespace.EVM&&_.isConnected&&"switchChain"in _),f=i==="authenticated",g=m?.address,v=c?.address,[x,b]=useState(t),[w,P]=useState("market"),[h,y]=useState(NaN),[S,N]=useState(NaN),[A,D]=useState(false),[z,F]=useState(null),[q,$]=useState(false),[Q,re]=useState(false),[Z,C]=useState("1h"),[M,U]=useState(30),[G,k]=useState("minutes"),ce=useMemo(()=>{if(u!=="polymarket")return;let _=e.provider_meta?.["polymarket.clobTokenIds"];return _?(typeof _=="string"?JSON.parse(_):_)[x==="yes"?0:1]:void 0},[u,e.provider_meta,x]),{data:pe,isLoading:ke}=useTickSize(ce),Ve=pe?.minimum_tick_size?String(pe.minimum_tick_size):"0.01",{data:We,isLoading:Ue}=useFeeRate(ce),rt=String(We?.base_fee??0),{data:Ne}=useRebateConfig(),xe=Ne?.builder_enabled&&Ne.builder_code?Ne.builder_code:void 0,nt=null,Ct=false,ot=null,Ge=false,Se,Oe,it;try{let _=ar();nt={kalshiUsdcBalance:_.kalshiUsdcBalance,polymarketUsdcBalance:_.polymarketUsdcBalance,isLoading:_.isLoading},Ct=_.kalshiKycVerified,ot=_.kalshiKycUrl,Ge=_.polymarketSetupVerified,Se=_.polymarketSafeAddress,Oe=_.polymarketWalletKind,it=_.polymarketWalletAddress;}catch{}let Qt=u==="kalshi"&&!Ct,gt=u==="polymarket"&&!Ge,{data:R}=useRealtimeOrderbook({slug:e.slug,source:u,outcome:x},{enabled:e.status==="open"}),X=useMemo(()=>{let _=pickBestAsk(R,x);if(_!=null&&_>0)return _;let Be=x==="yes"?0:1,Qe=e.outcomes[Be];return Qe?.best_ask??Qe?.price??.5},[R,e.outcomes,x]),yt=useCallback(_=>{P(_);},[]),ht=useCallback(_=>{b(_),N(NaN);},[]);useEffect(()=>{ht(t);},[t,ht]),useEffect(()=>{w==="limit"&&isNaN(S)&&N(Math.round(X*100)/100);},[w,S,X]);let vt=useMemo(()=>isNaN(h)||h<=0?0:X>0?h/X:0,[h,X]),L=useMemo(()=>walkOrderbook({orderbook:R,outcome:x,side:"buy",sharesNeeded:vt,slippageBps:r}),[R,x,vt,r]),ve=useMemo(()=>L.status==="ok"&&L.worstPrice!=null&&L.worstPrice>0?L.worstPrice:X,[L,X]),je=useMemo(()=>isNaN(h)||h<=0?"0":String(Math.round(h*1e6)),[h]),Ir=e.provider_meta?.["dflow.yesMint"]??"",io=e.provider_meta?.["dflow.noMint"]??"",so=SOLANA_TOKENS.stablecoins.USDC.address,rr=x==="yes"?Ir:io,nr=so,Ft=rr,br=u==="kalshi"?g??"":v??"",{data:Mt,isLoading:Ye}=usePositions({source:u,user:br},{enabled:!!br}),ao=u==="kalshi"&&!!nr&&!!Ft&&!!g&&je!=="0",{refetch:un}=useDFlowQuote({inputMint:nr,outputMint:Ft,amount:je,userPublicKey:g??"",slippageBps:100},{enabled:ao}),Bt=useMemo(()=>nt?u==="kalshi"?nt.kalshiUsdcBalance:nt.polymarketUsdcBalance:Mt&&Mt.positions.reduce((Be,Qe)=>Qe.side==="USDC"||Qe.side==="collateral"?Be+(Qe.current_value??0):Be,0)||null,[nt,Mt,u]),Xt=nt?nt.isLoading:Ye,Or=useMemo(()=>w==="limit"&&p&&!isNaN(S)?S:X,[w,p,S,X]),pn=useMemo(()=>isNaN(h)||h<=0?0:h,[h]),lo=useMemo(()=>isNaN(h)||h<=0?0:Or>0?h/Or*1:0,[h,Or]),mn=lo-pn,co=useCallback(_=>{if(isNaN(_)){y(NaN);return}y(Math.round(Math.max(0,_)*100)/100);},[]),or=useCallback(_=>{if(isNaN(_)){N(NaN);return}let Be=Math.max(.01,Math.min(.99,_));N(Math.round(Be*100)/100);},[]),Et=useCallback(()=>{y(NaN),N(NaN),P("market"),re(false),C("1h"),U(30),k("minutes");},[]),Ht=useMemo(()=>{let _=[];return isNaN(h)||h<=0?_.push(n("predict.trade.minAmountUsd",{amount:wn})):h<wn&&_.push(n("predict.trade.minAmountUsd",{amount:wn})),e.status!=="open"&&_.push(n("predict.trade.marketNotActive")),Bt!=null&&!isNaN(h)&&h>0&&h>Pe(Bt,2)&&_.push(n("predict.trade.insufficientBalance")),w==="limit"&&p&&(isNaN(S)||S<.01||S>.99)&&_.push(n("predict.trade.limitPriceRange")),w==="limit"&&p&&Q&&Z==="custom"&&(isNaN(M)||M<=0)&&_.push(n("predict.trade.expiration.invalidDate")),u==="polymarket"&&w==="market"&&!isNaN(h)&&h>0&&vt>0&&(L.status==="insufficient_liquidity"?_.push(n("predict.trade.insufficientLiquidity",{available:Pe(L.totalAvailable,2)})):L.status==="exceeds_slippage"&&_.push(n("predict.trade.priceImpactTooHigh",{impact:(L.priceImpactBps/100).toFixed(2),slippage:(r/100).toFixed(2)}))),{isValid:_.length===0,errors:_}},[h,e.status,Bt,w,p,S,Q,Z,M,u,vt,L,r,n]),yr=useMemo(()=>Bt==null||isNaN(h)||h<=0?false:h>Pe(Bt,2),[Bt,h]),uo=useCallback(()=>{o?.(u);},[o,u]),{mutateAsync:Dr}=useDFlowSubmit(),{data:ir}=useOrder({id:z??"",source:u},{enabled:!!z});useEffect(()=>{if(!ir||!z)return;let{status:_}=ir;_==="closed"?(F(null),D(false),toast.success(n("predict.trade.submitSuccess")),lr(),Et(),d.invalidateQueries({queryKey:["predict","positions"]})):(_==="failed"||_==="expired")&&(D(false),F(null),toast.error(n("predict.trade.submitError")));},[ir,z,d,Et,n]);let st=useCallback(async()=>{if(!g||!m)return;if(!nr||!Ft){toast.error("Missing token mint addresses"),D(false);return}if(!Ct){$(true),D(false);return}let zt=(await un()).data?.transaction;if(!zt){toast.error(n("predict.trade.submitError")),D(false);return}let Fr=Uint8Array.from(atob(zt),Xe=>Xe.charCodeAt(0)),kt=await m.signTransaction(Fr),St=await Dr({signedTransaction:btoa(String.fromCharCode(...kt)),orderContext:{user_public_key:g,input_mint:nr,output_mint:Ft,amount:je,price:String(X),side:"BUY",outcome:x==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});F(St.signature);},[g,m,un,Dr,nr,Ft,je,X,x,e.slug,n,Ct]),Ar=useCallback(async()=>{if(!c||!l)return;let _=c.chain,Be=_!==Chain.POLYGON;Be&&await c.switchChain(Chain.POLYGON);try{let Qe=await c.getEip1193Provider();if(!Qe){toast.error(n("predict.trade.submitError")),D(!1);return}let zt=Oe==="deposit"&&!!it,Fr=!zt&&!!Se,kt=zt?it:Se,St={address:c.address,signatureType:zt?3:Fr?2:0,signTypedData:async(we,Je,Ze,Te)=>{let qe=[];"name"in we&&qe.push({name:"name",type:"string"}),"version"in we&&qe.push({name:"version",type:"string"}),"chainId"in we&&qe.push({name:"chainId",type:"uint256"}),"verifyingContract"in we&&qe.push({name:"verifyingContract",type:"address"}),"salt"in we&&qe.push({name:"salt",type:"bytes32"});let kr={EIP712Domain:qe,...Je};return await Qe.request({method:"eth_signTypedData_v4",params:[c.address,JSON.stringify({domain:we,types:kr,primaryType:Ze,message:Te})]})}},Xe=l.credentials??await l.authenticate(St),Br=x==="yes"?0:1,Hr="",Tt=e.provider_meta?.["polymarket.clobTokenIds"];Tt&&(Hr=(typeof Tt=="string"?JSON.parse(Tt):Tt)[Br]??"");let zr=e.provider_meta?.["polymarket.negRisk"]??!1,fn=w==="limit"&&!isNaN(S)?S:ve,Wr=Nn(fn,Ve),E=w==="limit"?Q?"GTD":"GTC":"FOK",Ee=w==="market"?h:Wr>0?h/Wr:0,De={tokenId:Hr,price:Wr,size:Ee,side:"BUY",orderType:E,tickSize:Ve,negRisk:zr,...kt&&{funderAddress:kt},...xe&&{builderCode:xe},...w==="limit"&&Q&&{expiration:Pn(Z,M,G)}},$e;if(zt)$e=await buildSignedV2OrderPayload({signer:St,depositWalletAddress:kt,input:De,owner:Xe.apiKey});else {let we=buildCtfExchangeDomain(zr),Je=buildOrderMessage({...De,signerAddress:St.address,signatureType:St.signatureType,feeRateBps:rt}),Ze=await St.signTypedData(we,CTF_ORDER_TYPES,"Order",Je),Te=buildSignedOrder(Je,Ze,De.orderType);$e=buildClobPayload(Te,Xe.apiKey);}await a.executePolymarketOrder({payload:$e,l2_api_key:Xe.apiKey,l2_secret:Xe.secret,l2_passphrase:Xe.passphrase,signer_address:Xe.address,owner:Xe.apiKey}),d.invalidateQueries({queryKey:["predict","orders"]}),d.invalidateQueries({queryKey:["predict","positions"]}),toast.success(n("predict.trade.submitSuccess")),lr(),Et(),D(!1);}finally{Be&&_&&c.switchChain(_).catch(()=>{});}},[c,l,x,e.provider_meta,w,S,ve,h,a,d,Q,Z,M,G,Et,n,Ve,rt,Se,Oe,it,xe]),po=useCallback(async()=>{if(!(!Ht.isValid||!f)){D(true),F(null),$(false);try{u==="kalshi"?await st():await Ar();}catch(_){let Be=_ instanceof Error?_.message:"",Qe=u==="polymarket"&&Be?Cn(Be,n,"buy"):Be||void 0;toast.error(Qe||n("predict.trade.submitError")),D(false);}}},[Ht.isValid,f,u,st,Ar,n]);return {outcome:x,orderType:w,quantity:h,limitPrice:S,shares:vt,estimatedCost:pn,potentialPayout:lo,potentialProfit:mn,pricePerShare:X,usdcBalance:Bt,isBalanceLoading:Xt,isMarketDataLoading:u==="polymarket"&&(Ue||ke),isSubmitting:A,authStatus:i,validation:Ht,isInsufficientBalance:yr,source:u,supportsLimitOrder:p,kycRequired:q,needsKyc:Qt,needsSetup:gt,kycUrl:ot,expirationEnabled:Q,expirationPreset:Z,customDuration:M,customDurationUnit:G,setOutcome:ht,setOrderType:yt,setQuantity:co,setLimitPrice:or,setExpirationEnabled:re,setExpirationPreset:C,setCustomDuration:U,setCustomDurationUnit:k,submit:po,notifyInsufficientBalance:uo}}function Mn({isOpen:e,onClose:t,kycUrl:r}){let{t:o}=useTranslation();return jsx(StyledModal,{isOpen:e,onOpenChange:n=>{n||t();},size:"md",classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{children:[jsxs("div",{className:"flex items-center justify-between px-5 pt-5 pb-4",children:[jsx("h3",{className:"text-base font-semibold text-white",children:o("predict.trade.kycModalTitle")}),jsx("button",{type:"button",onClick:t,className:"p-1 rounded-[10px] hover:bg-[rgba(39,39,42,0.5)] text-zinc-400 hover:text-white transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),jsxs("div",{className:"px-5 pb-5",children:[jsx("p",{className:"text-[13px] text-zinc-400 mb-4 text-left",children:o("predict.trade.kycModalDescription")}),jsx("div",{className:"flex flex-col gap-2 mb-4",children:["predict.trade.kycModalBullet1","predict.trade.kycModalBullet2","predict.trade.kycModalBullet3"].map(n=>jsxs("div",{className:"flex items-center gap-2.5 text-[13px] text-zinc-300",children:[jsx("svg",{width:14,height:14,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2.5,strokeLinecap:"round",strokeLinejoin:"round",className:"text-[#c7ff2e] shrink-0",children:jsx("polyline",{points:"20 6 9 17 4 12"})}),jsx("span",{children:o(n)})]},n))}),r&&jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[13px] text-[#c7ff2e]/70 hover:text-[#c7ff2e] transition-colors mb-3",children:[o("predict.trade.goToKYC")," \u2192"]}),jsx("p",{className:"text-[11px] text-zinc-500 mb-5",children:o("predict.trade.kycModalNote")}),jsx("button",{type:"button",onClick:t,className:"w-full py-2.5 rounded-[10px] bg-[#c7ff2e] text-zinc-900 text-sm font-semibold hover:bg-[#c7ff2e]/90 transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:o("common.ok")})]})]})})})}var Gc=["5m","1h","12h","24h","eod","custom"],Yc={"5m":"predict.trade.expiration.5m","1h":"predict.trade.expiration.1h","12h":"predict.trade.expiration.12h","24h":"predict.trade.expiration.24h",eod:"predict.trade.expiration.eod",custom:"predict.trade.expiration.custom"},Qc=["minutes","hours","days"],Xc={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"},Jc={maximumFractionDigits:0};function Bi({event:e,market:t,variant:r="bordered",outcome:o,orderType:n,quantity:i,limitPrice:s,shares:a,potentialProfit:l,potentialPayout:d,estimatedCost:u,usdcBalance:p,isBalanceLoading:m,isMarketDataLoading:c,isSubmitting:f,authStatus:g,isValid:v,validationErrors:x,isInsufficientBalance:b,onInsufficientBalance:w,supportsLimitOrder:P,kycRequired:h,needsKyc:y,needsSetup:S,kycUrl:N,expirationEnabled:A,expirationPreset:D,customDuration:z,customDurationUnit:F,onOutcomeChange:q,onOrderTypeChange:$,onQuantityChange:Q,onLimitPriceChange:re,onExpirationEnabledChange:Z,onExpirationPresetChange:C,onCustomDurationChange:M,onCustomDurationUnitChange:U,onSubmit:G}){let{t:k}=useTranslation(),[ce,pe]=useState(false),ke=useDisclosure(),[Ve,We]=useState(""),Ue=useRef(false);useEffect(()=>{Ue.current||We(isNaN(i)?"":String(i));},[i]);let[rt,Ne]=useState(""),xe=useRef(false);useEffect(()=>{xe.current||(isNaN(s)?Ne(""):Ne(String(parseFloat((s*100).toFixed(2)))));},[s]);let nt=useCallback(L=>{if(L!==""&&!/^\d*\.?\d{0,2}$/.test(L))return;if(Ne(L),L===""||L==="."){re(NaN);return}let je=parseFloat(L);isNaN(je)||re(je/100);},[re]),Ct=useCallback(L=>{if(L!==""&&!/^\d*\.?\d{0,2}$/.test(L))return;if(We(L),ht(false),L===""||L==="."){Q(NaN);return}let je=parseFloat(L);isNaN(je)||Q(je);},[Q]);useEffect(()=>{h&&!ke.isOpen&&ke.onOpen();},[h]);let ot=useMemo(()=>{let L=o==="yes"?t.yesAsk:t.noAsk;return L!=null?parseFloat((Number(L)*100).toFixed(2)):null},[o,t]),Ge=!isNaN(i)&&i>0,Se=g==="authenticated",Oe=g==="authenticating"||g==="deauthenticating",it=Se&&(y||S),Qt=useMemo(()=>{if(Oe)return k("predict.trade.checkingLogin");if(!Se)return k("predict.trade.loginToTrade");if(y)return k("predict.trade.kycRequired");if(S)return k("predict.trade.setupRequired");if(m)return k("predict.trade.loadingBalance");if(c)return k("predict.trade.loadingMarketData");if(f)return k("predict.trade.submitting");if(h)return k("predict.trade.kycRequired");if(!Ge)return k("predict.trade.enterAmount");let L=k(o==="yes"?"predict.trade.yes":"predict.trade.no"),ve=l>0?` \u2192 Win $${l.toFixed(2)}`:"";return `${k("predict.trade.buy")} ${L}${ve}`},[Oe,Se,y,S,m,c,f,h,Ge,o,l,k]),gt="primary",R=()=>{Q(Math.floor((p??0)/2*100)/100);},X=()=>{Q(Pe(p??0,2));},[yt,ht]=useState(false),vt=()=>{if(!Se){ht(false),G();return}if(y){ke.onOpen();return}if(S&&w){ht(false),w();return}if(h){ke.onOpen();return}if(b&&w){ht(false),w();return}if(!v){ht(true);return}ht(false),G();};return jsxs(Fragment,{children:[jsxs("div",{className:"flex w-full flex-col gap-y-4 p-4",style:r==="bordered"?{borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",transition:"border-color 0.2s"}:void 0,onMouseEnter:L=>{r==="bordered"&&(L.currentTarget.style.borderColor="rgba(63,63,70,0.8)");},onMouseLeave:L=>{r==="bordered"&&(L.currentTarget.style.borderColor="rgba(39,39,42,0.6)");},children:[e&&jsxs("div",{className:"flex items-center gap-x-3",children:[e.imageUrl&&jsx("img",{src:e.imageUrl,alt:e.title,className:"h-10 w-10 shrink-0 rounded-lg object-cover"}),jsxs("div",{className:"flex min-w-0 flex-col gap-y-0.5",children:[jsx("span",{className:"text-sm text-neutral-500 leading-tight line-clamp-1",children:e.title}),jsxs("span",{className:"text-base font-semibold leading-tight line-clamp-1",children:[jsxs("span",{className:"text-bullish",children:[k("predict.trade.buy")," ",k(o==="yes"?"predict.trade.yes":"predict.trade.no")]}),jsxs("span",{className:"text-foreground",children:[" \xB7 ",t.yesSubTitle]})]})]})]}),jsxs("div",{className:"flex items-center justify-between",children:[P?jsxs(Tabs,{variant:"underlined",selectedKey:n,onSelectionChange:L=>$(L),classNames:{tabList:"gap-x-4",tab:"px-0"},children:[jsx(Tab,{title:k("predict.trade.market")},"market"),jsx(Tab,{title:k("predict.trade.limit")},"limit")]}):jsx("span",{className:"text-sm font-medium text-foreground",children:k("predict.trade.market")}),n==="limit"&&P?jsx(StyledInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",inputMode:"decimal",value:rt,onChange:L=>nt(L.target.value),onFocus:()=>{xe.current=true;},onBlur:()=>{xe.current=false,isNaN(s)?Ne(""):Ne(String(parseFloat((s*100).toFixed(2))));},endContent:jsx("span",{className:"text-xl font-bold tabular-nums text-foreground",children:"\xA2"}),classNames:{base:"w-28",inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 rounded-lg px-2 h-9 min-h-9",input:"text-xl font-bold tabular-nums text-right"}}):ot!=null&&jsxs("span",{className:"text-xl font-bold tabular-nums",children:[ot," \xA2"]})]}),jsx("div",{className:"flex gap-x-2",children:["yes","no"].map(L=>{let ve=L==="yes"?t.yesAsk:t.noAsk;return jsx("div",{className:"flex flex-1 flex-col gap-y-1",children:jsxs("button",{type:"button",onClick:()=>q(L),className:`w-full rounded-lg border py-2 text-sm font-medium transition-colors cursor-pointer ${o===L?"border-bullish bg-bullish/10 text-bullish":"border-default-400 text-foreground hover:border-default-500"}`,children:[jsx("span",{children:k(L==="yes"?"predict.trade.yes":"predict.trade.no")}),ve!=null&&jsxs("span",{className:"ml-1 opacity-70",children:[parseFloat((Number(ve)*100).toFixed(2)),"\xA2"]})]})},L)})}),jsxs("div",{className:"flex flex-col gap-y-1.5",children:[jsxs("div",{className:"flex items-center justify-between text-xs text-neutral-500",children:[jsx("span",{className:"text-sm font-medium text-foreground",children:k("predict.trade.youArePaying")}),jsxs("div",{className:"flex items-center gap-x-2",children:[jsx("button",{type:"button",onClick:R,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-neutral-500 hover:text-foreground font-medium",children:k("predict.trade.half")}),jsx("button",{type:"button",onClick:X,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-neutral-500 hover:text-foreground font-medium",children:k("predict.trade.max")})]})]}),jsx(StyledInput,{"aria-label":"Trade amount",fullWidth:true,placeholder:"0",radius:"lg",size:"lg",inputMode:"decimal",value:Ve,onChange:L=>Ct(L.target.value),onFocus:()=>{Ue.current=true;},onBlur:()=>{Ue.current=false,We(isNaN(i)?"":String(i));},startContent:jsx("span",{className:"text-default-600 text-xl",children:"$"}),classNames:{inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 h-14 min-h-14",input:"text-lg"}}),yt&&x.length>0&&jsx("div",{className:"flex flex-col gap-y-0.5",children:x.map(L=>jsx("span",{className:"text-xs text-danger",children:L},L))})]}),jsxs("div",{className:"flex items-center justify-end gap-x-1.5 text-sm",children:[jsx("span",{className:"text-neutral-500",children:k("predict.trade.balance")}),jsx("span",{className:"font-medium text-foreground tabular-nums",children:p!=null?`$${Pe(p,2).toFixed(2)}`:"$0"})]}),n==="limit"&&P&&jsxs("div",{className:"flex flex-col gap-y-2",children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium text-primary",children:k("predict.trade.setExpiration")}),jsx(StyledSwitch,{size:"sm",color:"primary",isSelected:A,onValueChange:Z,"aria-label":k("predict.trade.setExpiration")})]}),A&&jsxs(Fragment,{children:[jsx(Select,{"aria-label":k("predict.trade.setExpiration"),selectedKeys:[D],onSelectionChange:L=>{let ve=Array.from(L)[0];ve&&C(ve);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:Gc.map(L=>jsx(SelectItem,{children:k(Yc[L])},L))}),D==="custom"&&jsxs("div",{className:"flex gap-x-2",children:[jsx(StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(z)?void 0:z,onValueChange:M,minValue:1,step:1,formatOptions:Jc,classNames:{base:"flex-1",inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 min-h-10",input:"text-sm"}}),jsx(Select,{"aria-label":"Duration unit",selectedKeys:[F],onSelectionChange:L=>{let ve=Array.from(L)[0];ve&&U(ve);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:Qc.map(L=>jsx(SelectItem,{children:k(Xc[L])},L))})]})]})]}),jsxs("div",{className:"flex flex-col gap-y-2",children:[jsxs("div",{className:"flex items-center justify-between text-sm",children:[jsxs("button",{type:"button",onClick:()=>pe(L=>!L),className:"flex items-center gap-x-1 text-neutral-500 hover:text-foreground cursor-pointer transition-colors",children:[jsx("span",{children:k("predict.trade.odds")}),jsx(ChevronDownIcon,{className:cn$1("h-3.5 w-3.5 transition-transform",ce&&"rotate-180")})]}),ot!=null&&jsx("span",{className:"text-foreground font-medium tabular-nums",children:k("predict.trade.chance",{percent:ot})})]}),ce&&jsxs("div",{className:"flex flex-col gap-y-1.5 border-l-2 border-default-300 pl-3 text-sm text-neutral-500",children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.totalSize")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${u.toFixed(2)}`:"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.numContracts")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(a)&&a>0?$r(a):"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.payout")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${d.toFixed(2)}`:"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.estProfit")}),jsx("span",{className:"tabular-nums text-bullish",children:!isNaN(i)&&i>0&&l>0?`+$${l.toFixed(2)}`:"\u2013"})]})]})]}),jsx(Button,{color:gt,fullWidth:true,radius:"lg",size:"lg",isDisabled:Oe||Se&&!it&&(m||c||!Ge||f),isLoading:Oe||Se&&!it&&(f||m||c),spinner:jsx(Spinner,{size:"sm",color:"current"}),onPress:vt,children:Qt})]}),jsx(Mn,{isOpen:ke.isOpen,onClose:ke.onClose,kycUrl:N})]})}function Tn({event:e,market:t,variant:r,initialOutcome:o,chain:n,slippageBps:i,onInsufficientBalance:s,onOutcomeChange:a}){let{outcome:l,orderType:d,quantity:u,limitPrice:p,shares:m,estimatedCost:c,potentialPayout:f,potentialProfit:g,pricePerShare:v,usdcBalance:x,isBalanceLoading:b,isMarketDataLoading:w,isSubmitting:P,authStatus:h,validation:y,isInsufficientBalance:S,supportsLimitOrder:N,kycRequired:A,needsKyc:D,needsSetup:z,kycUrl:F,expirationEnabled:q,expirationPreset:$,customDuration:Q,customDurationUnit:re,setOutcome:Z,setOrderType:C,setQuantity:M,setLimitPrice:U,setExpirationEnabled:G,setExpirationPreset:k,setCustomDuration:ce,setCustomDurationUnit:pe,submit:ke,notifyInsufficientBalance:Ve}=Ti({market:t,initialOutcome:o,slippageBps:i,onInsufficientBalance:s}),We=useAuthCallback(ke),Ue=useCallback(xe=>{Z(xe),a?.(xe);},[Z,a]),rt=useMemo(()=>e?xn(e):void 0,[e]),Ne=useMemo(()=>bn(t,{yesAsk:l==="yes"?v:void 0,noAsk:l==="no"?v:void 0}),[t,l,v]);return jsx(Bi,{event:rt,market:Ne,variant:r,outcome:l,orderType:d,quantity:u,limitPrice:p,shares:m,estimatedCost:c,potentialPayout:f,potentialProfit:g,usdcBalance:x,isBalanceLoading:b,isMarketDataLoading:w,isSubmitting:P,authStatus:h,isValid:y.isValid,validationErrors:y.errors,isInsufficientBalance:S,onInsufficientBalance:s?Ve:void 0,supportsLimitOrder:N,kycRequired:A,needsKyc:D,needsSetup:z,kycUrl:F,expirationEnabled:q,expirationPreset:$,customDuration:Q,customDurationUnit:re,onOutcomeChange:Ue,onOrderTypeChange:C,onQuantityChange:M,onLimitPriceChange:U,onExpirationEnabledChange:G,onExpirationPresetChange:k,onCustomDurationChange:ce,onCustomDurationUnitChange:pe,onSubmit:We})}var Kr="predict-trade";function Ln({id:e=Kr}){return jsx(AsyncModal,{id:e,children:t=>jsx(ad,{...t})})}function ad({params:e,isOpen:t,onOpenChange:r}){let{t:o}=useTranslation(),{isMobile:n}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:n?"lg":"md",backdrop:"blur",hideCloseButton:true,classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{className:n?"":"p-2",children:[jsx(Tn,{event:e.event,market:e.market,initialOutcome:e.initialOutcome,chain:e.chain,slippageBps:e.slippageBps,variant:"flat",onInsufficientBalance:e.onInsufficientBalance}),jsx("div",{className:"px-4 pb-4",children:jsx("button",{type:"button",onClick:()=>r(false),className:"w-full h-12 rounded-xl text-sm font-medium text-zinc-400 hover:text-white hover:bg-[rgba(39,39,42,0.5)] transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:o("common.cancel")})})]})})}):null}var Vr={sortPreset:"volume",sortAsc:false,source:void 0,timeRemaining:void 0,minVolume:void 0,minLiquidity:void 0};function wo(e,t=true){let r=0;return t&&e.source&&r++,e.timeRemaining&&r++,e.minVolume&&r++,e.minLiquidity&&r++,r}function zi({isOpen:e,onClose:t,value:r,onChange:o,enableKalshi:n=true}){let{t:i}=useTranslation(),[s,a]=useState(r),l=useMemo(()=>n?Vr:{...Vr,source:"polymarket"},[n]),d=useCallback(b=>{b?a(r):t();},[r,t]),u=useCallback(()=>{a(l);},[l]),p=useCallback(()=>{o(s),t();},[s,o,t]),m=useCallback((b,w)=>{a(P=>({...P,[b]:w}));},[]),c=useMemo(()=>wo(s,n),[s,n]),f=useMemo(()=>[{value:void 0,label:i("predict.filter.all")},{value:"polymarket",label:i("predict.platform.polymarket")},{value:"kalshi",label:i("predict.platform.kalshi")}],[i]),g=useMemo(()=>[{value:void 0,label:i("predict.filter.all")},{value:"1d",label:i("predict.filter.lessThanDay")},{value:"7d",label:i("predict.filter.lessThanWeek")},{value:"30d",label:i("predict.filter.lessThanMonth")}],[i]),v=useMemo(()=>[{value:void 0,label:i("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[i]),x=useMemo(()=>[{value:void 0,label:i("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[i]);return jsx(StyledModal,{isOpen:e,onOpenChange:d,size:"md",backdrop:"blur",scrollBehavior:"inside",classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{children:[jsxs("div",{className:"flex items-center justify-between px-5 pt-5 pb-4",children:[jsx("h3",{className:"text-base font-semibold text-white",children:i("predict.filter.title")}),jsx(md,{onClick:()=>d(false)})]}),jsxs("div",{style:{padding:"0 20px 16px",display:"flex",flexDirection:"column",gap:20},children:[n&&jsx(_n,{label:i("predict.filter.platform"),children:jsx(In,{options:f,selected:s.source,onSelect:b=>m("source",b)})}),jsx(_n,{label:i("predict.filter.timeRemaining"),children:jsx(In,{options:g,selected:s.timeRemaining,onSelect:b=>m("timeRemaining",b)})}),jsx(_n,{label:i("predict.filter.minVolume"),children:jsx(In,{options:v,selected:s.minVolume,onSelect:b=>m("minVolume",b)})}),jsx(_n,{label:i("predict.filter.minLiquidity"),children:jsx(In,{options:x,selected:s.minLiquidity,onSelect:b=>m("minLiquidity",b)})})]}),jsxs("div",{className:"flex items-center gap-3 px-5 py-4",style:{borderTop:"1px solid rgba(39,39,42,0.5)"},children:[jsx("button",{type:"button",className:"inline-flex items-center justify-center py-2.5 px-5 rounded-[10px] text-zinc-400 text-sm font-medium hover:text-white transition-colors cursor-pointer",onClick:u,children:i("predict.filter.reset")}),jsxs("button",{type:"button",className:"flex-1 inline-flex items-center justify-center gap-2 py-2.5 rounded-[10px] bg-[#c7ff2e] text-zinc-900 text-sm font-semibold hover:bg-[#c7ff2e]/90 transition-colors cursor-pointer",onClick:p,children:[i("predict.filter.showResults"),c>0&&jsxs("span",{style:{opacity:.7},children:["(",c,")"]})]})]})]})})})}function _n({label:e,children:t}){return jsxs("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[jsx("span",{style:{fontSize:11,fontWeight:500,color:"#71717a",textTransform:"uppercase",letterSpacing:"0.05em"},children:e}),t]})}function md({onClick:e}){return jsx("button",{type:"button",onClick:e,className:"p-1 rounded-[10px] hover:bg-[rgba(39,39,42,0.5)] text-zinc-400 hover:text-white transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})}function In({options:e,selected:t,onSelect:r,allowDeselect:o=true}){return jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:e.map(n=>{let i=t===n.value;return jsx("button",{type:"button",onClick:()=>{r(i&&o?void 0:n.value);},style:{flexShrink:0,borderRadius:10,padding:"6px 14px",fontSize:13,fontWeight:500,cursor:"pointer",transition:"all 0.15s",border:i?"1px solid rgba(199,255,46,0.3)":"1px solid rgba(63,63,70,0.5)",background:i?"rgba(199,255,46,0.08)":"rgba(39,39,42,0.4)",color:i?"#c7ff2e":"#a1a1aa"},onMouseEnter:s=>{i||(s.currentTarget.style.background="rgba(39,39,42,0.8)",s.currentTarget.style.color="#fff");},onMouseLeave:s=>{i||(s.currentTarget.style.background="rgba(39,39,42,0.4)",s.currentTarget.style.color="#a1a1aa");},children:n.label},n.value??"__all")})})}var Vi={start_time:{sort_by:"created_at"},volume:{sort_by:"volume"},liquidity:{sort_by:"liquidity"},ending_soon:{sort_by:"end_at"}},Ui={start_time:"predict.sort.startTime",volume:"predict.sort.volume",liquidity:"predict.sort.liquidity",ending_soon:"predict.sort.endingSoon"},Sd=["start_time","volume","liquidity","ending_soon"],$i={display:"inline-flex",alignItems:"center",gap:8,borderRadius:10,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",padding:"8px 12px",fontSize:14,color:"#d4d4d8",cursor:"pointer",transition:"all 0.15s"},wd={position:"absolute",left:0,top:"100%",zIndex:20,marginTop:8,borderRadius:14,border:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"};function ji({sortPreset:e,onSortChange:t,sortAsc:r,onSortAscChange:o,onFilterPress:n,filterCount:i=0,className:s}){let{t:a}=useTranslation(),[l,d]=useState(false),u=useRef(null),p=useCallback(c=>{u.current&&!u.current.contains(c.target)&&d(false);},[]);useEffect(()=>(document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)),[p]),useEffect(()=>{if(!l)return;let c=f=>{f.key==="Escape"&&d(false);};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[l]);let m=Ki[e];return jsxs("div",{className:s,style:{display:"flex",alignItems:"center",gap:8},children:[jsxs("div",{ref:u,style:{position:"relative"},children:[jsxs("button",{type:"button",style:$i,onMouseEnter:c=>{c.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:c=>{c.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>d(c=>!c),children:[jsx(Pd,{}),jsx(m,{className:"size-4 shrink-0",style:{color:"#a1a1aa"}}),jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:a(Ui[e])}),jsx(Cd,{open:l})]}),l&&jsx("div",{style:{...wd,width:224,padding:4},children:Sd.map(c=>{let f=Ki[c],g=e===c;return jsxs("button",{type:"button",style:{display:"flex",width:"100%",alignItems:"center",gap:12,padding:"10px 12px",textAlign:"left",fontSize:14,border:"none",cursor:"pointer",transition:"all 0.15s",background:g?"rgba(199,255,46,0.08)":"transparent",color:g?"#c7ff2e":"#a1a1aa",borderRadius:10},onMouseEnter:v=>{g||(v.currentTarget.style.background="rgba(39,39,42,0.5)",v.currentTarget.style.color="#fff");},onMouseLeave:v=>{g||(v.currentTarget.style.background="transparent",v.currentTarget.style.color="#a1a1aa");},onClick:()=>{e===c?o(!r):t(c),d(false);},children:[jsx(f,{className:"size-4 shrink-0",style:{color:g?"#c7ff2e":"#71717a"}}),jsx("span",{style:{flex:1,fontWeight:500},children:a(Ui[c])}),g&&jsx("svg",{viewBox:"0 0 24 24",style:{width:16,height:16,color:"#c7ff2e",flexShrink:0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M20 6 9 17l-5-5"})})]},c)})})]}),jsx("button",{type:"button",style:{borderRadius:10,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",width:36,height:36,color:"#a1a1aa",cursor:"pointer",transition:"all 0.15s",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:14},onMouseEnter:c=>{c.currentTarget.style.background="rgba(39,39,42,1)",c.currentTarget.style.color="#fff";},onMouseLeave:c=>{c.currentTarget.style.background="rgba(39,39,42,0.6)",c.currentTarget.style.color="#a1a1aa";},onClick:()=>o(!r),children:r?"\u2191":"\u2193"}),jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxs("button",{type:"button",style:$i,onMouseEnter:c=>{c.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:c=>{c.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:n,children:[jsx(Nd,{}),jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:a("predict.filter.title")})]}),i>0&&jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:8,background:"#c7ff2e",color:"#000",fontSize:10,fontWeight:600,padding:"0 4px"},children:i})]})]})}var Ki={start_time:CalendarIcon,volume:ChartLineIcon,liquidity:DropletIcon,ending_soon:TimerIcon};function Pd(){return jsxs("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#a1a1aa"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"m21 16-4 4-4-4"}),jsx("path",{d:"M17 20V4"}),jsx("path",{d:"m3 8 4-4 4 4"}),jsx("path",{d:"M7 4v16"})]})}function Nd(){return jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#a1a1aa"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z"})})}function Cd({open:e}){return jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#71717a",transition:"transform 0.15s",transform:e?"rotate(180deg)":void 0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"m6 9 6 6 6-6"})})}function Yi(e={}){let t=useMemo(()=>resolveEventsParams(e),[e.tagSlugSelection,e.limit,e.status,e.sort_by,e.sort_asc,e.source,e.with_markets,e.minVolume,e.minLiquidity,e.timeRemaining,e.markets_limit]),{data:r,isLoading:o,isFetching:n,isFetchingNextPage:i,isError:s,error:a,hasNextPage:l,fetchNextPage:d,refetch:u}=useInfiniteEvents(t),p=useMemo(()=>r?.pages.flatMap(f=>f.items).filter(f=>f!=null)??[],[r]),m=useCallback(()=>{d();},[d]),c=useCallback(()=>{u();},[u]);return {data:p,isLoading:o,isFetching:n&&!i,isFetchingMore:i,isError:s,error:a??null,hasMore:l??false,fetchMore:m,refetch:c}}var Qi=`
1
+ import {createContext,memo,useRef,forwardRef,useState,useImperativeHandle,useMemo,useEffect,useCallback,useContext,Fragment as Fragment$1,startTransition,Component}from'react';import {PolymarketIcon,KalshiIcon,cn as cn$1,Skeleton,toast,StyledModal,ModalContent,useDisclosure,Tabs,Tab,StyledInput,StyledSwitch,Select,SelectItem,StyledNumberInput,ChevronDownIcon,Button,Spinner,useScreen,TimerIcon,DropletIcon,ChartLineIcon,CalendarIcon,Linkable,Avatar,ChevronUpIcon,OrderbookTableIcon,OrderbookDepthIcon,RefreshIcon,Dropdown,DropdownTrigger,DropdownMenu,DropdownItem,ChevronRightIcon,ChevronLeftIcon,EmptyIcon,TrashIcon,Chip,XCloseIcon,Kbd,SearchIcon,ModalHeader,ModalBody}from'@liberfi.io/ui';import {AsyncModal,useAsyncModal}from'@liberfi.io/ui-scaffold';import {useTranslation}from'@liberfi.io/i18n';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {useWallets,useAuth,useAuthCallback}from'@liberfi.io/wallet-connector';import {keepPreviousData,useQueryClient,useQueries}from'@tanstack/react-query';import {useInfiniteMatchMarkets,useBalance,useDFlowKYC,usePolymarketSetup,usePredictClient,PolymarketContext,useTickSize,useFeeRate,useRebateConfig,useRealtimeOrderbook,pickBestAsk,walkOrderbook,usePositions,useDFlowQuote,useDFlowSubmit,useOrder,buildSignedV2OrderPayload,buildCtfExchangeDomain,buildOrderMessage,CTF_ORDER_TYPES,buildSignedOrder,buildClobPayload,resolveEventsParams,useInfiniteEvents,useRedeemPosition,pickBestBid,buildPolymarketL2Headers,useAvailableShares,getPolymarketSharesPrecision,useInfiniteOrders,useCancelOrder,useInfiniteTrades,useMarketHistory,useOrderbook,useEvent,useSimilarEvents,candlesticksQueryKey,useInfiniteComments,useSearchEvents}from'@liberfi.io/react-predict';export{PredictClient,PredictContext,PredictProvider,PredictWsClient,createPredictClient,createPredictWsClient,eventStatsQueryKey,fetchMatchMarketsPage,fetchMatchesPage,matchMarketsQueryKey,matchQueryKey,matchesQueryKey,useBalance,useCancelOrder,useCandlesticks,useDFlowKYC,useDFlowQuote,useDFlowSubmit,useEvent,useEventStats,useEvents,useInfiniteEvents,useInfiniteMatchMarkets,useInfiniteMatches,useInfiniteOrders,useInfiniteTrades,useMarket,useMarketHistory,useMarketTrades,useMatch,useOrder,useOrderbook,useOrders,usePositions,usePredictClient,usePriceHistory,useRedeemPosition,useSearchEvents,useSimilarEvents,useTrades}from'@liberfi.io/react-predict';import {ChainNamespace,Chain}from'@liberfi.io/types';import {formatAmountInUsd,SOLANA_TOKENS,formatAmount,debounce}from'@liberfi.io/utils';import yo from'canvas-confetti';import {List,useDynamicRowHeight}from'react-window';import {useInfiniteLoader}from'react-window-infinite-loader';import {useScrollCollapse,useResizeObserver,useCallbackRef}from'@liberfi.io/hooks';import {ResponsiveContainer,LineChart,CartesianGrid,XAxis,YAxis,Tooltip,Line,ReferenceDot}from'recharts';import {useAtom}from'jotai';import {atomWithStorage}from'jotai/utils';var Yl={Weather:["Daily temperature","Snow and rain","Climate change","Natural disasters","Hurricanes"],Companies:["IPOs","Product launches","KPIs","Elon Musk","CEOs","Layoffs"],Crypto:["BTC","15 min","Hourly","ETH","SOL","DOGE","Pre-Market","XRP","BNB","HYPE"],Economics:["Growth","Fed","Inflation","Oil and energy","Employment","Housing","Jobs & Economy","Bankruptcy & Defaults","GDP","Global Central Banks"],Elections:["Primaries","International elections"],Entertainment:["Music","Movies","Music charts","Television","Awards","Video games","Oscars","Rotten Tomatoes"],Financials:["S&P","Nasdaq","Daily","Metals","Treasuries","Oil","EUR/USD","USD/JPY","WTI"],Mentions:["Politicians","Earnings","Entertainment"],Politics:["Trump","Congress","International","SCOTUS & courts","Local","Recurring","Iran","House"],Science:["AI","Energy","Space"],Social:null,Sports:["Soccer","Basketball","Baseball","Football","Hockey","Golf","Tennis","Motorsport","Esports","Boxing","MMA","Rugby","Lacrosse","Mentions","Chess","Cricket","Aussie Rules","Darts"],World:null},vi=["Politics","Sports","Crypto","Economics","Financials","Elections","Entertainment","Companies","Science and Technology","Climate and Weather","Mentions","Social","World"],vo=(()=>{let e=t=>{let r=vi.indexOf(t);return r===-1?vi.length:r};return Object.entries(Yl).map(([t,r])=>({slug:t,label:t,tags:(r??[]).map(o=>({slug:o,label:o}))})).sort((t,r)=>e(t.slug)-e(r.slug))})();function yi({categories:e,selectedCategory:t,selectedTag:r,activeTags:o,onCategorySelect:n,onTagSelect:i,trailing:s,pulsingTab:a="Trending",className:l}){let{t:d}=useTranslation(),u=useCallback(()=>{n(null);},[n]),p=d("predict.categories.trending");return jsxs("div",{className:cn$1("sticky top-0 z-30 flex w-full flex-col justify-between gap-2 px-4 py-2.5 lg:px-4 lg:py-2",l),children:[jsx("style",{children:".cat-primary-row{display:flex;width:100%;flex-direction:column;gap:8px}@media(min-width:1024px){.cat-primary-row{flex-direction:row;align-items:center}}.cat-primary-row>.cat-tabs{min-width:0;overflow-x:auto;overflow-y:hidden;-ms-overflow-style:none;scrollbar-width:none}.cat-primary-row>.cat-tabs::-webkit-scrollbar{display:none}@media(min-width:1024px){.cat-primary-row>.cat-tabs{flex:1 1 0%}}"}),jsxs("div",{className:"cat-primary-row",children:[jsx("div",{className:"cat-tabs hideScrollbar",children:jsxs("div",{className:"flex min-h-9 items-stretch gap-x-3 lg:min-h-10",children:[jsx(xi,{label:p,isSelected:t===null,onPress:u,showPulse:p===a}),jsx(Zl,{}),e.map(m=>jsx(xi,{label:m.category,isSelected:t===m.category,onPress:()=>n(m.category),badge:m.badge,showPulse:m.category===a},m.category))]})}),s&&jsx("div",{className:"flex-shrink-0",children:s})]}),t&&o.length>0&&jsx("div",{className:"hideScrollbar overflow-x-auto overflow-y-hidden flex items-center",children:jsxs("div",{className:"flex gap-x-1.5 pl-1 lg:w-full lg:gap-x-2",children:[jsx(bi,{label:d("predict.categories.allMarkets"),isSelected:r===null,onPress:()=>i(null)}),o.map(m=>jsx(bi,{label:m.label,icon:m.icon,isSelected:r===m.label,onPress:()=>i(m.label)},m.label))]})})]})}function xi({label:e,isSelected:t,onPress:r,badge:o,showPulse:n}){return jsxs("button",{type:"button",onClick:r,className:cn$1("relative shrink-0 cursor-pointer whitespace-nowrap border-b px-2.5 py-1.5 text-sm font-medium capitalize transition-colors",t?"border-primary/50 text-primary":"border-transparent text-neutral-500 hover:text-neutral-300"),children:[n?jsxs("span",{className:"flex items-center gap-x-1.5",children:[jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-[rgb(240,68,56)]"}),jsx("span",{children:e})]}):e,o&&jsx("span",{className:"absolute -right-1 top-0 rounded bg-primary px-0.5 py-px text-[0.625rem] font-semibold leading-none text-neutral-950",children:o})]})}function Zl(){return jsx("span",{className:"flex items-center text-neutral-600","aria-hidden":"true",children:"|"})}function bi({label:e,icon:t,isSelected:r,onPress:o}){return jsxs("button",{type:"button",onClick:o,className:cn$1("flex shrink-0 items-center justify-center gap-x-1 min-w-14 rounded-2xl border px-3 py-1.5 text-sm font-medium uppercase transition-colors cursor-pointer",r?"border-primary/40 bg-primary/15 text-primary":"border-border/80 text-neutral-500 hover:bg-primary/10 hover:text-primary"),children:[t&&jsx("span",{className:cn$1("iconify size-4",t)}),e]})}function Kh({count:e=6}){return jsx("div",{className:"flex w-full flex-col gap-2 px-4 py-2.5 lg:px-4 lg:py-2",children:jsx("div",{className:"flex min-h-9 items-center gap-x-3 lg:min-h-10",children:Array.from({length:e}).map((t,r)=>jsx(Skeleton,{className:"h-6 w-16 shrink-0 rounded"},r))})})}function ec(e){return e.map(t=>({category:t.label,tags:t.tags.map(r=>r.label)}))}function tc(e){return e?e.tags.map(t=>({label:t.label,icon:t.icon})):[]}function wi({onSelect:e,trailing:t,className:r}){let[o,n]=useState(null),[i,s]=useState(null),a=useCallback(m=>{n(m),s(null),e?.({categorySlug:m,tagSlug:null});},[e]),l=useCallback(m=>{s(m),e?.({categorySlug:o,tagSlug:m});},[o,e]),d=ec(vo),u=vo.find(m=>m.slug===o),p=tc(u);return jsx(yi,{categories:d,selectedCategory:o,selectedTag:i,activeTags:p,onCategorySelect:a,onTagSelect:l,trailing:t,className:r})}function xn(e){return {title:e.title,imageUrl:e.image_url}}function bn(e,t){let r=e.outcomes[0],o=e.outcomes[1];return {question:e.question,yesAsk:t?.yesAsk??r?.best_ask??r?.price,noAsk:t?.noAsk??o?.best_ask??o?.price,yesBid:t?.yesBid??r?.best_bid,noBid:t?.noBid??o?.best_bid,yesSubTitle:r?.label??"Yes",noSubTitle:o?.label??"No"}}var Ur=24,xo=4,yn={ONE_MINUTE:1,ONE_HOUR:60,ONE_DAY:1440},ae={ONE_DAY:"1d",ONE_WEEK:"1w",ONE_MONTH:"1m",ALL:"all"},kn=ae.ALL,Zh={[ae.ONE_DAY]:yn.ONE_MINUTE,[ae.ONE_WEEK]:yn.ONE_HOUR,[ae.ONE_MONTH]:yn.ONE_HOUR,[ae.ALL]:yn.ONE_DAY},ev={[ae.ONE_DAY]:300,[ae.ONE_WEEK]:3600,[ae.ONE_MONTH]:10800,[ae.ALL]:1440*60},tv={[ae.ONE_DAY]:1440*60,[ae.ONE_WEEK]:10080*60,[ae.ONE_MONTH]:720*60*60,[ae.ALL]:null},Sn=1,wn=1,rv=1,nv=1,ov=99,wr={ONE_HOUR:"1h",SIX_HOURS:"6h",ONE_DAY:"1d",ONE_WEEK:"1w",MAX:"max"},iv=wr.ONE_WEEK,sv={[wr.ONE_HOUR]:60,[wr.SIX_HOURS]:60,[wr.ONE_DAY]:300,[wr.ONE_WEEK]:1800,[wr.MAX]:1800};var Ci=createContext(null);function ar(){let e=useContext(Ci);if(!e)throw new Error("usePredictWallet must be used within a PredictWalletProvider");return e}var lc=1e4;function cc({pollingInterval:e=lc,enabled:t=true,enableKalshi:r=true,children:o}){let n=useWallets(),i=useMemo(()=>n.find(D=>D.chainNamespace===ChainNamespace.SOLANA&&D.isConnected)?.address,[n]),s=useMemo(()=>n.find(D=>D.chainNamespace===ChainNamespace.EVM&&D.isConnected)?.address,[n]),{data:a,isLoading:l,isFetching:d,error:u}=useBalance({source:"kalshi",user:i??""},{enabled:t&&r&&!!i,refetchInterval:e}),{data:p,isLoading:m}=useDFlowKYC(i,{enabled:t&&r&&!!i,refetchInterval:3e4}),{data:c,isLoading:f}=usePolymarketSetup(s,{enabled:t&&!!s,refetchInterval:3e4}),g=c?.safe_address,v=c?.verified??false,x=c?.wallet_kind??"deposit",b=c?.deposit_wallet_address,w=x==="safe"?c?.safe_address:b,P=x==="safe"?c?.safe_deployed??false:c?.deposit_wallet_deployed??false,{data:h,isLoading:y,isFetching:S,error:N}=useBalance({source:"polymarket",user:s??""},{enabled:t&&v&&!!s,refetchInterval:e}),A=useMemo(()=>({solanaAddress:i,evmAddress:s,polymarketWalletKind:x,polymarketWalletAddress:w,polymarketDepositWalletAddress:b,polymarketWalletDeployed:P,polymarketSafeAddress:g,kalshiUsdcBalance:a?Number(a.balance):null,polymarketUsdcBalance:v&&h?Number(h.balance):null,kalshiKycVerified:p?.verified??false,kalshiKycUrl:p?.kyc_url??null,kalshiKycLoading:m,polymarketSetupVerified:v,polymarketSafeDeployed:c?.safe_deployed??false,polymarketTokenApproved:c?.token_approved??false,polymarketSetupLoading:f,isLoading:l||y,isFetching:d||S,error:u??N??null}),[i,s,x,w,b,P,g,a,h,v,p,m,c,f,l,y,d,S,u,N]);return jsx(Ci.Provider,{value:A,children:o})}var uc={minutes:60,hours:3600,days:86400};function Pn(e,t,r){let o=Math.floor(Date.now()/1e3);switch(e){case "5m":return o+300;case "1h":return o+3600;case "12h":return o+720*60;case "24h":return o+1440*60;case "eod":{let n=new Date;return n.setUTCHours(23,59,59,0),Math.floor(n.getTime()/1e3)}case "custom":return o+t*uc[r]}}function Nn(e,t){let r=parseFloat(t);return !r||r<=0?e:Math.round(e/r)*r}function Pe(e,t){let r=Math.pow(10,t);return Math.floor(e*r)/r}function Cn(e,t,r){let o=e.match(/Size\s*\(([\d.]+)\)\s*lower than the minimum:\s*([\d.]+)/i);if(o)return t("predict.trade.polymarket.minOrderSize",{current:o[1],min:o[2]});let n=e.match(/balance:\s*(\d+),\s*sum of active orders:\s*(\d+)/i);if(n){let s=parseInt(n[1],10)/1e6,a=parseInt(n[2],10)/1e6,l=Math.max(0,s-a);return t("predict.trade.polymarket.insufficientBalance",{total:Pe(s,2).toFixed(2),active:Pe(a,2).toFixed(2),available:Pe(l,2).toFixed(2)})}return /not enough balance/i.test(e)?t(r==="sell"?"predict.trade.insufficientShares":"predict.trade.insufficientBalance"):/max accuracy of/i.test(e)?t("predict.trade.polymarket.decimalAccuracy"):/tick size/i.test(e)?t("predict.trade.polymarket.tickSizeError"):/couldn.*fully filled|FOK.*filled or killed/i.test(e)?t("predict.trade.polymarket.fokNotFilled"):e.replace(/order\s+0x[a-f0-9]+\s+is invalid\.\s*/i,"")||e}function $r(e,t=2){return parseFloat(Pe(e,t).toFixed(t)).toString()}function lr(){let e={startVelocity:30,spread:360,ticks:60,zIndex:9999};yo({...e,particleCount:80,origin:{x:.5,y:.4}}),setTimeout(()=>{yo({...e,particleCount:40,origin:{x:.3,y:.6}});},150),setTimeout(()=>{yo({...e,particleCount:40,origin:{x:.7,y:.6}});},300);}function Ti({market:e,initialOutcome:t="yes",slippageBps:r=100,onInsufficientBalance:o}){let{t:n}=useTranslation(),{status:i}=useAuth(),s=useWallets(),a=usePredictClient(),l=useContext(PolymarketContext),d=useQueryClient(),u=e.source,p=u==="polymarket",m=s.find(_=>_.chainNamespace===ChainNamespace.SOLANA&&_.isConnected),c=s.find(_=>_.chainNamespace===ChainNamespace.EVM&&_.isConnected&&"switchChain"in _),f=i==="authenticated",g=m?.address,v=c?.address,[x,b]=useState(t),[w,P]=useState("market"),[h,y]=useState(NaN),[S,N]=useState(NaN),[A,D]=useState(false),[z,F]=useState(null),[q,$]=useState(false),[Q,re]=useState(false),[Z,C]=useState("1h"),[E,U]=useState(30),[G,k]=useState("minutes"),ce=useMemo(()=>{if(u!=="polymarket")return;let _=e.provider_meta?.["polymarket.clobTokenIds"];return _?(typeof _=="string"?JSON.parse(_):_)[x==="yes"?0:1]:void 0},[u,e.provider_meta,x]),{data:pe,isLoading:ke}=useTickSize(ce),Ke=pe?.minimum_tick_size?String(pe.minimum_tick_size):"0.01",{data:ze,isLoading:We}=useFeeRate(ce),rt=String(ze?.base_fee??0),{data:Ne}=useRebateConfig(),xe=Ne?.builder_enabled&&Ne.builder_code?Ne.builder_code:void 0,nt=null,Ct=false,ot=null,Ge=false,Se,Ie,it;try{let _=ar();nt={kalshiUsdcBalance:_.kalshiUsdcBalance,polymarketUsdcBalance:_.polymarketUsdcBalance,isLoading:_.isLoading},Ct=_.kalshiKycVerified,ot=_.kalshiKycUrl,Ge=_.polymarketSetupVerified,Se=_.polymarketSafeAddress,Ie=_.polymarketWalletKind,it=_.polymarketWalletAddress;}catch{}let Qt=u==="kalshi"&&!Ct,gt=u==="polymarket"&&!Ge,{data:R}=useRealtimeOrderbook({slug:e.slug,source:u,outcome:x},{enabled:e.status==="open"}),X=useMemo(()=>{let _=pickBestAsk(R,x);if(_!=null&&_>0)return _;let je=x==="yes"?0:1,Qe=e.outcomes[je];return Qe?.best_ask??Qe?.price??.5},[R,e.outcomes,x]),yt=useCallback(_=>{P(_);},[]),ht=useCallback(_=>{b(_),N(NaN);},[]);useEffect(()=>{ht(t);},[t,ht]),useEffect(()=>{w==="limit"&&isNaN(S)&&N(Math.round(X*1e4)/1e4);},[w,S,X]);let vt=useMemo(()=>isNaN(h)||h<=0?0:X>0?h/X:0,[h,X]),L=useMemo(()=>walkOrderbook({orderbook:R,outcome:x,side:"buy",sharesNeeded:vt,slippageBps:r}),[R,x,vt,r]),ve=useMemo(()=>L.status==="ok"&&L.worstPrice!=null&&L.worstPrice>0?L.worstPrice:X,[L,X]),Ve=useMemo(()=>isNaN(h)||h<=0?"0":String(Math.round(h*1e6)),[h]),Ir=e.provider_meta?.["dflow.yesMint"]??"",io=e.provider_meta?.["dflow.noMint"]??"",so=SOLANA_TOKENS.stablecoins.USDC.address,rr=x==="yes"?Ir:io,nr=so,Ft=rr,br=u==="kalshi"?g??"":v??"",{data:Mt,isLoading:Ye}=usePositions({source:u,user:br},{enabled:!!br}),ao=u==="kalshi"&&!!nr&&!!Ft&&!!g&&Ve!=="0",{refetch:un}=useDFlowQuote({inputMint:nr,outputMint:Ft,amount:Ve,userPublicKey:g??"",slippageBps:100},{enabled:ao}),Bt=useMemo(()=>nt?u==="kalshi"?nt.kalshiUsdcBalance:nt.polymarketUsdcBalance:Mt&&Mt.positions.reduce((je,Qe)=>Qe.side==="USDC"||Qe.side==="collateral"?je+(Qe.current_value??0):je,0)||null,[nt,Mt,u]),Xt=nt?nt.isLoading:Ye,Or=useMemo(()=>w==="limit"&&p&&!isNaN(S)?S:X,[w,p,S,X]),pn=useMemo(()=>isNaN(h)||h<=0?0:h,[h]),lo=useMemo(()=>isNaN(h)||h<=0?0:Or>0?h/Or*1:0,[h,Or]),mn=lo-pn,co=useCallback(_=>{if(isNaN(_)){y(NaN);return}y(Math.round(Math.max(0,_)*100)/100);},[]),or=useCallback(_=>{if(isNaN(_)){N(NaN);return}N(Math.round(_*1e4)/1e4);},[]),Et=useCallback(()=>{y(NaN),N(NaN),P("market"),re(false),C("1h"),U(30),k("minutes");},[]),Ht=useMemo(()=>{let _=[];return isNaN(h)||h<=0?_.push(n("predict.trade.minAmountUsd",{amount:wn})):h<wn&&_.push(n("predict.trade.minAmountUsd",{amount:wn})),e.status!=="open"&&_.push(n("predict.trade.marketNotActive")),Bt!=null&&!isNaN(h)&&h>0&&h>Pe(Bt,2)&&_.push(n("predict.trade.insufficientBalance")),w==="limit"&&p&&(isNaN(S)||S<.01||S>.99)&&_.push(n("predict.trade.limitPriceRange")),w==="limit"&&p&&Q&&Z==="custom"&&(isNaN(E)||E<=0)&&_.push(n("predict.trade.expiration.invalidDate")),u==="polymarket"&&w==="market"&&!isNaN(h)&&h>0&&vt>0&&(L.status==="insufficient_liquidity"?_.push(n("predict.trade.insufficientLiquidity",{available:Pe(L.totalAvailable,2)})):L.status==="exceeds_slippage"&&_.push(n("predict.trade.priceImpactTooHigh",{impact:(L.priceImpactBps/100).toFixed(2),slippage:(r/100).toFixed(2)}))),{isValid:_.length===0,errors:_}},[h,e.status,Bt,w,p,S,Q,Z,E,u,vt,L,r,n]),yr=useMemo(()=>Bt==null||isNaN(h)||h<=0?false:h>Pe(Bt,2),[Bt,h]),uo=useCallback(()=>{o?.(u);},[o,u]),{mutateAsync:Dr}=useDFlowSubmit(),{data:ir}=useOrder({id:z??"",source:u},{enabled:!!z});useEffect(()=>{if(!ir||!z)return;let{status:_}=ir;_==="closed"?(F(null),D(false),toast.success(n("predict.trade.submitSuccess")),lr(),Et(),d.invalidateQueries({queryKey:["predict","positions"]})):(_==="failed"||_==="expired")&&(D(false),F(null),toast.error(n("predict.trade.submitError")));},[ir,z,d,Et,n]);let st=useCallback(async()=>{if(!g||!m)return;if(!nr||!Ft){toast.error("Missing token mint addresses"),D(false);return}if(!Ct){$(true),D(false);return}let zt=(await un()).data?.transaction;if(!zt){toast.error(n("predict.trade.submitError")),D(false);return}let Fr=Uint8Array.from(atob(zt),Xe=>Xe.charCodeAt(0)),kt=await m.signTransaction(Fr),St=await Dr({signedTransaction:btoa(String.fromCharCode(...kt)),orderContext:{user_public_key:g,input_mint:nr,output_mint:Ft,amount:Ve,price:String(X),side:"BUY",outcome:x==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});F(St.signature);},[g,m,un,Dr,nr,Ft,Ve,X,x,e.slug,n,Ct]),Ar=useCallback(async()=>{if(!c||!l)return;let _=c.chain,je=_!==Chain.POLYGON;je&&await c.switchChain(Chain.POLYGON);try{let Qe=await c.getEip1193Provider();if(!Qe){toast.error(n("predict.trade.submitError")),D(!1);return}let zt=Ie==="deposit"&&!!it,Fr=!zt&&!!Se,kt=zt?it:Se,St={address:c.address,signatureType:zt?3:Fr?2:0,signTypedData:async(we,Je,Ze,Ee)=>{let qe=[];"name"in we&&qe.push({name:"name",type:"string"}),"version"in we&&qe.push({name:"version",type:"string"}),"chainId"in we&&qe.push({name:"chainId",type:"uint256"}),"verifyingContract"in we&&qe.push({name:"verifyingContract",type:"address"}),"salt"in we&&qe.push({name:"salt",type:"bytes32"});let kr={EIP712Domain:qe,...Je};return await Qe.request({method:"eth_signTypedData_v4",params:[c.address,JSON.stringify({domain:we,types:kr,primaryType:Ze,message:Ee})]})}},Xe=l.credentials??await l.authenticate(St),Br=x==="yes"?0:1,Hr="",Tt=e.provider_meta?.["polymarket.clobTokenIds"];Tt&&(Hr=(typeof Tt=="string"?JSON.parse(Tt):Tt)[Br]??"");let zr=e.provider_meta?.["polymarket.negRisk"]??!1,fn=w==="limit"&&!isNaN(S)?S:ve,Wr=Nn(fn,Ke),M=w==="limit"?Q?"GTD":"GTC":"FOK",Oe=w==="market"?h:Wr>0?h/Wr:0,De={tokenId:Hr,price:Wr,size:Oe,side:"BUY",orderType:M,tickSize:Ke,negRisk:zr,...kt&&{funderAddress:kt},...xe&&{builderCode:xe},...w==="limit"&&Q&&{expiration:Pn(Z,E,G)}},Ue;if(zt)Ue=await buildSignedV2OrderPayload({signer:St,depositWalletAddress:kt,input:De,owner:Xe.apiKey});else {let we=buildCtfExchangeDomain(zr),Je=buildOrderMessage({...De,signerAddress:St.address,signatureType:St.signatureType,feeRateBps:rt}),Ze=await St.signTypedData(we,CTF_ORDER_TYPES,"Order",Je),Ee=buildSignedOrder(Je,Ze,De.orderType);Ue=buildClobPayload(Ee,Xe.apiKey);}await a.executePolymarketOrder({payload:Ue,l2_api_key:Xe.apiKey,l2_secret:Xe.secret,l2_passphrase:Xe.passphrase,signer_address:Xe.address,owner:Xe.apiKey}),d.invalidateQueries({queryKey:["predict","orders"]}),d.invalidateQueries({queryKey:["predict","positions"]}),toast.success(n("predict.trade.submitSuccess")),lr(),Et(),D(!1);}finally{je&&_&&c.switchChain(_).catch(()=>{});}},[c,l,x,e.provider_meta,w,S,ve,h,a,d,Q,Z,E,G,Et,n,Ke,rt,Se,Ie,it,xe]),po=useCallback(async()=>{if(!(!Ht.isValid||!f)){D(true),F(null),$(false);try{u==="kalshi"?await st():await Ar();}catch(_){let je=_ instanceof Error?_.message:"",Qe=u==="polymarket"&&je?Cn(je,n,"buy"):je||void 0;toast.error(Qe||n("predict.trade.submitError")),D(false);}}},[Ht.isValid,f,u,st,Ar,n]);return {outcome:x,orderType:w,quantity:h,limitPrice:S,shares:vt,estimatedCost:pn,potentialPayout:lo,potentialProfit:mn,pricePerShare:X,usdcBalance:Bt,isBalanceLoading:Xt,isMarketDataLoading:u==="polymarket"&&(We||ke),isSubmitting:A,authStatus:i,validation:Ht,isInsufficientBalance:yr,source:u,supportsLimitOrder:p,kycRequired:q,needsKyc:Qt,needsSetup:gt,kycUrl:ot,expirationEnabled:Q,expirationPreset:Z,customDuration:E,customDurationUnit:G,setOutcome:ht,setOrderType:yt,setQuantity:co,setLimitPrice:or,setExpirationEnabled:re,setExpirationPreset:C,setCustomDuration:U,setCustomDurationUnit:k,submit:po,notifyInsufficientBalance:uo}}function Mn({isOpen:e,onClose:t,kycUrl:r}){let{t:o}=useTranslation();return jsx(StyledModal,{isOpen:e,onOpenChange:n=>{n||t();},size:"md",classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{children:[jsxs("div",{className:"flex items-center justify-between px-5 pt-5 pb-4",children:[jsx("h3",{className:"text-base font-semibold text-white",children:o("predict.trade.kycModalTitle")}),jsx("button",{type:"button",onClick:t,className:"p-1 rounded-[10px] hover:bg-[rgba(39,39,42,0.5)] text-zinc-400 hover:text-white transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),jsxs("div",{className:"px-5 pb-5",children:[jsx("p",{className:"text-[13px] text-zinc-400 mb-4 text-left",children:o("predict.trade.kycModalDescription")}),jsx("div",{className:"flex flex-col gap-2 mb-4",children:["predict.trade.kycModalBullet1","predict.trade.kycModalBullet2","predict.trade.kycModalBullet3"].map(n=>jsxs("div",{className:"flex items-center gap-2.5 text-[13px] text-zinc-300",children:[jsx("svg",{width:14,height:14,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2.5,strokeLinecap:"round",strokeLinejoin:"round",className:"text-[#c7ff2e] shrink-0",children:jsx("polyline",{points:"20 6 9 17 4 12"})}),jsx("span",{children:o(n)})]},n))}),r&&jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[13px] text-[#c7ff2e]/70 hover:text-[#c7ff2e] transition-colors mb-3",children:[o("predict.trade.goToKYC")," \u2192"]}),jsx("p",{className:"text-[11px] text-zinc-500 mb-5",children:o("predict.trade.kycModalNote")}),jsx("button",{type:"button",onClick:t,className:"w-full py-2.5 rounded-[10px] bg-[#c7ff2e] text-zinc-900 text-sm font-semibold hover:bg-[#c7ff2e]/90 transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:o("common.ok")})]})]})})})}var Gc=["5m","1h","12h","24h","eod","custom"],Yc={"5m":"predict.trade.expiration.5m","1h":"predict.trade.expiration.1h","12h":"predict.trade.expiration.12h","24h":"predict.trade.expiration.24h",eod:"predict.trade.expiration.eod",custom:"predict.trade.expiration.custom"},Qc=["minutes","hours","days"],Xc={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"},Jc={maximumFractionDigits:0};function Bi({event:e,market:t,variant:r="bordered",outcome:o,orderType:n,quantity:i,limitPrice:s,shares:a,potentialProfit:l,potentialPayout:d,estimatedCost:u,usdcBalance:p,isBalanceLoading:m,isMarketDataLoading:c,isSubmitting:f,authStatus:g,isValid:v,validationErrors:x,isInsufficientBalance:b,onInsufficientBalance:w,supportsLimitOrder:P,kycRequired:h,needsKyc:y,needsSetup:S,kycUrl:N,expirationEnabled:A,expirationPreset:D,customDuration:z,customDurationUnit:F,onOutcomeChange:q,onOrderTypeChange:$,onQuantityChange:Q,onLimitPriceChange:re,onExpirationEnabledChange:Z,onExpirationPresetChange:C,onCustomDurationChange:E,onCustomDurationUnitChange:U,onSubmit:G}){let{t:k}=useTranslation(),[ce,pe]=useState(false),ke=useDisclosure(),[Ke,ze]=useState(""),We=useRef(false);useEffect(()=>{We.current||ze(isNaN(i)?"":String(i));},[i]);let[rt,Ne]=useState(""),xe=useRef(false);useEffect(()=>{xe.current||(isNaN(s)?Ne(""):Ne(String(parseFloat((s*100).toFixed(2)))));},[s]);let nt=useCallback(L=>{if(L!==""&&!/^\d*\.?\d{0,2}$/.test(L))return;if(Ne(L),L===""||L==="."){re(NaN);return}let Ve=parseFloat(L);isNaN(Ve)||re(Ve/100);},[re]),Ct=useCallback(L=>{if(L!==""&&!/^\d*\.?\d{0,2}$/.test(L))return;if(ze(L),ht(false),L===""||L==="."){Q(NaN);return}let Ve=parseFloat(L);isNaN(Ve)||Q(Ve);},[Q]);useEffect(()=>{h&&!ke.isOpen&&ke.onOpen();},[h]);let ot=useMemo(()=>{let L=o==="yes"?t.yesAsk:t.noAsk;return L!=null?parseFloat((Number(L)*100).toFixed(2)):null},[o,t]),Ge=!isNaN(i)&&i>0,Se=g==="authenticated",Ie=g==="authenticating"||g==="deauthenticating",it=Se&&(y||S),Qt=useMemo(()=>{if(Ie)return k("predict.trade.checkingLogin");if(!Se)return k("predict.trade.loginToTrade");if(y)return k("predict.trade.kycRequired");if(S)return k("predict.trade.setupRequired");if(m)return k("predict.trade.loadingBalance");if(c)return k("predict.trade.loadingMarketData");if(f)return k("predict.trade.submitting");if(h)return k("predict.trade.kycRequired");if(!Ge)return k("predict.trade.enterAmount");let L=k(o==="yes"?"predict.trade.yes":"predict.trade.no"),ve=l>0?` \u2192 Win $${l.toFixed(2)}`:"";return `${k("predict.trade.buy")} ${L}${ve}`},[Ie,Se,y,S,m,c,f,h,Ge,o,l,k]),gt="primary",R=()=>{Q(Math.floor((p??0)/2*100)/100);},X=()=>{Q(Pe(p??0,2));},[yt,ht]=useState(false),vt=()=>{if(!Se){ht(false),G();return}if(y){ke.onOpen();return}if(S&&w){ht(false),w();return}if(h){ke.onOpen();return}if(b&&w){ht(false),w();return}if(!v){ht(true);return}ht(false),G();};return jsxs(Fragment,{children:[jsxs("div",{className:"flex w-full flex-col gap-y-4 p-4",style:r==="bordered"?{borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",transition:"border-color 0.2s"}:void 0,onMouseEnter:L=>{r==="bordered"&&(L.currentTarget.style.borderColor="rgba(63,63,70,0.8)");},onMouseLeave:L=>{r==="bordered"&&(L.currentTarget.style.borderColor="rgba(39,39,42,0.6)");},children:[e&&jsxs("div",{className:"flex items-center gap-x-3",children:[e.imageUrl&&jsx("img",{src:e.imageUrl,alt:e.title,className:"h-10 w-10 shrink-0 rounded-lg object-cover"}),jsxs("div",{className:"flex min-w-0 flex-col gap-y-0.5",children:[jsx("span",{className:"text-sm text-neutral-500 leading-tight line-clamp-1",children:e.title}),jsxs("span",{className:"text-base font-semibold leading-tight line-clamp-1",children:[jsxs("span",{className:"text-bullish",children:[k("predict.trade.buy")," ",k(o==="yes"?"predict.trade.yes":"predict.trade.no")]}),jsxs("span",{className:"text-foreground",children:[" \xB7 ",t.yesSubTitle]})]})]})]}),jsxs("div",{className:"flex items-center justify-between",children:[P?jsxs(Tabs,{variant:"underlined",selectedKey:n,onSelectionChange:L=>$(L),classNames:{tabList:"gap-x-4",tab:"px-0"},children:[jsx(Tab,{title:k("predict.trade.market")},"market"),jsx(Tab,{title:k("predict.trade.limit")},"limit")]}):jsx("span",{className:"text-sm font-medium text-foreground",children:k("predict.trade.market")}),n==="limit"&&P?jsx(StyledInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",inputMode:"decimal",value:rt,onChange:L=>nt(L.target.value),onFocus:()=>{xe.current=true;},onBlur:()=>{xe.current=false,isNaN(s)?Ne(""):Ne(String(parseFloat((s*100).toFixed(2))));},endContent:jsx("span",{className:"text-xl font-bold tabular-nums text-foreground",children:"\xA2"}),classNames:{base:"w-28",inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 rounded-lg px-2 h-9 min-h-9",input:"text-xl font-bold tabular-nums text-right"}}):ot!=null&&jsxs("span",{className:"text-xl font-bold tabular-nums",children:[ot," \xA2"]})]}),jsx("div",{className:"flex gap-x-2",children:["yes","no"].map(L=>{let ve=L==="yes"?t.yesAsk:t.noAsk;return jsx("div",{className:"flex flex-1 flex-col gap-y-1",children:jsxs("button",{type:"button",onClick:()=>q(L),className:`w-full rounded-lg border py-2 text-sm font-medium transition-colors cursor-pointer ${o===L?"border-bullish bg-bullish/10 text-bullish":"border-default-400 text-foreground hover:border-default-500"}`,children:[jsx("span",{children:k(L==="yes"?"predict.trade.yes":"predict.trade.no")}),ve!=null&&jsxs("span",{className:"ml-1 opacity-70",children:[parseFloat((Number(ve)*100).toFixed(2)),"\xA2"]})]})},L)})}),jsxs("div",{className:"flex flex-col gap-y-1.5",children:[jsxs("div",{className:"flex items-center justify-between text-xs text-neutral-500",children:[jsx("span",{className:"text-sm font-medium text-foreground",children:k("predict.trade.youArePaying")}),jsxs("div",{className:"flex items-center gap-x-2",children:[jsx("button",{type:"button",onClick:R,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-neutral-500 hover:text-foreground font-medium",children:k("predict.trade.half")}),jsx("button",{type:"button",onClick:X,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-neutral-500 hover:text-foreground font-medium",children:k("predict.trade.max")})]})]}),jsx(StyledInput,{"aria-label":"Trade amount",fullWidth:true,placeholder:"0",radius:"lg",size:"lg",inputMode:"decimal",value:Ke,onChange:L=>Ct(L.target.value),onFocus:()=>{We.current=true;},onBlur:()=>{We.current=false,ze(isNaN(i)?"":String(i));},startContent:jsx("span",{className:"text-default-600 text-xl",children:"$"}),classNames:{inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 h-14 min-h-14",input:"text-lg"}}),yt&&x.length>0&&jsx("div",{className:"flex flex-col gap-y-0.5",children:x.map(L=>jsx("span",{className:"text-xs text-danger",children:L},L))})]}),jsxs("div",{className:"flex items-center justify-end gap-x-1.5 text-sm",children:[jsx("span",{className:"text-neutral-500",children:k("predict.trade.balance")}),jsx("span",{className:"font-medium text-foreground tabular-nums",children:p!=null?`$${Pe(p,2).toFixed(2)}`:"$0"})]}),n==="limit"&&P&&jsxs("div",{className:"flex flex-col gap-y-2",children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium text-primary",children:k("predict.trade.setExpiration")}),jsx(StyledSwitch,{size:"sm",color:"primary",isSelected:A,onValueChange:Z,"aria-label":k("predict.trade.setExpiration")})]}),A&&jsxs(Fragment,{children:[jsx(Select,{"aria-label":k("predict.trade.setExpiration"),selectedKeys:[D],onSelectionChange:L=>{let ve=Array.from(L)[0];ve&&C(ve);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:Gc.map(L=>jsx(SelectItem,{children:k(Yc[L])},L))}),D==="custom"&&jsxs("div",{className:"flex gap-x-2",children:[jsx(StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(z)?void 0:z,onValueChange:E,minValue:1,step:1,formatOptions:Jc,classNames:{base:"flex-1",inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 min-h-10",input:"text-sm"}}),jsx(Select,{"aria-label":"Duration unit",selectedKeys:[F],onSelectionChange:L=>{let ve=Array.from(L)[0];ve&&U(ve);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:Qc.map(L=>jsx(SelectItem,{children:k(Xc[L])},L))})]})]})]}),jsxs("div",{className:"flex flex-col gap-y-2",children:[jsxs("div",{className:"flex items-center justify-between text-sm",children:[jsxs("button",{type:"button",onClick:()=>pe(L=>!L),className:"flex items-center gap-x-1 text-neutral-500 hover:text-foreground cursor-pointer transition-colors",children:[jsx("span",{children:k("predict.trade.odds")}),jsx(ChevronDownIcon,{className:cn$1("h-3.5 w-3.5 transition-transform",ce&&"rotate-180")})]}),ot!=null&&jsx("span",{className:"text-foreground font-medium tabular-nums",children:k("predict.trade.chance",{percent:ot})})]}),ce&&jsxs("div",{className:"flex flex-col gap-y-1.5 border-l-2 border-default-300 pl-3 text-sm text-neutral-500",children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.totalSize")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${u.toFixed(2)}`:"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.numContracts")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(a)&&a>0?$r(a):"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.payout")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${d.toFixed(2)}`:"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.estProfit")}),jsx("span",{className:"tabular-nums text-bullish",children:!isNaN(i)&&i>0&&l>0?`+$${l.toFixed(2)}`:"\u2013"})]})]})]}),jsx(Button,{color:gt,fullWidth:true,radius:"lg",size:"lg",isDisabled:Ie||Se&&!it&&(m||c||!Ge||f),isLoading:Ie||Se&&!it&&(f||m||c),spinner:jsx(Spinner,{size:"sm",color:"current"}),onPress:vt,children:Qt})]}),jsx(Mn,{isOpen:ke.isOpen,onClose:ke.onClose,kycUrl:N})]})}function Tn({event:e,market:t,variant:r,initialOutcome:o,chain:n,slippageBps:i,onInsufficientBalance:s,onOutcomeChange:a}){let{outcome:l,orderType:d,quantity:u,limitPrice:p,shares:m,estimatedCost:c,potentialPayout:f,potentialProfit:g,pricePerShare:v,usdcBalance:x,isBalanceLoading:b,isMarketDataLoading:w,isSubmitting:P,authStatus:h,validation:y,isInsufficientBalance:S,supportsLimitOrder:N,kycRequired:A,needsKyc:D,needsSetup:z,kycUrl:F,expirationEnabled:q,expirationPreset:$,customDuration:Q,customDurationUnit:re,setOutcome:Z,setOrderType:C,setQuantity:E,setLimitPrice:U,setExpirationEnabled:G,setExpirationPreset:k,setCustomDuration:ce,setCustomDurationUnit:pe,submit:ke,notifyInsufficientBalance:Ke}=Ti({market:t,initialOutcome:o,slippageBps:i,onInsufficientBalance:s}),ze=useAuthCallback(ke),We=useCallback(xe=>{Z(xe),a?.(xe);},[Z,a]),rt=useMemo(()=>e?xn(e):void 0,[e]),Ne=useMemo(()=>bn(t,{yesAsk:l==="yes"?v:void 0,noAsk:l==="no"?v:void 0}),[t,l,v]);return jsx(Bi,{event:rt,market:Ne,variant:r,outcome:l,orderType:d,quantity:u,limitPrice:p,shares:m,estimatedCost:c,potentialPayout:f,potentialProfit:g,usdcBalance:x,isBalanceLoading:b,isMarketDataLoading:w,isSubmitting:P,authStatus:h,isValid:y.isValid,validationErrors:y.errors,isInsufficientBalance:S,onInsufficientBalance:s?Ke:void 0,supportsLimitOrder:N,kycRequired:A,needsKyc:D,needsSetup:z,kycUrl:F,expirationEnabled:q,expirationPreset:$,customDuration:Q,customDurationUnit:re,onOutcomeChange:We,onOrderTypeChange:C,onQuantityChange:E,onLimitPriceChange:U,onExpirationEnabledChange:G,onExpirationPresetChange:k,onCustomDurationChange:ce,onCustomDurationUnitChange:pe,onSubmit:ze})}var Kr="predict-trade";function Ln({id:e=Kr}){return jsx(AsyncModal,{id:e,children:t=>jsx(ad,{...t})})}function ad({params:e,isOpen:t,onOpenChange:r}){let{t:o}=useTranslation(),{isMobile:n}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:n?"lg":"md",backdrop:"blur",hideCloseButton:true,classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{className:n?"":"p-2",children:[jsx(Tn,{event:e.event,market:e.market,initialOutcome:e.initialOutcome,chain:e.chain,slippageBps:e.slippageBps,variant:"flat",onInsufficientBalance:e.onInsufficientBalance}),jsx("div",{className:"px-4 pb-4",children:jsx("button",{type:"button",onClick:()=>r(false),className:"w-full h-12 rounded-xl text-sm font-medium text-zinc-400 hover:text-white hover:bg-[rgba(39,39,42,0.5)] transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:o("common.cancel")})})]})})}):null}var Vr={sortPreset:"volume",sortAsc:false,source:void 0,timeRemaining:void 0,minVolume:void 0,minLiquidity:void 0};function wo(e,t=true){let r=0;return t&&e.source&&r++,e.timeRemaining&&r++,e.minVolume&&r++,e.minLiquidity&&r++,r}function zi({isOpen:e,onClose:t,value:r,onChange:o,enableKalshi:n=true}){let{t:i}=useTranslation(),[s,a]=useState(r),l=useMemo(()=>n?Vr:{...Vr,source:"polymarket"},[n]),d=useCallback(b=>{b?a(r):t();},[r,t]),u=useCallback(()=>{a(l);},[l]),p=useCallback(()=>{o(s),t();},[s,o,t]),m=useCallback((b,w)=>{a(P=>({...P,[b]:w}));},[]),c=useMemo(()=>wo(s,n),[s,n]),f=useMemo(()=>[{value:void 0,label:i("predict.filter.all")},{value:"polymarket",label:i("predict.platform.polymarket")},{value:"kalshi",label:i("predict.platform.kalshi")}],[i]),g=useMemo(()=>[{value:void 0,label:i("predict.filter.all")},{value:"1d",label:i("predict.filter.lessThanDay")},{value:"7d",label:i("predict.filter.lessThanWeek")},{value:"30d",label:i("predict.filter.lessThanMonth")}],[i]),v=useMemo(()=>[{value:void 0,label:i("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[i]),x=useMemo(()=>[{value:void 0,label:i("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[i]);return jsx(StyledModal,{isOpen:e,onOpenChange:d,size:"md",backdrop:"blur",scrollBehavior:"inside",classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{children:[jsxs("div",{className:"flex items-center justify-between px-5 pt-5 pb-4",children:[jsx("h3",{className:"text-base font-semibold text-white",children:i("predict.filter.title")}),jsx(md,{onClick:()=>d(false)})]}),jsxs("div",{style:{padding:"0 20px 16px",display:"flex",flexDirection:"column",gap:20},children:[n&&jsx(_n,{label:i("predict.filter.platform"),children:jsx(In,{options:f,selected:s.source,onSelect:b=>m("source",b)})}),jsx(_n,{label:i("predict.filter.timeRemaining"),children:jsx(In,{options:g,selected:s.timeRemaining,onSelect:b=>m("timeRemaining",b)})}),jsx(_n,{label:i("predict.filter.minVolume"),children:jsx(In,{options:v,selected:s.minVolume,onSelect:b=>m("minVolume",b)})}),jsx(_n,{label:i("predict.filter.minLiquidity"),children:jsx(In,{options:x,selected:s.minLiquidity,onSelect:b=>m("minLiquidity",b)})})]}),jsxs("div",{className:"flex items-center gap-3 px-5 py-4",style:{borderTop:"1px solid rgba(39,39,42,0.5)"},children:[jsx("button",{type:"button",className:"inline-flex items-center justify-center py-2.5 px-5 rounded-[10px] text-zinc-400 text-sm font-medium hover:text-white transition-colors cursor-pointer",onClick:u,children:i("predict.filter.reset")}),jsxs("button",{type:"button",className:"flex-1 inline-flex items-center justify-center gap-2 py-2.5 rounded-[10px] bg-[#c7ff2e] text-zinc-900 text-sm font-semibold hover:bg-[#c7ff2e]/90 transition-colors cursor-pointer",onClick:p,children:[i("predict.filter.showResults"),c>0&&jsxs("span",{style:{opacity:.7},children:["(",c,")"]})]})]})]})})})}function _n({label:e,children:t}){return jsxs("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[jsx("span",{style:{fontSize:11,fontWeight:500,color:"#71717a",textTransform:"uppercase",letterSpacing:"0.05em"},children:e}),t]})}function md({onClick:e}){return jsx("button",{type:"button",onClick:e,className:"p-1 rounded-[10px] hover:bg-[rgba(39,39,42,0.5)] text-zinc-400 hover:text-white transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})}function In({options:e,selected:t,onSelect:r,allowDeselect:o=true}){return jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:e.map(n=>{let i=t===n.value;return jsx("button",{type:"button",onClick:()=>{r(i&&o?void 0:n.value);},style:{flexShrink:0,borderRadius:10,padding:"6px 14px",fontSize:13,fontWeight:500,cursor:"pointer",transition:"all 0.15s",border:i?"1px solid rgba(199,255,46,0.3)":"1px solid rgba(63,63,70,0.5)",background:i?"rgba(199,255,46,0.08)":"rgba(39,39,42,0.4)",color:i?"#c7ff2e":"#a1a1aa"},onMouseEnter:s=>{i||(s.currentTarget.style.background="rgba(39,39,42,0.8)",s.currentTarget.style.color="#fff");},onMouseLeave:s=>{i||(s.currentTarget.style.background="rgba(39,39,42,0.4)",s.currentTarget.style.color="#a1a1aa");},children:n.label},n.value??"__all")})})}var Vi={start_time:{sort_by:"created_at"},volume:{sort_by:"volume"},liquidity:{sort_by:"liquidity"},ending_soon:{sort_by:"end_at"}},Ui={start_time:"predict.sort.startTime",volume:"predict.sort.volume",liquidity:"predict.sort.liquidity",ending_soon:"predict.sort.endingSoon"},Sd=["start_time","volume","liquidity","ending_soon"],$i={display:"inline-flex",alignItems:"center",gap:8,borderRadius:10,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",padding:"8px 12px",fontSize:14,color:"#d4d4d8",cursor:"pointer",transition:"all 0.15s"},wd={position:"absolute",left:0,top:"100%",zIndex:20,marginTop:8,borderRadius:14,border:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"};function ji({sortPreset:e,onSortChange:t,sortAsc:r,onSortAscChange:o,onFilterPress:n,filterCount:i=0,className:s}){let{t:a}=useTranslation(),[l,d]=useState(false),u=useRef(null),p=useCallback(c=>{u.current&&!u.current.contains(c.target)&&d(false);},[]);useEffect(()=>(document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)),[p]),useEffect(()=>{if(!l)return;let c=f=>{f.key==="Escape"&&d(false);};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[l]);let m=Ki[e];return jsxs("div",{className:s,style:{display:"flex",alignItems:"center",gap:8},children:[jsxs("div",{ref:u,style:{position:"relative"},children:[jsxs("button",{type:"button",style:$i,onMouseEnter:c=>{c.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:c=>{c.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>d(c=>!c),children:[jsx(Pd,{}),jsx(m,{className:"size-4 shrink-0",style:{color:"#a1a1aa"}}),jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:a(Ui[e])}),jsx(Cd,{open:l})]}),l&&jsx("div",{style:{...wd,width:224,padding:4},children:Sd.map(c=>{let f=Ki[c],g=e===c;return jsxs("button",{type:"button",style:{display:"flex",width:"100%",alignItems:"center",gap:12,padding:"10px 12px",textAlign:"left",fontSize:14,border:"none",cursor:"pointer",transition:"all 0.15s",background:g?"rgba(199,255,46,0.08)":"transparent",color:g?"#c7ff2e":"#a1a1aa",borderRadius:10},onMouseEnter:v=>{g||(v.currentTarget.style.background="rgba(39,39,42,0.5)",v.currentTarget.style.color="#fff");},onMouseLeave:v=>{g||(v.currentTarget.style.background="transparent",v.currentTarget.style.color="#a1a1aa");},onClick:()=>{e===c?o(!r):t(c),d(false);},children:[jsx(f,{className:"size-4 shrink-0",style:{color:g?"#c7ff2e":"#71717a"}}),jsx("span",{style:{flex:1,fontWeight:500},children:a(Ui[c])}),g&&jsx("svg",{viewBox:"0 0 24 24",style:{width:16,height:16,color:"#c7ff2e",flexShrink:0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M20 6 9 17l-5-5"})})]},c)})})]}),jsx("button",{type:"button",style:{borderRadius:10,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",width:36,height:36,color:"#a1a1aa",cursor:"pointer",transition:"all 0.15s",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:14},onMouseEnter:c=>{c.currentTarget.style.background="rgba(39,39,42,1)",c.currentTarget.style.color="#fff";},onMouseLeave:c=>{c.currentTarget.style.background="rgba(39,39,42,0.6)",c.currentTarget.style.color="#a1a1aa";},onClick:()=>o(!r),children:r?"\u2191":"\u2193"}),jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxs("button",{type:"button",style:$i,onMouseEnter:c=>{c.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:c=>{c.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:n,children:[jsx(Nd,{}),jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:a("predict.filter.title")})]}),i>0&&jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:8,background:"#c7ff2e",color:"#000",fontSize:10,fontWeight:600,padding:"0 4px"},children:i})]})]})}var Ki={start_time:CalendarIcon,volume:ChartLineIcon,liquidity:DropletIcon,ending_soon:TimerIcon};function Pd(){return jsxs("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#a1a1aa"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"m21 16-4 4-4-4"}),jsx("path",{d:"M17 20V4"}),jsx("path",{d:"m3 8 4-4 4 4"}),jsx("path",{d:"M7 4v16"})]})}function Nd(){return jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#a1a1aa"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z"})})}function Cd({open:e}){return jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#71717a",transition:"transform 0.15s",transform:e?"rotate(180deg)":void 0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"m6 9 6 6 6-6"})})}function Yi(e={}){let t=useMemo(()=>resolveEventsParams(e),[e.tagSlugSelection,e.limit,e.status,e.sort_by,e.sort_asc,e.source,e.with_markets,e.minVolume,e.minLiquidity,e.timeRemaining,e.markets_limit]),{data:r,isLoading:o,isFetching:n,isFetchingNextPage:i,isError:s,error:a,hasNextPage:l,fetchNextPage:d,refetch:u}=useInfiniteEvents(t),p=useMemo(()=>r?.pages.flatMap(f=>f.items).filter(f=>f!=null)??[],[r]),m=useCallback(()=>{d();},[d]),c=useCallback(()=>{u();},[u]);return {data:p,isLoading:o,isFetching:n&&!i,isFetchingMore:i,isError:s,error:a??null,hasMore:l??false,fetchMore:m,refetch:c}}var Qi=`
2
2
  @keyframes evtShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
3
3
  @media(max-width:1279px){.evt-skel-grid{grid-template-columns:repeat(3,1fr)!important}}
4
4
  @media(max-width:1023px){.evt-skel-grid{grid-template-columns:repeat(2,1fr)!important}.evt-skel-card{min-height:200px!important}}
@@ -71,9 +71,9 @@ import {createContext,memo,useRef,forwardRef,useState,useImperativeHandle,useMem
71
71
  .evt-stat-label{font-size:11px;line-height:16px;min-height:16px;white-space:nowrap}
72
72
  @media(min-width:640px){.evt-stat-label{font-size:12px;line-height:18px;min-height:18px}}
73
73
  `}),jsxs("div",{className:"evt-hero-outer",children:[jsxs("div",{className:"evt-hero-left",style:{minWidth:0,flex:1,animation:"evtHeroTitleEnter 0.5s cubic-bezier(0.34,1.56,0.64,1) both"},children:[jsx("div",{className:"evt-hero-live",style:{marginBottom:16},children:jsxs("div",{className:"inline-flex items-center",style:{gap:8,borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",padding:"6px 12px",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)"},children:[jsxs("span",{style:{position:"relative",display:"flex",width:8,height:8},children:[jsx("span",{style:{position:"absolute",display:"inline-flex",width:"100%",height:"100%",borderRadius:9999,background:"#00d492",opacity:.75,animation:"evt-live-ping 1.2s cubic-bezier(0,0,0.2,1) infinite"}}),jsx("span",{style:{position:"relative",display:"inline-flex",width:8,height:8,borderRadius:9999,background:"#00bc7d",animation:"evt-live-breathe 2.4s ease-in-out infinite"}})]}),jsx("span",{style:{fontSize:12,fontWeight:500,color:"#d4d4d8",letterSpacing:"0.025em"},children:t("predict.events.liveBadge")})]})}),jsxs("h1",{className:"evt-hero-title",style:{fontFamily:"var(--font-dm-sans, 'DM Sans', sans-serif)",fontWeight:700,letterSpacing:"-1.2px",lineHeight:1.2,color:"#fff",margin:"0 0 14px"},children:[jsxs("span",{style:{color:"#fff"},children:[t("predict.events.titlePrefix")," "]}),jsx("span",{style:{backgroundImage:"linear-gradient(to right, #c7ff2e, #a0e515, #17c964)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text"},children:t("predict.events.titleHighlight")})]}),jsx("p",{className:"evt-hero-subtitle evt-hero-subtitle-text",style:{lineHeight:1.6,color:"#71717a",maxWidth:460},children:String(t("predict.events.heroSubtitle")).split(`
74
- `).map((r,o)=>jsxs("span",{children:[o>0&&jsx("br",{className:"hidden sm:block"}),r,o===0?" ":""]},o))})]}),jsx("div",{className:"evt-stat-grid",style:e?{animation:"evtStatsEnter 0.5s cubic-bezier(0.34,1.56,0.64,1) both",animationDelay:"0.1s"}:{},children:vu.map((r,o)=>jsxs("div",{style:{padding:"14px 16px",background:e?`linear-gradient(to bottom, ${r.gradientFrom}, ${r.gradientTo})`:"rgba(255,255,255,0.02)",borderRight:o%2===0?"1px solid rgba(39,39,42,0.4)":"none",borderBottom:o<2?"1px solid rgba(39,39,42,0.4)":"none",...e?{animation:"evtStatCardEnter 0.45s cubic-bezier(0.34,1.56,0.64,1) both",animationDelay:`${150+o*60}ms`}:{}},children:[jsx("div",{className:"evt-stat-val",style:{fontWeight:700,fontVariantNumeric:"tabular-nums",color:e?r.valueColor:"transparent",display:"flex",alignItems:"center"},children:e?r.format(e[r.key]):jsx("div",{style:{height:16,width:56,borderRadius:4,background:"rgba(255,255,255,0.06)",animation:"evtStatCardEnter 0.6s ease-out both",animationDelay:`${o*80}ms`}})}),jsx("div",{className:"evt-stat-label",style:{fontWeight:500,color:e?"#71717a":"transparent",marginTop:2,display:"flex",alignItems:"center"},children:e?t(r.labelKey):jsx("div",{style:{height:10,width:64,borderRadius:4,background:"rgba(255,255,255,0.04)",animation:"evtStatCardEnter 0.6s ease-out both",animationDelay:`${50+o*80}ms`}})})]},r.key))})]})]})}function Ss({event:e,market:t,position:r,onSuccess:o,onCancel:n}){let{t:i}=useTranslation(),{mutateAsync:s}=useRedeemPosition(),{evmAddress:a}=ar(),l=useWallets(),[d,u]=useState("idle"),[p,m]=useState(null),c=t.provider_meta?.["polymarket.conditionId"],f=t.provider_meta?.["polymarket.negRisk"]??false,g=a??"",v=useMemo(()=>l.find(F=>F.chainNamespace===ChainNamespace.EVM&&F.isConnected),[l]),x=ks(r.side,t.outcomes),w=t.outcomes?.[x]?.label??r.side,P=t.result!=null?ks(t.result,t.outcomes):-1,y=(P>=0?t.outcomes?.[P]:void 0)?.label??t.result??"",S=t.result!=null?x===P:true,N=useMemo(()=>S?r.size:0,[S,r.size]),A=useCallback(async()=>{if(!(!c||!g||!v)){u("pending"),m(null);try{let F=await v.getEip1193Provider();if(!F)throw new Error("EIP-1193 provider unavailable");await s({wallet_address:g,condition_id:c,neg_risk:f,signMessage:async q=>await F.request({method:"personal_sign",params:[q,g]})}),u("success"),o?.();}catch(F){u("error"),m(F instanceof Error?F.message:i("predict.redeem.error"));}}},[c,g,f,v,s,o,i]),D=useAuthCallback(A),z=d==="idle"&&!!c&&!!g&&!!v&&r.redeemable;return jsxs("div",{className:"flex flex-col gap-4 p-4",children:[jsx("div",{className:"text-base font-medium text-white",children:e?.title??t.question}),jsxs("div",{className:"flex flex-col gap-2 rounded-xl bg-[rgba(39,39,42,0.4)] p-3",children:[jsx(Dn,{label:i("predict.positions.side"),value:w,valueClassName:S?"text-green-400":"text-red-400"}),t.result!=null&&jsx(Dn,{label:i("predict.redeem.result"),value:y,valueClassName:"text-green-400"}),jsx(Dn,{label:i("predict.positions.size"),value:r.size.toFixed(2)}),jsx(Dn,{label:i("predict.redeem.expectedPayout"),value:`$${N.toFixed(2)}`,valueClassName:N>0?"text-green-400":"text-zinc-400"})]}),!S&&N===0&&jsx("p",{className:"text-sm text-zinc-500",children:i("predict.redeem.noWinnings")}),d==="error"&&p&&jsx("p",{className:"text-sm text-red-400",children:p}),d==="success"&&jsx("p",{className:"text-sm text-green-400",children:i("predict.redeem.success")}),jsxs("div",{className:"flex flex-col gap-2",children:[d!=="success"&&jsx(Button,{color:"success",className:"w-full h-12 rounded-xl text-sm font-semibold",isDisabled:!z,isLoading:d==="pending",onPress:D,spinner:jsx(Spinner,{size:"sm",color:"current"}),children:i("predict.redeem.confirm")}),n&&d!=="success"&&jsx("button",{type:"button",onClick:n,className:"w-full h-12 rounded-xl text-sm font-medium text-zinc-400 hover:text-white hover:bg-[rgba(39,39,42,0.5)] transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:i("common.cancel")}),d==="success"&&n&&jsx(Button,{className:"w-full h-12 rounded-xl text-sm font-medium",onPress:n,children:i("common.ok")})]})]})}function Dn({label:e,value:t,valueClassName:r="text-white"}){return jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm text-zinc-400",children:e}),jsx("span",{className:`text-sm font-medium ${r}`,children:t})]})}function ks(e,t){let r=e.toLowerCase();if(r==="yes")return 0;if(r==="no"||!t)return 1;let o=t.findIndex(n=>n.label.toLowerCase()===r);return o>=0?o:1}var Ru="predict-redeem";function Ps({id:e=Ru}){return jsx(AsyncModal,{id:e,children:t=>jsx(_u,{...t})})}function _u({params:e,isOpen:t,onOpenChange:r}){let{t:o}=useTranslation(),{isMobile:n}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:n?"lg":"md",backdrop:"blur",hideCloseButton:true,classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{className:n?"":"p-2",children:[jsxs("div",{className:"px-4 pt-4 pb-1",children:[jsx("h3",{className:"text-lg font-semibold text-white",children:o("predict.redeem.title")}),jsx("p",{className:"text-sm text-zinc-400 mt-1",children:o("predict.redeem.description")})]}),jsx(Ss,{event:e.event,market:e.market,position:e.position,onSuccess:()=>{setTimeout(()=>r(false),1500);},onCancel:()=>r(false)})]})})}):null}function Ms({market:e,initialOutcome:t="yes",slippageBps:r=100,onSuccess:o}){let{t:n}=useTranslation(),i=useRef(o);i.current=o;let{status:s}=useAuth(),a=useWallets(),l=usePredictClient(),d=useContext(PolymarketContext),u=useQueryClient(),p=e.source,m=p==="polymarket",c=a.find(E=>E.chainNamespace===ChainNamespace.SOLANA&&E.isConnected),f=a.find(E=>E.chainNamespace===ChainNamespace.EVM&&E.isConnected&&"switchChain"in E),g=s==="authenticated",v=c?.address,x=f?.address,[b,w]=useState(t),[P,h]=useState("market"),[y,S]=useState(NaN),[N,A]=useState(NaN),[D,z]=useState(false),[F,q]=useState(false),[$,Q]=useState(null),[re,Z]=useState(null),[C,M]=useState(false),[U,G]=useState(false),[k,ce]=useState("1h"),[pe,ke]=useState(30),[Ve,We]=useState("minutes"),Ue=useMemo(()=>{if(p!=="polymarket")return;let E=e.provider_meta?.["polymarket.clobTokenIds"];return E?(typeof E=="string"?JSON.parse(E):E)[b==="yes"?0:1]:void 0},[p,e.provider_meta,b]),{data:rt,isLoading:Ne}=useTickSize(Ue),xe=rt?.minimum_tick_size?String(rt.minimum_tick_size):"0.01",{data:nt,isLoading:Ct}=useFeeRate(Ue),ot=String(nt?.base_fee??0),{data:Ge}=useRebateConfig(),Se=Ge?.builder_enabled&&Ge.builder_code?Ge.builder_code:void 0,Oe=false,it=null,Qt=false,gt,R,X;try{let E=ar();Oe=E.kalshiKycVerified,it=E.kalshiKycUrl,Qt=E.polymarketSetupVerified,gt=E.polymarketSafeAddress,R=E.polymarketWalletKind,X=E.polymarketWalletAddress;}catch{}let yt=p==="kalshi"&&!Oe,ht=p==="polymarket"&&!Qt,vt=useCallback(async()=>{if(!f||!d)return null;let E=await f.getEip1193Provider();if(!E)return null;let Ee=R==="deposit"&&!!X,De=!Ee&&!!gt,$e={address:f.address,signatureType:Ee?3:De?2:0,signTypedData:async(we,Je,Ze,Te)=>{let qe=[];"name"in we&&qe.push({name:"name",type:"string"}),"version"in we&&qe.push({name:"version",type:"string"}),"chainId"in we&&qe.push({name:"chainId",type:"uint256"}),"verifyingContract"in we&&qe.push({name:"verifyingContract",type:"address"}),"salt"in we&&qe.push({name:"salt",type:"bytes32"});let kr={EIP712Domain:qe,...Je};return await E.request({method:"eth_signTypedData_v4",params:[f.address,JSON.stringify({domain:we,types:kr,primaryType:Ze,message:Te})]})}};return d.credentials??await d.authenticate($e)},[gt,R,X,f,d]),{data:L}=useRealtimeOrderbook({slug:e.slug,source:p,outcome:b},{enabled:e.status==="open"}),ve=useMemo(()=>{let E=pickBestBid(L,b);if(E!=null&&E>0)return E;let Ee=b==="yes"?0:1,De=e.outcomes[Ee];return De?.best_bid??De?.price??.5},[L,e.outcomes,b]),je=p==="kalshi"?v??"":x??"",{data:Ir,isLoading:io}=usePositions({source:p,user:je},{enabled:!!je,refetchInterval:3e4}),so=useCallback(async()=>{let E=await vt();return E?await buildPolymarketL2Headers(E.address,{apiKey:E.apiKey,secret:E.secret,passphrase:E.passphrase,method:"GET",requestPath:"/data/orders",body:""}):{}},[vt]),{data:rr,isLoading:nr}=useAvailableShares({source:p,user:je,market:e.slug,side:b},p==="polymarket"?{getHeaders:so}:void 0,{enabled:!!je&&!!e.slug,refetchOnMount:"always"}),Ft=rr?.total_shares??0,br=rr?.active_order_shares??0,Mt=rr?.available_shares??0,Ye=useMemo(()=>p==="polymarket"?getPolymarketSharesPrecision(xe):rr?.precision??0,[p,xe,rr?.precision]),ao=nr||io,un=e.provider_meta?.["dflow.yesMint"]??"",Bt=e.provider_meta?.["dflow.noMint"]??"",Xt=SOLANA_TOKENS.stablecoins.USDC.address,Or=e.provider_meta?.["dflow.collateralMint"]||"",pn=b==="yes"?un:Bt,mn=useMemo(()=>Ir?Ir.positions.find(E=>E.side?.toLowerCase()===b&&E.market?.slug===e.slug)??null:null,[Ir,e.slug,b])?.market?.provider_meta,co=mn?.["dflow.outcomeMint"]||pn,or=mn?.["dflow.collateralMint"]||Or,Et=co,Ht=or||Xt,yr=useMemo(()=>isNaN(y)||y<=0?"0":String(Math.round(y*1e6)),[y]),uo=p==="kalshi"&&!!Et&&!!Ht&&!!v&&yr!=="0",{refetch:Dr}=useDFlowQuote({inputMint:Et,outputMint:Ht,amount:yr,userPublicKey:v??"",slippageBps:100},{enabled:uo}),ir=useMemo(()=>isNaN(y)||y<=0?0:y,[y]),st=useMemo(()=>walkOrderbook({orderbook:L,outcome:b,side:"sell",sharesNeeded:ir,slippageBps:r}),[L,b,ir,r]),Ar=useMemo(()=>st.status==="ok"&&st.worstPrice!=null&&st.worstPrice>0?st.worstPrice:ve,[st,ve]),po=useMemo(()=>{if(isNaN(y)||y<=0)return 0;let E=P==="limit"&&m&&!isNaN(N)?N:ve;return y*E},[y,P,m,N,ve]),_=useCallback(E=>{w(E),A(NaN),S(NaN),q(false);},[]);useEffect(()=>{_(t);},[t,_]);let Be=useCallback(E=>{h(E);},[]);useEffect(()=>{P==="limit"&&A(Math.round(ve*100)/100);},[P,b]);let Qe=useCallback(E=>{if(q(false),isNaN(E)){S(NaN);return}S(Pe(Math.max(0,E),Ye));},[Ye]),zt=useCallback(()=>{q(true),S(Pe(Mt,Ye));},[Mt,Ye]),Fr=useCallback(E=>{if(isNaN(E)){A(NaN);return}let Ee=Math.max(.01,Math.min(.99,E));A(Math.round(Ee*100)/100);},[]),kt=useCallback(()=>{S(NaN),A(NaN),h("market"),q(false),G(false),ce("1h"),ke(30),We("minutes");},[]),St=useMemo(()=>{let E=[];return isNaN(y)||y<=0?E.push(n("predict.trade.minQuantity",{amount:Sn})):y<Sn&&E.push(n("predict.trade.minQuantity",{amount:Sn})),e.status!=="open"&&E.push(n("predict.trade.marketNotActive")),!isNaN(y)&&y>0&&!F&&y>Mt&&E.push(n("predict.trade.insufficientSharesDetail",{total:Pe(Ft,Ye).toFixed(Ye),active:Pe(br,Ye).toFixed(Ye),available:Pe(Mt,Ye).toFixed(Ye)})),P==="limit"&&m&&(isNaN(N)||N<.01||N>.99)&&E.push(n("predict.trade.limitPriceRange")),P==="limit"&&m&&U&&k==="custom"&&(isNaN(pe)||pe<=0)&&E.push(n("predict.trade.expiration.invalidDate")),p==="polymarket"&&P==="market"&&!isNaN(y)&&y>0&&(st.status==="insufficient_liquidity"?E.push(n("predict.trade.insufficientLiquidity",{available:Pe(st.totalAvailable,2)})):st.status==="exceeds_slippage"&&E.push(n("predict.trade.priceImpactTooHigh",{impact:(st.priceImpactBps/100).toFixed(2),slippage:(r/100).toFixed(2)}))),{isValid:E.length===0,errors:E}},[y,e.status,Mt,Ft,br,F,P,m,N,U,k,pe,Ye,p,st,r,n]),{mutateAsync:Xe}=useDFlowSubmit(),{data:Br}=useOrder({id:$??"",source:p},{enabled:!!$}),Hr=useCallback(async()=>{if(!re||!v||!c)return;let{cashAmount:E,collateral:Ee}=re;Z(null);try{let $e=(await l.createDFlowQuote({inputMint:Ee,outputMint:Xt,amount:E,userPublicKey:v,slippageBps:100}))?.transaction;if(!$e)return;let we=Uint8Array.from(atob($e),Ze=>Ze.charCodeAt(0)),Je=await c.signTransaction(we);await Xe({signedTransaction:btoa(String.fromCharCode(...Je)),orderContext:{user_public_key:v,input_mint:Ee,output_mint:Xt,amount:E,price:"1",side:"SELL",outcome:"",market_slug:"",slippage_bps:100}});}catch{}},[re,v,c,l,Xe,Xt]),Tt=useCallback(()=>{u.invalidateQueries({queryKey:["predict","positions"]}),u.invalidateQueries({queryKey:["predict","orders"]}),u.invalidateQueries({queryKey:["predict","available-shares"]});},[u]);useEffect(()=>{if(!Br||!$)return;let{status:E}=Br;E==="closed"?(Q(null),re?Hr().finally(()=>{z(false),toast.success(n("predict.trade.submitSuccess")),lr(),Tt(),kt(),i.current?.();}):(z(false),toast.success(n("predict.trade.submitSuccess")),lr(),Tt(),kt(),i.current?.())):(E==="failed"||E==="expired")&&(z(false),Q(null),Z(null),toast.error(n("predict.trade.submitError")));},[Br,$,re,Hr,Tt,kt,n]);let zr=useCallback(async()=>{if(!v||!c)return;if(!Et||!Ht){toast.error("Missing token mint addresses"),z(false);return}if(!Oe){M(true),z(false);return}let De=(await Dr()).data,$e=De?.transaction;if(!$e){toast.error(n("predict.trade.submitError")),z(false);return}if(or&&or!==Xt){let Te=String(De?.outAmount??"");Te&&Te!=="0"&&Z({cashAmount:Te,collateral:or});}let we=Uint8Array.from(atob($e),Te=>Te.charCodeAt(0)),Je=await c.signTransaction(we),Ze=await Xe({signedTransaction:btoa(String.fromCharCode(...Je)),orderContext:{user_public_key:v,input_mint:Et,output_mint:Ht,amount:yr,price:String(ve),side:"SELL",outcome:b==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});Q(Ze.signature);},[v,c,Dr,Xe,Et,Ht,yr,ve,b,e.slug,or,Xt,n,Oe]),fn=useCallback(async()=>{if(!f||!d)return;let E=f.chain,Ee=E!==Chain.POLYGON;Ee&&await f.switchChain(Chain.POLYGON);try{let De=await f.getEip1193Provider();if(!De){toast.error(n("predict.trade.submitError")),z(!1);return}let $e=R==="deposit"&&!!X,we=!$e&&!!gt,Je=$e?X:gt,Ze={address:f.address,signatureType:$e?3:we?2:0,signTypedData:async(Wt,hn,go,ho)=>{let Sr=[];"name"in Wt&&Sr.push({name:"name",type:"string"}),"version"in Wt&&Sr.push({name:"version",type:"string"}),"chainId"in Wt&&Sr.push({name:"chainId",type:"uint256"}),"verifyingContract"in Wt&&Sr.push({name:"verifyingContract",type:"address"}),"salt"in Wt&&Sr.push({name:"salt",type:"bytes32"});let Gl={EIP712Domain:Sr,...hn};return await De.request({method:"eth_signTypedData_v4",params:[f.address,JSON.stringify({domain:Wt,types:Gl,primaryType:go,message:ho})]})}},Te=await vt();if(!Te){toast.error(n("predict.trade.submitError")),z(!1);return}let qe=b==="yes"?0:1,kr="",gn=e.provider_meta?.["polymarket.clobTokenIds"];gn&&(kr=(typeof gn=="string"?JSON.parse(gn):gn)[qe]??"");let hi=e.provider_meta?.["polymarket.negRisk"]??!1,jl=P==="limit"&&!isNaN(N)?N:Ar,ql=Nn(jl,xe),mo={tokenId:kr,price:ql,size:y,side:"SELL",orderType:P==="limit"?U?"GTD":"GTC":"FOK",tickSize:xe,negRisk:hi,...Je&&{funderAddress:Je},...Se&&{builderCode:Se},...P==="limit"&&U&&{expiration:Pn(k,pe,Ve)}},fo;if($e)fo=await buildSignedV2OrderPayload({signer:Ze,depositWalletAddress:Je,input:mo,owner:Te.apiKey});else {let Wt=buildCtfExchangeDomain(hi),hn=buildOrderMessage({...mo,signerAddress:Ze.address,signatureType:Ze.signatureType,feeRateBps:ot}),go=await Ze.signTypedData(Wt,CTF_ORDER_TYPES,"Order",hn),ho=buildSignedOrder(hn,go,mo.orderType);fo=buildClobPayload(ho,Te.apiKey);}await l.executePolymarketOrder({payload:fo,l2_api_key:Te.apiKey,l2_secret:Te.secret,l2_passphrase:Te.passphrase,signer_address:Te.address,owner:Te.apiKey}),Tt(),toast.success(n("predict.trade.submitSuccess")),lr(),kt(),z(!1),i.current?.();}finally{Ee&&E&&f.switchChain(E).catch(()=>{});}},[f,d,vt,b,e.provider_meta,P,N,Ar,y,l,Tt,U,k,pe,Ve,kt,n,xe,ot,e.slug,gt,R,X,Se]),Wr=useCallback(async()=>{if(!(!St.isValid||!g)){z(true),Q(null),M(false);try{p==="kalshi"?await zr():await fn();}catch(E){let Ee=E instanceof Error?E.message:"",De=p==="polymarket"&&Ee?Cn(Ee,n,"sell"):Ee||void 0;toast.error(De||n("predict.trade.submitError")),z(false);}}},[St.isValid,g,p,zr,fn,n]);return {outcome:b,orderType:P,quantity:y,limitPrice:N,shares:ir,estimatedReturn:po,pricePerShare:ve,isMarketDataLoading:p==="polymarket"&&(Ct||Ne),isSubmitting:D,authStatus:s,validation:St,supportsLimitOrder:m,kycRequired:C,needsKyc:yt,needsSetup:ht,kycUrl:it,totalShares:Ft,activeOrderShares:br,availableShares:Mt,isAvailableLoading:ao,isSellAll:F,precision:Ye,expirationEnabled:U,expirationPreset:k,customDuration:pe,customDurationUnit:Ve,setOutcome:_,setOrderType:Be,setQuantity:Qe,setLimitPrice:Fr,setSellAll:zt,setExpirationEnabled:G,setExpirationPreset:ce,setCustomDuration:ke,setCustomDurationUnit:We,submit:Wr}}var fp=["5m","1h","12h","24h","eod","custom"],gp={"5m":"predict.trade.expiration.5m","1h":"predict.trade.expiration.1h","12h":"predict.trade.expiration.12h","24h":"predict.trade.expiration.24h",eod:"predict.trade.expiration.eod",custom:"predict.trade.expiration.custom"},hp=["minutes","hours","days"],vp={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"},xp={maximumFractionDigits:0};function As({event:e,market:t,variant:r="bordered",outcome:o,orderType:n,quantity:i,limitPrice:s,estimatedReturn:a,isMarketDataLoading:l,isSubmitting:d,authStatus:u,isValid:p,validationErrors:m,supportsLimitOrder:c,kycRequired:f,needsKyc:g,needsSetup:v,onSetupRequired:x,kycUrl:b,totalShares:w,activeOrderShares:P,availableShares:h,isAvailableLoading:y,precision:S,expirationEnabled:N,expirationPreset:A,customDuration:D,customDurationUnit:z,onOutcomeChange:F,onOrderTypeChange:q,onQuantityChange:$,onLimitPriceChange:Q,onSellAll:re,onExpirationEnabledChange:Z,onExpirationPresetChange:C,onCustomDurationChange:M,onCustomDurationUnitChange:U,onSubmit:G}){let{t:k}=useTranslation(),[ce,pe]=useState(false),ke=useDisclosure(),[Ve,We]=useState(""),Ue=useRef(false);useEffect(()=>{Ue.current||We(isNaN(i)?"":String(i));},[i]);let[rt,Ne]=useState(""),xe=useRef(false);useEffect(()=>{xe.current||(isNaN(s)?Ne(""):Ne(String(parseFloat((s*100).toFixed(2)))));},[s]);let nt=useCallback(R=>{if(R!==""&&!/^\d*\.?\d{0,2}$/.test(R))return;if(Ne(R),R===""||R==="."){Q(NaN);return}let yt=parseFloat(R);isNaN(yt)||Q(yt/100);},[Q]),Ct=useCallback(R=>{let X=new RegExp(`^\\d*\\.?\\d{0,${S}}$`);if(R!==""&&!X.test(R))return;if(We(R),pe(false),R===""||R==="."){$(NaN);return}let yt=parseFloat(R);isNaN(yt)||$(yt);},[$,S]);useEffect(()=>{f&&!ke.isOpen&&ke.onOpen();},[f]);let ot=useMemo(()=>{let R=o==="yes"?t.yesBid:t.noBid;return R!=null?parseFloat((Number(R)*100).toFixed(2)):null},[o,t]),Ge=!isNaN(i)&&i>0,Se=u==="authenticated",Oe=u==="authenticating"||u==="deauthenticating",it=Se&&(g||v),Qt=useMemo(()=>{if(Oe)return k("predict.trade.checkingLogin");if(!Se)return k("predict.trade.loginToTrade");if(g)return k("predict.trade.kycRequired");if(v)return k("predict.trade.setupRequired");if(y)return k("predict.trade.loadingBalance");if(l)return k("predict.trade.loadingMarketData");if(d)return k("predict.trade.submitting");if(f)return k("predict.trade.kycRequired");if(!Ge)return k("predict.trade.enterAmount");let R=k(o==="yes"?"predict.trade.yes":"predict.trade.no");return `${k("predict.trade.sell")} ${R}`},[Oe,Se,g,v,y,l,d,f,Ge,o,k]),gt=()=>{if(!Se){pe(false),G();return}if(g){ke.onOpen();return}if(v&&x){pe(false),x();return}if(f){ke.onOpen();return}if(!p){pe(true);return}pe(false),G();};return jsxs(Fragment,{children:[jsxs("div",{className:"flex w-full flex-col gap-y-4 p-4",style:r==="bordered"?{borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",transition:"border-color 0.2s"}:void 0,onMouseEnter:R=>{r==="bordered"&&(R.currentTarget.style.borderColor="rgba(63,63,70,0.8)");},onMouseLeave:R=>{r==="bordered"&&(R.currentTarget.style.borderColor="rgba(39,39,42,0.6)");},children:[e&&jsxs("div",{className:"flex items-center gap-x-3",children:[e.imageUrl&&jsx("img",{src:e.imageUrl,alt:e.title,className:"h-10 w-10 shrink-0 rounded-lg object-cover"}),jsxs("div",{className:"flex min-w-0 flex-col gap-y-0.5",children:[jsx("span",{className:"text-sm text-neutral-500 leading-tight line-clamp-1",children:e.title}),jsxs("span",{className:"text-base font-semibold leading-tight line-clamp-1",children:[jsxs("span",{className:"text-bearish",children:[k("predict.trade.sell")," ",k(o==="yes"?"predict.trade.yes":"predict.trade.no")]}),jsxs("span",{className:"text-foreground",children:[" \xB7 ",t.yesSubTitle]})]})]})]}),jsxs("div",{className:"flex items-center justify-between",children:[c?jsxs(Tabs,{variant:"underlined",selectedKey:n,onSelectionChange:R=>q(R),classNames:{tabList:"gap-x-4",tab:"px-0"},children:[jsx(Tab,{title:k("predict.trade.market")},"market"),jsx(Tab,{title:k("predict.trade.limit")},"limit")]}):jsx("span",{className:"text-sm font-medium text-foreground",children:k("predict.trade.market")}),n==="limit"&&c?jsx(StyledInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",inputMode:"decimal",value:rt,onChange:R=>nt(R.target.value),onFocus:()=>{xe.current=true;},onBlur:()=>{xe.current=false,isNaN(s)?Ne(""):Ne(String(parseFloat((s*100).toFixed(2))));},endContent:jsx("span",{className:"text-xl font-bold tabular-nums text-foreground",children:"\xA2"}),classNames:{base:"w-28",inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 rounded-lg px-2 h-9 min-h-9",input:"text-xl font-bold tabular-nums text-right"}}):ot!=null&&jsxs("span",{className:"text-xl font-bold tabular-nums",children:[ot," \xA2"]})]}),jsx("div",{className:"flex gap-x-2",children:["yes","no"].map(R=>{let X=R==="yes"?t.yesBid:t.noBid;return jsx("div",{className:"flex flex-1 flex-col gap-y-1",children:jsxs("button",{type:"button",onClick:()=>F(R),className:`w-full rounded-lg border py-2 text-sm font-medium transition-colors cursor-pointer ${o===R?"border-bearish bg-bearish/10 text-bearish":"border-default-400 text-foreground hover:border-default-500"}`,children:[jsx("span",{children:k(R==="yes"?"predict.trade.yes":"predict.trade.no")}),X!=null&&jsxs("span",{className:"ml-1 opacity-70",children:[parseFloat((Number(X)*100).toFixed(2)),"\xA2"]})]})},R)})}),jsxs("div",{className:"flex flex-col gap-y-1.5",children:[jsxs("div",{className:"flex items-center justify-between text-xs text-neutral-500",children:[jsx("span",{className:"text-sm font-medium text-foreground",children:k("predict.trade.sellContracts")}),jsxs("div",{className:"flex items-center gap-x-2",children:[[25,50].map(R=>{let X=Math.pow(10,S);return jsxs("button",{type:"button",onClick:()=>{$(Math.floor(h*R/100*X)/X);},className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-neutral-500 hover:text-foreground font-medium",children:[R,"%"]},R)}),jsx("button",{type:"button",onClick:re,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-neutral-500 hover:text-foreground font-medium",children:k("common.all")})]})]}),jsx(StyledInput,{"aria-label":"Sell quantity",fullWidth:true,placeholder:"0",radius:"lg",size:"lg",inputMode:"decimal",value:Ve,onChange:R=>Ct(R.target.value),onFocus:()=>{Ue.current=true;},onBlur:()=>{Ue.current=false,We(isNaN(i)?"":String(i));},classNames:{inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 h-14 min-h-14",input:"text-lg"}}),ce&&m.length>0&&jsx("div",{className:"flex flex-col gap-y-0.5",children:m.map(R=>jsx("span",{className:"text-xs text-danger",children:R},R))})]}),jsxs("div",{className:"flex flex-col gap-y-1.5 border-l-2 border-default-300 pl-3 text-sm text-neutral-500",children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.totalShares")}),jsx("span",{className:"tabular-nums text-foreground",children:y?"\u2013":`${Pe(w,S).toFixed(S)}${k("predict.trade.sharesUnit")}`})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.activeOrders")}),jsx("span",{className:"tabular-nums text-warning",children:y?"\u2013":P>0?`-${Pe(P,S).toFixed(S)}${k("predict.trade.sharesUnit")}`:`0${k("predict.trade.sharesUnit")}`})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.availableShares")}),jsx("span",{className:"tabular-nums text-success font-medium",children:y?"\u2013":`${Pe(h,S).toFixed(S)}${k("predict.trade.sharesUnit")}`})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.estReturn")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${a.toFixed(2)}`:"\u2013"})]})]}),n==="limit"&&c&&jsxs("div",{className:"flex flex-col gap-y-2",children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium text-primary",children:k("predict.trade.setExpiration")}),jsx(StyledSwitch,{size:"sm",color:"primary",isSelected:N,onValueChange:Z,"aria-label":k("predict.trade.setExpiration")})]}),N&&jsxs(Fragment,{children:[jsx(Select,{"aria-label":k("predict.trade.setExpiration"),selectedKeys:[A],onSelectionChange:R=>{let X=Array.from(R)[0];X&&C(X);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:fp.map(R=>jsx(SelectItem,{children:k(gp[R])},R))}),A==="custom"&&jsxs("div",{className:"flex gap-x-2",children:[jsx(StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(D)?void 0:D,onValueChange:M,minValue:1,step:1,formatOptions:xp,classNames:{base:"flex-1",inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 min-h-10",input:"text-sm"}}),jsx(Select,{"aria-label":"Duration unit",selectedKeys:[z],onSelectionChange:R=>{let X=Array.from(R)[0];X&&U(X);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:hp.map(R=>jsx(SelectItem,{children:k(vp[R])},R))})]})]})]}),jsx(Button,{color:"secondary",fullWidth:true,radius:"lg",size:"lg",isDisabled:Oe||Se&&!it&&(y||l||!Ge||d),isLoading:Oe||Se&&!it&&(d||y||l),spinner:jsx(Spinner,{size:"sm",color:"current"}),onPress:gt,children:Qt})]}),jsx(Mn,{isOpen:ke.isOpen,onClose:ke.onClose,kycUrl:b})]})}function Fn({event:e,market:t,variant:r,initialOutcome:o,chain:n,slippageBps:i,onOutcomeChange:s,onSetupRequired:a,onSuccess:l}){let{outcome:d,orderType:u,quantity:p,limitPrice:m,estimatedReturn:c,pricePerShare:f,isMarketDataLoading:g,isSubmitting:v,authStatus:x,validation:b,supportsLimitOrder:w,kycRequired:P,needsKyc:h,needsSetup:y,kycUrl:S,totalShares:N,activeOrderShares:A,availableShares:D,isAvailableLoading:z,precision:F,expirationEnabled:q,expirationPreset:$,customDuration:Q,customDurationUnit:re,setOutcome:Z,setOrderType:C,setQuantity:M,setLimitPrice:U,setSellAll:G,setExpirationEnabled:k,setExpirationPreset:ce,setCustomDuration:pe,setCustomDurationUnit:ke,submit:Ve}=Ms({market:t,initialOutcome:o,slippageBps:i,onSuccess:l}),We=useAuthCallback(Ve),Ue=useCallback(xe=>{Z(xe),s?.(xe);},[Z,s]),rt=useMemo(()=>e?xn(e):void 0,[e]),Ne=useMemo(()=>bn(t,{yesBid:d==="yes"?f:void 0,noBid:d==="no"?f:void 0}),[t,d,f]);return jsx(As,{event:rt,market:Ne,variant:r,outcome:d,orderType:u,quantity:p,limitPrice:m,estimatedReturn:c,isMarketDataLoading:g,isSubmitting:v,authStatus:x,isValid:b.isValid,validationErrors:b.errors,supportsLimitOrder:w,kycRequired:P,needsKyc:h,needsSetup:y,onSetupRequired:a,kycUrl:S,totalShares:N,activeOrderShares:A,availableShares:D,isAvailableLoading:z,precision:F,expirationEnabled:q,expirationPreset:$,customDuration:Q,customDurationUnit:re,onOutcomeChange:Ue,onOrderTypeChange:C,onQuantityChange:M,onLimitPriceChange:U,onSellAll:G,onExpirationEnabledChange:k,onExpirationPresetChange:ce,onCustomDurationChange:pe,onCustomDurationUnitChange:ke,onSubmit:We})}var Io="predict-sell";function Bs({id:e=Io}){return jsx(AsyncModal,{id:e,children:t=>jsx(Mp,{...t})})}function Mp({params:e,isOpen:t,onOpenChange:r}){let{t:o}=useTranslation(),{isMobile:n}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:n?"lg":"md",backdrop:"blur",hideCloseButton:true,classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{className:n?"":"p-2",children:[jsx(Fn,{event:e.event,market:e.market,initialOutcome:e.initialOutcome,chain:e.chain,slippageBps:e.slippageBps,onSetupRequired:e.onSetupRequired,onSuccess:()=>r(false),variant:"flat"}),jsx("div",{className:"px-4 pb-4",children:jsx("button",{type:"button",onClick:()=>r(false),className:"w-full h-12 rounded-xl text-sm font-medium text-zinc-400 hover:text-white hover:bg-[rgba(39,39,42,0.5)] transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:o("common.cancel")})})]})})}):null}var Ao=40,zn=36,Xr=480,Fo=Xr-zn;function Ws({event:e,walletAddress:t,onCancelOrder:r}){let{t:o}=useTranslation(),[n,i]=useState("positions"),s=useMemo(()=>e.markets?.map(p=>p.slug)??[],[e.markets]),{data:a}=usePositions({source:e.source,user:t??""}),l=useMemo(()=>!a?.positions||!t?0:s.length===0?a.positions.length:a.positions.filter(p=>p.market&&s.includes(p.market.slug)).length,[a?.positions,s,t]),u=[{key:"positions",label:l>0?`${o("predict.positions.title")} (${l})`:o("predict.positions.title")},{key:"orders",label:o("predict.openOrders.title")},{key:"trades",label:o("predict.tradeHistory.title")}];return jsxs("div",{className:"flex flex-col gap-y-2 mt-6 px-1 lg:px-4",children:[jsx("div",{className:"flex items-center gap-x-1 border-b border-border",children:u.map(p=>jsx("button",{type:"button",onClick:()=>i(p.key),className:cn$1("px-3 py-2 text-sm font-medium transition-colors cursor-pointer",n===p.key?"text-foreground border-b-2 border-primary":"text-neutral hover:text-foreground"),children:p.label},p.key))}),t?jsxs("div",{style:{height:Xr},children:[n==="positions"&&jsx(Op,{source:e.source,walletAddress:t,marketSlugs:s}),n==="orders"&&jsx(Ap,{source:e.source,walletAddress:t,marketSlugs:s,onCancelOrder:r}),n==="trades"&&jsx(Hp,{source:e.source,walletAddress:t})]}):jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:Xr},children:o("predict.trade.connectWallet")})]})}function Op({source:e,walletAddress:t,marketSlugs:r}){let{t:o}=useTranslation(),{data:n,isLoading:i}=usePositions({source:e,user:t}),s=useMemo(()=>n?.positions?r.length===0?n.positions:n.positions.filter(a=>a.market&&r.includes(a.market.slug)):[],[n?.positions,r]);return i?jsx(Ho,{}):s.length===0?jsx(Bo,{message:o("predict.positions.empty")}):jsxs("div",{className:"flex flex-col h-full",children:[jsxs("div",{className:"flex items-center text-neutral text-xs lg:text-sm font-normal shrink-0",style:{height:zn},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2 whitespace-nowrap",children:o("predict.positions.event")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.totalSize")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.value")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.avgPrice")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.markPrice")}),jsx("div",{className:"flex-[1.5] pr-2 text-right whitespace-nowrap",children:o("predict.positions.pnl")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.payoutIfRight")}),jsx("div",{className:"flex-[1.5] pr-2 text-right whitespace-nowrap",children:o("predict.positions.estSettlement")}),jsx("div",{className:"w-16 shrink-0"})]}),jsx(List,{style:{height:Fo},rowComponent:Dp,rowCount:s.length,rowHeight:Ao,rowProps:{positions:s,closeLabel:o("predict.positions.close")}})]})}function Dp({index:e,style:t,positions:r,closeLabel:o}){let n=r[e];if(!n)return null;let i=n.pnl??0,s=n.pnl_percent??0,a=n.avg_price??0,l=n.current_price??0,d=i>0?"text-success":i<0?"text-danger":"text-foreground",u=i>0?"+":"",p=n.market?.outcomes?.[0]?.label??n.market?.question??"\u2014",m=n.side,c=n.size,f=n.size*l,g=n.market?.end_at?Up(n.market.end_at):"\u2014";return jsxs("div",{style:t,className:"flex items-center border-b border-border/50 hover:bg-content2/40 transition-colors text-xs lg:text-sm",children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:jsxs("div",{className:"flex flex-col gap-y-0.5",children:[jsx("span",{className:"text-foreground truncate font-medium",children:p}),jsx("span",{className:cn$1("text-[10px] font-medium",m.toLowerCase()==="yes"?"text-primary":"text-secondary"),children:m})]})}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:n.size}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:["$",f.toFixed(2)]}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:Bn(a)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:Bn(l)}),jsxs("div",{className:cn$1("flex-[1.5] pr-2 text-right font-mono whitespace-nowrap",d),children:[u,"$",Math.abs(i).toFixed(2),jsxs("span",{className:"text-[10px] ml-0.5 opacity-70",children:["(",u,s.toFixed(1),"%)"]})]}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:["$",c.toFixed(2)]}),jsx("div",{className:"flex-[1.5] pr-2 text-right text-neutral whitespace-nowrap",children:g}),jsx("div",{className:"w-16 shrink-0 text-right",children:jsx("button",{type:"button",className:"text-xs text-neutral hover:text-foreground cursor-pointer transition-colors rounded px-2 py-0.5 border border-border hover:border-foreground/40",children:o})})]})}function Ap({source:e,walletAddress:t,marketSlugs:r,onCancelOrder:o}){let{t:n}=useTranslation(),{data:i,isLoading:s,fetchNextPage:a,hasNextPage:l}=useInfiniteOrders({source:e,wallet_address:t}),d=useCancelOrder(),u=useMemo(()=>{let x=i?.pages?.flatMap(P=>P.items)??[],b=new Set(["live","open","submitted","pending"]),w=x.filter(P=>b.has(P.status));return r.length>0&&(w=w.filter(P=>P.market_id&&r.includes(P.market_id))),w},[i?.pages,r]),p=useCallback(x=>{o?o(x.id):d.mutate({source:x.source,id:x.id});},[o,d]),m=u.length,c=m+(l?1:0),f=useCallback(x=>x<m,[m]),g=useCallback(async()=>{await a();},[a]),v=useInfiniteLoader({isRowLoaded:f,loadMoreRows:g,rowCount:c,threshold:5});return s?jsx(Ho,{}):u.length===0&&!l?jsx(Bo,{message:n("predict.openOrders.empty")}):jsxs("div",{className:"flex flex-col h-full",children:[jsxs("div",{className:"flex items-center text-neutral text-xs lg:text-sm font-normal shrink-0",style:{height:zn},children:[jsx("div",{className:"w-16 shrink-0 pr-2",children:n("predict.openOrders.side")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.openOrders.outcome")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.openOrders.type")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.openOrders.price")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.openOrders.filled")}),jsx("div",{className:"w-20 shrink-0 pr-2",children:n("predict.openOrders.status")}),jsx("div",{className:"w-16 shrink-0"})]}),jsx(List,{style:{height:Fo},onRowsRendered:v,rowComponent:Fp,rowCount:c,rowHeight:Ao,rowProps:{orders:u,itemCount:m,onCancel:p,isCancelling:d.isPending,cancelLabel:n("predict.openOrders.cancel")}})]})}function Fp({index:e,style:t,orders:r,itemCount:o,onCancel:n,isCancelling:i,cancelLabel:s}){if(e>=o)return jsx("div",{style:t,className:"flex justify-center items-center",children:jsx(Spinner,{size:"sm"})});let a=r[e];if(!a)return null;let l=a.side==="BUY";return jsxs("div",{style:t,className:"flex items-center border-b border-border/50 text-xs lg:text-sm",children:[jsx("div",{className:"w-16 shrink-0 pr-2",children:jsx("span",{className:cn$1("inline-block rounded px-1.5 py-0.5 text-[10px] font-medium",l?"bg-primary/10 text-primary":"bg-danger/10 text-danger"),children:a.side})}),jsx("div",{className:"flex-1 pr-2 text-foreground capitalize",children:a.outcome??"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-neutral capitalize",children:a.order_type??"limit"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:a.price?Bn(parseFloat(a.price)):"\u2014"}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:[a.size_matched??"0","/",a.original_size??"\u2014"]}),jsx("div",{className:"w-20 shrink-0 pr-2",children:jsx(Bp,{status:a.status})}),jsx("div",{className:"w-16 shrink-0 text-right",children:jsx("button",{type:"button",onClick:()=>n(a),disabled:i,className:"text-[10px] text-danger hover:text-danger/80 cursor-pointer disabled:opacity-50 transition-colors",children:i?jsx(Spinner,{size:"sm"}):s})})]})}function Bp({status:e}){return jsx("span",{className:cn$1("inline-block rounded px-1.5 py-0.5 text-[10px] font-medium capitalize",{live:"bg-success/10 text-success",open:"bg-success/10 text-success",submitted:"bg-warning/10 text-warning",pending:"bg-warning/10 text-warning",matched:"bg-primary/10 text-primary",cancelled:"bg-neutral/10 text-neutral",failed:"bg-danger/10 text-danger",expired:"bg-neutral/10 text-neutral"}[e]??"bg-neutral/10 text-neutral"),children:e})}function Hp({source:e,walletAddress:t}){let{t:r}=useTranslation(),{data:o,isLoading:n,fetchNextPage:i,hasNextPage:s}=useInfiniteTrades({source:e,wallet:t,limit:50}),a=useMemo(()=>o?.pages?.flatMap(c=>c.items)??[],[o?.pages]),l=a.length,d=l+(s?1:0),u=useCallback(c=>c<l,[l]),p=useCallback(async()=>{await i();},[i]),m=useInfiniteLoader({isRowLoaded:u,loadMoreRows:p,rowCount:d,threshold:5});return n?jsx(Ho,{}):a.length===0&&!s?jsx(Bo,{message:r("predict.tradeHistory.empty")}):jsxs("div",{className:"flex flex-col h-full",children:[jsxs("div",{className:"flex items-center text-neutral text-xs lg:text-sm font-normal shrink-0",style:{height:zn},children:[jsx("div",{className:"w-16 shrink-0 pr-2",children:r("predict.tradeHistory.side")}),jsx("div",{className:"flex-1 pr-2",children:r("predict.tradeHistory.outcome")}),jsx("div",{className:"flex-1 pr-2 text-right",children:r("predict.tradeHistory.price")}),jsx("div",{className:"flex-1 pr-2 text-right",children:r("predict.tradeHistory.qty")}),jsx("div",{className:"flex-1 pr-2 text-right",children:r("predict.tradeHistory.total")}),jsx("div",{className:"flex-[1.5] pr-2 text-right",children:r("predict.tradeHistory.time")})]}),jsx(List,{style:{height:Fo},onRowsRendered:m,rowComponent:zp,rowCount:d,rowHeight:Ao,rowProps:{trades:a,itemCount:l}})]})}function zp({index:e,style:t,trades:r,itemCount:o}){if(e>=o)return jsx("div",{style:t,className:"flex justify-center items-center",children:jsx(Spinner,{size:"sm"})});let n=r[e];if(!n)return null;let i=n.side?.toUpperCase()==="BUY",s=Wp(n.timestamp),a=n.price??0,l=n.usd_size??0;return jsxs("div",{style:t,className:"flex items-center border-b border-border/50 text-xs lg:text-sm",children:[jsx("div",{className:"w-16 shrink-0 pr-2",children:jsx("span",{className:cn$1("inline-block rounded px-1.5 py-0.5 text-[10px] font-medium",i?"bg-primary/10 text-primary":"bg-danger/10 text-danger"),children:n.side})}),jsx("div",{className:"flex-1 pr-2 text-foreground capitalize",children:n.outcome??"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:Bn(a)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:n.size}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:["$",l.toFixed(2)]}),jsx("div",{className:"flex-[1.5] pr-2 text-right text-neutral whitespace-nowrap",children:s})]})}function Bo({message:e}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:Xr},children:e})}function Ho(){return jsx("div",{className:"flex flex-col gap-y-2 py-3 animate-pulse",style:{height:Xr},children:Array.from({length:6}).map((e,t)=>jsx(Skeleton,{className:"h-8 w-full rounded-md"},t))})}function Bn(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(1)}\xA2`}function Wp(e){let t=new Date(e*1e3),r=(t.getMonth()+1).toString().padStart(2,"0"),o=t.getDate().toString().padStart(2,"0"),n=t.getHours().toString().padStart(2,"0"),i=t.getMinutes().toString().padStart(2,"0");return `${r}/${o} ${n}:${i}`}function Up(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}catch{return "\u2014"}}var Us=`
74
+ `).map((r,o)=>jsxs("span",{children:[o>0&&jsx("br",{className:"hidden sm:block"}),r,o===0?" ":""]},o))})]}),jsx("div",{className:"evt-stat-grid",style:e?{animation:"evtStatsEnter 0.5s cubic-bezier(0.34,1.56,0.64,1) both",animationDelay:"0.1s"}:{},children:vu.map((r,o)=>jsxs("div",{style:{padding:"14px 16px",background:e?`linear-gradient(to bottom, ${r.gradientFrom}, ${r.gradientTo})`:"rgba(255,255,255,0.02)",borderRight:o%2===0?"1px solid rgba(39,39,42,0.4)":"none",borderBottom:o<2?"1px solid rgba(39,39,42,0.4)":"none",...e?{animation:"evtStatCardEnter 0.45s cubic-bezier(0.34,1.56,0.64,1) both",animationDelay:`${150+o*60}ms`}:{}},children:[jsx("div",{className:"evt-stat-val",style:{fontWeight:700,fontVariantNumeric:"tabular-nums",color:e?r.valueColor:"transparent",display:"flex",alignItems:"center"},children:e?r.format(e[r.key]):jsx("div",{style:{height:16,width:56,borderRadius:4,background:"rgba(255,255,255,0.06)",animation:"evtStatCardEnter 0.6s ease-out both",animationDelay:`${o*80}ms`}})}),jsx("div",{className:"evt-stat-label",style:{fontWeight:500,color:e?"#71717a":"transparent",marginTop:2,display:"flex",alignItems:"center"},children:e?t(r.labelKey):jsx("div",{style:{height:10,width:64,borderRadius:4,background:"rgba(255,255,255,0.04)",animation:"evtStatCardEnter 0.6s ease-out both",animationDelay:`${50+o*80}ms`}})})]},r.key))})]})]})}function Ss({event:e,market:t,position:r,onSuccess:o,onCancel:n}){let{t:i}=useTranslation(),{mutateAsync:s}=useRedeemPosition(),{evmAddress:a}=ar(),l=useWallets(),[d,u]=useState("idle"),[p,m]=useState(null),c=t.provider_meta?.["polymarket.conditionId"],f=t.provider_meta?.["polymarket.negRisk"]??false,g=a??"",v=useMemo(()=>l.find(F=>F.chainNamespace===ChainNamespace.EVM&&F.isConnected),[l]),x=ks(r.side,t.outcomes),w=t.outcomes?.[x]?.label??r.side,P=t.result!=null?ks(t.result,t.outcomes):-1,y=(P>=0?t.outcomes?.[P]:void 0)?.label??t.result??"",S=t.result!=null?x===P:true,N=useMemo(()=>S?r.size:0,[S,r.size]),A=useCallback(async()=>{if(!(!c||!g||!v)){u("pending"),m(null);try{let F=await v.getEip1193Provider();if(!F)throw new Error("EIP-1193 provider unavailable");await s({wallet_address:g,condition_id:c,neg_risk:f,signMessage:async q=>await F.request({method:"personal_sign",params:[q,g]})}),u("success"),o?.();}catch(F){u("error"),m(F instanceof Error?F.message:i("predict.redeem.error"));}}},[c,g,f,v,s,o,i]),D=useAuthCallback(A),z=d==="idle"&&!!c&&!!g&&!!v&&r.redeemable;return jsxs("div",{className:"flex flex-col gap-4 p-4",children:[jsx("div",{className:"text-base font-medium text-white",children:e?.title??t.question}),jsxs("div",{className:"flex flex-col gap-2 rounded-xl bg-[rgba(39,39,42,0.4)] p-3",children:[jsx(Dn,{label:i("predict.positions.side"),value:w,valueClassName:S?"text-green-400":"text-red-400"}),t.result!=null&&jsx(Dn,{label:i("predict.redeem.result"),value:y,valueClassName:"text-green-400"}),jsx(Dn,{label:i("predict.positions.size"),value:r.size.toFixed(2)}),jsx(Dn,{label:i("predict.redeem.expectedPayout"),value:`$${N.toFixed(2)}`,valueClassName:N>0?"text-green-400":"text-zinc-400"})]}),!S&&N===0&&jsx("p",{className:"text-sm text-zinc-500",children:i("predict.redeem.noWinnings")}),d==="error"&&p&&jsx("p",{className:"text-sm text-red-400",children:p}),d==="success"&&jsx("p",{className:"text-sm text-green-400",children:i("predict.redeem.success")}),jsxs("div",{className:"flex flex-col gap-2",children:[d!=="success"&&jsx(Button,{color:"success",className:"w-full h-12 rounded-xl text-sm font-semibold",isDisabled:!z,isLoading:d==="pending",onPress:D,spinner:jsx(Spinner,{size:"sm",color:"current"}),children:i("predict.redeem.confirm")}),n&&d!=="success"&&jsx("button",{type:"button",onClick:n,className:"w-full h-12 rounded-xl text-sm font-medium text-zinc-400 hover:text-white hover:bg-[rgba(39,39,42,0.5)] transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:i("common.cancel")}),d==="success"&&n&&jsx(Button,{className:"w-full h-12 rounded-xl text-sm font-medium",onPress:n,children:i("common.ok")})]})]})}function Dn({label:e,value:t,valueClassName:r="text-white"}){return jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm text-zinc-400",children:e}),jsx("span",{className:`text-sm font-medium ${r}`,children:t})]})}function ks(e,t){let r=e.toLowerCase();if(r==="yes")return 0;if(r==="no"||!t)return 1;let o=t.findIndex(n=>n.label.toLowerCase()===r);return o>=0?o:1}var Ru="predict-redeem";function Ps({id:e=Ru}){return jsx(AsyncModal,{id:e,children:t=>jsx(_u,{...t})})}function _u({params:e,isOpen:t,onOpenChange:r}){let{t:o}=useTranslation(),{isMobile:n}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:n?"lg":"md",backdrop:"blur",hideCloseButton:true,classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{className:n?"":"p-2",children:[jsxs("div",{className:"px-4 pt-4 pb-1",children:[jsx("h3",{className:"text-lg font-semibold text-white",children:o("predict.redeem.title")}),jsx("p",{className:"text-sm text-zinc-400 mt-1",children:o("predict.redeem.description")})]}),jsx(Ss,{event:e.event,market:e.market,position:e.position,onSuccess:()=>{setTimeout(()=>r(false),1500);},onCancel:()=>r(false)})]})})}):null}function Ms({market:e,initialOutcome:t="yes",slippageBps:r=100,onSuccess:o}){let{t:n}=useTranslation(),i=useRef(o);i.current=o;let{status:s}=useAuth(),a=useWallets(),l=usePredictClient(),d=useContext(PolymarketContext),u=useQueryClient(),p=e.source,m=p==="polymarket",c=a.find(M=>M.chainNamespace===ChainNamespace.SOLANA&&M.isConnected),f=a.find(M=>M.chainNamespace===ChainNamespace.EVM&&M.isConnected&&"switchChain"in M),g=s==="authenticated",v=c?.address,x=f?.address,[b,w]=useState(t),[P,h]=useState("market"),[y,S]=useState(NaN),[N,A]=useState(NaN),[D,z]=useState(false),[F,q]=useState(false),[$,Q]=useState(null),[re,Z]=useState(null),[C,E]=useState(false),[U,G]=useState(false),[k,ce]=useState("1h"),[pe,ke]=useState(30),[Ke,ze]=useState("minutes"),We=useMemo(()=>{if(p!=="polymarket")return;let M=e.provider_meta?.["polymarket.clobTokenIds"];return M?(typeof M=="string"?JSON.parse(M):M)[b==="yes"?0:1]:void 0},[p,e.provider_meta,b]),{data:rt,isLoading:Ne}=useTickSize(We),xe=rt?.minimum_tick_size?String(rt.minimum_tick_size):"0.01",{data:nt,isLoading:Ct}=useFeeRate(We),ot=String(nt?.base_fee??0),{data:Ge}=useRebateConfig(),Se=Ge?.builder_enabled&&Ge.builder_code?Ge.builder_code:void 0,Ie=false,it=null,Qt=false,gt,R,X;try{let M=ar();Ie=M.kalshiKycVerified,it=M.kalshiKycUrl,Qt=M.polymarketSetupVerified,gt=M.polymarketSafeAddress,R=M.polymarketWalletKind,X=M.polymarketWalletAddress;}catch{}let yt=p==="kalshi"&&!Ie,ht=p==="polymarket"&&!Qt,vt=useCallback(async()=>{if(!f||!d)return null;let M=await f.getEip1193Provider();if(!M)return null;let Oe=R==="deposit"&&!!X,De=!Oe&&!!gt,Ue={address:f.address,signatureType:Oe?3:De?2:0,signTypedData:async(we,Je,Ze,Ee)=>{let qe=[];"name"in we&&qe.push({name:"name",type:"string"}),"version"in we&&qe.push({name:"version",type:"string"}),"chainId"in we&&qe.push({name:"chainId",type:"uint256"}),"verifyingContract"in we&&qe.push({name:"verifyingContract",type:"address"}),"salt"in we&&qe.push({name:"salt",type:"bytes32"});let kr={EIP712Domain:qe,...Je};return await M.request({method:"eth_signTypedData_v4",params:[f.address,JSON.stringify({domain:we,types:kr,primaryType:Ze,message:Ee})]})}};return d.credentials??await d.authenticate(Ue)},[gt,R,X,f,d]),{data:L}=useRealtimeOrderbook({slug:e.slug,source:p,outcome:b},{enabled:e.status==="open"}),ve=useMemo(()=>{let M=pickBestBid(L,b);if(M!=null&&M>0)return M;let Oe=b==="yes"?0:1,De=e.outcomes[Oe];return De?.best_bid??De?.price??.5},[L,e.outcomes,b]),Ve=p==="kalshi"?v??"":x??"",{data:Ir,isLoading:io}=usePositions({source:p,user:Ve},{enabled:!!Ve,refetchInterval:3e4}),so=useCallback(async()=>{let M=await vt();return M?await buildPolymarketL2Headers(M.address,{apiKey:M.apiKey,secret:M.secret,passphrase:M.passphrase,method:"GET",requestPath:"/data/orders",body:""}):{}},[vt]),{data:rr,isLoading:nr}=useAvailableShares({source:p,user:Ve,market:e.slug,side:b},p==="polymarket"?{getHeaders:so}:void 0,{enabled:!!Ve&&!!e.slug,refetchOnMount:"always"}),Ft=rr?.total_shares??0,br=rr?.active_order_shares??0,Mt=rr?.available_shares??0,Ye=useMemo(()=>p==="polymarket"?getPolymarketSharesPrecision(xe):rr?.precision??0,[p,xe,rr?.precision]),ao=nr||io,un=e.provider_meta?.["dflow.yesMint"]??"",Bt=e.provider_meta?.["dflow.noMint"]??"",Xt=SOLANA_TOKENS.stablecoins.USDC.address,Or=e.provider_meta?.["dflow.collateralMint"]||"",pn=b==="yes"?un:Bt,mn=useMemo(()=>Ir?Ir.positions.find(M=>M.side?.toLowerCase()===b&&M.market?.slug===e.slug)??null:null,[Ir,e.slug,b])?.market?.provider_meta,co=mn?.["dflow.outcomeMint"]||pn,or=mn?.["dflow.collateralMint"]||Or,Et=co,Ht=or||Xt,yr=useMemo(()=>isNaN(y)||y<=0?"0":String(Math.round(y*1e6)),[y]),uo=p==="kalshi"&&!!Et&&!!Ht&&!!v&&yr!=="0",{refetch:Dr}=useDFlowQuote({inputMint:Et,outputMint:Ht,amount:yr,userPublicKey:v??"",slippageBps:100},{enabled:uo}),ir=useMemo(()=>isNaN(y)||y<=0?0:y,[y]),st=useMemo(()=>walkOrderbook({orderbook:L,outcome:b,side:"sell",sharesNeeded:ir,slippageBps:r}),[L,b,ir,r]),Ar=useMemo(()=>st.status==="ok"&&st.worstPrice!=null&&st.worstPrice>0?st.worstPrice:ve,[st,ve]),po=useMemo(()=>{if(isNaN(y)||y<=0)return 0;let M=P==="limit"&&m&&!isNaN(N)?N:ve;return y*M},[y,P,m,N,ve]),_=useCallback(M=>{w(M),A(NaN),S(NaN),q(false);},[]);useEffect(()=>{_(t);},[t,_]);let je=useCallback(M=>{h(M);},[]);useEffect(()=>{P==="limit"&&A(Math.round(ve*1e4)/1e4);},[P,b]);let Qe=useCallback(M=>{if(q(false),isNaN(M)){S(NaN);return}S(Pe(Math.max(0,M),Ye));},[Ye]),zt=useCallback(()=>{q(true),S(Pe(Mt,Ye));},[Mt,Ye]),Fr=useCallback(M=>{if(isNaN(M)){A(NaN);return}A(Math.round(M*1e4)/1e4);},[]),kt=useCallback(()=>{S(NaN),A(NaN),h("market"),q(false),G(false),ce("1h"),ke(30),ze("minutes");},[]),St=useMemo(()=>{let M=[];return isNaN(y)||y<=0?M.push(n("predict.trade.minQuantity",{amount:Sn})):y<Sn&&M.push(n("predict.trade.minQuantity",{amount:Sn})),e.status!=="open"&&M.push(n("predict.trade.marketNotActive")),!isNaN(y)&&y>0&&!F&&y>Mt&&M.push(n("predict.trade.insufficientSharesDetail",{total:Pe(Ft,Ye).toFixed(Ye),active:Pe(br,Ye).toFixed(Ye),available:Pe(Mt,Ye).toFixed(Ye)})),P==="limit"&&m&&(isNaN(N)||N<.01||N>.99)&&M.push(n("predict.trade.limitPriceRange")),P==="limit"&&m&&U&&k==="custom"&&(isNaN(pe)||pe<=0)&&M.push(n("predict.trade.expiration.invalidDate")),p==="polymarket"&&P==="market"&&!isNaN(y)&&y>0&&(st.status==="insufficient_liquidity"?M.push(n("predict.trade.insufficientLiquidity",{available:Pe(st.totalAvailable,2)})):st.status==="exceeds_slippage"&&M.push(n("predict.trade.priceImpactTooHigh",{impact:(st.priceImpactBps/100).toFixed(2),slippage:(r/100).toFixed(2)}))),{isValid:M.length===0,errors:M}},[y,e.status,Mt,Ft,br,F,P,m,N,U,k,pe,Ye,p,st,r,n]),{mutateAsync:Xe}=useDFlowSubmit(),{data:Br}=useOrder({id:$??"",source:p},{enabled:!!$}),Hr=useCallback(async()=>{if(!re||!v||!c)return;let{cashAmount:M,collateral:Oe}=re;Z(null);try{let Ue=(await l.createDFlowQuote({inputMint:Oe,outputMint:Xt,amount:M,userPublicKey:v,slippageBps:100}))?.transaction;if(!Ue)return;let we=Uint8Array.from(atob(Ue),Ze=>Ze.charCodeAt(0)),Je=await c.signTransaction(we);await Xe({signedTransaction:btoa(String.fromCharCode(...Je)),orderContext:{user_public_key:v,input_mint:Oe,output_mint:Xt,amount:M,price:"1",side:"SELL",outcome:"",market_slug:"",slippage_bps:100}});}catch{}},[re,v,c,l,Xe,Xt]),Tt=useCallback(()=>{u.invalidateQueries({queryKey:["predict","positions"]}),u.invalidateQueries({queryKey:["predict","orders"]}),u.invalidateQueries({queryKey:["predict","available-shares"]});},[u]);useEffect(()=>{if(!Br||!$)return;let{status:M}=Br;M==="closed"?(Q(null),re?Hr().finally(()=>{z(false),toast.success(n("predict.trade.submitSuccess")),lr(),Tt(),kt(),i.current?.();}):(z(false),toast.success(n("predict.trade.submitSuccess")),lr(),Tt(),kt(),i.current?.())):(M==="failed"||M==="expired")&&(z(false),Q(null),Z(null),toast.error(n("predict.trade.submitError")));},[Br,$,re,Hr,Tt,kt,n]);let zr=useCallback(async()=>{if(!v||!c)return;if(!Et||!Ht){toast.error("Missing token mint addresses"),z(false);return}if(!Ie){E(true),z(false);return}let De=(await Dr()).data,Ue=De?.transaction;if(!Ue){toast.error(n("predict.trade.submitError")),z(false);return}if(or&&or!==Xt){let Ee=String(De?.outAmount??"");Ee&&Ee!=="0"&&Z({cashAmount:Ee,collateral:or});}let we=Uint8Array.from(atob(Ue),Ee=>Ee.charCodeAt(0)),Je=await c.signTransaction(we),Ze=await Xe({signedTransaction:btoa(String.fromCharCode(...Je)),orderContext:{user_public_key:v,input_mint:Et,output_mint:Ht,amount:yr,price:String(ve),side:"SELL",outcome:b==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});Q(Ze.signature);},[v,c,Dr,Xe,Et,Ht,yr,ve,b,e.slug,or,Xt,n,Ie]),fn=useCallback(async()=>{if(!f||!d)return;let M=f.chain,Oe=M!==Chain.POLYGON;Oe&&await f.switchChain(Chain.POLYGON);try{let De=await f.getEip1193Provider();if(!De){toast.error(n("predict.trade.submitError")),z(!1);return}let Ue=R==="deposit"&&!!X,we=!Ue&&!!gt,Je=Ue?X:gt,Ze={address:f.address,signatureType:Ue?3:we?2:0,signTypedData:async(Wt,hn,go,ho)=>{let Sr=[];"name"in Wt&&Sr.push({name:"name",type:"string"}),"version"in Wt&&Sr.push({name:"version",type:"string"}),"chainId"in Wt&&Sr.push({name:"chainId",type:"uint256"}),"verifyingContract"in Wt&&Sr.push({name:"verifyingContract",type:"address"}),"salt"in Wt&&Sr.push({name:"salt",type:"bytes32"});let Gl={EIP712Domain:Sr,...hn};return await De.request({method:"eth_signTypedData_v4",params:[f.address,JSON.stringify({domain:Wt,types:Gl,primaryType:go,message:ho})]})}},Ee=await vt();if(!Ee){toast.error(n("predict.trade.submitError")),z(!1);return}let qe=b==="yes"?0:1,kr="",gn=e.provider_meta?.["polymarket.clobTokenIds"];gn&&(kr=(typeof gn=="string"?JSON.parse(gn):gn)[qe]??"");let hi=e.provider_meta?.["polymarket.negRisk"]??!1,jl=P==="limit"&&!isNaN(N)?N:Ar,ql=Nn(jl,xe),mo={tokenId:kr,price:ql,size:y,side:"SELL",orderType:P==="limit"?U?"GTD":"GTC":"FOK",tickSize:xe,negRisk:hi,...Je&&{funderAddress:Je},...Se&&{builderCode:Se},...P==="limit"&&U&&{expiration:Pn(k,pe,Ke)}},fo;if(Ue)fo=await buildSignedV2OrderPayload({signer:Ze,depositWalletAddress:Je,input:mo,owner:Ee.apiKey});else {let Wt=buildCtfExchangeDomain(hi),hn=buildOrderMessage({...mo,signerAddress:Ze.address,signatureType:Ze.signatureType,feeRateBps:ot}),go=await Ze.signTypedData(Wt,CTF_ORDER_TYPES,"Order",hn),ho=buildSignedOrder(hn,go,mo.orderType);fo=buildClobPayload(ho,Ee.apiKey);}await l.executePolymarketOrder({payload:fo,l2_api_key:Ee.apiKey,l2_secret:Ee.secret,l2_passphrase:Ee.passphrase,signer_address:Ee.address,owner:Ee.apiKey}),Tt(),toast.success(n("predict.trade.submitSuccess")),lr(),kt(),z(!1),i.current?.();}finally{Oe&&M&&f.switchChain(M).catch(()=>{});}},[f,d,vt,b,e.provider_meta,P,N,Ar,y,l,Tt,U,k,pe,Ke,kt,n,xe,ot,e.slug,gt,R,X,Se]),Wr=useCallback(async()=>{if(!(!St.isValid||!g)){z(true),Q(null),E(false);try{p==="kalshi"?await zr():await fn();}catch(M){let Oe=M instanceof Error?M.message:"",De=p==="polymarket"&&Oe?Cn(Oe,n,"sell"):Oe||void 0;toast.error(De||n("predict.trade.submitError")),z(false);}}},[St.isValid,g,p,zr,fn,n]);return {outcome:b,orderType:P,quantity:y,limitPrice:N,shares:ir,estimatedReturn:po,pricePerShare:ve,isMarketDataLoading:p==="polymarket"&&(Ct||Ne),isSubmitting:D,authStatus:s,validation:St,supportsLimitOrder:m,kycRequired:C,needsKyc:yt,needsSetup:ht,kycUrl:it,totalShares:Ft,activeOrderShares:br,availableShares:Mt,isAvailableLoading:ao,isSellAll:F,precision:Ye,expirationEnabled:U,expirationPreset:k,customDuration:pe,customDurationUnit:Ke,setOutcome:_,setOrderType:je,setQuantity:Qe,setLimitPrice:Fr,setSellAll:zt,setExpirationEnabled:G,setExpirationPreset:ce,setCustomDuration:ke,setCustomDurationUnit:ze,submit:Wr}}var fp=["5m","1h","12h","24h","eod","custom"],gp={"5m":"predict.trade.expiration.5m","1h":"predict.trade.expiration.1h","12h":"predict.trade.expiration.12h","24h":"predict.trade.expiration.24h",eod:"predict.trade.expiration.eod",custom:"predict.trade.expiration.custom"},hp=["minutes","hours","days"],vp={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"},xp={maximumFractionDigits:0};function As({event:e,market:t,variant:r="bordered",outcome:o,orderType:n,quantity:i,limitPrice:s,estimatedReturn:a,isMarketDataLoading:l,isSubmitting:d,authStatus:u,isValid:p,validationErrors:m,supportsLimitOrder:c,kycRequired:f,needsKyc:g,needsSetup:v,onSetupRequired:x,kycUrl:b,totalShares:w,activeOrderShares:P,availableShares:h,isAvailableLoading:y,precision:S,expirationEnabled:N,expirationPreset:A,customDuration:D,customDurationUnit:z,onOutcomeChange:F,onOrderTypeChange:q,onQuantityChange:$,onLimitPriceChange:Q,onSellAll:re,onExpirationEnabledChange:Z,onExpirationPresetChange:C,onCustomDurationChange:E,onCustomDurationUnitChange:U,onSubmit:G}){let{t:k}=useTranslation(),[ce,pe]=useState(false),ke=useDisclosure(),[Ke,ze]=useState(""),We=useRef(false);useEffect(()=>{We.current||ze(isNaN(i)?"":String(i));},[i]);let[rt,Ne]=useState(""),xe=useRef(false);useEffect(()=>{xe.current||(isNaN(s)?Ne(""):Ne(String(parseFloat((s*100).toFixed(2)))));},[s]);let nt=useCallback(R=>{if(R!==""&&!/^\d*\.?\d{0,2}$/.test(R))return;if(Ne(R),R===""||R==="."){Q(NaN);return}let yt=parseFloat(R);isNaN(yt)||Q(yt/100);},[Q]),Ct=useCallback(R=>{let X=new RegExp(`^\\d*\\.?\\d{0,${S}}$`);if(R!==""&&!X.test(R))return;if(ze(R),pe(false),R===""||R==="."){$(NaN);return}let yt=parseFloat(R);isNaN(yt)||$(yt);},[$,S]);useEffect(()=>{f&&!ke.isOpen&&ke.onOpen();},[f]);let ot=useMemo(()=>{let R=o==="yes"?t.yesBid:t.noBid;return R!=null?parseFloat((Number(R)*100).toFixed(2)):null},[o,t]),Ge=!isNaN(i)&&i>0,Se=u==="authenticated",Ie=u==="authenticating"||u==="deauthenticating",it=Se&&(g||v),Qt=useMemo(()=>{if(Ie)return k("predict.trade.checkingLogin");if(!Se)return k("predict.trade.loginToTrade");if(g)return k("predict.trade.kycRequired");if(v)return k("predict.trade.setupRequired");if(y)return k("predict.trade.loadingBalance");if(l)return k("predict.trade.loadingMarketData");if(d)return k("predict.trade.submitting");if(f)return k("predict.trade.kycRequired");if(!Ge)return k("predict.trade.enterAmount");let R=k(o==="yes"?"predict.trade.yes":"predict.trade.no");return `${k("predict.trade.sell")} ${R}`},[Ie,Se,g,v,y,l,d,f,Ge,o,k]),gt=()=>{if(!Se){pe(false),G();return}if(g){ke.onOpen();return}if(v&&x){pe(false),x();return}if(f){ke.onOpen();return}if(!p){pe(true);return}pe(false),G();};return jsxs(Fragment,{children:[jsxs("div",{className:"flex w-full flex-col gap-y-4 p-4",style:r==="bordered"?{borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",transition:"border-color 0.2s"}:void 0,onMouseEnter:R=>{r==="bordered"&&(R.currentTarget.style.borderColor="rgba(63,63,70,0.8)");},onMouseLeave:R=>{r==="bordered"&&(R.currentTarget.style.borderColor="rgba(39,39,42,0.6)");},children:[e&&jsxs("div",{className:"flex items-center gap-x-3",children:[e.imageUrl&&jsx("img",{src:e.imageUrl,alt:e.title,className:"h-10 w-10 shrink-0 rounded-lg object-cover"}),jsxs("div",{className:"flex min-w-0 flex-col gap-y-0.5",children:[jsx("span",{className:"text-sm text-neutral-500 leading-tight line-clamp-1",children:e.title}),jsxs("span",{className:"text-base font-semibold leading-tight line-clamp-1",children:[jsxs("span",{className:"text-bearish",children:[k("predict.trade.sell")," ",k(o==="yes"?"predict.trade.yes":"predict.trade.no")]}),jsxs("span",{className:"text-foreground",children:[" \xB7 ",t.yesSubTitle]})]})]})]}),jsxs("div",{className:"flex items-center justify-between",children:[c?jsxs(Tabs,{variant:"underlined",selectedKey:n,onSelectionChange:R=>q(R),classNames:{tabList:"gap-x-4",tab:"px-0"},children:[jsx(Tab,{title:k("predict.trade.market")},"market"),jsx(Tab,{title:k("predict.trade.limit")},"limit")]}):jsx("span",{className:"text-sm font-medium text-foreground",children:k("predict.trade.market")}),n==="limit"&&c?jsx(StyledInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",inputMode:"decimal",value:rt,onChange:R=>nt(R.target.value),onFocus:()=>{xe.current=true;},onBlur:()=>{xe.current=false,isNaN(s)?Ne(""):Ne(String(parseFloat((s*100).toFixed(2))));},endContent:jsx("span",{className:"text-xl font-bold tabular-nums text-foreground",children:"\xA2"}),classNames:{base:"w-28",inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 rounded-lg px-2 h-9 min-h-9",input:"text-xl font-bold tabular-nums text-right"}}):ot!=null&&jsxs("span",{className:"text-xl font-bold tabular-nums",children:[ot," \xA2"]})]}),jsx("div",{className:"flex gap-x-2",children:["yes","no"].map(R=>{let X=R==="yes"?t.yesBid:t.noBid;return jsx("div",{className:"flex flex-1 flex-col gap-y-1",children:jsxs("button",{type:"button",onClick:()=>F(R),className:`w-full rounded-lg border py-2 text-sm font-medium transition-colors cursor-pointer ${o===R?"border-bearish bg-bearish/10 text-bearish":"border-default-400 text-foreground hover:border-default-500"}`,children:[jsx("span",{children:k(R==="yes"?"predict.trade.yes":"predict.trade.no")}),X!=null&&jsxs("span",{className:"ml-1 opacity-70",children:[parseFloat((Number(X)*100).toFixed(2)),"\xA2"]})]})},R)})}),jsxs("div",{className:"flex flex-col gap-y-1.5",children:[jsxs("div",{className:"flex items-center justify-between text-xs text-neutral-500",children:[jsx("span",{className:"text-sm font-medium text-foreground",children:k("predict.trade.sellContracts")}),jsxs("div",{className:"flex items-center gap-x-2",children:[[25,50].map(R=>{let X=Math.pow(10,S);return jsxs("button",{type:"button",onClick:()=>{$(Math.floor(h*R/100*X)/X);},className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-neutral-500 hover:text-foreground font-medium",children:[R,"%"]},R)}),jsx("button",{type:"button",onClick:re,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-neutral-500 hover:text-foreground font-medium",children:k("common.all")})]})]}),jsx(StyledInput,{"aria-label":"Sell quantity",fullWidth:true,placeholder:"0",radius:"lg",size:"lg",inputMode:"decimal",value:Ke,onChange:R=>Ct(R.target.value),onFocus:()=>{We.current=true;},onBlur:()=>{We.current=false,ze(isNaN(i)?"":String(i));},classNames:{inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 h-14 min-h-14",input:"text-lg"}}),ce&&m.length>0&&jsx("div",{className:"flex flex-col gap-y-0.5",children:m.map(R=>jsx("span",{className:"text-xs text-danger",children:R},R))})]}),jsxs("div",{className:"flex flex-col gap-y-1.5 border-l-2 border-default-300 pl-3 text-sm text-neutral-500",children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.totalShares")}),jsx("span",{className:"tabular-nums text-foreground",children:y?"\u2013":`${Pe(w,S).toFixed(S)}${k("predict.trade.sharesUnit")}`})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.activeOrders")}),jsx("span",{className:"tabular-nums text-warning",children:y?"\u2013":P>0?`-${Pe(P,S).toFixed(S)}${k("predict.trade.sharesUnit")}`:`0${k("predict.trade.sharesUnit")}`})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.availableShares")}),jsx("span",{className:"tabular-nums text-success font-medium",children:y?"\u2013":`${Pe(h,S).toFixed(S)}${k("predict.trade.sharesUnit")}`})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:k("predict.trade.estReturn")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${a.toFixed(2)}`:"\u2013"})]})]}),n==="limit"&&c&&jsxs("div",{className:"flex flex-col gap-y-2",children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium text-primary",children:k("predict.trade.setExpiration")}),jsx(StyledSwitch,{size:"sm",color:"primary",isSelected:N,onValueChange:Z,"aria-label":k("predict.trade.setExpiration")})]}),N&&jsxs(Fragment,{children:[jsx(Select,{"aria-label":k("predict.trade.setExpiration"),selectedKeys:[A],onSelectionChange:R=>{let X=Array.from(R)[0];X&&C(X);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:fp.map(R=>jsx(SelectItem,{children:k(gp[R])},R))}),A==="custom"&&jsxs("div",{className:"flex gap-x-2",children:[jsx(StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(D)?void 0:D,onValueChange:E,minValue:1,step:1,formatOptions:xp,classNames:{base:"flex-1",inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 min-h-10",input:"text-sm"}}),jsx(Select,{"aria-label":"Duration unit",selectedKeys:[z],onSelectionChange:R=>{let X=Array.from(R)[0];X&&U(X);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:hp.map(R=>jsx(SelectItem,{children:k(vp[R])},R))})]})]})]}),jsx(Button,{color:"secondary",fullWidth:true,radius:"lg",size:"lg",isDisabled:Ie||Se&&!it&&(y||l||!Ge||d),isLoading:Ie||Se&&!it&&(d||y||l),spinner:jsx(Spinner,{size:"sm",color:"current"}),onPress:gt,children:Qt})]}),jsx(Mn,{isOpen:ke.isOpen,onClose:ke.onClose,kycUrl:b})]})}function Fn({event:e,market:t,variant:r,initialOutcome:o,chain:n,slippageBps:i,onOutcomeChange:s,onSetupRequired:a,onSuccess:l}){let{outcome:d,orderType:u,quantity:p,limitPrice:m,estimatedReturn:c,pricePerShare:f,isMarketDataLoading:g,isSubmitting:v,authStatus:x,validation:b,supportsLimitOrder:w,kycRequired:P,needsKyc:h,needsSetup:y,kycUrl:S,totalShares:N,activeOrderShares:A,availableShares:D,isAvailableLoading:z,precision:F,expirationEnabled:q,expirationPreset:$,customDuration:Q,customDurationUnit:re,setOutcome:Z,setOrderType:C,setQuantity:E,setLimitPrice:U,setSellAll:G,setExpirationEnabled:k,setExpirationPreset:ce,setCustomDuration:pe,setCustomDurationUnit:ke,submit:Ke}=Ms({market:t,initialOutcome:o,slippageBps:i,onSuccess:l}),ze=useAuthCallback(Ke),We=useCallback(xe=>{Z(xe),s?.(xe);},[Z,s]),rt=useMemo(()=>e?xn(e):void 0,[e]),Ne=useMemo(()=>bn(t,{yesBid:d==="yes"?f:void 0,noBid:d==="no"?f:void 0}),[t,d,f]);return jsx(As,{event:rt,market:Ne,variant:r,outcome:d,orderType:u,quantity:p,limitPrice:m,estimatedReturn:c,isMarketDataLoading:g,isSubmitting:v,authStatus:x,isValid:b.isValid,validationErrors:b.errors,supportsLimitOrder:w,kycRequired:P,needsKyc:h,needsSetup:y,onSetupRequired:a,kycUrl:S,totalShares:N,activeOrderShares:A,availableShares:D,isAvailableLoading:z,precision:F,expirationEnabled:q,expirationPreset:$,customDuration:Q,customDurationUnit:re,onOutcomeChange:We,onOrderTypeChange:C,onQuantityChange:E,onLimitPriceChange:U,onSellAll:G,onExpirationEnabledChange:k,onExpirationPresetChange:ce,onCustomDurationChange:pe,onCustomDurationUnitChange:ke,onSubmit:ze})}var Io="predict-sell";function Bs({id:e=Io}){return jsx(AsyncModal,{id:e,children:t=>jsx(Mp,{...t})})}function Mp({params:e,isOpen:t,onOpenChange:r}){let{t:o}=useTranslation(),{isMobile:n}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:n?"lg":"md",backdrop:"blur",hideCloseButton:true,classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{className:n?"":"p-2",children:[jsx(Fn,{event:e.event,market:e.market,initialOutcome:e.initialOutcome,chain:e.chain,slippageBps:e.slippageBps,onSetupRequired:e.onSetupRequired,onSuccess:()=>r(false),variant:"flat"}),jsx("div",{className:"px-4 pb-4",children:jsx("button",{type:"button",onClick:()=>r(false),className:"w-full h-12 rounded-xl text-sm font-medium text-zinc-400 hover:text-white hover:bg-[rgba(39,39,42,0.5)] transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:o("common.cancel")})})]})})}):null}var Ao=40,zn=36,Xr=480,Fo=Xr-zn;function Ws({event:e,walletAddress:t,onCancelOrder:r}){let{t:o}=useTranslation(),[n,i]=useState("positions"),s=useMemo(()=>e.markets?.map(p=>p.slug)??[],[e.markets]),{data:a}=usePositions({source:e.source,user:t??""}),l=useMemo(()=>!a?.positions||!t?0:s.length===0?a.positions.length:a.positions.filter(p=>p.market&&s.includes(p.market.slug)).length,[a?.positions,s,t]),u=[{key:"positions",label:l>0?`${o("predict.positions.title")} (${l})`:o("predict.positions.title")},{key:"orders",label:o("predict.openOrders.title")},{key:"trades",label:o("predict.tradeHistory.title")}];return jsxs("div",{className:"flex flex-col gap-y-2 mt-6 px-1 lg:px-4",children:[jsx("div",{className:"flex items-center gap-x-1 border-b border-border",children:u.map(p=>jsx("button",{type:"button",onClick:()=>i(p.key),className:cn$1("px-3 py-2 text-sm font-medium transition-colors cursor-pointer",n===p.key?"text-foreground border-b-2 border-primary":"text-neutral hover:text-foreground"),children:p.label},p.key))}),t?jsxs("div",{style:{height:Xr},children:[n==="positions"&&jsx(Op,{source:e.source,walletAddress:t,marketSlugs:s}),n==="orders"&&jsx(Ap,{source:e.source,walletAddress:t,marketSlugs:s,onCancelOrder:r}),n==="trades"&&jsx(Hp,{source:e.source,walletAddress:t})]}):jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:Xr},children:o("predict.trade.connectWallet")})]})}function Op({source:e,walletAddress:t,marketSlugs:r}){let{t:o}=useTranslation(),{data:n,isLoading:i}=usePositions({source:e,user:t}),s=useMemo(()=>n?.positions?r.length===0?n.positions:n.positions.filter(a=>a.market&&r.includes(a.market.slug)):[],[n?.positions,r]);return i?jsx(Ho,{}):s.length===0?jsx(Bo,{message:o("predict.positions.empty")}):jsxs("div",{className:"flex flex-col h-full",children:[jsxs("div",{className:"flex items-center text-neutral text-xs lg:text-sm font-normal shrink-0",style:{height:zn},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2 whitespace-nowrap",children:o("predict.positions.event")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.totalSize")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.value")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.avgPrice")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.markPrice")}),jsx("div",{className:"flex-[1.5] pr-2 text-right whitespace-nowrap",children:o("predict.positions.pnl")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.payoutIfRight")}),jsx("div",{className:"flex-[1.5] pr-2 text-right whitespace-nowrap",children:o("predict.positions.estSettlement")}),jsx("div",{className:"w-16 shrink-0"})]}),jsx(List,{style:{height:Fo},rowComponent:Dp,rowCount:s.length,rowHeight:Ao,rowProps:{positions:s,closeLabel:o("predict.positions.close")}})]})}function Dp({index:e,style:t,positions:r,closeLabel:o}){let n=r[e];if(!n)return null;let i=n.pnl??0,s=n.pnl_percent??0,a=n.avg_price??0,l=n.current_price??0,d=i>0?"text-success":i<0?"text-danger":"text-foreground",u=i>0?"+":"",p=n.market?.outcomes?.[0]?.label??n.market?.question??"\u2014",m=n.side,c=n.size,f=n.size*l,g=n.market?.end_at?Up(n.market.end_at):"\u2014";return jsxs("div",{style:t,className:"flex items-center border-b border-border/50 hover:bg-content2/40 transition-colors text-xs lg:text-sm",children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:jsxs("div",{className:"flex flex-col gap-y-0.5",children:[jsx("span",{className:"text-foreground truncate font-medium",children:p}),jsx("span",{className:cn$1("text-[10px] font-medium",m.toLowerCase()==="yes"?"text-primary":"text-secondary"),children:m})]})}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:n.size}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:["$",f.toFixed(2)]}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:Bn(a)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:Bn(l)}),jsxs("div",{className:cn$1("flex-[1.5] pr-2 text-right font-mono whitespace-nowrap",d),children:[u,"$",Math.abs(i).toFixed(2),jsxs("span",{className:"text-[10px] ml-0.5 opacity-70",children:["(",u,s.toFixed(1),"%)"]})]}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:["$",c.toFixed(2)]}),jsx("div",{className:"flex-[1.5] pr-2 text-right text-neutral whitespace-nowrap",children:g}),jsx("div",{className:"w-16 shrink-0 text-right",children:jsx("button",{type:"button",className:"text-xs text-neutral hover:text-foreground cursor-pointer transition-colors rounded px-2 py-0.5 border border-border hover:border-foreground/40",children:o})})]})}function Ap({source:e,walletAddress:t,marketSlugs:r,onCancelOrder:o}){let{t:n}=useTranslation(),{data:i,isLoading:s,fetchNextPage:a,hasNextPage:l}=useInfiniteOrders({source:e,wallet_address:t}),d=useCancelOrder(),u=useMemo(()=>{let x=i?.pages?.flatMap(P=>P.items)??[],b=new Set(["live","open","submitted","pending"]),w=x.filter(P=>b.has(P.status));return r.length>0&&(w=w.filter(P=>P.market_id&&r.includes(P.market_id))),w},[i?.pages,r]),p=useCallback(x=>{o?o(x.id):d.mutate({source:x.source,id:x.id});},[o,d]),m=u.length,c=m+(l?1:0),f=useCallback(x=>x<m,[m]),g=useCallback(async()=>{await a();},[a]),v=useInfiniteLoader({isRowLoaded:f,loadMoreRows:g,rowCount:c,threshold:5});return s?jsx(Ho,{}):u.length===0&&!l?jsx(Bo,{message:n("predict.openOrders.empty")}):jsxs("div",{className:"flex flex-col h-full",children:[jsxs("div",{className:"flex items-center text-neutral text-xs lg:text-sm font-normal shrink-0",style:{height:zn},children:[jsx("div",{className:"w-16 shrink-0 pr-2",children:n("predict.openOrders.side")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.openOrders.outcome")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.openOrders.type")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.openOrders.price")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.openOrders.filled")}),jsx("div",{className:"w-20 shrink-0 pr-2",children:n("predict.openOrders.status")}),jsx("div",{className:"w-16 shrink-0"})]}),jsx(List,{style:{height:Fo},onRowsRendered:v,rowComponent:Fp,rowCount:c,rowHeight:Ao,rowProps:{orders:u,itemCount:m,onCancel:p,isCancelling:d.isPending,cancelLabel:n("predict.openOrders.cancel")}})]})}function Fp({index:e,style:t,orders:r,itemCount:o,onCancel:n,isCancelling:i,cancelLabel:s}){if(e>=o)return jsx("div",{style:t,className:"flex justify-center items-center",children:jsx(Spinner,{size:"sm"})});let a=r[e];if(!a)return null;let l=a.side==="BUY";return jsxs("div",{style:t,className:"flex items-center border-b border-border/50 text-xs lg:text-sm",children:[jsx("div",{className:"w-16 shrink-0 pr-2",children:jsx("span",{className:cn$1("inline-block rounded px-1.5 py-0.5 text-[10px] font-medium",l?"bg-primary/10 text-primary":"bg-danger/10 text-danger"),children:a.side})}),jsx("div",{className:"flex-1 pr-2 text-foreground capitalize",children:a.outcome??"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-neutral capitalize",children:a.order_type??"limit"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:a.price?Bn(parseFloat(a.price)):"\u2014"}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:[a.size_matched??"0","/",a.original_size??"\u2014"]}),jsx("div",{className:"w-20 shrink-0 pr-2",children:jsx(Bp,{status:a.status})}),jsx("div",{className:"w-16 shrink-0 text-right",children:jsx("button",{type:"button",onClick:()=>n(a),disabled:i,className:"text-[10px] text-danger hover:text-danger/80 cursor-pointer disabled:opacity-50 transition-colors",children:i?jsx(Spinner,{size:"sm"}):s})})]})}function Bp({status:e}){return jsx("span",{className:cn$1("inline-block rounded px-1.5 py-0.5 text-[10px] font-medium capitalize",{live:"bg-success/10 text-success",open:"bg-success/10 text-success",submitted:"bg-warning/10 text-warning",pending:"bg-warning/10 text-warning",matched:"bg-primary/10 text-primary",cancelled:"bg-neutral/10 text-neutral",failed:"bg-danger/10 text-danger",expired:"bg-neutral/10 text-neutral"}[e]??"bg-neutral/10 text-neutral"),children:e})}function Hp({source:e,walletAddress:t}){let{t:r}=useTranslation(),{data:o,isLoading:n,fetchNextPage:i,hasNextPage:s}=useInfiniteTrades({source:e,wallet:t,limit:50}),a=useMemo(()=>o?.pages?.flatMap(c=>c.items)??[],[o?.pages]),l=a.length,d=l+(s?1:0),u=useCallback(c=>c<l,[l]),p=useCallback(async()=>{await i();},[i]),m=useInfiniteLoader({isRowLoaded:u,loadMoreRows:p,rowCount:d,threshold:5});return n?jsx(Ho,{}):a.length===0&&!s?jsx(Bo,{message:r("predict.tradeHistory.empty")}):jsxs("div",{className:"flex flex-col h-full",children:[jsxs("div",{className:"flex items-center text-neutral text-xs lg:text-sm font-normal shrink-0",style:{height:zn},children:[jsx("div",{className:"w-16 shrink-0 pr-2",children:r("predict.tradeHistory.side")}),jsx("div",{className:"flex-1 pr-2",children:r("predict.tradeHistory.outcome")}),jsx("div",{className:"flex-1 pr-2 text-right",children:r("predict.tradeHistory.price")}),jsx("div",{className:"flex-1 pr-2 text-right",children:r("predict.tradeHistory.qty")}),jsx("div",{className:"flex-1 pr-2 text-right",children:r("predict.tradeHistory.total")}),jsx("div",{className:"flex-[1.5] pr-2 text-right",children:r("predict.tradeHistory.time")})]}),jsx(List,{style:{height:Fo},onRowsRendered:m,rowComponent:zp,rowCount:d,rowHeight:Ao,rowProps:{trades:a,itemCount:l}})]})}function zp({index:e,style:t,trades:r,itemCount:o}){if(e>=o)return jsx("div",{style:t,className:"flex justify-center items-center",children:jsx(Spinner,{size:"sm"})});let n=r[e];if(!n)return null;let i=n.side?.toUpperCase()==="BUY",s=Wp(n.timestamp),a=n.price??0,l=n.usd_size??0;return jsxs("div",{style:t,className:"flex items-center border-b border-border/50 text-xs lg:text-sm",children:[jsx("div",{className:"w-16 shrink-0 pr-2",children:jsx("span",{className:cn$1("inline-block rounded px-1.5 py-0.5 text-[10px] font-medium",i?"bg-primary/10 text-primary":"bg-danger/10 text-danger"),children:n.side})}),jsx("div",{className:"flex-1 pr-2 text-foreground capitalize",children:n.outcome??"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:Bn(a)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:n.size}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:["$",l.toFixed(2)]}),jsx("div",{className:"flex-[1.5] pr-2 text-right text-neutral whitespace-nowrap",children:s})]})}function Bo({message:e}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:Xr},children:e})}function Ho(){return jsx("div",{className:"flex flex-col gap-y-2 py-3 animate-pulse",style:{height:Xr},children:Array.from({length:6}).map((e,t)=>jsx(Skeleton,{className:"h-8 w-full rounded-md"},t))})}function Bn(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(1)}\xA2`}function Wp(e){let t=new Date(e*1e3),r=(t.getMonth()+1).toString().padStart(2,"0"),o=t.getDate().toString().padStart(2,"0"),n=t.getHours().toString().padStart(2,"0"),i=t.getMinutes().toString().padStart(2,"0");return `${r}/${o} ${n}:${i}`}function Up(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}catch{return "\u2014"}}var Us=`
75
75
  @keyframes detailShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
76
- `,$s={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:"detailShimmer 1.8s ease-in-out infinite",borderRadius:6};function fe(e){return {...$s,animationDelay:`${e}ms`}}function Jr({marketCount:e=4,showBack:t}){return jsxs(Fragment,{children:[jsx("style",{children:Us}),jsxs("div",{style:{display:"flex",flexDirection:"column",width:"100%",gap:20},children:[t&&jsx("div",{style:{height:20}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[jsx("div",{style:{...$s,width:64,height:64,borderRadius:10,flexShrink:0}}),jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:8},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[jsx("div",{style:{...fe(0),height:14,width:48}}),jsx("div",{style:{...fe(30),height:14,width:40}}),jsx("div",{style:{...fe(60),height:14,width:40}})]}),jsx("div",{style:{...fe(80),height:20,width:"80%",maxWidth:384,borderRadius:4}})]})]}),jsx("div",{style:{...fe(100),height:16,width:192}}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:16},children:[jsx("div",{style:{...fe(120),height:16,width:96}}),jsx("div",{style:{...fe(140),height:16,width:80}})]}),jsx("div",{style:{...fe(160),height:300,width:"100%",borderRadius:12}}),jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[jsx("div",{style:{...fe(180),height:16,width:80}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[jsx("div",{style:{...fe(200),height:28,width:200,borderRadius:8}}),jsx("div",{style:{...fe(220),height:28,width:112,borderRadius:8}})]})]})]}),jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"8px 0"},children:jsx("div",{style:{...fe(240),height:14,width:56}})}),Array.from({length:e}).map((r,o)=>jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 0",borderBottom:"1px solid rgba(39,39,42,0.5)"},children:[jsx("div",{style:{...fe(260+o*40),width:28,height:28,borderRadius:8,flexShrink:0}}),jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:4},children:[jsx("div",{style:{...fe(280+o*40),height:14,width:o%2===0?192:160}}),jsx("div",{style:{...fe(300+o*40),height:10,width:64}})]}),jsx("div",{style:{...fe(320+o*40),height:16,width:40}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[jsx("div",{style:{...fe(340+o*40),height:32,width:80,borderRadius:8}}),jsx("div",{style:{...fe(360+o*40),height:32,width:80,borderRadius:8}})]})]},o))]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:{...fe(400),height:16,width:64}}),jsx("div",{style:{...fe(420),height:14,width:"100%"}}),jsx("div",{style:{...fe(440),height:14,width:"80%"}}),jsx("div",{style:{...fe(460),height:14,width:"60%"}})]})]})]})}function Ks(){return jsxs(Fragment,{children:[jsx("style",{children:Us}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12,borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",padding:16},children:[jsx("div",{style:{...fe(0),height:40,width:"100%",borderRadius:8}}),jsx("div",{style:{...fe(60),height:96,width:"100%",borderRadius:8}}),jsx("div",{style:{...fe(120),height:40,width:"100%",borderRadius:8}})]})]})}var Ys="var(--color-bullish)",Qs="var(--color-bearish)";function Zr(e){let t=Math.abs(e);return t>=1e9?`${parseFloat((e/1e9).toFixed(2))}B`:t>=1e6?`${parseFloat((e/1e6).toFixed(2))}M`:t>=1e3?`${parseFloat((e/1e3).toFixed(2))}K`:e.toLocaleString()}function Vp(e,t){return e<=0||t<=0?0:Math.pow(e/t,.3)}function jp(e,t){let r=new Float64Array(101),o=new Float64Array(101);for(let c of e){let f=Math.round(c.price*100);f>=0&&f<=100&&(r[f]+=c.quantity);}for(let c of t){let f=Math.round(c.price*100);f>=0&&f<=100&&(o[f]+=c.quantity);}let n=0,i=0,s=new Float64Array(101),a=new Float64Array(101);for(let c=100;c>=0;c--)n+=r[c],i+=r[c]*c/100,s[c]=n,a[c]=i;let l=0,d=0,u=new Float64Array(101),p=new Float64Array(101);for(let c=0;c<=100;c++)l+=o[c],d+=o[c]*c/100,u[c]=l,p[c]=d;let m=Math.max(s[0]??0,u[100]??0);return Array.from({length:101},(c,f)=>{let g=s[f]>0,v=u[f]>0,x=s[f]||u[f],b=r[f]>0||o[f]>0;return {priceCents:f,displayHeight:Vp(x,m),opacity:x>0?b?1:.5:0,isBid:g,isAsk:v,bidCumTotal:s[f],askCumTotal:u[f],bidCumCost:a[f],askCumCost:p[f]}})}function qp({info:e}){let{t}=useTranslation(),r=e.isBid?Ys:Qs,o=e.leftPct>65?void 0:`${e.leftPct}%`,n=e.leftPct>65?`${100-e.leftPct}%`:void 0;return jsxs("div",{style:{position:"absolute",top:8,left:o,right:n,zIndex:10,background:"rgba(17,24,39,0.95)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:8,padding:"8px 12px",fontSize:12,color:"#f9fafb",minWidth:140,pointerEvents:"none"},children:[jsx("div",{style:{marginBottom:4,fontWeight:600},children:t("predict.orderBook.depthToPrice",{price:e.priceCents})}),jsx("div",{style:{color:r},children:t("predict.orderBook.depthContracts",{amount:Zr(Math.round(e.cumTotal))})}),jsxs("div",{style:{color:r},children:["$",Zr(Math.round(e.cumCost))]})]})}var Gp=memo(function({slot:t,onEnter:r,onLeave:o}){let n=useRef(null),i=t.isBid||t.isAsk,s=t.isBid?Ys:t.isAsk?Qs:void 0;return jsx("div",{style:{position:"absolute",left:`${t.priceCents}%`,width:"1%",height:"100%",boxSizing:"border-box",borderRight:t.priceCents<100?"1px solid transparent":"none",cursor:i?"crosshair":"default"},onMouseEnter:()=>r(t,n.current),onMouseLeave:o,children:i&&jsx("div",{ref:n,style:{position:"absolute",bottom:0,left:0,width:"100%",height:`${t.displayHeight*100}%`,backgroundColor:s,opacity:t.opacity}})})}),Yp=[0,10,20,30,40,50,60,70,80,90,100];function Qp(){return jsx("div",{className:"relative flex h-6 items-center border-b border-t border-border px-1",style:{background:"rgba(0,0,0,0.15)"},children:Yp.map(e=>jsx("span",{className:"absolute text-neutral font-normal",style:{fontSize:10,left:`${e}%`,transform:e===0?"translateX(0px)":e===100?"translateX(-100%)":"translateX(-50%)"},children:e},e))})}function Xs({bids:e,asks:t}){let{t:r}=useTranslation(),o=useMemo(()=>jp(e,t),[e,t]),n=useMemo(()=>{let p=e.length>0?Math.max(...e.map(c=>c.price)):0,m=t.length>0?Math.min(...t.map(c=>c.price)):1;return Math.round((p+m)/2*100)},[e,t]),i=useMemo(()=>o.some(p=>p.isBid||p.isAsk),[o]),[s,a]=useState(null),l=useRef(null),d=useCallback((p,m)=>{l.current&&(l.current.style.filter=""),m?(m.style.filter="brightness(1.5)",l.current=m):l.current=null,p.isBid||p.isAsk?a({priceCents:p.priceCents,isBid:p.isBid,cumTotal:p.isBid?p.bidCumTotal:p.askCumTotal,cumCost:p.isBid?p.bidCumCost:p.askCumCost,leftPct:p.priceCents}):a(null);},[]),u=useCallback(()=>{l.current&&(l.current.style.filter="",l.current=null),a(null);},[]);return i?jsxs("div",{style:{display:"flex",flexDirection:"column",width:"100%",height:"100%",userSelect:"none",overflow:"hidden"},children:[jsxs("div",{style:{flex:1,position:"relative",width:"100%",overflow:"hidden"},children:[n>0&&jsx("div",{style:{position:"absolute",left:`${n}%`,top:0,bottom:0,width:1,backgroundImage:"repeating-linear-gradient(to bottom, #6b7280 0, #6b7280 4px, transparent 4px, transparent 8px)",zIndex:1,pointerEvents:"none"}}),s&&jsx(qp,{info:s}),o.map(p=>jsx(Gp,{slot:p,onEnter:d,onLeave:u},p.priceCents))]}),jsx(Qp,{})]}):jsx("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#6b7280",fontSize:13},children:r("predict.orderBook.noData")})}function Uo(e){let t=e*100,r=Math.round(t*10)/10;return Number.isInteger(r)?`${r}\xA2`:`${r.toFixed(1)}\xA2`}function Zs(){let{t:e}=useTranslation();return jsx("div",{className:"absolute inset-0 flex items-center justify-center text-neutral text-xs",children:jsx("span",{children:e("predict.orderBook.loading")})})}function na({market:e,outcome:t="yes",onTradeAction:r,initialViewMode:o="depth",className:n}){let{t:i}=useTranslation(),[s,a]=useState(o),l=e.source,{data:d,isLoading:u,isFetching:p,refetch:m}=useRealtimeOrderbook({slug:e.slug,source:l,outcome:t}),c=useMemo(()=>(d?.bids??[]).map(b=>({price:b.price,quantity:b.size})),[d?.bids]),f=useMemo(()=>(d?.asks??[]).map(b=>({price:b.price,quantity:b.size})),[d?.asks]),g=useMemo(()=>c.length>0?Math.max(...c.map(b=>b.price)):null,[c]),v=useMemo(()=>f.length>0?Math.min(...f.map(b=>b.price)):null,[f]),x=useMemo(()=>{if(g==null||v==null)return null;let b=(v-g)*100;return Math.round(b*10)/10},[g,v]);return jsxs("div",{className:cn$1("flex flex-col",n??"h-[262px]"),children:[jsxs("div",{className:"flex h-9 items-center border-b border-border px-1 text-xs",children:[jsx("span",{className:"flex-1 text-left text-neutral",children:x!=null?`${i("predict.orderBook.spread")}: ${Number.isInteger(x)?`${x}\xA2`:`${x.toFixed(1)}\xA2`}`:null}),jsxs("span",{className:"flex flex-1 items-center justify-center gap-x-1 whitespace-nowrap",children:[g!=null&&jsxs("span",{style:{color:"var(--color-bullish)"},children:[i("predict.trade.bestBid"),": ",Uo(g)]}),g!=null&&v!=null&&jsx("span",{className:"text-neutral",children:"|"}),v!=null&&jsxs("span",{style:{color:"var(--color-bearish)"},children:[i("predict.trade.bestAsk"),": ",Uo(v)]})]}),jsxs("div",{className:"flex flex-1 items-center justify-end gap-x-2",children:[jsx("button",{type:"button",title:s==="depth"?"Orderbook":"Depth chart",onClick:()=>a(b=>b==="depth"?"table":"depth"),className:"flex items-center text-neutral transition-colors cursor-pointer hover:text-foreground",children:s==="depth"?jsx(OrderbookTableIcon,{className:"h-4 w-4"}):jsx(OrderbookDepthIcon,{className:"h-4 w-4"})}),jsx("button",{type:"button",title:"Refresh",onClick:()=>m(),disabled:p,className:cn$1("flex items-center text-neutral transition-colors cursor-pointer hover:text-foreground disabled:cursor-default disabled:opacity-50",p&&"animate-spin"),children:jsx(RefreshIcon,{className:"h-4 w-4"})})]})]}),jsxs("div",{className:"relative flex-1 min-h-0 overflow-hidden",children:[s==="depth"&&jsx(Fragment,{children:u?jsx(Zs,{}):jsx(Xs,{bids:c,asks:f})}),s==="table"&&jsx(Fragment,{children:u?jsx(Zs,{}):jsx(rm,{bids:c,asks:f,bestBid:g??void 0,bestAsk:v??void 0,spread:x??void 0})})]})]})}var Wo=4,tm=8;function rm({bids:e,asks:t,spread:r}){let{t:o}=useTranslation(),[n,i]=useState(false),s=n?tm:Wo,a=t.length>Wo||e.length>Wo,l=useMemo(()=>[...t].sort((m,c)=>m.price-c.price).slice(0,s).reverse(),[t,s]),d=useMemo(()=>[...e].sort((m,c)=>c.price-m.price).slice(0,s),[e,s]),u=useMemo(()=>{let m=[...l,...d].map(c=>c.quantity);return Math.max(...m,1)},[l,d]);return l.length===0&&d.length===0?jsx("div",{className:"flex items-center justify-center h-full text-xs text-neutral",children:o("predict.orderBook.empty")}):jsxs("div",{className:"flex flex-col h-full overflow-y-auto text-xs font-mono select-none",children:[l.map(m=>jsx(ea,{price:m.price,quantity:m.quantity,side:"ask",maxQty:u},`ask-${m.price}`)),jsxs("div",{className:"relative flex items-center justify-center gap-x-2 py-1 border-y border-border text-neutral text-[10px]",children:[r!=null&&jsxs("span",{children:[o("predict.orderBook.spread"),":"," ",Number.isInteger(r)?`${r}\xA2`:`${r.toFixed(1)}\xA2`]}),a&&jsx("button",{type:"button",onClick:()=>i(m=>!m),className:"absolute right-2 text-[10px] text-neutral transition-colors cursor-pointer hover:text-foreground",children:o(n?"predict.orderBook.collapse":"predict.orderBook.expand")})]}),d.map(m=>jsx(ea,{price:m.price,quantity:m.quantity,side:"bid",maxQty:u},`bid-${m.price}`)),jsxs("div",{className:"grid grid-cols-3 px-2 pt-2 pb-0.5 text-[10px] text-neutral border-t border-border",children:[jsx("span",{children:o("predict.orderBook.price")}),jsx("span",{className:"text-center",children:o("predict.orderBook.contracts")}),jsx("span",{className:"text-right",children:o("predict.orderBook.total")})]})]})}function ea({price:e,quantity:t,side:r,maxQty:o}){let n=r==="ask",i=Math.min(t/o*100,100),s=n?"bg-bearish/10":"bg-bullish/10",a=n?"text-bearish":"text-bullish",l=Zr(Math.round(t)),d=Math.round(t*e),u=`$${Zr(d)}`;return jsxs("div",{className:"relative grid grid-cols-3 px-2 py-1 hover:bg-content2 transition-colors cursor-default",children:[jsx("div",{className:`absolute inset-y-0 left-0 ${s} transition-[width] duration-200`,style:{width:`${i}%`}}),jsx("span",{className:`relative z-10 ${a}`,children:Uo(e)}),jsx("span",{className:"relative z-10 text-foreground text-center",children:l}),jsx("span",{className:"relative z-10 text-foreground text-right",children:u})]})}var Vo=class extends Component{state={error:null};static getDerivedStateFromError(t){return {error:t}}componentDidCatch(t,r){}render(){return this.state.error?jsxs("div",{style:{height:this.props.fallbackHeight??320,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:8,color:"#6b7280",fontSize:13},children:[jsx("span",{children:"Chart unavailable"}),jsx("span",{style:{fontSize:11,opacity:.7},children:this.state.error.message})]}):this.props.children}},en=4,oa=["#22d3ee","#a3e635","#f97316","#f472b6","#a78bfa"];function fm(e,t){let r=new Date(e);return t===ae.ONE_DAY?r.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:false}):r.toLocaleDateString("en-US",{month:"short",day:"numeric"})}function gm(e,t){let r=new Date(e);return t===ae.ONE_DAY?r.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:false}):t===ae.ONE_WEEK?r.toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:false}):r.toLocaleDateString("en-US",{month:"short",day:"numeric"})}function sa(e){return `${(e*100).toFixed(2)}%`}var hm=[{range:ae.ONE_DAY,label:"1D"},{range:ae.ONE_WEEK,label:"1W"},{range:ae.ONE_MONTH,label:"1M"},{range:ae.ALL,label:"ALL"}];function vm({value:e,onChange:t}){return jsx("div",{style:{display:"flex",alignItems:"center",gap:2},children:hm.map(({range:r,label:o})=>{let n=r===e;return jsx("button",{onClick:()=>t(r),style:{padding:"2px 8px",border:"none",background:"transparent",color:n?"#f9fafb":"#6b7280",fontWeight:n?700:400,fontSize:12,cursor:"pointer",borderRadius:4,letterSpacing:"0.02em",transition:"color 0.15s",userSelect:"none"},children:o},r)})})}function xm(){let e=useRef(null),t=useRef(null),r=useCallback(n=>{let i=e.current,s=t.current;if(!i||!s)return;let a=i.getBoundingClientRect(),l=(n.clientX-a.left)/a.width*100;s.style.background=`linear-gradient(to right, transparent ${l}%, rgba(0,0,0,0.55) ${l}%)`,s.style.opacity="1";},[]),o=useCallback(()=>{t.current&&(t.current.style.opacity="0");},[]);return {wrapperRef:e,overlayRef:t,onMouseMove:r,onMouseLeave:o}}function bm({active:e,payload:t,label:r,labelMap:o,allSeries:n,range:i}){if(!e||!n?.length)return null;let s=new Map;t?.forEach(l=>s.set(l.dataKey,l));let a=n.map(l=>s.get(l.slug)??{dataKey:l.slug,value:void 0,stroke:l.color,color:l.color});return jsxs("div",{style:{background:"rgba(10,10,10,0.92)",border:"1px solid rgba(255,255,255,0.1)",borderRadius:8,padding:"8px 12px",minWidth:180,backdropFilter:"blur(8px)",fontSize:12},children:[jsx("div",{style:{color:"#9ca3af",marginBottom:6,fontWeight:500},children:typeof r=="number"?gm(r,i):r}),a.map(l=>jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:3},children:[jsx("span",{style:{display:"inline-block",width:3,height:14,borderRadius:2,background:l.stroke??l.color,flexShrink:0}}),jsx("span",{style:{color:"#9ca3af",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:120},children:o.get(l.dataKey)??l.dataKey}),jsx("span",{style:{color:"#f9fafb",fontWeight:700,fontVariantNumeric:"tabular-nums"},children:l.value!=null?sa(l.value):"--"})]},l.dataKey))]})}function ym({markets:e,selectedSlugs:t,colorMap:r,onToggle:o}){let[n,i]=useState(false),s=useRef(null);useEffect(()=>{if(!n)return;function d(u){s.current&&!s.current.contains(u.target)&&i(false);}return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[n]);let a=t.length>=en,l=jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,flex:1,minWidth:0},children:[jsx("div",{style:{display:"flex",gap:3,flexShrink:0},children:t.map(d=>jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:r.get(d)??"#6b7280",display:"inline-block"}},d))}),jsx("span",{style:{color:"#e5e7eb",fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.length===1?(()=>{let d=e.find(u=>u.slug===t[0]);return d?.outcomes?.[0]?.label??d?.question??"1 market"})():`${t.length} / ${e.length} markets`})]});return jsxs("div",{ref:s,style:{position:"relative",display:"inline-block",width:200},children:[jsxs("button",{onClick:()=>i(d=>!d),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"5px 10px",borderRadius:8,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(255,255,255,0.05)",cursor:"pointer",width:"100%",userSelect:"none"},children:[l,jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",style:{flexShrink:0,transform:n?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.15s",color:"#6b7280"},children:jsx("path",{d:"M2 4l4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]}),n&&jsxs("div",{style:{position:"absolute",top:"calc(100% + 4px)",left:0,zIndex:50,background:"#111827",border:"1px solid rgba(255,255,255,0.1)",borderRadius:10,boxShadow:"0 8px 24px rgba(0,0,0,0.5)",minWidth:260,maxWidth:360,maxHeight:320,overflowY:"auto",padding:"6px 0"},children:[jsxs("div",{style:{padding:"4px 12px 8px",fontSize:11,color:"#6b7280",borderBottom:"1px solid rgba(255,255,255,0.06)",marginBottom:4},children:["Select up to ",en," markets"]}),e.map((d,u)=>{let p=t.includes(d.slug),m=!p&&a,c=p&&t.length===1,f=r.get(d.slug)??"#6b7280",g=d.outcomes.find(x=>x.label.toLowerCase()==="yes")??d.outcomes[0],v=g?.price!=null?`${Math.round(g.price*100)}%`:null;return jsxs("button",{onClick:()=>{c||m||o(d.slug);},style:{display:"flex",alignItems:"center",gap:10,width:"100%",padding:"7px 12px",border:"none",background:p?"rgba(255,255,255,0.05)":"transparent",cursor:m||c?"not-allowed":"pointer",opacity:m?.35:1,textAlign:"left",transition:"background 0.1s"},onMouseEnter:x=>{!m&&!c&&(x.currentTarget.style.background="rgba(255,255,255,0.07)");},onMouseLeave:x=>{x.currentTarget.style.background=p?"rgba(255,255,255,0.05)":"transparent";},children:[jsx("span",{style:{width:16,height:16,borderRadius:4,border:p?`2px solid ${f}`:"2px solid rgba(255,255,255,0.2)",background:p?`${f}30`:"transparent",flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center"},children:p&&jsx("svg",{width:"9",height:"7",viewBox:"0 0 9 7",fill:"none",children:jsx("path",{d:"M1 3.5L3.5 6L8 1",stroke:f,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:f,flexShrink:0}}),jsx("span",{style:{color:p?"#f9fafb":"#9ca3af",fontSize:12,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d.outcomes?.[0]?.label??d.question}),v&&jsx("span",{style:{color:f,fontWeight:700,fontSize:12,flexShrink:0},children:v})]},d.id??`${u}-${d.slug}`)})]})]})}function km({series:e,colorMap:t,displayValues:r}){return jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:"6px 24px",padding:"0 2px"},children:e.map(o=>{let n=t.get(o.marketSlug)??"#6b7280",i=r.get(o.marketSlug);return jsxs("div",{style:{display:"inline-flex",alignItems:"flex-start",gap:6},children:[jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:n,flexShrink:0,marginTop:3}}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:1},children:[jsx("span",{style:{color:"#9ca3af",fontSize:12,lineHeight:"17px",whiteSpace:"nowrap"},children:o.label}),jsx("span",{style:{color:"#f9fafb",fontSize:14,fontWeight:700,lineHeight:"20px",fontVariantNumeric:"tabular-nums"},children:i!=null?sa(i):"--"})]})]},o.marketSlug)})})}function Sm(e){let t=Math.floor(e.length/2);return e.length%2===1?e[t]:(e[t-1]+e[t])/2}function wm(e,t){if(e.length<=t)return e;let r=[],o=e.length/t;for(let n=0;n<t;n++){let i=Math.floor(n*o),s=Math.min(Math.floor((n+1)*o),e.length),a=e.slice(i,s),l=a.map(d=>d.price).sort((d,u)=>d-u);r.push({timestamp:a[a.length-1].timestamp,price:Sm(l)});}return r}function Pm(e,t=200){if(e.length===0)return [];let r=e.map(a=>({...a,data:wm(a.data,t)})),o=new Set;r.forEach(a=>a.data.forEach(l=>o.add(l.timestamp)));let n=Array.from(o).sort((a,l)=>a-l),i=r.map(a=>{let l=new Map;return a.data.forEach(d=>l.set(d.timestamp,d.price)),{slug:a.marketSlug,map:l}}),s=new Map;return n.map(a=>{let l={timestamp:a};return i.forEach(({slug:d,map:u})=>{let p=u.get(a);if(p!==void 0)s.set(d,p),l[d]=p;else {let m=s.get(d);m!==void 0&&(l[d]=m);}}),l})}function aa(e){return jsx(Vo,{children:jsx(Nm,{...e})})}function Nm({event:e,isLoading:t,className:r,volume:o,fillHeight:n=false}){let i=useMemo(()=>{let C=new Set;return (e.markets??[]).filter(M=>M.status!=="open"||C.has(M.slug)?false:(C.add(M.slug),true))},[e.markets]),s=useMemo(()=>[...i].sort((C,M)=>{let U=G=>(G.outcomes.find(k=>k.label.toLowerCase()==="yes")??G.outcomes[0])?.price??0;return U(M)-U(C)}),[i]),[a,l]=useState(()=>s.slice(0,en).map(C=>C.slug));useEffect(()=>{let C=new Set(i.map(M=>M.slug));l(M=>{let U=M.filter(G=>C.has(G));return U.length===M.length?M:U.length>0?U:s.slice(0,en).map(G=>G.slug)});},[i,s]);let[d,u]=useState(kn),p=useMemo(()=>{let C=new Map;return a.forEach((M,U)=>{C.set(M,oa[U%oa.length]);}),C},[a]),m=useMemo(()=>i.filter(C=>a.includes(C.slug)),[i,a]),{series:c,isLoading:f}=useMarketHistory(m,d),g=t||f,v=useMemo(()=>{if(c.length>0&&c.some(U=>U.data.length>0))return c;let C=Date.now(),M=864e5;return m.map(U=>{let k=(U.outcomes?.find(ce=>ce.label.toLowerCase()==="yes")??U.outcomes?.[0])?.price??.5;return {marketSlug:U.slug,label:U.outcomes?.[0]?.label??U.question,data:[{timestamp:C-7*M,price:k},{timestamp:C,price:k}]}})},[c,m]),x=useMemo(()=>d===ae.ONE_DAY?96:d===ae.ONE_WEEK?168:d===ae.ONE_MONTH?180:300,[d]),b=useMemo(()=>Pm(v,x),[v,x]),w=useMemo(()=>{if(b.length===0)return [0,1];let C=1/0,M=-1/0;if(a.forEach(G=>{b.forEach(k=>{let ce=k[G];ce!=null&&(ce<C&&(C=ce),ce>M&&(M=ce));});}),!isFinite(C))return [0,1];let U=Math.max((M-C)*.15,.05);return [Math.max(0,C-U),Math.min(1,M+U)]},[b,a]),P=useMemo(()=>{let C=new Map;return v.forEach(M=>{M.data.length>0&&C.set(M.marketSlug,M.data[M.data.length-1].price);}),C},[v]),h=useMemo(()=>{let C=new Map;return v.forEach(M=>C.set(M.marketSlug,M.label)),C},[v]),y=useMemo(()=>v.map(C=>({slug:C.marketSlug,color:p.get(C.marketSlug)??"#6b7280"})),[v,p]),{wrapperRef:S,overlayRef:N,onMouseMove:A,onMouseLeave:D}=xm(),z=useCallback(C=>{l(M=>M.includes(C)?M.length<=1?M:M.filter(U=>U!==C):M.length>=en?M:[...M,C]);},[]),[F,q]=useState(null),$=useRef(null),Q=useRef(""),re=useRef(0),Z=!g&&b.length>0;return jsxs("div",{className:r,style:{display:"flex",flexDirection:"column",gap:12,...n?{height:"100%",minHeight:0}:null},children:[jsx(km,{series:v,colorMap:p,displayValues:F??P}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:0,...n?{flex:1,minHeight:0}:null},children:[jsx("div",{ref:S,style:{width:"100%",userSelect:"none",position:"relative",...n?{flex:1,minHeight:240}:{height:300}},onMouseMove:Z?C=>{A(C),cancelAnimationFrame(re.current),re.current=requestAnimationFrame(()=>{q($.current);});}:void 0,onMouseLeave:Z?()=>{D(),cancelAnimationFrame(re.current),Q.current="",$.current=null,q(null);}:void 0,children:g?jsx("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:jsx("div",{style:{width:28,height:28,borderRadius:"50%",border:"2.5px solid #22d3ee",borderTopColor:"transparent",animation:"spin 0.7s linear infinite"}})}):b.length===0?jsx("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#6b7280",fontSize:13},children:"No price history data"}):jsxs(Fragment,{children:[jsx("div",{ref:N,style:{position:"absolute",inset:0,opacity:0,pointerEvents:"none",zIndex:1}}),jsx(ResponsiveContainer,{width:"100%",height:"100%",children:jsxs(LineChart,{data:b,margin:{top:8,right:16,left:0,bottom:0},children:[jsx(CartesianGrid,{horizontal:true,vertical:false,strokeDasharray:"3 3",stroke:"#374151",opacity:.5}),jsx(XAxis,{dataKey:"timestamp",type:"number",scale:"time",domain:["dataMin","dataMax"],tickFormatter:C=>fm(C,d),axisLine:false,tickLine:false,tick:{fill:"#6b7280",fontSize:11},minTickGap:70}),jsx(YAxis,{domain:w,tickFormatter:C=>`${Math.round(C*100)}%`,axisLine:false,tickLine:false,tick:{fill:"#6b7280",fontSize:11},width:40,tickCount:6}),jsx(Tooltip,{content:C=>{let M=C;if(M.active&&M.payload?.length){let U=M.payload.map(G=>`${G.dataKey}:${G.value}`).join(",");if(U!==Q.current){Q.current=U;let G=new Map;M.payload.forEach(k=>{k.value!=null&&G.set(k.dataKey,k.value);}),$.current=G;}}return jsx(bm,{...M,labelMap:h,allSeries:y,range:d})},cursor:{stroke:"#4b5563",strokeWidth:1,strokeDasharray:"4 4"},wrapperStyle:{zIndex:2},isAnimationActive:false}),v.map(C=>{let M=p.get(C.marketSlug)??"#6b7280";return jsx(Line,{type:"linear",dataKey:C.marketSlug,stroke:M,strokeWidth:2,strokeLinejoin:"round",strokeLinecap:"round",dot:false,activeDot:{r:4.5,strokeWidth:2,stroke:"rgba(10,10,10,0.8)",fill:M},connectNulls:true,isAnimationActive:false},C.marketSlug)}),F==null&&b.length>0&&v.map(C=>{let M=b[b.length-1],U=M[C.marketSlug];if(U==null)return null;let G=p.get(C.marketSlug)??"#6b7280";return jsx(ReferenceDot,{x:M.timestamp,y:U,ifOverflow:"extendDomain",shape:k=>{let{cx:ce,cy:pe}=k;return ce==null||pe==null?jsx("g",{}):jsxs("g",{children:[jsxs("circle",{cx:ce,cy:pe,r:6,fill:G,opacity:.3,children:[jsx("animate",{attributeName:"r",values:"4;9;4",dur:"2s",repeatCount:"indefinite"}),jsx("animate",{attributeName:"opacity",values:"0.4;0.05;0.4",dur:"2s",repeatCount:"indefinite"})]}),jsx("circle",{cx:ce,cy:pe,r:3.5,fill:G})]})}},`pulse-${C.marketSlug}`)})]})})]})}),jsxs("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"6px 8px",marginTop:6},children:[o!=null&&o>0&&jsxs("span",{style:{color:"#6b7280",fontSize:12},children:[formatAmountInUsd(o)," vol"]}),jsx("div",{style:{flex:1,minWidth:0}}),jsx(vm,{value:d,onChange:u}),s.length>1&&jsx("div",{style:{width:"100%",display:"flex",alignItems:"center"},children:jsx(ym,{markets:s,selectedSlugs:a,colorMap:p,onToggle:z})})]})]})]})}function $n(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function ca(e,t){let r=e.outcomes[t==="yes"?0:1];return r?.best_ask??r?.price}function Wm(e){return `${parseFloat((e*100).toFixed(2))}%`}function da(e){let t=e*100;return t<1&&t>0?"< 1":parseFloat(t.toFixed(2)).toString()}function Kn(e){return e.outcomes?.[0]?.label??e.question}function Um(e){switch(e){case "polymarket":return "Polymarket";case "kalshi":return "Kalshi";default:return e}}function tn(e){if(!e)return "\u2014";let t=new Date(e);if(isNaN(t.getTime()))return "\u2014";let r=t.toLocaleString("default",{month:"short"}),o=t.getDate(),n=t.getFullYear(),i=t.getHours().toString().padStart(2,"0"),s=t.getMinutes().toString().padStart(2,"0");return `${r} ${o}, ${n} ${i}:${s}`}function ua(e){let[t,r]=useState(0);if(useEffect(()=>{if(!e)return;r(Date.now());let u=setInterval(()=>r(Date.now()),1e3);return ()=>clearInterval(u)},[e]),!e||t===0)return null;let o=new Date(e).getTime();if(isNaN(o))return null;let n=o-t;if(n<=0)return null;let i=Math.floor(n/864e5),s=Math.floor(n%864e5/36e5),a=Math.floor(n%36e5/6e4),l=Math.floor(n%6e4/1e3),d=[];return i>0&&d.push(`${i}d`),d.push(`${String(s).padStart(2,"0")}h`),d.push(`${String(a).padStart(2,"0")}m`),d.push(`${String(l).padStart(2,"0")}s`),d.join(" ")}function pa(e){if(!e)return null;let t=new Date(e);if(isNaN(t.getTime()))return null;let r=t.getHours().toString().padStart(2,"0"),o=t.getMinutes().toString().padStart(2,"0"),n=(t.getMonth()+1).toString().padStart(2,"0"),i=t.getDate().toString().padStart(2,"0"),s=t.getFullYear(),a=-t.getTimezoneOffset(),l=a>=0?"+":"-",d=String(Math.abs(Math.floor(a/60))).padStart(2,"0");return `${r}:${o} ${n}/${i}/${s} (${l}${d})`}function ha({event:e,onTradeAction:t}){let{t:r}=useTranslation(),{ref:o,isCollapsed:n}=useScrollCollapse(),i=useMemo(()=>{let p=[...e.markets||[]],m=p.filter(f=>f.status==="open").sort((f,g)=>$n(g)-$n(f)),c=p.filter(f=>f.status!=="open").sort((f,g)=>$n(g)-$n(f));return [...m,...c]},[e.markets]),s=e.status==="closed"||e.status==="voided",a=ua(s?void 0:e.start_at),l=ua(s?void 0:e.end_at),d=pa(e.start_at),u=pa(e.end_at);return jsxs("div",{className:"w-full flex flex-col gap-y-4 lg:gap-y-6",children:[jsxs("div",{ref:o,className:`sticky top-0 z-30 flex items-center backdrop-blur-md transition-all duration-300 ${n?"h-14 lg:h-16 gap-x-2 py-2 px-1 lg:px-4 -mx-1 lg:-mx-4 shadow-sm":"h-16 lg:h-20 gap-x-2 lg:gap-x-4"}`,children:[jsx(Avatar,{src:e.image_url||void 0,name:e.title||"Event",radius:"lg",classNames:{base:"bg-transparent"},className:`flex-shrink-0 transition-all duration-300 ${n?"!h-10 !w-10 lg:!h-12 lg:!w-12":"!h-16 !w-16 lg:!h-20 lg:!w-20"}`}),jsxs("div",{className:"flex flex-col gap-0.5 min-w-0 flex-1",children:[!n&&jsxs("div",{className:"flex items-center gap-1.5",children:[e.tags?.slice(0,3).map((p,m)=>jsxs(Fragment$1,{children:[m>0&&jsx("span",{className:"text-sm text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-sm text-neutral truncate",children:p.label})]},p.slug)),jsx(jm,{source:e.source})]}),jsx("span",{className:`font-semibold truncate transition-all duration-300 ${n?"text-sm lg:text-base":"text-lg lg:text-xl"}`,children:e.title})]})]}),(a||l||s)&&jsx("div",{className:"flex items-center gap-x-2 text-xs lg:text-sm font-mono",children:s?u&&jsx("span",{className:"text-neutral",children:r("predict.event.endedAt",{time:u})}):a?jsxs(Fragment,{children:[jsx("span",{className:"text-foreground",children:r("predict.event.beginsIn",{time:a})}),d&&jsxs(Fragment,{children:[jsx("span",{className:"text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-neutral",children:d})]})]}):l?jsxs(Fragment,{children:[jsx("span",{className:"text-foreground",children:r("predict.event.endsIn",{time:l})}),u&&jsxs(Fragment,{children:[jsx("span",{className:"text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-neutral",children:u})]})]}):null}),jsx(aa,{event:e,volume:e.volume??void 0}),jsx($m,{markets:i,onTradeAction:t}),jsx(Vm,{markets:i,event:e})]})}var ma=5;function $m({markets:e,onTradeAction:t}){let{t:r}=useTranslation(),{isDesktop:o}=useScreen(),[n,i]=useState(false),[s,a]=useState(null),l=useMemo(()=>{let v=new Set;return e.filter(x=>v.has(x.slug)?false:(v.add(x.slug),true))},[e]),d=l.find(v=>v.status==="open")?.slug,[u,p]=useState(d?`${d}:yes`:null);if(l.length===0)return null;let m=l.length>ma,c=n?l:l.slice(0,ma),f=v=>{a(x=>x===v?null:v);},g=(v,x,b)=>{p(`${v.slug}:${x}`),o&&a(v.slug),t?.(v,x,b);};return jsxs("div",{className:"flex flex-col",children:[jsxs("table",{className:"w-full border-collapse",children:[jsx("thead",{children:jsxs("tr",{children:[jsx("th",{}),jsx("th",{className:"py-2 text-left text-xs text-neutral font-normal lg:text-center lg:text-sm",children:r("predict.market.table.chance")}),jsx("th",{})]})}),jsx("tbody",{children:c.map((v,x)=>{let b=s===v.slug;return jsx(Km,{market:v,activeYes:u===`${v.slug}:yes`,activeNo:u===`${v.slug}:no`,isExpanded:b,onToggleExpand:()=>f(v.slug),onTradeAction:g},v.id??`${x}-${v.slug}`)})})]}),m&&jsxs("button",{type:"button",onClick:()=>i(v=>!v),className:"flex w-full items-center justify-start gap-x-2 py-2 pl-1 text-xs text-neutral lg:pl-2 lg:text-sm cursor-pointer hover:text-foreground transition-colors",children:[jsx("span",{children:r(n?"predict.event.rules.collapse":"predict.event.moreMarketsLabel")}),jsx(ChevronDownIcon,{className:cn$1("h-4 w-4 transition-transform",n&&"rotate-180")})]})]})}function Km({market:e,activeYes:t,activeNo:r,isExpanded:o,onToggleExpand:n,onTradeAction:i}){let{t:s}=useTranslation(),a=e.status==="open",l=e.volume?`${formatAmountInUsd(e.volume)} vol`:void 0,{data:d}=useRealtimeOrderbook({slug:e.slug,source:e.source,outcome:"yes"},{enabled:a}),{data:u}=useOrderbook({slug:e.slug,source:e.source,outcome:"no"},{enabled:false,refetchInterval:false}),p=pickBestAsk(d,"yes")??ca(e,"yes")??0,m=pickBestAsk(u,"no")??ca(e,"no");return jsxs(Fragment,{children:[jsxs("tr",{className:"cursor-pointer border-b border-border text-xs hover:bg-content2 lg:text-base",onClick:n,role:"button",tabIndex:0,onKeyDown:c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),n());},children:[jsx("td",{className:"py-2 pl-1 lg:pl-2",children:jsxs("div",{className:"flex items-center gap-x-1 lg:gap-x-2",children:[e.image_url&&jsx(Avatar,{src:e.image_url,name:Kn(e)?.[0]||"?",radius:"lg",className:"size-5 shrink-0 lg:size-8",imgProps:{className:"object-cover"}}),jsxs("div",{className:"flex flex-col",children:[jsx("span",{className:"text-foreground truncate max-w-[200px] lg:max-w-[300px]",children:Kn(e)}),l&&jsx("span",{className:"text-[8px] text-neutral lg:text-xxs",children:l})]})]})}),jsx("td",{className:"py-2 text-left text-foreground lg:text-center",children:Wm(p)}),jsx("td",{className:"py-2 pr-1 lg:pr-2",children:a?jsxs("div",{className:"flex items-center justify-end gap-x-2",children:[jsx("button",{type:"button",className:cn$1("flex min-w-16 items-center justify-center whitespace-nowrap rounded-lg p-2 lg:min-w-24 cursor-pointer hover:opacity-80 transition-all focus-visible:outline-2 focus-visible:outline-primary/40 focus-visible:outline-offset-2",t?"bg-primary text-primary-foreground":"bg-primary/10 text-primary"),onClick:c=>{c.stopPropagation(),i?.(e,"yes","buy");},children:s("predict.market.action.yes",{price:da(p)})}),jsx("button",{type:"button",className:cn$1("flex min-w-16 items-center justify-center whitespace-nowrap rounded-lg p-2 lg:min-w-24 cursor-pointer hover:opacity-80 transition-all focus-visible:outline-2 focus-visible:outline-primary/40 focus-visible:outline-offset-2",r?"bg-secondary text-secondary-foreground":"bg-secondary/10 text-secondary"),onClick:c=>{c.stopPropagation(),i?.(e,"no","buy");},children:m!=null?s("predict.market.action.no",{price:da(m)}):s("predict.market.no")})]}):jsx("div",{className:"flex items-center justify-end",children:jsx("span",{className:cn$1("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium",e.status==="closed"?"bg-neutral/10 text-neutral":e.status==="voided"?"bg-warning/10 text-warning":"bg-primary/10 text-primary"),children:e.status==="closed"?s("predict.event.status.closed"):e.status==="voided"?s("predict.event.status.voided"):s("predict.event.status.pending")})})})]}),o&&jsx("tr",{children:jsx("td",{colSpan:3,className:"pb-3",children:jsx("div",{className:"max-h-100 overflow-y-auto",children:jsx(na,{market:e,outcome:r?"no":"yes",onTradeAction:i})})})})]})}function Vm({markets:e,event:t}){let{t:r}=useTranslation(),[o,n]=useState(false),[i,s]=useState(false),[a,l]=useState(0),d=e.filter(c=>c.rules&&c.rules.length>0||c.description);if(d.length===0)return null;let u=d[a]??d[0],p=u.rules&&u.rules.length>0?u.rules.join(`
76
+ `,$s={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:"detailShimmer 1.8s ease-in-out infinite",borderRadius:6};function fe(e){return {...$s,animationDelay:`${e}ms`}}function Jr({marketCount:e=4,showBack:t}){return jsxs(Fragment,{children:[jsx("style",{children:Us}),jsxs("div",{style:{display:"flex",flexDirection:"column",width:"100%",gap:20},children:[t&&jsx("div",{style:{height:20}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[jsx("div",{style:{...$s,width:64,height:64,borderRadius:10,flexShrink:0}}),jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:8},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[jsx("div",{style:{...fe(0),height:14,width:48}}),jsx("div",{style:{...fe(30),height:14,width:40}}),jsx("div",{style:{...fe(60),height:14,width:40}})]}),jsx("div",{style:{...fe(80),height:20,width:"80%",maxWidth:384,borderRadius:4}})]})]}),jsx("div",{style:{...fe(100),height:16,width:192}}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:16},children:[jsx("div",{style:{...fe(120),height:16,width:96}}),jsx("div",{style:{...fe(140),height:16,width:80}})]}),jsx("div",{style:{...fe(160),height:300,width:"100%",borderRadius:12}}),jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[jsx("div",{style:{...fe(180),height:16,width:80}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[jsx("div",{style:{...fe(200),height:28,width:200,borderRadius:8}}),jsx("div",{style:{...fe(220),height:28,width:112,borderRadius:8}})]})]})]}),jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"8px 0"},children:jsx("div",{style:{...fe(240),height:14,width:56}})}),Array.from({length:e}).map((r,o)=>jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 0",borderBottom:"1px solid rgba(39,39,42,0.5)"},children:[jsx("div",{style:{...fe(260+o*40),width:28,height:28,borderRadius:8,flexShrink:0}}),jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:4},children:[jsx("div",{style:{...fe(280+o*40),height:14,width:o%2===0?192:160}}),jsx("div",{style:{...fe(300+o*40),height:10,width:64}})]}),jsx("div",{style:{...fe(320+o*40),height:16,width:40}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[jsx("div",{style:{...fe(340+o*40),height:32,width:80,borderRadius:8}}),jsx("div",{style:{...fe(360+o*40),height:32,width:80,borderRadius:8}})]})]},o))]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:{...fe(400),height:16,width:64}}),jsx("div",{style:{...fe(420),height:14,width:"100%"}}),jsx("div",{style:{...fe(440),height:14,width:"80%"}}),jsx("div",{style:{...fe(460),height:14,width:"60%"}})]})]})]})}function Ks(){return jsxs(Fragment,{children:[jsx("style",{children:Us}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12,borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",padding:16},children:[jsx("div",{style:{...fe(0),height:40,width:"100%",borderRadius:8}}),jsx("div",{style:{...fe(60),height:96,width:"100%",borderRadius:8}}),jsx("div",{style:{...fe(120),height:40,width:"100%",borderRadius:8}})]})]})}var Ys="var(--color-bullish)",Qs="var(--color-bearish)";function Zr(e){let t=Math.abs(e);return t>=1e9?`${parseFloat((e/1e9).toFixed(2))}B`:t>=1e6?`${parseFloat((e/1e6).toFixed(2))}M`:t>=1e3?`${parseFloat((e/1e3).toFixed(2))}K`:e.toLocaleString()}function Vp(e,t){return e<=0||t<=0?0:Math.pow(e/t,.3)}function jp(e,t){let r=new Float64Array(101),o=new Float64Array(101);for(let c of e){let f=Math.round(c.price*100);f>=0&&f<=100&&(r[f]+=c.quantity);}for(let c of t){let f=Math.round(c.price*100);f>=0&&f<=100&&(o[f]+=c.quantity);}let n=0,i=0,s=new Float64Array(101),a=new Float64Array(101);for(let c=100;c>=0;c--)n+=r[c],i+=r[c]*c/100,s[c]=n,a[c]=i;let l=0,d=0,u=new Float64Array(101),p=new Float64Array(101);for(let c=0;c<=100;c++)l+=o[c],d+=o[c]*c/100,u[c]=l,p[c]=d;let m=Math.max(s[0]??0,u[100]??0);return Array.from({length:101},(c,f)=>{let g=s[f]>0,v=u[f]>0,x=s[f]||u[f],b=r[f]>0||o[f]>0;return {priceCents:f,displayHeight:Vp(x,m),opacity:x>0?b?1:.5:0,isBid:g,isAsk:v,bidCumTotal:s[f],askCumTotal:u[f],bidCumCost:a[f],askCumCost:p[f]}})}function qp({info:e}){let{t}=useTranslation(),r=e.isBid?Ys:Qs,o=e.leftPct>65?void 0:`${e.leftPct}%`,n=e.leftPct>65?`${100-e.leftPct}%`:void 0;return jsxs("div",{style:{position:"absolute",top:8,left:o,right:n,zIndex:10,background:"rgba(17,24,39,0.95)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:8,padding:"8px 12px",fontSize:12,color:"#f9fafb",minWidth:140,pointerEvents:"none"},children:[jsx("div",{style:{marginBottom:4,fontWeight:600},children:t("predict.orderBook.depthToPrice",{price:e.priceCents})}),jsx("div",{style:{color:r},children:t("predict.orderBook.depthContracts",{amount:Zr(Math.round(e.cumTotal))})}),jsxs("div",{style:{color:r},children:["$",Zr(Math.round(e.cumCost))]})]})}var Gp=memo(function({slot:t,onEnter:r,onLeave:o}){let n=useRef(null),i=t.isBid||t.isAsk,s=t.isBid?Ys:t.isAsk?Qs:void 0;return jsx("div",{style:{position:"absolute",left:`${t.priceCents}%`,width:"1%",height:"100%",boxSizing:"border-box",borderRight:t.priceCents<100?"1px solid transparent":"none",cursor:i?"crosshair":"default"},onMouseEnter:()=>r(t,n.current),onMouseLeave:o,children:i&&jsx("div",{ref:n,style:{position:"absolute",bottom:0,left:0,width:"100%",height:`${t.displayHeight*100}%`,backgroundColor:s,opacity:t.opacity}})})}),Yp=[0,10,20,30,40,50,60,70,80,90,100];function Qp(){return jsx("div",{className:"relative flex h-6 items-center border-b border-t border-border px-1",style:{background:"rgba(0,0,0,0.15)"},children:Yp.map(e=>jsx("span",{className:"absolute text-neutral font-normal",style:{fontSize:10,left:`${e}%`,transform:e===0?"translateX(0px)":e===100?"translateX(-100%)":"translateX(-50%)"},children:e},e))})}function Xs({bids:e,asks:t}){let{t:r}=useTranslation(),o=useMemo(()=>jp(e,t),[e,t]),n=useMemo(()=>{let p=e.length>0?Math.max(...e.map(c=>c.price)):0,m=t.length>0?Math.min(...t.map(c=>c.price)):1;return Math.round((p+m)/2*100)},[e,t]),i=useMemo(()=>o.some(p=>p.isBid||p.isAsk),[o]),[s,a]=useState(null),l=useRef(null),d=useCallback((p,m)=>{l.current&&(l.current.style.filter=""),m?(m.style.filter="brightness(1.5)",l.current=m):l.current=null,p.isBid||p.isAsk?a({priceCents:p.priceCents,isBid:p.isBid,cumTotal:p.isBid?p.bidCumTotal:p.askCumTotal,cumCost:p.isBid?p.bidCumCost:p.askCumCost,leftPct:p.priceCents}):a(null);},[]),u=useCallback(()=>{l.current&&(l.current.style.filter="",l.current=null),a(null);},[]);return i?jsxs("div",{style:{display:"flex",flexDirection:"column",width:"100%",height:"100%",userSelect:"none",overflow:"hidden"},children:[jsxs("div",{style:{flex:1,position:"relative",width:"100%",overflow:"hidden"},children:[n>0&&jsx("div",{style:{position:"absolute",left:`${n}%`,top:0,bottom:0,width:1,backgroundImage:"repeating-linear-gradient(to bottom, #6b7280 0, #6b7280 4px, transparent 4px, transparent 8px)",zIndex:1,pointerEvents:"none"}}),s&&jsx(qp,{info:s}),o.map(p=>jsx(Gp,{slot:p,onEnter:d,onLeave:u},p.priceCents))]}),jsx(Qp,{})]}):jsx("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#6b7280",fontSize:13},children:r("predict.orderBook.noData")})}function Uo(e){let t=e*100,r=Math.round(t*10)/10;return Number.isInteger(r)?`${r}\xA2`:`${r.toFixed(1)}\xA2`}function Zs(){let{t:e}=useTranslation();return jsx("div",{className:"absolute inset-0 flex items-center justify-center text-neutral text-xs",children:jsx("span",{children:e("predict.orderBook.loading")})})}function na({market:e,outcome:t="yes",onTradeAction:r,initialViewMode:o="depth",className:n}){let{t:i}=useTranslation(),[s,a]=useState(o),l=e.source,{data:d,isLoading:u,isFetching:p,refetch:m}=useRealtimeOrderbook({slug:e.slug,source:l,outcome:t}),c=useMemo(()=>(d?.bids??[]).map(b=>({price:b.price,quantity:b.size})),[d?.bids]),f=useMemo(()=>(d?.asks??[]).map(b=>({price:b.price,quantity:b.size})),[d?.asks]),g=useMemo(()=>c.length>0?Math.max(...c.map(b=>b.price)):null,[c]),v=useMemo(()=>f.length>0?Math.min(...f.map(b=>b.price)):null,[f]),x=useMemo(()=>{if(g==null||v==null)return null;let b=(v-g)*100;return Math.round(b*10)/10},[g,v]);return jsxs("div",{className:cn$1("flex flex-col",n??"h-[262px]"),children:[jsxs("div",{className:"flex h-9 items-center border-b border-border px-1 text-xs",children:[jsx("span",{className:"flex-1 text-left text-neutral",children:x!=null?`${i("predict.orderBook.spread")}: ${Number.isInteger(x)?`${x}\xA2`:`${x.toFixed(1)}\xA2`}`:null}),jsxs("span",{className:"flex flex-1 items-center justify-center gap-x-1 whitespace-nowrap",children:[g!=null&&jsxs("span",{style:{color:"var(--color-bullish)"},children:[i("predict.trade.bestBid"),": ",Uo(g)]}),g!=null&&v!=null&&jsx("span",{className:"text-neutral",children:"|"}),v!=null&&jsxs("span",{style:{color:"var(--color-bearish)"},children:[i("predict.trade.bestAsk"),": ",Uo(v)]})]}),jsxs("div",{className:"flex flex-1 items-center justify-end gap-x-2",children:[jsx("button",{type:"button",title:s==="depth"?"Orderbook":"Depth chart",onClick:()=>a(b=>b==="depth"?"table":"depth"),className:"flex items-center text-neutral transition-colors cursor-pointer hover:text-foreground",children:s==="depth"?jsx(OrderbookTableIcon,{className:"h-4 w-4"}):jsx(OrderbookDepthIcon,{className:"h-4 w-4"})}),jsx("button",{type:"button",title:"Refresh",onClick:()=>m(),disabled:p,className:cn$1("flex items-center text-neutral transition-colors cursor-pointer hover:text-foreground disabled:cursor-default disabled:opacity-50",p&&"animate-spin"),children:jsx(RefreshIcon,{className:"h-4 w-4"})})]})]}),jsxs("div",{className:"relative flex-1 min-h-0 overflow-hidden",children:[s==="depth"&&jsx(Fragment,{children:u?jsx(Zs,{}):jsx(Xs,{bids:c,asks:f})}),s==="table"&&jsx(Fragment,{children:u?jsx(Zs,{}):jsx(rm,{bids:c,asks:f,bestBid:g??void 0,bestAsk:v??void 0,spread:x??void 0})})]})]})}var Wo=4,tm=8;function rm({bids:e,asks:t,spread:r}){let{t:o}=useTranslation(),[n,i]=useState(false),s=n?tm:Wo,a=t.length>Wo||e.length>Wo,l=useMemo(()=>[...t].sort((m,c)=>m.price-c.price).slice(0,s).reverse(),[t,s]),d=useMemo(()=>[...e].sort((m,c)=>c.price-m.price).slice(0,s),[e,s]),u=useMemo(()=>{let m=[...l,...d].map(c=>c.quantity);return Math.max(...m,1)},[l,d]);return l.length===0&&d.length===0?jsx("div",{className:"flex items-center justify-center h-full text-xs text-neutral",children:o("predict.orderBook.empty")}):jsxs("div",{className:"flex flex-col h-full overflow-y-auto text-xs font-mono select-none",children:[l.map(m=>jsx(ea,{price:m.price,quantity:m.quantity,side:"ask",maxQty:u},`ask-${m.price}`)),jsxs("div",{className:"relative flex items-center justify-center gap-x-2 py-1 border-y border-border text-neutral text-[10px]",children:[r!=null&&jsxs("span",{children:[o("predict.orderBook.spread"),":"," ",Number.isInteger(r)?`${r}\xA2`:`${r.toFixed(1)}\xA2`]}),a&&jsx("button",{type:"button",onClick:()=>i(m=>!m),className:"absolute right-2 text-[10px] text-neutral transition-colors cursor-pointer hover:text-foreground",children:o(n?"predict.orderBook.collapse":"predict.orderBook.expand")})]}),d.map(m=>jsx(ea,{price:m.price,quantity:m.quantity,side:"bid",maxQty:u},`bid-${m.price}`)),jsxs("div",{className:"grid grid-cols-3 px-2 pt-2 pb-0.5 text-[10px] text-neutral border-t border-border",children:[jsx("span",{children:o("predict.orderBook.price")}),jsx("span",{className:"text-center",children:o("predict.orderBook.contracts")}),jsx("span",{className:"text-right",children:o("predict.orderBook.total")})]})]})}function ea({price:e,quantity:t,side:r,maxQty:o}){let n=r==="ask",i=Math.min(t/o*100,100),s=n?"bg-bearish/10":"bg-bullish/10",a=n?"text-bearish":"text-bullish",l=Zr(Math.round(t)),d=Math.round(t*e),u=`$${Zr(d)}`;return jsxs("div",{className:"relative grid grid-cols-3 px-2 py-1 hover:bg-content2 transition-colors cursor-default",children:[jsx("div",{className:`absolute inset-y-0 left-0 ${s} transition-[width] duration-200`,style:{width:`${i}%`}}),jsx("span",{className:`relative z-10 ${a}`,children:Uo(e)}),jsx("span",{className:"relative z-10 text-foreground text-center",children:l}),jsx("span",{className:"relative z-10 text-foreground text-right",children:u})]})}var Vo=class extends Component{state={error:null};static getDerivedStateFromError(t){return {error:t}}componentDidCatch(t,r){}render(){return this.state.error?jsxs("div",{style:{height:this.props.fallbackHeight??320,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:8,color:"#6b7280",fontSize:13},children:[jsx("span",{children:"Chart unavailable"}),jsx("span",{style:{fontSize:11,opacity:.7},children:this.state.error.message})]}):this.props.children}},en=4,oa=["#22d3ee","#a3e635","#f97316","#f472b6","#a78bfa"];function fm(e,t){let r=new Date(e);return t===ae.ONE_DAY?r.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:false}):r.toLocaleDateString("en-US",{month:"short",day:"numeric"})}function gm(e,t){let r=new Date(e);return t===ae.ONE_DAY?r.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:false}):t===ae.ONE_WEEK?r.toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:false}):r.toLocaleDateString("en-US",{month:"short",day:"numeric"})}function sa(e){return `${(e*100).toFixed(2)}%`}var hm=[{range:ae.ONE_DAY,label:"1D"},{range:ae.ONE_WEEK,label:"1W"},{range:ae.ONE_MONTH,label:"1M"},{range:ae.ALL,label:"ALL"}];function vm({value:e,onChange:t}){return jsx("div",{style:{display:"flex",alignItems:"center",gap:2},children:hm.map(({range:r,label:o})=>{let n=r===e;return jsx("button",{onClick:()=>t(r),style:{padding:"2px 8px",border:"none",background:"transparent",color:n?"#f9fafb":"#6b7280",fontWeight:n?700:400,fontSize:12,cursor:"pointer",borderRadius:4,letterSpacing:"0.02em",transition:"color 0.15s",userSelect:"none"},children:o},r)})})}function xm(){let e=useRef(null),t=useRef(null),r=useCallback(n=>{let i=e.current,s=t.current;if(!i||!s)return;let a=i.getBoundingClientRect(),l=(n.clientX-a.left)/a.width*100;s.style.background=`linear-gradient(to right, transparent ${l}%, rgba(0,0,0,0.55) ${l}%)`,s.style.opacity="1";},[]),o=useCallback(()=>{t.current&&(t.current.style.opacity="0");},[]);return {wrapperRef:e,overlayRef:t,onMouseMove:r,onMouseLeave:o}}function bm({active:e,payload:t,label:r,labelMap:o,allSeries:n,range:i}){if(!e||!n?.length)return null;let s=new Map;t?.forEach(l=>s.set(l.dataKey,l));let a=n.map(l=>s.get(l.slug)??{dataKey:l.slug,value:void 0,stroke:l.color,color:l.color});return jsxs("div",{style:{background:"rgba(10,10,10,0.92)",border:"1px solid rgba(255,255,255,0.1)",borderRadius:8,padding:"8px 12px",minWidth:180,backdropFilter:"blur(8px)",fontSize:12},children:[jsx("div",{style:{color:"#9ca3af",marginBottom:6,fontWeight:500},children:typeof r=="number"?gm(r,i):r}),a.map(l=>jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:3},children:[jsx("span",{style:{display:"inline-block",width:3,height:14,borderRadius:2,background:l.stroke??l.color,flexShrink:0}}),jsx("span",{style:{color:"#9ca3af",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:120},children:o.get(l.dataKey)??l.dataKey}),jsx("span",{style:{color:"#f9fafb",fontWeight:700,fontVariantNumeric:"tabular-nums"},children:l.value!=null?sa(l.value):"--"})]},l.dataKey))]})}function ym({markets:e,selectedSlugs:t,colorMap:r,onToggle:o}){let[n,i]=useState(false),s=useRef(null);useEffect(()=>{if(!n)return;function d(u){s.current&&!s.current.contains(u.target)&&i(false);}return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[n]);let a=t.length>=en,l=jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,flex:1,minWidth:0},children:[jsx("div",{style:{display:"flex",gap:3,flexShrink:0},children:t.map(d=>jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:r.get(d)??"#6b7280",display:"inline-block"}},d))}),jsx("span",{style:{color:"#e5e7eb",fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.length===1?(()=>{let d=e.find(u=>u.slug===t[0]);return d?.outcomes?.[0]?.label??d?.question??"1 market"})():`${t.length} / ${e.length} markets`})]});return jsxs("div",{ref:s,style:{position:"relative",display:"inline-block",width:200},children:[jsxs("button",{onClick:()=>i(d=>!d),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"5px 10px",borderRadius:8,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(255,255,255,0.05)",cursor:"pointer",width:"100%",userSelect:"none"},children:[l,jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",style:{flexShrink:0,transform:n?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.15s",color:"#6b7280"},children:jsx("path",{d:"M2 4l4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]}),n&&jsxs("div",{style:{position:"absolute",top:"calc(100% + 4px)",left:0,zIndex:50,background:"#111827",border:"1px solid rgba(255,255,255,0.1)",borderRadius:10,boxShadow:"0 8px 24px rgba(0,0,0,0.5)",minWidth:260,maxWidth:360,maxHeight:320,overflowY:"auto",padding:"6px 0"},children:[jsxs("div",{style:{padding:"4px 12px 8px",fontSize:11,color:"#6b7280",borderBottom:"1px solid rgba(255,255,255,0.06)",marginBottom:4},children:["Select up to ",en," markets"]}),e.map((d,u)=>{let p=t.includes(d.slug),m=!p&&a,c=p&&t.length===1,f=r.get(d.slug)??"#6b7280",g=d.outcomes.find(x=>x.label.toLowerCase()==="yes")??d.outcomes[0],v=g?.price!=null?`${Math.round(g.price*100)}%`:null;return jsxs("button",{onClick:()=>{c||m||o(d.slug);},style:{display:"flex",alignItems:"center",gap:10,width:"100%",padding:"7px 12px",border:"none",background:p?"rgba(255,255,255,0.05)":"transparent",cursor:m||c?"not-allowed":"pointer",opacity:m?.35:1,textAlign:"left",transition:"background 0.1s"},onMouseEnter:x=>{!m&&!c&&(x.currentTarget.style.background="rgba(255,255,255,0.07)");},onMouseLeave:x=>{x.currentTarget.style.background=p?"rgba(255,255,255,0.05)":"transparent";},children:[jsx("span",{style:{width:16,height:16,borderRadius:4,border:p?`2px solid ${f}`:"2px solid rgba(255,255,255,0.2)",background:p?`${f}30`:"transparent",flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center"},children:p&&jsx("svg",{width:"9",height:"7",viewBox:"0 0 9 7",fill:"none",children:jsx("path",{d:"M1 3.5L3.5 6L8 1",stroke:f,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:f,flexShrink:0}}),jsx("span",{style:{color:p?"#f9fafb":"#9ca3af",fontSize:12,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d.outcomes?.[0]?.label??d.question}),v&&jsx("span",{style:{color:f,fontWeight:700,fontSize:12,flexShrink:0},children:v})]},d.id??`${u}-${d.slug}`)})]})]})}function km({series:e,colorMap:t,displayValues:r}){return jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:"6px 24px",padding:"0 2px"},children:e.map(o=>{let n=t.get(o.marketSlug)??"#6b7280",i=r.get(o.marketSlug);return jsxs("div",{style:{display:"inline-flex",alignItems:"flex-start",gap:6},children:[jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:n,flexShrink:0,marginTop:3}}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:1},children:[jsx("span",{style:{color:"#9ca3af",fontSize:12,lineHeight:"17px",whiteSpace:"nowrap"},children:o.label}),jsx("span",{style:{color:"#f9fafb",fontSize:14,fontWeight:700,lineHeight:"20px",fontVariantNumeric:"tabular-nums"},children:i!=null?sa(i):"--"})]})]},o.marketSlug)})})}function Sm(e){let t=Math.floor(e.length/2);return e.length%2===1?e[t]:(e[t-1]+e[t])/2}function wm(e,t){if(e.length<=t)return e;let r=[],o=e.length/t;for(let n=0;n<t;n++){let i=Math.floor(n*o),s=Math.min(Math.floor((n+1)*o),e.length),a=e.slice(i,s),l=a.map(d=>d.price).sort((d,u)=>d-u);r.push({timestamp:a[a.length-1].timestamp,price:Sm(l)});}return r}function Pm(e,t=200){if(e.length===0)return [];let r=e.map(a=>({...a,data:wm(a.data,t)})),o=new Set;r.forEach(a=>a.data.forEach(l=>o.add(l.timestamp)));let n=Array.from(o).sort((a,l)=>a-l),i=r.map(a=>{let l=new Map;return a.data.forEach(d=>l.set(d.timestamp,d.price)),{slug:a.marketSlug,map:l}}),s=new Map;return n.map(a=>{let l={timestamp:a};return i.forEach(({slug:d,map:u})=>{let p=u.get(a);if(p!==void 0)s.set(d,p),l[d]=p;else {let m=s.get(d);m!==void 0&&(l[d]=m);}}),l})}function aa(e){return jsx(Vo,{children:jsx(Nm,{...e})})}function Nm({event:e,isLoading:t,className:r,volume:o,fillHeight:n=false}){let i=useMemo(()=>{let C=new Set;return (e.markets??[]).filter(E=>C.has(E.slug)?false:(C.add(E.slug),true))},[e.markets]),s=useMemo(()=>[...i].sort((C,E)=>{let U=G=>(G.outcomes.find(k=>k.label.toLowerCase()==="yes")??G.outcomes[0])?.price??0;return U(E)-U(C)}),[i]),[a,l]=useState(()=>s.slice(0,en).map(C=>C.slug));useEffect(()=>{let C=new Set(i.map(E=>E.slug));l(E=>{let U=E.filter(G=>C.has(G));return U.length===E.length?E:U.length>0?U:s.slice(0,en).map(G=>G.slug)});},[i,s]);let[d,u]=useState(kn),p=useMemo(()=>{let C=new Map;return a.forEach((E,U)=>{C.set(E,oa[U%oa.length]);}),C},[a]),m=useMemo(()=>i.filter(C=>a.includes(C.slug)),[i,a]),{series:c,isLoading:f}=useMarketHistory(m,d),g=t||f,v=useMemo(()=>{if(c.length>0&&c.some(U=>U.data.length>0))return c;let C=Date.now(),E=864e5;return m.map(U=>{let k=(U.outcomes?.find(ce=>ce.label.toLowerCase()==="yes")??U.outcomes?.[0])?.price??.5;return {marketSlug:U.slug,label:U.outcomes?.[0]?.label??U.question,data:[{timestamp:C-7*E,price:k},{timestamp:C,price:k}]}})},[c,m]),x=useMemo(()=>d===ae.ONE_DAY?96:d===ae.ONE_WEEK?168:d===ae.ONE_MONTH?180:300,[d]),b=useMemo(()=>Pm(v,x),[v,x]),w=useMemo(()=>{if(b.length===0)return [0,1];let C=1/0,E=-1/0;if(a.forEach(G=>{b.forEach(k=>{let ce=k[G];ce!=null&&(ce<C&&(C=ce),ce>E&&(E=ce));});}),!isFinite(C))return [0,1];let U=Math.max((E-C)*.15,.05);return [Math.max(0,C-U),Math.min(1,E+U)]},[b,a]),P=useMemo(()=>{let C=new Map;return v.forEach(E=>{E.data.length>0&&C.set(E.marketSlug,E.data[E.data.length-1].price);}),C},[v]),h=useMemo(()=>{let C=new Map;return v.forEach(E=>C.set(E.marketSlug,E.label)),C},[v]),y=useMemo(()=>v.map(C=>({slug:C.marketSlug,color:p.get(C.marketSlug)??"#6b7280"})),[v,p]),{wrapperRef:S,overlayRef:N,onMouseMove:A,onMouseLeave:D}=xm(),z=useCallback(C=>{l(E=>E.includes(C)?E.length<=1?E:E.filter(U=>U!==C):E.length>=en?E:[...E,C]);},[]),[F,q]=useState(null),$=useRef(null),Q=useRef(""),re=useRef(0),Z=!g&&b.length>0;return jsxs("div",{className:r,style:{display:"flex",flexDirection:"column",gap:12,...n?{height:"100%",minHeight:0}:null},children:[jsx(km,{series:v,colorMap:p,displayValues:F??P}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:0,...n?{flex:1,minHeight:0}:null},children:[jsx("div",{ref:S,style:{width:"100%",userSelect:"none",position:"relative",...n?{flex:1,minHeight:240}:{height:300}},onMouseMove:Z?C=>{A(C),cancelAnimationFrame(re.current),re.current=requestAnimationFrame(()=>{q($.current);});}:void 0,onMouseLeave:Z?()=>{D(),cancelAnimationFrame(re.current),Q.current="",$.current=null,q(null);}:void 0,children:g?jsx("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:jsx("div",{style:{width:28,height:28,borderRadius:"50%",border:"2.5px solid #22d3ee",borderTopColor:"transparent",animation:"spin 0.7s linear infinite"}})}):b.length===0?jsx("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#6b7280",fontSize:13},children:"No price history data"}):jsxs(Fragment,{children:[jsx("div",{ref:N,style:{position:"absolute",inset:0,opacity:0,pointerEvents:"none",zIndex:1}}),jsx(ResponsiveContainer,{width:"100%",height:"100%",children:jsxs(LineChart,{data:b,margin:{top:8,right:16,left:0,bottom:0},children:[jsx(CartesianGrid,{horizontal:true,vertical:false,strokeDasharray:"3 3",stroke:"#374151",opacity:.5}),jsx(XAxis,{dataKey:"timestamp",type:"number",scale:"time",domain:["dataMin","dataMax"],tickFormatter:C=>fm(C,d),axisLine:false,tickLine:false,tick:{fill:"#6b7280",fontSize:11},minTickGap:70}),jsx(YAxis,{domain:w,tickFormatter:C=>`${Math.round(C*100)}%`,axisLine:false,tickLine:false,tick:{fill:"#6b7280",fontSize:11},width:40,tickCount:6}),jsx(Tooltip,{content:C=>{let E=C;if(E.active&&E.payload?.length){let U=E.payload.map(G=>`${G.dataKey}:${G.value}`).join(",");if(U!==Q.current){Q.current=U;let G=new Map;E.payload.forEach(k=>{k.value!=null&&G.set(k.dataKey,k.value);}),$.current=G;}}return jsx(bm,{...E,labelMap:h,allSeries:y,range:d})},cursor:{stroke:"#4b5563",strokeWidth:1,strokeDasharray:"4 4"},wrapperStyle:{zIndex:2},isAnimationActive:false}),v.map(C=>{let E=p.get(C.marketSlug)??"#6b7280";return jsx(Line,{type:"linear",dataKey:C.marketSlug,stroke:E,strokeWidth:2,strokeLinejoin:"round",strokeLinecap:"round",dot:false,activeDot:{r:4.5,strokeWidth:2,stroke:"rgba(10,10,10,0.8)",fill:E},connectNulls:true,isAnimationActive:false},C.marketSlug)}),F==null&&b.length>0&&v.map(C=>{let E=b[b.length-1],U=E[C.marketSlug];if(U==null)return null;let G=p.get(C.marketSlug)??"#6b7280";return jsx(ReferenceDot,{x:E.timestamp,y:U,ifOverflow:"extendDomain",shape:k=>{let{cx:ce,cy:pe}=k;return ce==null||pe==null?jsx("g",{}):jsxs("g",{children:[jsxs("circle",{cx:ce,cy:pe,r:6,fill:G,opacity:.3,children:[jsx("animate",{attributeName:"r",values:"4;9;4",dur:"2s",repeatCount:"indefinite"}),jsx("animate",{attributeName:"opacity",values:"0.4;0.05;0.4",dur:"2s",repeatCount:"indefinite"})]}),jsx("circle",{cx:ce,cy:pe,r:3.5,fill:G})]})}},`pulse-${C.marketSlug}`)})]})})]})}),jsxs("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"6px 8px",marginTop:6},children:[o!=null&&o>0&&jsxs("span",{style:{color:"#6b7280",fontSize:12},children:[formatAmountInUsd(o)," vol"]}),jsx("div",{style:{flex:1,minWidth:0}}),jsx(vm,{value:d,onChange:u}),s.length>1&&jsx("div",{style:{width:"100%",display:"flex",alignItems:"center"},children:jsx(ym,{markets:s,selectedSlugs:a,colorMap:p,onToggle:z})})]})]})]})}function $n(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function ca(e,t){let r=e.outcomes[t==="yes"?0:1];return r?.best_ask??r?.price}function Wm(e){return `${parseFloat((e*100).toFixed(2))}%`}function da(e){let t=e*100;return t<1&&t>0?"< 1":parseFloat(t.toFixed(2)).toString()}function Kn(e){return e.outcomes?.[0]?.label??e.question}function Um(e){switch(e){case "polymarket":return "Polymarket";case "kalshi":return "Kalshi";default:return e}}function tn(e){if(!e)return "\u2014";let t=new Date(e);if(isNaN(t.getTime()))return "\u2014";let r=t.toLocaleString("default",{month:"short"}),o=t.getDate(),n=t.getFullYear(),i=t.getHours().toString().padStart(2,"0"),s=t.getMinutes().toString().padStart(2,"0");return `${r} ${o}, ${n} ${i}:${s}`}function ua(e){let[t,r]=useState(0);if(useEffect(()=>{if(!e)return;r(Date.now());let u=setInterval(()=>r(Date.now()),1e3);return ()=>clearInterval(u)},[e]),!e||t===0)return null;let o=new Date(e).getTime();if(isNaN(o))return null;let n=o-t;if(n<=0)return null;let i=Math.floor(n/864e5),s=Math.floor(n%864e5/36e5),a=Math.floor(n%36e5/6e4),l=Math.floor(n%6e4/1e3),d=[];return i>0&&d.push(`${i}d`),d.push(`${String(s).padStart(2,"0")}h`),d.push(`${String(a).padStart(2,"0")}m`),d.push(`${String(l).padStart(2,"0")}s`),d.join(" ")}function pa(e){if(!e)return null;let t=new Date(e);if(isNaN(t.getTime()))return null;let r=t.getHours().toString().padStart(2,"0"),o=t.getMinutes().toString().padStart(2,"0"),n=(t.getMonth()+1).toString().padStart(2,"0"),i=t.getDate().toString().padStart(2,"0"),s=t.getFullYear(),a=-t.getTimezoneOffset(),l=a>=0?"+":"-",d=String(Math.abs(Math.floor(a/60))).padStart(2,"0");return `${r}:${o} ${n}/${i}/${s} (${l}${d})`}function ha({event:e,onTradeAction:t}){let{t:r}=useTranslation(),{ref:o,isCollapsed:n}=useScrollCollapse(),i=useMemo(()=>{let p=[...e.markets||[]],m=p.filter(f=>f.status==="open").sort((f,g)=>$n(g)-$n(f)),c=p.filter(f=>f.status!=="open").sort((f,g)=>$n(g)-$n(f));return [...m,...c]},[e.markets]),s=e.status==="closed"||e.status==="voided",a=ua(s?void 0:e.start_at),l=ua(s?void 0:e.end_at),d=pa(e.start_at),u=pa(e.end_at);return jsxs("div",{className:"w-full flex flex-col gap-y-4 lg:gap-y-6",children:[jsxs("div",{ref:o,className:`sticky top-0 z-30 flex items-center backdrop-blur-md transition-all duration-300 ${n?"h-14 lg:h-16 gap-x-2 py-2 px-1 lg:px-4 -mx-1 lg:-mx-4 shadow-sm":"h-16 lg:h-20 gap-x-2 lg:gap-x-4"}`,children:[jsx(Avatar,{src:e.image_url||void 0,name:e.title||"Event",radius:"lg",classNames:{base:"bg-transparent"},className:`flex-shrink-0 transition-all duration-300 ${n?"!h-10 !w-10 lg:!h-12 lg:!w-12":"!h-16 !w-16 lg:!h-20 lg:!w-20"}`}),jsxs("div",{className:"flex flex-col gap-0.5 min-w-0 flex-1",children:[!n&&jsxs("div",{className:"flex items-center gap-1.5",children:[e.tags?.slice(0,3).map((p,m)=>jsxs(Fragment$1,{children:[m>0&&jsx("span",{className:"text-sm text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-sm text-neutral truncate",children:p.label})]},p.slug)),jsx(jm,{source:e.source})]}),jsx("span",{className:`font-semibold truncate transition-all duration-300 ${n?"text-sm lg:text-base":"text-lg lg:text-xl"}`,children:e.title})]})]}),(a||l||s)&&jsx("div",{className:"flex items-center gap-x-2 text-xs lg:text-sm font-mono",children:s?u&&jsx("span",{className:"text-neutral",children:r("predict.event.endedAt",{time:u})}):a?jsxs(Fragment,{children:[jsx("span",{className:"text-foreground",children:r("predict.event.beginsIn",{time:a})}),d&&jsxs(Fragment,{children:[jsx("span",{className:"text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-neutral",children:d})]})]}):l?jsxs(Fragment,{children:[jsx("span",{className:"text-foreground",children:r("predict.event.endsIn",{time:l})}),u&&jsxs(Fragment,{children:[jsx("span",{className:"text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-neutral",children:u})]})]}):null}),jsx(aa,{event:e,volume:e.volume??void 0}),jsx($m,{markets:i,onTradeAction:t}),jsx(Vm,{markets:i,event:e})]})}var ma=5;function $m({markets:e,onTradeAction:t}){let{t:r}=useTranslation(),{isDesktop:o}=useScreen(),[n,i]=useState(false),[s,a]=useState(null),l=useMemo(()=>{let v=new Set;return e.filter(x=>v.has(x.slug)?false:(v.add(x.slug),true))},[e]),d=l.find(v=>v.status==="open")?.slug,[u,p]=useState(d?`${d}:yes`:null);if(l.length===0)return null;let m=l.length>ma,c=n?l:l.slice(0,ma),f=v=>{a(x=>x===v?null:v);},g=(v,x,b)=>{p(`${v.slug}:${x}`),o&&a(v.slug),t?.(v,x,b);};return jsxs("div",{className:"flex flex-col",children:[jsxs("table",{className:"w-full border-collapse",children:[jsx("thead",{children:jsxs("tr",{children:[jsx("th",{}),jsx("th",{className:"py-2 text-left text-xs text-neutral font-normal lg:text-center lg:text-sm",children:r("predict.market.table.chance")}),jsx("th",{})]})}),jsx("tbody",{children:c.map((v,x)=>{let b=s===v.slug;return jsx(Km,{market:v,activeYes:u===`${v.slug}:yes`,activeNo:u===`${v.slug}:no`,isExpanded:b,onToggleExpand:()=>f(v.slug),onTradeAction:g},v.id??`${x}-${v.slug}`)})})]}),m&&jsxs("button",{type:"button",onClick:()=>i(v=>!v),className:"flex w-full items-center justify-start gap-x-2 py-2 pl-1 text-xs text-neutral lg:pl-2 lg:text-sm cursor-pointer hover:text-foreground transition-colors",children:[jsx("span",{children:r(n?"predict.event.rules.collapse":"predict.event.moreMarketsLabel")}),jsx(ChevronDownIcon,{className:cn$1("h-4 w-4 transition-transform",n&&"rotate-180")})]})]})}function Km({market:e,activeYes:t,activeNo:r,isExpanded:o,onToggleExpand:n,onTradeAction:i}){let{t:s}=useTranslation(),a=e.status==="open",l=e.volume?`${formatAmountInUsd(e.volume)} vol`:void 0,{data:d}=useRealtimeOrderbook({slug:e.slug,source:e.source,outcome:"yes"},{enabled:a}),{data:u}=useOrderbook({slug:e.slug,source:e.source,outcome:"no"},{enabled:false,refetchInterval:false}),p=pickBestAsk(d,"yes")??ca(e,"yes")??0,m=pickBestAsk(u,"no")??ca(e,"no");return jsxs(Fragment,{children:[jsxs("tr",{className:"cursor-pointer border-b border-border text-xs hover:bg-content2 lg:text-base",onClick:n,role:"button",tabIndex:0,onKeyDown:c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),n());},children:[jsx("td",{className:"py-2 pl-1 lg:pl-2",children:jsxs("div",{className:"flex items-center gap-x-1 lg:gap-x-2",children:[e.image_url&&jsx(Avatar,{src:e.image_url,name:Kn(e)?.[0]||"?",radius:"lg",className:"size-5 shrink-0 lg:size-8",imgProps:{className:"object-cover"}}),jsxs("div",{className:"flex flex-col",children:[jsx("span",{className:"text-foreground truncate max-w-[200px] lg:max-w-[300px]",children:Kn(e)}),l&&jsx("span",{className:"text-[8px] text-neutral lg:text-xxs",children:l})]})]})}),jsx("td",{className:"py-2 text-left text-foreground lg:text-center",children:Wm(p)}),jsx("td",{className:"py-2 pr-1 lg:pr-2",children:a?jsxs("div",{className:"flex items-center justify-end gap-x-2",children:[jsx("button",{type:"button",className:cn$1("flex min-w-16 items-center justify-center whitespace-nowrap rounded-lg p-2 lg:min-w-24 cursor-pointer hover:opacity-80 transition-all focus-visible:outline-2 focus-visible:outline-primary/40 focus-visible:outline-offset-2",t?"bg-primary text-primary-foreground":"bg-primary/10 text-primary"),onClick:c=>{c.stopPropagation(),i?.(e,"yes","buy");},children:s("predict.market.action.yes",{price:da(p)})}),jsx("button",{type:"button",className:cn$1("flex min-w-16 items-center justify-center whitespace-nowrap rounded-lg p-2 lg:min-w-24 cursor-pointer hover:opacity-80 transition-all focus-visible:outline-2 focus-visible:outline-primary/40 focus-visible:outline-offset-2",r?"bg-secondary text-secondary-foreground":"bg-secondary/10 text-secondary"),onClick:c=>{c.stopPropagation(),i?.(e,"no","buy");},children:m!=null?s("predict.market.action.no",{price:da(m)}):s("predict.market.no")})]}):jsx("div",{className:"flex items-center justify-end",children:jsx("span",{className:cn$1("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium",e.status==="closed"?"bg-neutral/10 text-neutral":e.status==="voided"?"bg-warning/10 text-warning":"bg-primary/10 text-primary"),children:e.status==="closed"?s("predict.event.status.closed"):e.status==="voided"?s("predict.event.status.voided"):s("predict.event.status.pending")})})})]}),o&&jsx("tr",{children:jsx("td",{colSpan:3,className:"pb-3",children:jsx("div",{className:"max-h-100 overflow-y-auto",children:jsx(na,{market:e,outcome:r?"no":"yes",onTradeAction:i})})})})]})}function Vm({markets:e,event:t}){let{t:r}=useTranslation(),[o,n]=useState(false),[i,s]=useState(false),[a,l]=useState(0),d=e.filter(c=>c.rules&&c.rules.length>0||c.description);if(d.length===0)return null;let u=d[a]??d[0],p=u.rules&&u.rules.length>0?u.rules.join(`
77
77
 
78
78
  `):u.description??"";if(!p)return null;let m=p.length>200&&!o?p.slice(0,200)+"...":p;return jsxs("div",{className:"flex flex-col gap-y-3",children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-semibold text-foreground lg:text-base",children:r("predict.event.rules")}),d.length>1&&jsxs(Dropdown,{placement:"bottom-end",classNames:{content:"min-w-36 bg-content1 border border-border"},children:[jsx(DropdownTrigger,{children:jsx(Button,{size:"sm",variant:"bordered",radius:"lg",endContent:jsx(ChevronDownIcon,{className:"h-3.5 w-3.5"}),className:"text-xs text-foreground",children:Kn(u)})}),jsx(DropdownMenu,{"aria-label":"Select market rules",selectionMode:"single",selectedKeys:[String(a)],onAction:c=>{l(Number(c)),n(false);},classNames:{list:"gap-1"},itemClasses:{base:"rounded-md px-3 h-8"},children:d.map((c,f)=>jsx(DropdownItem,{className:cn$1(f===a?"bg-content2 text-foreground":"text-neutral","data-[hover=true]:bg-content2 data-[hover=true]:text-foreground"),children:Kn(c)},String(f)))})]})]}),jsx("div",{className:"text-xs text-foreground/80 lg:text-sm whitespace-pre-wrap",children:m}),p.length>200&&jsx("button",{type:"button",onClick:()=>n(c=>!c),className:"text-xs text-neutral hover:text-foreground cursor-pointer transition-colors self-start",children:r(o?"predict.event.rules.collapse":"predict.event.showMore")}),jsxs("button",{type:"button",onClick:()=>s(c=>!c),className:"flex items-center justify-between w-full mt-2 text-xs font-medium text-neutral lg:text-sm cursor-pointer hover:text-foreground transition-colors",children:[jsx("span",{children:r("predict.event.timelineAndPayout")}),jsx(ChevronDownIcon,{className:cn$1("h-4 w-4 transition-transform",i&&"rotate-180")})]}),i&&jsxs(Fragment,{children:[jsx("div",{className:"flex flex-col",children:(()=>{let c=u.status,f=[];return u.created_at&&f.push({label:r("predict.event.timeline.created"),value:tn(u.created_at),isActive:true}),f.push({label:r("predict.event.timeline.open"),value:tn(u.start_at),isActive:c!=="pending"}),c==="voided"?f.push({label:r("predict.event.timeline.voided"),value:tn(u.closed_at??u.end_at),isActive:true}):c==="closed"?f.push({label:r("predict.event.timeline.closed"),value:tn(u.closed_at??u.end_at),isActive:true}):f.push({label:r("predict.event.timeline.close"),value:tn(u.end_at),isActive:false}),f})().map((c,f,g)=>jsxs("div",{className:"flex items-stretch gap-x-3",children:[jsxs("div",{className:"flex flex-col items-center w-3",children:[jsx("div",{className:`h-3 w-3 shrink-0 rounded-full border-2 mt-0.5 ${c.isActive?"border-primary bg-primary":"border-border bg-transparent"}`}),f<g.length-1&&jsx("div",{className:"w-px flex-1 bg-border"})]}),jsxs("div",{className:`flex flex-col ${f<g.length-1?"pb-4":""}`,children:[jsx("span",{className:"text-xs font-medium text-foreground lg:text-sm",children:c.label}),jsx("span",{className:"text-xs text-neutral lg:text-sm",children:c.value})]})]},c.label))}),jsxs("div",{className:"flex flex-wrap items-center gap-x-3 text-xxs text-neutral mt-2 lg:text-xs",children:[jsxs("span",{children:[jsxs("span",{className:"text-neutral",children:[r("predict.event.id.event"),":"]})," ",jsx("span",{className:"text-foreground",children:t.slug})]}),jsxs("span",{children:[jsxs("span",{className:"text-neutral",children:[r("predict.event.id.market"),":"]})," ",jsx("span",{className:"text-foreground",children:u.slug})]}),jsxs("span",{children:[jsxs("span",{className:"text-neutral",children:[r("predict.event.id.source"),":"]})," ",jsx("span",{className:"text-foreground",children:Um(u.source)})]})]})]})]})}function jm({source:e}){return jsxs("span",{className:"inline-flex items-center gap-x-1 text-neutral-400",title:e==="polymarket"?"Polymarket":"Kalshi",children:[jsx("span",{className:"text-neutral-600",children:"\xB7"}),e==="polymarket"?jsx(PolymarketIcon,{className:"h-5 w-auto shrink-0"}):jsx(KalshiIcon,{className:"h-3 w-auto shrink-0"})]})}function va({eventSlug:e,source:t,onTradeAction:r}){let{data:o,isLoading:n,error:i}=useEvent({slug:e,source:t});return n?jsx(Jr,{}):i||!o?jsx("div",{className:"flex w-full items-center justify-center py-20 text-danger",children:i?.message||"Event not found"}):jsx(ha,{event:o,onTradeAction:r})}var Xm={kalshi:{label:"KALSHI",color:"#00d492",bgColor:"rgba(0, 212, 146, 0.12)",icon:jsx(KalshiIcon,{className:"w-3.5 h-3.5 shrink-0"})},polymarket:{label:"POLYMARKET",color:"#50a2ff",bgColor:"rgba(43, 127, 255, 0.12)",icon:jsx(PolymarketIcon,{className:"w-3.5 h-3.5 shrink-0"})},dflow:{label:"DFLOW",color:"rgb(16, 185, 129)",bgColor:"rgba(16, 185, 129, 0.12)",icon:null}},Jm={label:"Unknown",color:"rgb(156, 163, 175)",bgColor:"rgba(156, 163, 175, 0.12)",icon:null};function _t(e){return Xm[e]??Jm}function Vy({source:e,className:t}){let r=_t(e);return jsxs("span",{className:cn$1("inline-flex items-center gap-x-1 rounded-md px-1.5 py-0.5 text-xs font-medium",t),style:{backgroundColor:r.bgColor,color:r.color},children:[r.icon,r.label]})}var ba="rgba(39,39,42,0.6)",sf="rgba(63,63,70,0.8)";function af(e){return e==null?"-":formatAmountInUsd(e)}function ka({eventSlug:e,source:t,limit:r=4,onEventClick:o,onEventHover:n}){let{t:i}=useTranslation(),{data:s,isLoading:a}=useSimilarEvents({slug:e,source:t,limit:r});return a||!s||s.length===0?null:jsxs("div",{className:"flex flex-col gap-y-3 mt-6 px-1 lg:px-0",children:[jsx("span",{style:{color:"#f4f4f5",fontSize:14,fontWeight:600},children:i("predict.similar.title")}),jsx("div",{className:"grid grid-cols-1 gap-2",children:s.map(l=>jsx(lf,{event:l,onClick:o,onHover:n},`${l.source}-${l.slug}`))})]})}function lf({event:e,onClick:t,onHover:r}){let{t:o}=useTranslation(),n=_t(e.source),i=useMemo(()=>af(e.volume),[e.volume]),s=e.tags?.[0];return jsxs("button",{type:"button",onClick:()=>t?.(e),onMouseEnter:a=>{a.currentTarget.style.borderColor=sf,r?.(e);},onMouseLeave:a=>{a.currentTarget.style.borderColor=ba;},style:{display:"flex",alignItems:"center",gap:10,padding:"10px 12px",borderRadius:14,border:`1px solid ${ba}`,background:"rgba(24,24,27,0.4)",cursor:"pointer",textAlign:"left",width:"100%",transition:"border-color 0.2s"},className:"group",children:[jsx(Avatar,{src:e.image_url||void 0,name:e.title?.[0]||"?",radius:"full",className:"size-9 shrink-0 bg-transparent",imgProps:{className:"object-cover"}}),jsxs("div",{style:{display:"flex",flexDirection:"column",minWidth:0,flex:1,gap:2},children:[jsx("span",{style:{fontSize:13,fontWeight:500,color:"#f4f4f5",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.title}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:10,color:"#71717a"},children:[jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:3,color:n.color,flexShrink:0},children:[n.icon,jsx("span",{style:{fontSize:10,fontWeight:600,letterSpacing:"0.04em",textTransform:"uppercase"},children:n.label})]}),jsx("span",{style:{color:"#52525b"},children:"\xB7"}),jsxs("span",{style:{color:"#a1a1aa"},children:[i," ",o("predict.event.volume")]}),s&&jsxs(Fragment,{children:[jsx("span",{style:{color:"#52525b"},children:"\xB7"}),jsx("span",{style:{color:"#71717a"},children:s.label})]})]})]}),jsx(ChevronRightIcon,{width:14,height:14,className:"shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",style:{color:"#71717a"}})]})}function jn(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function h1({eventSlug:e,source:t,chain:r,walletAddress:o,onSimilarEventClick:n,onSimilarEventHover:i,onBack:s,renderActivitySection:a,onInsufficientBalance:l,onSetupRequired:d,slippageBps:u}){let{t:p}=useTranslation(),{isDesktop:m}=useScreen(),{onOpen:c}=useAsyncModal(Kr),{onOpen:f}=useAsyncModal(Io),{data:g,isLoading:v}=useEvent({slug:e,source:t}),x=useMemo(()=>{let N=[...g?.markets||[]],A=N.filter(z=>z.status==="open").sort((z,F)=>jn(F)-jn(z)),D=N.filter(z=>z.status!=="open").sort((z,F)=>jn(F)-jn(z));return [...A,...D]},[g?.markets]),[b,w]=useState(null),P=useCallback((N,A,D)=>{w(z=>({market:N,outcome:A,side:D,version:(z?.version??0)+1})),!m&&g&&(D==="sell"?f({params:{event:g,market:N,initialOutcome:A,chain:r,slippageBps:u,onSetupRequired:d}}):c({params:{event:g,market:N,initialOutcome:A,chain:r,slippageBps:u,onInsufficientBalance:l}}));},[m,g,r,u,c,f,l,d]),h=b?.market??x[0];if(v){let N=!!s;return m?jsxs("div",{className:"flex w-full max-w-6xl mx-auto gap-x-4 lg:gap-x-6",children:[jsx("div",{className:"min-w-0 flex-1 max-w-3xl",children:jsx(Jr,{showBack:N})}),jsx("aside",{className:"hidden lg:block w-[340px] xl:w-[380px] shrink-0",children:jsx("div",{className:"sticky top-4 max-h-[calc(100dvh-2rem)] overflow-y-auto scrollbar-thin",children:jsx(Ks,{})})})]}):jsx(Jr,{showBack:N})}let y=b?`${b.market.slug}-${b.version}`:h?.slug??"default",S=b?.side==="sell";return jsxs("div",{className:"flex w-full flex-col gap-y-4 pb-12 lg:max-w-7xl lg:gap-y-8 lg:pb-16 mx-auto",children:[jsxs("div",{className:"flex w-full justify-center gap-4 pt-4 lg:gap-6",children:[jsxs("div",{className:"flex-auto min-w-0 flex flex-col gap-y-4 px-4 lg:gap-y-6 lg:px-0",children:[s&&jsx("div",{className:"flex items-center justify-between",children:jsx(Button,{as:"a",onPress:s,startContent:jsx(ChevronLeftIcon,{className:"h-4 w-4"}),className:"text-neutral bg-transparent h-5 min-h-5 gap-x-2 p-0 text-base w-auto min-w-auto",children:p("common.back")})}),jsx(va,{eventSlug:e,source:t,onTradeAction:P})]}),jsxs("div",{className:"hidden flex-none w-md flex-col gap-y-4 lg:sticky lg:top-4 lg:flex lg:self-start",children:[h&&(S?jsx(Fn,{event:g,market:h,initialOutcome:b?.outcome,chain:r,slippageBps:u,onSetupRequired:d},y):jsx(Tn,{event:g,market:h,initialOutcome:b?.outcome,chain:r,slippageBps:u,onInsufficientBalance:l},y)),g&&jsx(ka,{eventSlug:e,source:g.source,onEventClick:n,onEventHover:i})]})]}),g&&jsx("div",{className:"flex w-full flex-col",children:a?a({event:g,walletAddress:o}):jsx(Ws,{event:g,walletAddress:o})}),jsx(Ln,{}),jsx(Bs,{}),jsx(Ps,{})]})}function wa(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function Sf(e){switch(e){case ae.ONE_DAY:return {interval:"15m",limit:96};case ae.ONE_WEEK:return {interval:"1h",limit:168};case ae.ONE_MONTH:return {interval:"4h",limit:180};case ae.ALL:return {interval:"1d",limit:300};default:return {interval:"1h",limit:100}}}var w1=e=>{let{candlestickMarketSlugs:t,chartRange:r=kn,source:o}=e,n=usePredictClient(),i=useMemo(()=>Sf(r),[r]),{data:s,isLoading:a,error:l}=useEvent({slug:e.eventSlug,source:o}),d=useMemo(()=>{if(!s?.markets)return [];let f=new Set,g=s.markets.filter(x=>f.has(x.slug)?false:(f.add(x.slug),true));return (t&&t.length>0?t.slice(0,4).map(x=>g.find(b=>b.slug===x)).filter(x=>x!==void 0):[...g].sort((x,b)=>wa(b)-wa(x)).slice(0,4)).map(x=>x.slug)},[t,s?.markets]),u=useQueries({queries:d.map(f=>({queryKey:candlesticksQueryKey(f,i),queryFn:()=>n.listCandlesticks(f,i),enabled:d.length>0}))}),p=u.some(f=>f.isLoading),m=useMemo(()=>{let f=new Map;return d.forEach((g,v)=>{let x=u[v]?.error;x&&f.set(g,x);}),f},[d,u]),c=useMemo(()=>{let f=new Map;return d.forEach((g,v)=>{let x=u[v]?.data;x&&f.set(g,x);}),f},[d,u]);return {event:s,isEventLoading:a,eventError:l,candlestickParams:i,candlesticks:c,isCandlesticksLoading:p,candlestickErrors:m}};function Go({comment:e,anonymousLabel:t,isReply:r=false}){let{profile:o}=e,n=o.name||o.pseudonym||t,i=useMemo(()=>Cf(e.created_at),[e.created_at]);return jsxs("div",{className:cn$1("flex gap-x-2.5 px-1 py-3 border-b border-border/40 lg:px-2",r&&"pl-8 lg:pl-9"),children:[jsx(wf,{src:o.profile_image,name:n,className:cn$1("shrink-0",r?"size-6":"size-8 lg:size-7")}),jsxs("div",{className:"min-w-0 flex-1",children:[jsxs("div",{className:"flex items-baseline gap-x-2",children:[jsx("span",{className:"truncate text-sm font-medium text-foreground",children:n}),jsx("span",{className:"ml-auto shrink-0 text-xs text-neutral",children:i})]}),jsx("p",{className:"mt-1 whitespace-pre-wrap break-words text-sm leading-relaxed text-foreground/90",children:e.body}),jsxs("div",{className:"mt-2 flex items-center gap-x-1 text-neutral",children:[jsx(Pf,{className:"size-3.5"}),jsx("span",{className:"text-xs tabular-nums",children:e.reaction_count})]})]})]})}function wf({src:e,name:t,className:r}){let o=t.trim().charAt(0).toUpperCase()||"?",n=useMemo(()=>Nf(t),[t]);return e?jsx("img",{src:e,alt:t,loading:"lazy",className:cn$1("rounded-full object-cover",r)}):jsx("span",{className:cn$1("flex items-center justify-center rounded-full text-xs font-semibold text-white",r),style:{backgroundColor:n},"aria-hidden":true,children:o})}function Pf({className:e}){return jsx("svg",{viewBox:"0 0 24 24",className:e,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":true,children:jsx("path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"})})}function Nf(e){let t=0;for(let o=0;o<e.length;o++)t=e.charCodeAt(o)+((t<<5)-t);return `hsl(${Math.abs(t)%360}, 55%, 45%)`}function Cf(e){let t=new Date(e).getTime();if(Number.isNaN(t))return "";let r=Math.max(0,Math.floor((Date.now()-t)/1e3));if(r<60)return "now";let o=Math.floor(r/60);if(o<60)return `${o}m`;let n=Math.floor(o/60);if(n<24)return `${n}h`;let i=Math.floor(n/24);if(i<7)return `${i}d`;let s=Math.floor(i/7);return s<5?`${s}w`:new Date(t).toLocaleDateString(void 0,{month:"short",day:"numeric"})}var Af={latest:{order:"createdAt",ascending:false},oldest:{order:"createdAt",ascending:true},mostLiked:{order:"reactionCount",ascending:false}},Ca={latest:"predict.comments.sortLatest",oldest:"predict.comments.sortOldest",mostLiked:"predict.comments.sortMostLiked"},Ff=["latest","oldest","mostLiked"],Bf=600,Hf=112;function zf({slug:e,source:t,limit:r=20,height:o,className:n}){let{t:i}=useTranslation(),[s,a]=useState("latest"),[l,d]=useState(false),u=Af[s],{data:p,isLoading:m,isFetchingNextPage:c,hasNextPage:f,fetchNextPage:g}=useInfiniteComments({slug:e,source:t,limit:r,order:u.order,ascending:u.ascending,holders_only:l}),v=useMemo(()=>p?.pages?.flatMap(D=>D.items)??[],[p?.pages]),x=useRef(null),{height:b}=useResizeObserver({ref:x}),w=o??(b||Bf),P=useDynamicRowHeight({defaultRowHeight:Hf,key:`${e}:${t}:${s}:${l}`}),h=v.length,y=h+(f?1:0),S=useCallback(D=>D<h,[h]),N=useCallback(async()=>{f&&!c&&await g();},[f,c,g]),A=useInfiniteLoader({isRowLoaded:S,loadMoreRows:N,rowCount:y,threshold:5});return jsxs("div",{className:cn$1("flex h-full w-full flex-col",n),children:[jsx(Uf,{sort:s,onSortChange:a,holdersOnly:l,onHoldersOnlyChange:d}),jsx("div",{className:"min-h-0 flex-auto overflow-hidden",ref:x,children:m?jsx($f,{}):v.length===0?jsx(Kf,{message:i("predict.comments.empty")}):jsx(List,{className:"no-scrollbar",style:{height:w},onRowsRendered:A,rowComponent:Wf,rowCount:y,rowHeight:P,rowProps:{comments:v,itemCount:h,anonymousLabel:i("predict.comments.anonymous")},overscanCount:4})})]})}function Wf({index:e,style:t,comments:r,itemCount:o,anonymousLabel:n}){if(e>=o)return jsx("div",{style:t,className:"flex items-center justify-center py-4",children:jsx(Spinner,{size:"sm"})});let i=r[e];return i?jsx("div",{style:t,children:jsx(Go,{comment:i,anonymousLabel:n,isReply:!!i.parent_comment_id})}):null}function Uf({sort:e,onSortChange:t,holdersOnly:r,onHoldersOnlyChange:o}){let{t:n}=useTranslation(),[i,s]=useState(false),a=useRef(null);return useEffect(()=>{if(!i)return;let l=u=>{a.current&&!a.current.contains(u.target)&&s(false);},d=u=>{u.key==="Escape"&&s(false);};return document.addEventListener("mousedown",l),document.addEventListener("keydown",d),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",d);}},[i]),jsxs("div",{className:"flex items-center justify-between gap-2 px-1 py-2 lg:px-2",children:[jsxs("div",{ref:a,className:"relative",children:[jsxs("button",{type:"button",onClick:()=>s(l=>!l),className:"inline-flex items-center gap-x-1.5 rounded-lg border border-border bg-content2/40 px-3 py-1.5 text-sm text-foreground transition-colors hover:bg-content2 cursor-pointer",children:[jsx(Vf,{className:"size-3.5 text-neutral"}),jsx("span",{children:n(Ca[e])}),jsx(jf,{className:cn$1("size-3.5 text-neutral transition-transform",i&&"rotate-180")})]}),i&&jsx("div",{className:"absolute left-0 top-full z-20 mt-1.5 min-w-40 overflow-hidden rounded-xl border border-border bg-content1 p-1 shadow-xl",children:Ff.map(l=>{let d=l===e;return jsxs("button",{type:"button",onClick:()=>{t(l),s(false);},className:cn$1("flex w-full items-center gap-x-2 rounded-lg px-3 py-2 text-left text-sm transition-colors cursor-pointer",d?"bg-primary/10 text-primary":"text-neutral hover:bg-content2 hover:text-foreground"),children:[jsx("span",{className:"flex-1 font-medium",children:n(Ca[l])}),d&&jsx(Ma,{className:"size-4 text-primary"})]},l)})})]}),jsxs("button",{type:"button",role:"switch","aria-checked":r,onClick:()=>o(!r),className:cn$1("inline-flex items-center gap-x-1.5 rounded-lg border px-3 py-1.5 text-sm transition-colors cursor-pointer",r?"border-primary/40 bg-primary/10 text-primary":"border-border bg-content2/40 text-neutral hover:text-foreground"),children:[jsx("span",{className:cn$1("flex size-4 items-center justify-center rounded border",r?"border-primary bg-primary":"border-neutral"),children:r&&jsx(Ma,{className:"size-3 text-background"})}),n("predict.comments.holdersOnly")]})]})}function $f(){return jsx("div",{className:"flex flex-col gap-y-4 px-1 py-3 lg:px-2",children:Array.from({length:6}).map((e,t)=>jsxs("div",{className:"flex gap-x-2.5",children:[jsx(Skeleton,{className:"size-8 shrink-0 rounded-full"}),jsxs("div",{className:"flex-1 space-y-2",children:[jsx(Skeleton,{className:"h-3 w-24 rounded"}),jsx(Skeleton,{className:"h-3 w-full rounded"}),jsx(Skeleton,{className:"h-3 w-2/3 rounded"})]})]},t))})}function Kf({message:e}){return jsxs("div",{className:"flex flex-col items-center justify-center py-16",children:[jsx(EmptyIcon,{width:28,height:28,className:"text-neutral"}),jsx("p",{className:"mt-2 text-sm text-neutral",children:e})]})}function Vf({className:e}){return jsxs("svg",{viewBox:"0 0 24 24",className:e,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":true,children:[jsx("path",{d:"m21 16-4 4-4-4"}),jsx("path",{d:"M17 20V4"}),jsx("path",{d:"m3 8 4-4 4 4"}),jsx("path",{d:"M7 4v16"})]})}function jf({className:e}){return jsx("svg",{viewBox:"0 0 24 24",className:e,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":true,children:jsx("path",{d:"m6 9 6 6 6-6"})})}function Ma({className:e}){return jsx("svg",{viewBox:"0 0 24 24",className:e,fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":true,children:jsx("path",{d:"M20 6 9 17l-5-5"})})}var Yf=10,Qf=atomWithStorage("liberfi:predict_search_histories",[],void 0,{getOnInit:true});function Xn(){let[e,t]=useAtom(Qf),r=useCallback(n=>{let i=n.trim();i&&t(s=>{let a=s.filter(l=>l!==i);return [i,...a].slice(0,Yf)});},[t]),o=useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:r,clearHistories:o}}function Ia({histories:e,onSelect:t,onClear:r,className:o}){let{t:n}=useTranslation();return e.length===0?null:jsxs("div",{className:cn$1("px-4 pb-4",o),children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium",children:n("predict.search.history")}),jsx(Button,{isIconOnly:true,size:"sm",className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:r,children:jsx(TrashIcon,{width:20,height:20})})]}),jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map(i=>jsx(Chip,{size:"sm",variant:"bordered",className:cn$1("text-neutral","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(i),children:i},i))})]})}function Oa({onSelect:e,className:t}){let{histories:r,clearHistories:o}=Xn();return jsx(Ia,{className:cn$1(t),histories:r,onSelect:e,onClear:o})}function Da({value:e,onValueChange:t,onClear:r,onEscape:o,className:n}){let{t:i}=useTranslation();return jsx("div",{className:n,children:jsx(StyledInput,{autoFocus:true,variant:"bordered",radius:"lg",value:e,onValueChange:t,placeholder:i("predict.search.placeholder"),classNames:{inputWrapper:["!bg-[rgba(39,39,42,0.6)]","!border-[rgba(63,63,70,0.5)]","data-[hover=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!border-[rgba(63,63,70,0.8)]"].join(" ")},startContent:jsx(SearchIcon,{width:20,height:20,className:"text-neutral"}),endContent:e?jsx(Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:r,children:jsx(XCloseIcon,{width:20,height:20})}):jsx(Kbd,{className:"min-w-8 justify-center text-xs text-neutral bg-transparent border border-[rgba(63,63,70,0.5)] rounded-lg cursor-pointer select-none",onMouseDown:s=>{s.preventDefault(),o?.();},children:"Esc"})})})}function hg(e){return e==null?"-":formatAmountInUsd(e)}function Aa({event:e,href:t,LinkComponent:r,onSelect:o,onHover:n,className:i}){let{t:s}=useTranslation(),a=e.tags?.[0],l=_t(e.source),d=useMemo(()=>hg(e.volume),[e.volume]);return jsxs(Linkable,{href:t,LinkComponent:r,className:cn$1("group w-full h-full px-3 flex items-center gap-3","hover:cursor-pointer hover:bg-content2 rounded-lg","transition-colors duration-150",i),onClick:u=>{t&&o&&u.preventDefault(),o?.(e);},onMouseEnter:()=>n?.(e),children:[jsx(Avatar,{src:e.image_url||void 0,name:e.title||"Event",radius:"full",className:"h-10 w-10 flex-shrink-0"}),jsxs("div",{className:"flex-1 min-w-0 flex flex-col justify-center gap-y-0.5",children:[jsx("span",{className:"min-w-0 text-sm font-medium line-clamp-2 group-hover:text-primary transition-colors",children:e.title}),jsxs("div",{className:"flex items-center gap-x-2 text-[10px] font-normal text-neutral-500 lg:text-xs",children:[jsxs("span",{className:"inline-flex items-center gap-x-1 shrink-0",style:{color:l.color},children:[l.icon,jsx("span",{style:{fontSize:10,fontWeight:600,letterSpacing:"0.04em",textTransform:"uppercase"},children:l.label})]}),jsx("span",{className:"text-neutral-600",children:"\xB7"}),jsxs("span",{className:"text-neutral-400",children:[d," ",s("predict.event.volume")]}),a&&jsxs(Fragment,{children:[jsx("span",{className:"text-neutral-600",children:"\xB7"}),jsx("span",{className:"text-neutral-500",children:a.label})]})]})]}),jsx(ChevronRightIcon,{width:16,height:16,className:"shrink-0 text-neutral-500 opacity-0 group-hover:opacity-100 transition-opacity"})]})}function Fa({keyword:e="",limit:t,source:r}){let{data:o,isLoading:n,isFetchingNextPage:i,hasNextPage:s,fetchNextPage:a}=useSearchEvents({keyword:e,limit:t,source:r,sort_by:e?void 0:"volume",sort_asc:e?void 0:false},{enabled:true});return {events:useMemo(()=>o?.pages.flatMap(d=>d.items).filter(d=>d!=null)??[],[o]),isLoading:n,isFetchingNextPage:i,hasNextPage:s??false,fetchNextPage:a}}var Cg=64;function Wa({onSelect:e,getEventHref:t,LinkComponent:r,onHover:o,className:n,...i}){let{events:s,isLoading:a,isFetchingNextPage:l,hasNextPage:d,fetchNextPage:u}=Fa(i),p=useRef(null),{height:m}=useResizeObserver({ref:p}),c=useCallback(x=>x<s.length,[s]),f=useCallback(async()=>{d&&!l&&await u();},[d,l,u]),g=useMemo(()=>d?s.length+1:s.length,[s,d]),v=useInfiniteLoader({isRowLoaded:c,loadMoreRows:f,rowCount:g,threshold:5});return a?jsx(Eg,{className:n}):s.length===0?jsx(Tg,{className:n}):jsx("div",{className:cn$1("w-full h-full flex flex-col",n),children:jsx("div",{className:"flex-auto min-h-0",ref:p,children:jsx(List,{className:"no-scrollbar",style:{height:m},onRowsRendered:v,rowComponent:Mg,rowCount:g,rowHeight:Cg,rowProps:{events:s,onSelect:e,getEventHref:t,LinkComponent:r,onHover:o},overscanCount:5})})})}function Mg({index:e,style:t,events:r,onSelect:o,getEventHref:n,LinkComponent:i,onHover:s}){let a=r[e];return a?jsx("div",{style:t,children:jsx(Aa,{event:a,href:n?.(a),LinkComponent:i,onSelect:o,onHover:s})}):jsx("div",{style:t,className:"flex items-center justify-center",children:jsx(Spinner,{size:"sm"})})}function Eg({className:e}){let{t}=useTranslation();return jsxs("div",{className:cn$1("flex items-center justify-center gap-2 py-16",e),children:[jsx(Spinner,{size:"sm"}),jsx("span",{className:"text-sm text-neutral",children:t("predict.search.loading")})]})}function Tg({className:e}){let{t}=useTranslation();return jsxs("div",{className:cn$1("flex flex-col items-center justify-center py-16",e),children:[jsx(EmptyIcon,{width:28,height:28,className:"text-neutral"}),jsx("p",{className:"mt-2 text-sm text-neutral",children:t("predict.search.noResults")})]})}function Va({onKeywordChange:e}){let[t,r]=useState(""),[o,n]=useState(""),{addHistory:i}=Xn(),s=useCallbackRef(e),a=useCallbackRef(i),l=useMemo(()=>debounce(m=>{n(m),s(m),m&&a(m);},500),[s,a]),d=useCallback(m=>{r(m),l(m);},[l]),u=useCallback(m=>{l.cancel(),r(m),n(m),s(m),m&&a(m);},[l,s,a]),p=useCallback(()=>u(""),[u]);return {text:t,keyword:o,setText:d,setKeyword:u,clearKeyword:p}}function ja({onKeywordChange:e,onSelectEvent:t,getEventHref:r,LinkComponent:o,onHover:n,onEscape:i,source:s}){let{text:a,keyword:l,setText:d,setKeyword:u,clearKeyword:p}=Va({onKeywordChange:e});return jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsx(Da,{value:a,onValueChange:d,onClear:p,onEscape:i}),!l&&jsx(Oa,{onSelect:u}),jsx(Wa,{className:"flex-auto min-h-0",keyword:l,onSelect:t,getEventHref:r,LinkComponent:o,onHover:n,source:s})]})}var Zo="predict-search";function gk({id:e=Zo}){return jsx(AsyncModal,{id:e,children:t=>jsx(Ug,{...t})})}function Ug({params:e,isOpen:t,onOpenChange:r,onResult:o}){let{t:n}=useTranslation(),{isMobile:i}=useScreen(),s=useCallback(l=>{o(l);},[o]),a=useCallback(()=>{r(false);},[r]);return jsx(StyledModal,{isOpen:t,onOpenChange:r,size:i?"full":"lg",hideCloseButton:true,backdrop:"blur",radius:"lg",children:jsxs(ModalContent,{className:"w-full h-full",style:{borderRadius:i?void 0:14,border:i?void 0:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:i?void 0:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"},children:[jsxs(ModalHeader,{className:"sm:hidden flex items-center justify-between pt-4 pb-2",children:[jsx("span",{className:"text-base font-semibold",children:n("predict.search.title")}),jsx(Button,{isIconOnly:true,onPress:()=>r(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsx(XCloseIcon,{width:20,height:20})})]}),jsx(ModalBody,{className:"p-4",children:jsx(ja,{getEventHref:e?.getEventHref,LinkComponent:e?.LinkComponent,onHover:e?.onHover,source:e?.source,onSelectEvent:s,onEscape:a})})]})})}function Pk({onSelectEvent:e,modalParams:t,className:r}){let{t:o}=useTranslation(),{isDesktop:n}=useScreen(),{onOpen:i,onClose:s}=useAsyncModal(Zo),a=useCallbackRef(e),l=useCallbackRef(async()=>{let u=await i({params:t});u&&a(u);}),d=useCallbackRef(()=>{s();});return useEffect(()=>{let u=p=>{let m=document.activeElement,c=!!m&&(m.tagName==="INPUT"||m.tagName==="TEXTAREA"||m.getAttribute("contenteditable")==="true");p.key==="/"&&!c&&(p.preventDefault(),l()),p.key==="Escape"&&(p.preventDefault(),d());};return window.addEventListener("keydown",u),()=>{window.removeEventListener("keydown",u);}},[l,d]),n?jsx(Button,{size:"sm",radius:"full",onPress:l,variant:"bordered",startContent:jsx(SearchIcon,{width:16,height:16,className:"text-foreground"}),endContent:jsx(Kbd,{className:"min-w-6 justify-center text-xs text-foreground bg-content3 rounded-lg",children:"/"}),className:cn$1("w-56 min-w-0 h-8 min-h-0 border-transparent hover:border-border bg-content2 pl-3 pr-1.5 text-neutral",r),children:o("predict.search.placeholder")}):jsx(Button,{size:"sm",radius:"full",isIconOnly:true,onPress:l,variant:"bordered",className:cn$1("w-8 min-w-0 h-8 min-h-0 border-1 border-border bg-content2",r),children:jsx(SearchIcon,{width:16,height:16,className:"text-foreground"})})}var ti=[{value:"spread",labelKey:"predict.matches.sort.spread",descKey:"predict.matches.sort.spreadDesc",icon:"trending-up"},{value:"volume",labelKey:"predict.matches.sort.volume",descKey:"predict.matches.sort.volumeDesc",icon:"chart-column"},{value:"confidence",labelKey:"predict.matches.sort.confidence",descKey:"predict.matches.sort.confidenceDesc",icon:"flame"}],nl=[{labelKey:"predict.matches.filter.noMinimum",label:"$0",value:0},{labelKey:null,label:"$100+",value:100},{labelKey:null,label:"$500+",value:500},{labelKey:null,label:"$1K+",value:1e3},{labelKey:null,label:"$5K+",value:5e3},{labelKey:null,label:"$10K+",value:1e4},{labelKey:null,label:"$50K+",value:5e4},{labelKey:null,label:"$100K+",value:1e5}],el={display:"inline-flex",alignItems:"center",gap:8,borderRadius:10,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",padding:"8px 12px",fontSize:14,color:"#d4d4d8",cursor:"pointer",transition:"all 0.15s"},tl={position:"absolute",right:0,top:"100%",zIndex:20,marginTop:8,borderRadius:14,border:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"};function Qg(e,t){if(!e)return "$5K+";let r=nl.find(o=>o.value===e);return r?r.labelKey?t(r.labelKey):r.label:`$${e}`}function ol({sortBy:e,onSortChange:t,sortAsc:r,onSortAscChange:o,minVolume:n,onMinVolumeChange:i,onRefresh:s}){let{t:a}=useTranslation(),[l,d]=useState(false),[u,p]=useState(false),[m,c]=useState(false),[f,g]=useState(false),v=useRef(null),x=useRef(null),b=ti.find(h=>h.value===e)??ti[0],w=useCallback(h=>{v.current&&!v.current.contains(h.target)&&d(false),x.current&&!x.current.contains(h.target)&&p(false);},[]);useEffect(()=>(document.addEventListener("mousedown",w),()=>document.removeEventListener("mousedown",w)),[w]);let P=useCallback(()=>{s?.(),g(true),setTimeout(()=>g(false),700);},[s]);return jsxs(Fragment,{children:[jsx("style",{children:`
79
79
  @keyframes matchRefreshSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@@ -124,10 +124,10 @@ import {createContext,memo,useRef,forwardRef,useState,useImperativeHandle,useMem
124
124
  outline: 2px solid hsl(var(--heroui-primary) / 0.4);
125
125
  outline-offset: 2px;
126
126
  }
127
- `;function h0({tier:e}){let t=dl[e],r=e==="wide"?5:e==="moderate"?3:1;return jsx("div",{style:{display:"flex",gap:2,alignItems:"center"},children:Array.from({length:5},(o,n)=>jsx("div",{style:{width:6,height:10,borderRadius:1.5,background:n<r?t.gaugeActive:t.gaugeInactive,transition:"background 0.2s"}},n))})}function v0(e){if(Array.isArray(e.legs)&&e.legs.length===2)return [e.legs[0],e.legs[1]];let t=(r,o,n)=>({source:r,event_title:o,event_slug:n?.event_slug??"",market_id:n?.id??0,market_slug:n?.slug??"",question:n?.question??"",status:n?.status??"open",outcomes:n?.outcomes,best_price:n?.outcomes?.[0]?.best_ask??n?.outcomes?.[0]?.price??void 0,vol_24h_usd:n?.volume_24h??void 0});return !e.market_a||!e.market_b?null:[t(e.source_a,e.event_a_title??"",e.market_a),t(e.source_b,e.event_b_title??"",e.market_b)]}function ul({match:e,onSelectMatch:t,getMatchHref:r,onSelectLeg:o,getLegHref:n,onHover:i,getMarketHref:s,LinkComponent:a}){let{t:l}=useTranslation(),d=v0(e);if(!d)return null;let[u,p]=d,m=e.spread_percent!=null?e.spread_percent:e.spread!=null?e.spread*100:null,c=l0(m),f=dl[c],g=u.best_price!=null&&p.best_price!=null?u.best_price<=p.best_price?u.source:p.source:null,v=u.event_title||p.event_title,x=e.signal_tag??"stale_data",b=al[x]??al.stale_data,w=r?.(e),P=jsxs(Fragment,{children:[jsx("style",{children:g0}),m!=null&&jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"8px 14px",background:`linear-gradient(90deg, ${f.bandFrom}, ${f.bandTo})`,borderBottom:"1px solid rgba(39,39,42,0.3)"},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,flexShrink:0,color:f.color},fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"})}),jsxs("span",{style:{fontSize:15,fontWeight:700,fontVariantNumeric:"tabular-nums",color:f.color},children:[m.toFixed(1),"%"]}),jsx("span",{style:{fontSize:10,fontWeight:500,color:"rgba(161,161,170,0.7)",textTransform:"uppercase",letterSpacing:"0.06em"},children:l("predict.matches.gap")})]}),jsx(h0,{tier:c})]}),jsxs("div",{style:{padding:"14px 14px 12px"},children:[jsx("h3",{style:{fontSize:13,fontWeight:600,lineHeight:1.4,letterSpacing:"-0.2px",color:"#f4f4f5",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",margin:"0 0 12px"},children:v}),jsxs("div",{style:{borderRadius:10,border:"1px solid rgba(39,39,42,0.4)",overflow:"hidden"},children:[jsx(ll,{leg:u,isCheaper:g===u.source,externalUrlFallback:s?.(e,u.source),internalHref:n?.(e,u),onSelect:o?()=>o(e,u):void 0,LinkComponent:a}),jsx("div",{style:{height:1,background:"rgba(39,39,42,0.3)"}}),jsx(ll,{leg:p,isCheaper:g===p.source,externalUrlFallback:s?.(e,p.source),internalHref:n?.(e,p),onSelect:o?()=>o(e,p):void 0,LinkComponent:a})]})]}),jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",borderTop:"1px solid rgba(39,39,42,0.5)",background:"rgba(39,39,42,0.15)",padding:"8px 14px"},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,fontSize:10,color:"#71717a"},children:[jsxs("span",{style:{display:"flex",alignItems:"center",gap:4},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:11,height:11},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M3 3v16a2 2 0 0 0 2 2h16"}),jsx("path",{d:"M18 17V9"}),jsx("path",{d:"M13 17V5"}),jsx("path",{d:"M8 17v-3"})]}),ri(e.combined_volume)]}),e.combined_volume_24h!=null&&e.combined_volume_24h>0&&jsxs("span",{style:{display:"flex",alignItems:"center",gap:4},children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:11,height:11},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"})}),ri(e.combined_volume_24h)," ",l("predict.matches.vol24h")]}),e.age_seconds!=null&&jsxs("span",{title:l("predict.matches.updatedAgo",{seconds:e.age_seconds}),style:{display:"flex",alignItems:"center",gap:4},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:11,height:11},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("polyline",{points:"12 6 12 12 16 14"})]}),x0(l,e.age_seconds)]})]}),jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:10,color:"#52525b"},children:[jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:b.dot,flexShrink:0}}),l(b.label)]})]})]}),h={display:"block",color:"inherit",textDecoration:"none",borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",overflow:"hidden",transition:"all 0.2s",cursor:w||t?"pointer":void 0},y=N=>{let A=N.currentTarget,D=c0[c];A.style.borderColor=D.border,A.style.boxShadow=D.shadow,i?.(e);},S=N=>{let A=N.currentTarget;A.style.borderColor="rgba(39,39,42,0.6)",A.style.boxShadow="none";};return w&&a?jsx(a,{href:w,className:"group match-card",children:jsx("div",{style:h,onMouseEnter:y,onMouseLeave:S,onClick:()=>t?.(e),children:P})}):jsx("div",{className:"group match-card",role:t?"button":void 0,tabIndex:t?0:void 0,style:h,onMouseEnter:y,onMouseLeave:S,onClick:()=>t?.(e),onKeyDown:N=>{t&&(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),t(e));},children:P})}function x0(e,t){if(t<60)return e("predict.matches.ageJustNow");if(t<3600){let o=Math.floor(t/60);return e("predict.matches.ageMinutes",{count:o})}let r=Math.floor(t/3600);return e("predict.matches.ageHours",{count:r})}function ll({leg:e,isCheaper:t,externalUrlFallback:r,internalHref:o,onSelect:n,LinkComponent:i}){let{t:s}=useTranslation(),a=_t(e.source),l=f0(e.source),d=e.best_price,u=e.outcomes?.[0]?.label??null,p=e.external_url??r,m=d0(e.age_seconds),c=x=>{x.stopPropagation();},f=!!(o||n),g={display:"flex",alignItems:"center",gap:8,padding:"10px 12px",background:t?"rgba(199,255,46,0.03)":"transparent",cursor:f?"pointer":void 0,color:"inherit",textDecoration:"none"},v=jsxs(Fragment,{children:[t?jsx("span",{style:{fontSize:10,color:"#c7ff2e",flexShrink:0},children:"\u2605"}):jsx("span",{style:{width:10,flexShrink:0}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:5,width:100,flexShrink:0},children:[a.icon,jsx("span",{style:{fontSize:10,fontWeight:600,letterSpacing:"0.04em",color:l.text,textTransform:"uppercase"},children:a.label}),m&&jsx("span",{title:e.age_seconds!=null?s("predict.matches.updatedAgo",{seconds:e.age_seconds}):void 0,style:{width:6,height:6,borderRadius:"50%",background:u0[m],flexShrink:0}})]}),jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:1},children:[u&&jsx("span",{style:{fontSize:10,color:"#71717a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:u}),jsxs("span",{style:{fontSize:9,color:"#52525b"},children:[ri(e.vol_24h_usd)," ",s("predict.matches.vol24h")]})]}),jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:3,flexShrink:0},children:[jsx("span",{style:{fontSize:18,fontWeight:700,fontVariantNumeric:"tabular-nums",color:t?"#c7ff2e":"#f4f4f5"},children:d!=null?(d*100).toFixed(1):"-"}),jsx("span",{style:{fontSize:9,color:"#71717a"},children:s("predict.matches.centsYes")})]}),p?jsx("a",{href:p,target:"_blank",rel:"noopener noreferrer","aria-label":s("predict.matches.viewOn",{platform:a.label}),title:s("predict.matches.viewOn",{platform:a.label}),onClick:x=>x.stopPropagation(),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:18,height:18,borderRadius:4,color:"#71717a",flexShrink:0},onMouseEnter:x=>{x.currentTarget.style.color="#d4d4d8",x.currentTarget.style.background="rgba(255,255,255,0.05)";},onMouseLeave:x=>{x.currentTarget.style.color="#71717a",x.currentTarget.style.background="transparent";},children:jsxs("svg",{viewBox:"0 0 24 24",style:{width:11,height:11},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M7 7h10v10"}),jsx("path",{d:"M7 17 17 7"})]})}):jsx("span",{style:{width:18,flexShrink:0}})]});return o&&i?jsx(i,{href:o,className:"match-card-leg-link",onClick:x=>{c(x),n?.();},children:jsx("div",{style:g,children:v})}):f?jsx("div",{role:"link",tabIndex:0,style:g,onClick:x=>{c(x),n?.();},onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),c(x),n?.());},children:v}):jsx("div",{style:g,children:v})}var hl=forwardRef(function({sortBy:t,sortAsc:r,minVolume:o,signal:n,onSelectMatch:i,getMatchHref:s,onSelectLeg:a,getLegHref:l,onSelect:d,onHover:u,getMarketHref:p,LinkComponent:m,onStatsChange:c},f){let{t:g}=useTranslation(),{data:v,hasNextPage:x,fetchNextPage:b,isFetchingNextPage:w,isLoading:P,isPlaceholderData:h,refetch:y}=useInfiniteMatchMarkets({sort_by:t,sort_asc:r,min_volume:o,signal:n,status:"active",limit:20},{placeholderData:keepPreviousData}),[S,N]=useState(0),[A,D]=useState(false);A&&!h?(D(false),N(Z=>Z+1)):h&&!A&&D(true),useImperativeHandle(f,()=>({refetch:()=>{y();}}),[y]);let z=useMemo(()=>v?.pages.flatMap(Z=>Z.items??[])??[],[v]),F=v?.pages[0]?.total,q=useMemo(()=>{let Z=0,C=0,M=0;for(let U of z){let G=U.spread??0;G>Z&&(Z=G),G>=.03&&M++,U.combined_volume!=null&&(C+=U.combined_volume);}return {activePairs:F??z.length,maxSpread:Z,highSpreadCount:M,totalVolume:C}},[z,F]);useEffect(()=>{q.activePairs>0&&c?.(q);},[q,c]);let $=useRef(null),Q=useCallback(()=>{window.scrollTo({top:0,behavior:"smooth"});},[]);if(useEffect(()=>{let Z=$.current;if(!Z)return;let C=new IntersectionObserver(M=>{M[0]?.isIntersecting&&x&&!w&&b();},{rootMargin:"200px"});return C.observe(Z),()=>C.disconnect()},[x,w,b]),useEffect(()=>{if(x)return document.documentElement.style.overscrollBehaviorY="none",()=>{document.documentElement.style.overscrollBehaviorY="";}},[x]),P)return jsx(C0,{});if(z.length===0)return jsx("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"80px 0",color:"rgba(255,255,255,0.35)"},children:jsx("p",{style:{fontSize:18},children:g("predict.matches.empty")})});let re=!x&&z.length>0;return jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[jsx("style",{children:`
127
+ `;function h0({tier:e}){let t=dl[e],r=e==="wide"?5:e==="moderate"?3:1;return jsx("div",{style:{display:"flex",gap:2,alignItems:"center"},children:Array.from({length:5},(o,n)=>jsx("div",{style:{width:6,height:10,borderRadius:1.5,background:n<r?t.gaugeActive:t.gaugeInactive,transition:"background 0.2s"}},n))})}function v0(e){if(Array.isArray(e.legs)&&e.legs.length===2)return [e.legs[0],e.legs[1]];let t=(r,o,n)=>({source:r,event_title:o,event_slug:n?.event_slug??"",market_id:n?.id??0,market_slug:n?.slug??"",question:n?.question??"",status:n?.status??"open",outcomes:n?.outcomes,best_price:n?.outcomes?.[0]?.best_ask??n?.outcomes?.[0]?.price??void 0,vol_24h_usd:n?.volume_24h??void 0});return !e.market_a||!e.market_b?null:[t(e.source_a,e.event_a_title??"",e.market_a),t(e.source_b,e.event_b_title??"",e.market_b)]}function ul({match:e,onSelectMatch:t,getMatchHref:r,onSelectLeg:o,getLegHref:n,onHover:i,getMarketHref:s,LinkComponent:a}){let{t:l}=useTranslation(),d=v0(e);if(!d)return null;let[u,p]=d,m=e.spread_percent!=null?e.spread_percent:e.spread!=null?e.spread*100:null,c=l0(m),f=dl[c],g=u.best_price!=null&&p.best_price!=null?u.best_price<=p.best_price?u.source:p.source:null,v=u.event_title||p.event_title,x=e.signal_tag??"stale_data",b=al[x]??al.stale_data,w=r?.(e),P=jsxs(Fragment,{children:[jsx("style",{children:g0}),m!=null&&jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"8px 14px",background:`linear-gradient(90deg, ${f.bandFrom}, ${f.bandTo})`,borderBottom:"1px solid rgba(39,39,42,0.3)"},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,flexShrink:0,color:f.color},fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"})}),jsxs("span",{style:{fontSize:15,fontWeight:700,fontVariantNumeric:"tabular-nums",color:f.color},children:[m.toFixed(1),"%"]}),jsx("span",{style:{fontSize:10,fontWeight:500,color:"rgba(161,161,170,0.7)",textTransform:"uppercase",letterSpacing:"0.06em"},children:l("predict.matches.gap")})]}),jsx(h0,{tier:c})]}),jsxs("div",{style:{padding:"14px 14px 12px"},children:[jsx("h3",{style:{fontSize:13,fontWeight:600,lineHeight:1.4,letterSpacing:"-0.2px",color:"#f4f4f5",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",margin:"0 0 12px"},children:v}),jsxs("div",{style:{borderRadius:10,border:"1px solid rgba(39,39,42,0.4)",overflow:"hidden"},children:[jsx(ll,{leg:u,isCheaper:g===u.source,externalUrlFallback:s?.(e,u.source),internalHref:n?.(e,u),onSelect:o?()=>o(e,u):void 0,LinkComponent:a}),jsx("div",{style:{height:1,background:"rgba(39,39,42,0.3)"}}),jsx(ll,{leg:p,isCheaper:g===p.source,externalUrlFallback:s?.(e,p.source),internalHref:n?.(e,p),onSelect:o?()=>o(e,p):void 0,LinkComponent:a})]})]}),jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",borderTop:"1px solid rgba(39,39,42,0.5)",background:"rgba(39,39,42,0.15)",padding:"8px 14px"},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,fontSize:10,color:"#71717a"},children:[jsxs("span",{style:{display:"flex",alignItems:"center",gap:4},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:11,height:11},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M3 3v16a2 2 0 0 0 2 2h16"}),jsx("path",{d:"M18 17V9"}),jsx("path",{d:"M13 17V5"}),jsx("path",{d:"M8 17v-3"})]}),ri(e.combined_volume)]}),e.combined_volume_24h!=null&&e.combined_volume_24h>0&&jsxs("span",{style:{display:"flex",alignItems:"center",gap:4},children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:11,height:11},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"})}),ri(e.combined_volume_24h)," ",l("predict.matches.vol24h")]}),e.age_seconds!=null&&jsxs("span",{title:l("predict.matches.updatedAgo",{seconds:e.age_seconds}),style:{display:"flex",alignItems:"center",gap:4},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:11,height:11},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("polyline",{points:"12 6 12 12 16 14"})]}),x0(l,e.age_seconds)]})]}),jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:10,color:"#52525b"},children:[jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:b.dot,flexShrink:0}}),l(b.label)]})]})]}),h={display:"block",color:"inherit",textDecoration:"none",borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",overflow:"hidden",transition:"all 0.2s",cursor:w||t?"pointer":void 0},y=N=>{let A=N.currentTarget,D=c0[c];A.style.borderColor=D.border,A.style.boxShadow=D.shadow,i?.(e);},S=N=>{let A=N.currentTarget;A.style.borderColor="rgba(39,39,42,0.6)",A.style.boxShadow="none";};return w&&a?jsx(a,{href:w,className:"group match-card",children:jsx("div",{style:h,onMouseEnter:y,onMouseLeave:S,onClick:()=>t?.(e),children:P})}):jsx("div",{className:"group match-card",role:t?"button":void 0,tabIndex:t?0:void 0,style:h,onMouseEnter:y,onMouseLeave:S,onClick:()=>t?.(e),onKeyDown:N=>{t&&(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),t(e));},children:P})}function x0(e,t){if(t<60)return e("predict.matches.ageJustNow");if(t<3600){let o=Math.floor(t/60);return e("predict.matches.ageMinutes",{count:o})}let r=Math.floor(t/3600);return e("predict.matches.ageHours",{count:r})}function ll({leg:e,isCheaper:t,externalUrlFallback:r,internalHref:o,onSelect:n,LinkComponent:i}){let{t:s}=useTranslation(),a=_t(e.source),l=f0(e.source),d=e.best_price,u=e.outcomes?.[0]?.label??null,p=e.external_url??r,m=d0(e.age_seconds),c=x=>{x.stopPropagation();},f=!!(o||n),g={display:"flex",alignItems:"center",gap:8,padding:"10px 12px",background:t?"rgba(199,255,46,0.03)":"transparent",cursor:f?"pointer":void 0,color:"inherit",textDecoration:"none"},v=jsxs(Fragment,{children:[t?jsx("span",{style:{fontSize:10,color:"#c7ff2e",flexShrink:0},children:"\u2605"}):jsx("span",{style:{width:10,flexShrink:0}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:5,width:100,flexShrink:0},children:[a.icon,jsx("span",{style:{fontSize:10,fontWeight:600,letterSpacing:"0.04em",color:l.text,textTransform:"uppercase"},children:a.label}),m&&jsx("span",{title:e.age_seconds!=null?s("predict.matches.updatedAgo",{seconds:e.age_seconds}):void 0,style:{width:6,height:6,borderRadius:"50%",background:u0[m],flexShrink:0}})]}),jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:1},children:[u&&jsx("span",{style:{fontSize:10,color:"#71717a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:u}),jsxs("span",{style:{fontSize:9,color:"#52525b"},children:[ri(e.vol_24h_usd)," ",s("predict.matches.vol24h")]})]}),jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:3,flexShrink:0},children:[jsx("span",{style:{fontSize:18,fontWeight:700,fontVariantNumeric:"tabular-nums",color:t?"#c7ff2e":"#f4f4f5"},children:d!=null?(d*100).toFixed(1):"-"}),jsx("span",{style:{fontSize:9,color:"#71717a"},children:s("predict.matches.centsYes")})]}),p?jsx("a",{href:p,target:"_blank",rel:"noopener noreferrer","aria-label":s("predict.matches.viewOn",{platform:a.label}),title:s("predict.matches.viewOn",{platform:a.label}),onClick:x=>x.stopPropagation(),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:18,height:18,borderRadius:4,color:"#71717a",flexShrink:0},onMouseEnter:x=>{x.currentTarget.style.color="#d4d4d8",x.currentTarget.style.background="rgba(255,255,255,0.05)";},onMouseLeave:x=>{x.currentTarget.style.color="#71717a",x.currentTarget.style.background="transparent";},children:jsxs("svg",{viewBox:"0 0 24 24",style:{width:11,height:11},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M7 7h10v10"}),jsx("path",{d:"M7 17 17 7"})]})}):jsx("span",{style:{width:18,flexShrink:0}})]});return o&&i?jsx(i,{href:o,className:"match-card-leg-link",onClick:x=>{c(x),n?.();},children:jsx("div",{style:g,children:v})}):f?jsx("div",{role:"link",tabIndex:0,style:g,onClick:x=>{c(x),n?.();},onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),c(x),n?.());},children:v}):jsx("div",{style:g,children:v})}var hl=forwardRef(function({sortBy:t,sortAsc:r,minVolume:o,signal:n,onSelectMatch:i,getMatchHref:s,onSelectLeg:a,getLegHref:l,onSelect:d,onHover:u,getMarketHref:p,LinkComponent:m,onStatsChange:c},f){let{t:g}=useTranslation(),{data:v,hasNextPage:x,fetchNextPage:b,isFetchingNextPage:w,isLoading:P,isPlaceholderData:h,refetch:y}=useInfiniteMatchMarkets({sort_by:t,sort_asc:r,min_volume:o,signal:n,status:"active",limit:20},{placeholderData:keepPreviousData}),[S,N]=useState(0),[A,D]=useState(false);A&&!h?(D(false),N(Z=>Z+1)):h&&!A&&D(true),useImperativeHandle(f,()=>({refetch:()=>{y();}}),[y]);let z=useMemo(()=>v?.pages.flatMap(Z=>Z.items??[])??[],[v]),F=v?.pages[0]?.total,q=useMemo(()=>{let Z=0,C=0,E=0;for(let U of z){let G=U.spread??0;G>Z&&(Z=G),G>=.03&&E++,U.combined_volume!=null&&(C+=U.combined_volume);}return {activePairs:F??z.length,maxSpread:Z,highSpreadCount:E,totalVolume:C}},[z,F]);useEffect(()=>{q.activePairs>0&&c?.(q);},[q,c]);let $=useRef(null),Q=useCallback(()=>{window.scrollTo({top:0,behavior:"smooth"});},[]);if(useEffect(()=>{let Z=$.current;if(!Z)return;let C=new IntersectionObserver(E=>{E[0]?.isIntersecting&&x&&!w&&b();},{rootMargin:"200px"});return C.observe(Z),()=>C.disconnect()},[x,w,b]),useEffect(()=>{if(x)return document.documentElement.style.overscrollBehaviorY="none",()=>{document.documentElement.style.overscrollBehaviorY="";}},[x]),P)return jsx(C0,{});if(z.length===0)return jsx("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"80px 0",color:"rgba(255,255,255,0.35)"},children:jsx("p",{style:{fontSize:18},children:g("predict.matches.empty")})});let re=!x&&z.length>0;return jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[jsx("style",{children:`
128
128
  @media(max-width:1023px){.matches-card-grid{grid-template-columns:1fr!important}}
129
129
  @keyframes matchCardEnter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
130
- `}),jsx("div",{className:"matches-card-grid",style:{display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:16},children:v?.pages.map(Z=>Z.items?.map((C,M)=>jsx("div",{style:{animation:`matchCardEnter 0.45s cubic-bezier(0.34,1.56,0.64,1) ${M*35}ms both`},children:jsx(ul,{match:C,onSelectMatch:i,getMatchHref:s,onSelectLeg:a,getLegHref:l,onHover:u,onSelect:d,getMarketHref:p,LinkComponent:m})},`${S}-${C.match_id}-${C.source_a}-${C.market_a?.slug??M}`)))}),jsxs("div",{ref:$,style:{display:"flex",flexDirection:"column",alignItems:"center",gap:8,padding:"16px 0",minHeight:1},children:[jsx("style",{children:"@keyframes match-load-spin{to{transform:rotate(360deg)}}"}),w&&jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,color:"#71717a",fontSize:13},children:[jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{animation:"match-load-spin 1s linear infinite"},children:jsx("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})}),g("predict.matches.loadMore")]})]}),re&&jsx(N0,{onScrollToTop:Q})]})});function N0({onScrollToTop:e}){let{t}=useTranslation();return jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:16,padding:"24px 0"},children:[jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:16,width:"100%"},children:[jsx("div",{style:{height:1,width:64,background:"rgba(82,82,91,0.5)"}}),jsx("span",{style:{fontSize:12,fontWeight:500,color:"#71717a"},children:t("predict.matches.endOfList")}),jsx("div",{style:{height:1,width:64,background:"rgba(82,82,91,0.5)"}})]}),jsxs("button",{type:"button",style:{display:"flex",alignItems:"center",gap:4,fontSize:12,fontWeight:500,color:"#a1a1aa",background:"none",border:"none",cursor:"pointer",padding:0},onClick:e,children:[jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M12 19V5"}),jsx("path",{d:"m5 12 7-7 7 7"})]}),jsx("span",{children:t("predict.matches.backToTop")})]})]})}function C0(){return jsxs(Fragment,{children:[jsx("style",{children:"@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@media(max-width:1023px){.matches-skeleton-grid{grid-template-columns:1fr!important}}"}),jsx("div",{className:"matches-skeleton-grid",style:{display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:16},children:Array.from({length:6}).map((e,t)=>jsx(M0,{index:t},t))})]})}function M0({index:e}){let r={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:`shimmer 1.8s ease-in-out infinite ${e*150}ms`,borderRadius:6};return jsxs("div",{style:{borderRadius:16,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",overflow:"hidden"},children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:"16px 16px 12px"},children:[jsx("div",{style:{...r,height:14,width:e%2===0?"75%":"60%"}}),jsx("div",{style:{...r,height:24,width:64,borderRadius:10,flexShrink:0,marginLeft:12}})]}),jsx("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:16,padding:"0 16px"},children:[0,1].map(o=>jsxs("div",{style:{borderRadius:12,border:"1px solid rgba(255,255,255,0.04)",background:"rgba(255,255,255,0.02)",padding:12,display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:{...r,height:10,width:72}}),jsx("div",{style:{...r,height:10,width:48}}),jsx("div",{style:{...r,height:20,width:56}}),jsx("div",{style:{...r,height:10,width:60,marginTop:4}})]},o))}),jsx("div",{style:{padding:"12px 16px"},children:jsx("div",{style:{...r,height:36,borderRadius:10,width:"100%"}})}),jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",borderTop:"1px solid rgba(39,39,42,0.5)",padding:"10px 16px"},children:[jsxs("div",{style:{display:"flex",gap:12},children:[jsx("div",{style:{...r,height:10,width:40}}),jsx("div",{style:{...r,height:10,width:50}})]}),jsx("div",{style:{...r,height:10,width:56}})]})]})}var I0={spread:"predict.matches.topOpportunities",volume:"predict.matches.highestVolume",confidence:"predict.matches.trendingToday"};function O0(){let[e,t]=useState("");return useEffect(()=>{let r=()=>{let n=new Date;return `${String(n.getHours()).padStart(2,"0")}:${String(n.getMinutes()).padStart(2,"0")}`};t(r());let o=setInterval(()=>t(r()),1e4);return ()=>clearInterval(o)},[]),jsx("span",{children:e})}function D0({stats:e}){let{t}=useTranslation();return jsxs(Fragment,{children:[jsx("style",{children:"@media(max-width:768px){.matches-status-bar{display:none!important}}"}),jsxs("div",{className:"matches-status-bar",style:{position:"fixed",bottom:0,left:0,right:0,height:28,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 12px",background:"rgba(12,12,13,0.8)",borderTop:"1px solid rgba(39,39,42,0.6)",fontSize:11,color:"rgba(255,255,255,0.4)",zIndex:50,backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)",flexShrink:0},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12,color:"#00bc7d"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M12 20h.01"}),jsx("path",{d:"M2 8.82a15 15 0 0 1 20 0"}),jsx("path",{d:"M5 12.859a10 10 0 0 1 14 0"}),jsx("path",{d:"M8.5 16.429a5 5 0 0 1 7 0"})]}),jsx("span",{style:{color:"#00bc7d",fontWeight:500},children:t("predict.matches.status.live")})]}),jsx("div",{style:{width:1,height:14,background:"rgba(39,39,42,0.8)"}}),e&&jsxs("div",{className:"hidden sm:flex",style:{alignItems:"center",gap:12},children:[jsxs("span",{style:{display:"flex",alignItems:"center",gap:6,color:"#71717a"},children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("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"})}),jsx("span",{style:{color:"#52525b"},children:t("predict.matches.status.markets")}),jsx("span",{style:{color:"#d4d4d8",fontWeight:500,fontVariantNumeric:"tabular-nums"},children:formatAmount(e.activePairs)})]}),jsxs("span",{style:{display:"flex",alignItems:"center",gap:6,color:"#71717a"},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M3 3v16a2 2 0 0 0 2 2h16"}),jsx("path",{d:"M18 17V9"}),jsx("path",{d:"M13 17V5"}),jsx("path",{d:"M8 17v-3"})]}),jsx("span",{style:{color:"#52525b"},children:t("predict.matches.status.vol24h")}),jsx("span",{style:{color:"#d4d4d8",fontWeight:500,fontVariantNumeric:"tabular-nums"},children:e.totalVolume>=1e6?`$${(e.totalVolume/1e6).toFixed(1)}M`:e.totalVolume>=1e3?`$${Math.round(e.totalVolume/1e3)}K`:`$${e.totalVolume}`})]})]})]}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:4},children:[jsxs("a",{href:"#",target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",borderRadius:4,color:"#71717a",textDecoration:"none",transition:"color 0.15s, background 0.15s"},onMouseEnter:r=>{r.currentTarget.style.color="#d4d4d8",r.currentTarget.style.background="rgba(39,39,42,0.5)";},onMouseLeave:r=>{r.currentTarget.style.color="#71717a",r.currentTarget.style.background="transparent";},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),jsx("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}),jsx("path",{d:"M10 9H8"}),jsx("path",{d:"M16 13H8"}),jsx("path",{d:"M16 17H8"})]}),jsx("span",{className:"hidden lg:inline",children:t("predict.matches.status.docs")})]}),jsxs("a",{href:"#",target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",borderRadius:4,color:"#71717a",textDecoration:"none",transition:"color 0.15s, background 0.15s"},onMouseEnter:r=>{r.currentTarget.style.color="#d4d4d8",r.currentTarget.style.background="rgba(39,39,42,0.5)";},onMouseLeave:r=>{r.currentTarget.style.color="#71717a",r.currentTarget.style.background="transparent";},children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"currentColor",children:jsx("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})}),jsx("span",{className:"hidden lg:inline",children:"X"})]}),jsx("div",{style:{width:1,height:14,background:"rgba(39,39,42,0.8)",margin:"0 4px"}}),jsxs("button",{type:"button",style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",borderRadius:4,color:"#71717a",background:"transparent",border:"none",cursor:"pointer",fontSize:11,transition:"color 0.15s, background 0.15s"},onMouseEnter:r=>{r.currentTarget.style.color="#d4d4d8",r.currentTarget.style.background="rgba(39,39,42,0.5)";},onMouseLeave:r=>{r.currentTarget.style.color="#71717a",r.currentTarget.style.background="transparent";},children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})}),jsx("span",{className:"hidden lg:inline",children:t("predict.matches.status.watchlist")})]}),jsxs("button",{type:"button",style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",borderRadius:4,color:"#71717a",background:"transparent",border:"none",cursor:"pointer",fontSize:11,transition:"color 0.15s, background 0.15s"},onMouseEnter:r=>{r.currentTarget.style.color="#d4d4d8",r.currentTarget.style.background="rgba(39,39,42,0.5)";},onMouseLeave:r=>{r.currentTarget.style.color="#71717a",r.currentTarget.style.background="transparent";},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2.5"}),jsx("path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4"})]}),jsx("span",{className:"hidden lg:inline",children:t("predict.matches.status.portfolio")})]}),jsxs("button",{type:"button",style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",borderRadius:4,color:"#71717a",background:"transparent",border:"none",cursor:"pointer",fontSize:11,transition:"color 0.15s, background 0.15s"},onMouseEnter:r=>{r.currentTarget.style.color="#d4d4d8",r.currentTarget.style.background="rgba(39,39,42,0.5)";},onMouseLeave:r=>{r.currentTarget.style.color="#71717a",r.currentTarget.style.background="transparent";},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"}),jsx("path",{d:"M12 17h.01"})]}),jsx("span",{className:"hidden lg:inline",children:t("predict.matches.status.help")})]}),jsx("div",{style:{width:1,height:14,background:"rgba(39,39,42,0.8)",margin:"0 4px"}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,color:"#71717a"},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("polyline",{points:"12 6 12 12 16 14"})]}),jsx(O0,{})]})]})]})]})}function uS({onSelectMatch:e,getMatchHref:t,onSelectLeg:r,getLegHref:o,onHover:n,onSelect:i,getMarketHref:s,LinkComponent:a,bgImageSrc:l}){let{t:d}=useTranslation(),[u,p]=useState("spread"),[m,c]=useState(false),[f,g]=useState(void 0),[v,x]=useState(),b=useRef(null),w=useCallback(S=>{p(S);},[]),P=useCallback(S=>{c(S);},[]),h=useCallback(S=>{startTransition(()=>{x(S);});},[]),y=useCallback(()=>{b.current?.refetch();},[]);return jsxs("div",{style:{minHeight:"100vh",position:"relative"},children:[jsx("style",{children:`
130
+ `}),jsx("div",{className:"matches-card-grid",style:{display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:16},children:v?.pages.map(Z=>Z.items?.map((C,E)=>jsx("div",{style:{animation:`matchCardEnter 0.45s cubic-bezier(0.34,1.56,0.64,1) ${E*35}ms both`},children:jsx(ul,{match:C,onSelectMatch:i,getMatchHref:s,onSelectLeg:a,getLegHref:l,onHover:u,onSelect:d,getMarketHref:p,LinkComponent:m})},`${S}-${C.match_id}-${C.source_a}-${C.market_a?.slug??E}`)))}),jsxs("div",{ref:$,style:{display:"flex",flexDirection:"column",alignItems:"center",gap:8,padding:"16px 0",minHeight:1},children:[jsx("style",{children:"@keyframes match-load-spin{to{transform:rotate(360deg)}}"}),w&&jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,color:"#71717a",fontSize:13},children:[jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{animation:"match-load-spin 1s linear infinite"},children:jsx("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})}),g("predict.matches.loadMore")]})]}),re&&jsx(N0,{onScrollToTop:Q})]})});function N0({onScrollToTop:e}){let{t}=useTranslation();return jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:16,padding:"24px 0"},children:[jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:16,width:"100%"},children:[jsx("div",{style:{height:1,width:64,background:"rgba(82,82,91,0.5)"}}),jsx("span",{style:{fontSize:12,fontWeight:500,color:"#71717a"},children:t("predict.matches.endOfList")}),jsx("div",{style:{height:1,width:64,background:"rgba(82,82,91,0.5)"}})]}),jsxs("button",{type:"button",style:{display:"flex",alignItems:"center",gap:4,fontSize:12,fontWeight:500,color:"#a1a1aa",background:"none",border:"none",cursor:"pointer",padding:0},onClick:e,children:[jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M12 19V5"}),jsx("path",{d:"m5 12 7-7 7 7"})]}),jsx("span",{children:t("predict.matches.backToTop")})]})]})}function C0(){return jsxs(Fragment,{children:[jsx("style",{children:"@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@media(max-width:1023px){.matches-skeleton-grid{grid-template-columns:1fr!important}}"}),jsx("div",{className:"matches-skeleton-grid",style:{display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:16},children:Array.from({length:6}).map((e,t)=>jsx(M0,{index:t},t))})]})}function M0({index:e}){let r={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:`shimmer 1.8s ease-in-out infinite ${e*150}ms`,borderRadius:6};return jsxs("div",{style:{borderRadius:16,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",overflow:"hidden"},children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:"16px 16px 12px"},children:[jsx("div",{style:{...r,height:14,width:e%2===0?"75%":"60%"}}),jsx("div",{style:{...r,height:24,width:64,borderRadius:10,flexShrink:0,marginLeft:12}})]}),jsx("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:16,padding:"0 16px"},children:[0,1].map(o=>jsxs("div",{style:{borderRadius:12,border:"1px solid rgba(255,255,255,0.04)",background:"rgba(255,255,255,0.02)",padding:12,display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:{...r,height:10,width:72}}),jsx("div",{style:{...r,height:10,width:48}}),jsx("div",{style:{...r,height:20,width:56}}),jsx("div",{style:{...r,height:10,width:60,marginTop:4}})]},o))}),jsx("div",{style:{padding:"12px 16px"},children:jsx("div",{style:{...r,height:36,borderRadius:10,width:"100%"}})}),jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",borderTop:"1px solid rgba(39,39,42,0.5)",padding:"10px 16px"},children:[jsxs("div",{style:{display:"flex",gap:12},children:[jsx("div",{style:{...r,height:10,width:40}}),jsx("div",{style:{...r,height:10,width:50}})]}),jsx("div",{style:{...r,height:10,width:56}})]})]})}var I0={spread:"predict.matches.topOpportunities",volume:"predict.matches.highestVolume",confidence:"predict.matches.trendingToday"};function O0(){let[e,t]=useState("");return useEffect(()=>{let r=()=>{let n=new Date;return `${String(n.getHours()).padStart(2,"0")}:${String(n.getMinutes()).padStart(2,"0")}`};t(r());let o=setInterval(()=>t(r()),1e4);return ()=>clearInterval(o)},[]),jsx("span",{children:e})}function D0({stats:e}){let{t}=useTranslation();return jsxs(Fragment,{children:[jsx("style",{children:"@media(max-width:768px){.matches-status-bar{display:none!important}}"}),jsxs("div",{className:"matches-status-bar",style:{position:"fixed",bottom:0,left:0,right:0,height:28,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 12px",background:"rgba(12,12,13,0.8)",borderTop:"1px solid rgba(39,39,42,0.6)",fontSize:11,color:"rgba(255,255,255,0.4)",zIndex:50,backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)",flexShrink:0},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12,color:"#00bc7d"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M12 20h.01"}),jsx("path",{d:"M2 8.82a15 15 0 0 1 20 0"}),jsx("path",{d:"M5 12.859a10 10 0 0 1 14 0"}),jsx("path",{d:"M8.5 16.429a5 5 0 0 1 7 0"})]}),jsx("span",{style:{color:"#00bc7d",fontWeight:500},children:t("predict.matches.status.live")})]}),jsx("div",{style:{width:1,height:14,background:"rgba(39,39,42,0.8)"}}),e&&jsxs("div",{className:"hidden sm:flex",style:{alignItems:"center",gap:12},children:[jsxs("span",{style:{display:"flex",alignItems:"center",gap:6,color:"#71717a"},children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("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"})}),jsx("span",{style:{color:"#52525b"},children:t("predict.matches.status.markets")}),jsx("span",{style:{color:"#d4d4d8",fontWeight:500,fontVariantNumeric:"tabular-nums"},children:formatAmount(e.activePairs)})]}),jsxs("span",{style:{display:"flex",alignItems:"center",gap:6,color:"#71717a"},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M3 3v16a2 2 0 0 0 2 2h16"}),jsx("path",{d:"M18 17V9"}),jsx("path",{d:"M13 17V5"}),jsx("path",{d:"M8 17v-3"})]}),jsx("span",{style:{color:"#52525b"},children:t("predict.matches.status.vol24h")}),jsx("span",{style:{color:"#d4d4d8",fontWeight:500,fontVariantNumeric:"tabular-nums"},children:e.totalVolume>=1e6?`$${(e.totalVolume/1e6).toFixed(1)}M`:e.totalVolume>=1e3?`$${Math.round(e.totalVolume/1e3)}K`:`$${e.totalVolume}`})]})]})]}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:4},children:[jsxs("a",{href:"#",target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",borderRadius:4,color:"#71717a",textDecoration:"none",transition:"color 0.15s, background 0.15s"},onMouseEnter:r=>{r.currentTarget.style.color="#d4d4d8",r.currentTarget.style.background="rgba(39,39,42,0.5)";},onMouseLeave:r=>{r.currentTarget.style.color="#71717a",r.currentTarget.style.background="transparent";},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),jsx("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}),jsx("path",{d:"M10 9H8"}),jsx("path",{d:"M16 13H8"}),jsx("path",{d:"M16 17H8"})]}),jsx("span",{className:"hidden lg:inline",children:t("predict.matches.status.docs")})]}),jsxs("a",{href:"#",target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",borderRadius:4,color:"#71717a",textDecoration:"none",transition:"color 0.15s, background 0.15s"},onMouseEnter:r=>{r.currentTarget.style.color="#d4d4d8",r.currentTarget.style.background="rgba(39,39,42,0.5)";},onMouseLeave:r=>{r.currentTarget.style.color="#71717a",r.currentTarget.style.background="transparent";},children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"currentColor",children:jsx("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})}),jsx("span",{className:"hidden lg:inline",children:"X"})]}),jsx("div",{style:{width:1,height:14,background:"rgba(39,39,42,0.8)",margin:"0 4px"}}),jsxs("button",{type:"button",style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",borderRadius:4,color:"#71717a",background:"transparent",border:"none",cursor:"pointer",fontSize:11,transition:"color 0.15s, background 0.15s"},onMouseEnter:r=>{r.currentTarget.style.color="#d4d4d8",r.currentTarget.style.background="rgba(39,39,42,0.5)";},onMouseLeave:r=>{r.currentTarget.style.color="#71717a",r.currentTarget.style.background="transparent";},children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})}),jsx("span",{className:"hidden lg:inline",children:t("predict.matches.status.watchlist")})]}),jsxs("button",{type:"button",style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",borderRadius:4,color:"#71717a",background:"transparent",border:"none",cursor:"pointer",fontSize:11,transition:"color 0.15s, background 0.15s"},onMouseEnter:r=>{r.currentTarget.style.color="#d4d4d8",r.currentTarget.style.background="rgba(39,39,42,0.5)";},onMouseLeave:r=>{r.currentTarget.style.color="#71717a",r.currentTarget.style.background="transparent";},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2.5"}),jsx("path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4"})]}),jsx("span",{className:"hidden lg:inline",children:t("predict.matches.status.portfolio")})]}),jsxs("button",{type:"button",style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",borderRadius:4,color:"#71717a",background:"transparent",border:"none",cursor:"pointer",fontSize:11,transition:"color 0.15s, background 0.15s"},onMouseEnter:r=>{r.currentTarget.style.color="#d4d4d8",r.currentTarget.style.background="rgba(39,39,42,0.5)";},onMouseLeave:r=>{r.currentTarget.style.color="#71717a",r.currentTarget.style.background="transparent";},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"}),jsx("path",{d:"M12 17h.01"})]}),jsx("span",{className:"hidden lg:inline",children:t("predict.matches.status.help")})]}),jsx("div",{style:{width:1,height:14,background:"rgba(39,39,42,0.8)",margin:"0 4px"}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,color:"#71717a"},children:[jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("polyline",{points:"12 6 12 12 16 14"})]}),jsx(O0,{})]})]})]})]})}function uS({onSelectMatch:e,getMatchHref:t,onSelectLeg:r,getLegHref:o,onHover:n,onSelect:i,getMarketHref:s,LinkComponent:a,bgImageSrc:l}){let{t:d}=useTranslation(),[u,p]=useState("spread"),[m,c]=useState(false),[f,g]=useState(void 0),[v,x]=useState(),b=useRef(null),w=useCallback(S=>{p(S);},[]),P=useCallback(S=>{c(S);},[]),h=useCallback(S=>{startTransition(()=>{x(S);});},[]),y=useCallback(()=>{b.current?.refetch();},[]);return jsxs("div",{style:{minHeight:"100vh",position:"relative"},children:[jsx("style",{children:`
131
131
  @keyframes matchFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
132
132
  .match-fade-in{animation:matchFadeIn .5s ease-out both}
133
133
  .match-fade-in-d1{animation:matchFadeIn .5s ease-out .1s both}