@liberfi.io/ui-predict 0.1.141 → 0.1.142
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.d.mts +35 -4
- package/dist/index.d.ts +35 -4
- package/dist/index.js +13 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +13 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -15
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,TrashIcon,Chip,XCloseIcon,Kbd,SearchIcon,EmptyIcon,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,useSwitchChain,useAuthCallback}from'@liberfi.io/wallet-connector';import {keepPreviousData,useQueryClient,useQueries}from'@tanstack/react-query';import {ChartRange,useInfiniteMatchMarkets,useBalance,useDFlowKYC,usePolymarketSetup,usePredictClient,PolymarketContext,useTickSize,useFeeRate,usePositions,useDFlowQuote,useDFlowSubmit,useOrder,buildCtfExchangeDomain,buildOrderMessage,CTF_ORDER_TYPES,buildSignedOrder,buildClobPayload,buildPolymarketL2Headers,resolveEventsParams,useInfiniteEvents,useAvailableShares,getPolymarketSharesPrecision,useInfiniteOrders,useCancelOrder,useInfiniteTrades,useOrderbook,useMarketHistory,useEvent,useSimilarEvents,candlesticksQueryKey,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,useSearchEvents,useSimilarEvents,useTrades}from'@liberfi.io/react-predict';import {ChainNamespace,Chain}from'@liberfi.io/types';import {SOLANA_TOKENS,debounce}from'@liberfi.io/utils';import jn from'canvas-confetti';import {List}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';typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-predict"]="0.1.141");var dl="0.1.141";var pl={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},jo=["Politics","Sports","Crypto","Economics","Financials","Elections","Entertainment","Companies","Science and Technology","Climate and Weather","Mentions","Social","World"],Un=(()=>{let e=t=>{let r=jo.indexOf(t);return r===-1?jo.length:r};return Object.entries(pl).map(([t,r])=>({slug:t,label:t,tags:(r??[]).map(n=>({slug:n,label:n}))})).sort((t,r)=>e(t.slug)-e(r.slug))})();function qo({categories:e,selectedCategory:t,selectedTag:r,activeTags:n,onCategorySelect:o,onTagSelect:i,trailing:s,pulsingTab:l="Trending",className:a}){let{t:c}=useTranslation(),m=useCallback(()=>{o(null);},[o]),u=c("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",a),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(Yo,{label:u,isSelected:t===null,onPress:m,showPulse:u===l}),jsx(gl,{}),e.map(p=>jsx(Yo,{label:p.category,isSelected:t===p.category,onPress:()=>o(p.category),badge:p.badge,showPulse:p.category===l},p.category))]})}),s&&jsx("div",{className:"flex-shrink-0",children:s})]}),t&&n.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(Go,{label:c("predict.categories.allMarkets"),isSelected:r===null,onPress:()=>i(null)}),n.map(p=>jsx(Go,{label:p.label,icon:p.icon,isSelected:r===p.label,onPress:()=>i(p.label)},p.label))]})})]})}function Yo({label:e,isSelected:t,onPress:r,badge:n,showPulse:o}){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:[o?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,n&&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:n})]})}function gl(){return jsx("span",{className:"flex items-center text-neutral-600","aria-hidden":"true",children:"|"})}function Go({label:e,icon:t,isSelected:r,onPress:n}){return jsxs("button",{type:"button",onClick:n,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 o0({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 hl(e){return e.map(t=>({category:t.label,tags:t.tags.map(r=>r.label)}))}function vl(e){return e?e.tags.map(t=>({label:t.label,icon:t.icon})):[]}function Jo({onSelect:e,trailing:t,className:r}){let[n,o]=useState(null),[i,s]=useState(null),l=useCallback(p=>{o(p),s(null),e?.({categorySlug:p,tagSlug:null});},[e]),a=useCallback(p=>{s(p),e?.({categorySlug:n,tagSlug:p});},[n,e]),c=hl(Un),m=Un.find(p=>p.slug===n),u=vl(m);return jsx(qo,{categories:c,selectedCategory:n,selectedTag:i,activeTags:u,onCategorySelect:l,onTagSelect:a,trailing:t,className:r})}function en(e){return {title:e.title,imageUrl:e.image_url}}function tn(e){let t=e.outcomes[0],r=e.outcomes[1];return {question:e.question,yesAsk:t?.best_ask??t?.price,noAsk:r?.best_ask??r?.price,yesBid:t?.best_bid,noBid:r?.best_bid,yesSubTitle:t?.label??"Yes",noSubTitle:r?.label??"No"}}var Sr=24,Kn=4,rn={ONE_MINUTE:1,ONE_HOUR:60,ONE_DAY:1440},je={ONE_DAY:"1d",ONE_WEEK:"1w",ONE_MONTH:"1m",ALL:"all"},nn=je.ALL,m0={[je.ONE_DAY]:rn.ONE_MINUTE,[je.ONE_WEEK]:rn.ONE_HOUR,[je.ONE_MONTH]:rn.ONE_HOUR,[je.ALL]:rn.ONE_DAY},f0={[je.ONE_DAY]:300,[je.ONE_WEEK]:3600,[je.ONE_MONTH]:10800,[je.ALL]:1440*60},g0={[je.ONE_DAY]:1440*60,[je.ONE_WEEK]:10080*60,[je.ONE_MONTH]:720*60*60,[je.ALL]:null},on=1,an=1,h0=1,v0=1,x0=99,ur={ONE_HOUR:"1h",SIX_HOURS:"6h",ONE_DAY:"1d",ONE_WEEK:"1w",MAX:"max"},b0=ur.ONE_WEEK,y0={[ur.ONE_HOUR]:60,[ur.SIX_HOURS]:60,[ur.ONE_DAY]:300,[ur.ONE_WEEK]:1800,[ur.MAX]:1800};var ti=createContext(null);function wr(){let e=useContext(ti);if(!e)throw new Error("usePredictWallet must be used within a PredictWalletProvider");return e}var Nl=1e4;function Pl({pollingInterval:e=Nl,enabled:t=true,children:r}){let n=useWallets(),o=useMemo(()=>n.find(x=>x.chainNamespace===ChainNamespace.SOLANA&&x.isConnected)?.address,[n]),i=useMemo(()=>n.find(x=>x.chainNamespace===ChainNamespace.EVM&&x.isConnected)?.address,[n]),{data:s,isLoading:l,isFetching:a,error:c}=useBalance({source:"kalshi",user:o??""},{enabled:t&&!!o,refetchInterval:e}),{data:m,isLoading:u}=useDFlowKYC(o,{enabled:t&&!!o,refetchInterval:3e4}),{data:p,isLoading:d}=usePolymarketSetup(i,{enabled:t&&!!i,refetchInterval:3e4}),f=p?.safe_address,g=p?.verified??false,{data:h,isLoading:v,isFetching:k,error:w}=useBalance({source:"polymarket",user:i??""},{enabled:t&&g&&!!i,refetchInterval:e}),R=useMemo(()=>({solanaAddress:o,evmAddress:i,polymarketSafeAddress:f,kalshiUsdcBalance:s?Number(s.balance):null,polymarketUsdcBalance:g&&h?Number(h.balance):null,kalshiKycVerified:m?.verified??false,kalshiKycUrl:m?.kyc_url??null,kalshiKycLoading:u,polymarketSetupVerified:g,polymarketSafeDeployed:p?.safe_deployed??false,polymarketTokenApproved:p?.token_approved??false,polymarketSetupLoading:d,isLoading:l||v,isFetching:a||k,error:c??w??null}),[o,i,f,s,h,g,m,u,p,d,l,v,a,k,c,w]);return jsx(ti.Provider,{value:R,children:r})}var Ml={minutes:60,hours:3600,days:86400};function sn(e,t,r){let n=Math.floor(Date.now()/1e3);switch(e){case "5m":return n+300;case "1h":return n+3600;case "12h":return n+720*60;case "24h":return n+1440*60;case "eod":{let o=new Date;return o.setUTCHours(23,59,59,0),Math.floor(o.getTime()/1e3)}case "custom":return n+t*Ml[r]}}function ln(e,t){let r=parseFloat(t);return !r||r<=0?e:Math.round(e/r)*r}function Ne(e,t){let r=Math.pow(10,t);return Math.floor(e*r)/r}function cn(e,t,r){let n=e.match(/Size\s*\(([\d.]+)\)\s*lower than the minimum:\s*([\d.]+)/i);if(n)return t("predict.trade.polymarket.minOrderSize",{current:n[1],min:n[2]});let o=e.match(/balance:\s*(\d+),\s*sum of active orders:\s*(\d+)/i);if(o){let s=parseInt(o[1],10)/1e6,l=parseInt(o[2],10)/1e6,a=Math.max(0,s-l);return t("predict.trade.polymarket.insufficientBalance",{total:Ne(s,2).toFixed(2),active:Ne(l,2).toFixed(2),available:Ne(a,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 Nr(e,t=2){return parseFloat(Ne(e,t).toFixed(t)).toString()}function Xt(){let e={startVelocity:30,spread:360,ticks:60,zIndex:9999};jn({...e,particleCount:80,origin:{x:.5,y:.4}}),setTimeout(()=>{jn({...e,particleCount:40,origin:{x:.3,y:.6}});},150),setTimeout(()=>{jn({...e,particleCount:40,origin:{x:.7,y:.6}});},300);}function ii({market:e,initialOutcome:t="yes"}){let{t:r}=useTranslation(),{status:n}=useAuth(),o=useWallets(),i=useSwitchChain(),s=usePredictClient(),l=useContext(PolymarketContext),a=useQueryClient(),c=e.source,m=c==="polymarket",u=o.find(O=>O.chainNamespace===ChainNamespace.SOLANA&&O.isConnected),p=o.find(O=>O.chainNamespace===ChainNamespace.EVM&&O.isConnected&&"switchChain"in O),d=n==="authenticated",f=u?.address,g=p?.address,h=useMemo(()=>{if(c!=="polymarket")return;let O=e.provider_meta?.["polymarket.clobTokenIds"];return O?(typeof O=="string"?JSON.parse(O):O)[0]:void 0},[c,e.provider_meta]),{data:v,isLoading:k}=useTickSize(h),w=v?.minimum_tick_size?String(v.minimum_tick_size):"0.01",{data:R,isLoading:x}=useFeeRate(h),P=String(R?.base_fee??0),[S,V]=useState(t),[B,J]=useState("market"),[N,H]=useState(NaN),[E,I]=useState(NaN),[de,U]=useState(false),[b,y]=useState(null),[j,Y]=useState(false),[q,pe]=useState(false),[Se,it]=useState("1h"),[he,Be]=useState(30),[He,xt]=useState("minutes"),ve=null,Ke=false,tt=null,rt;try{let O=wr();ve={kalshiUsdcBalance:O.kalshiUsdcBalance,polymarketUsdcBalance:O.polymarketUsdcBalance,isLoading:O.isLoading},Ke=O.kalshiKycVerified,tt=O.kalshiKycUrl,rt=O.polymarketSafeAddress;}catch{}let we=useMemo(()=>{let O=S==="yes"?0:1,Te=e.outcomes[O];return Te?.best_ask??Te?.price??.5},[e.outcomes,S]),A=useCallback(O=>{J(O);},[]),ge=useCallback(O=>{V(O),I(NaN);},[]);useEffect(()=>{B==="limit"&&isNaN(E)&&I(Math.round(we*100)/100);},[B,E,we]);let Oe=useMemo(()=>isNaN(N)||N<=0?0:we>0?N/we:0,[N,we]),ze=useMemo(()=>isNaN(N)||N<=0?"0":String(Math.round(N*1e6)),[N]),_=e.provider_meta?.["dflow.yesMint"]??"",Ee=e.provider_meta?.["dflow.noMint"]??"",bt=SOLANA_TOKENS.stablecoins.USDC.address,Bn=S==="yes"?_:Ee,at=bt,Yt=Bn,sr=c==="kalshi"?f??"":g??"",{data:Gt,isLoading:Ot}=usePositions({source:c,user:sr},{enabled:!!sr}),$e=c==="kalshi"&&!!at&&!!Yt&&!!f&&ze!=="0",{refetch:Ur}=useDFlowQuote({inputMint:at,outputMint:Yt,amount:ze,userPublicKey:f??"",slippageBps:100},{enabled:$e}),lr=useMemo(()=>ve?c==="kalshi"?ve.kalshiUsdcBalance:ve.polymarketUsdcBalance:Gt&&Gt.positions.reduce((Te,st)=>st.side==="USDC"||st.side==="collateral"?Te+(st.current_value??0):Te,0)||null,[ve,Gt,c]),Hn=ve?ve.isLoading:Ot,ut=useMemo(()=>B==="limit"&&m&&!isNaN(E)?E:we,[B,m,E,we]),Kr=useMemo(()=>isNaN(N)||N<=0?0:N,[N]),Vr=useMemo(()=>isNaN(N)||N<=0?0:ut>0?N/ut*1:0,[N,ut]),$o=Vr-Kr,jr=useCallback(O=>{if(isNaN(O)){H(NaN);return}H(Math.round(Math.max(0,O)*100)/100);},[]),zn=useCallback(O=>{if(isNaN(O)){I(NaN);return}let Te=Math.max(.01,Math.min(.99,O));I(Math.round(Te*100)/100);},[]),mt=useCallback(()=>{H(NaN),I(NaN),J("market"),pe(false),it("1h"),Be(30),xt("minutes");},[]),yt=useMemo(()=>{let O=[];return isNaN(N)||N<=0?O.push(r("predict.trade.minAmountUsd",{amount:an})):N<an&&O.push(r("predict.trade.minAmountUsd",{amount:an})),e.status!=="open"&&O.push(r("predict.trade.marketNotActive")),lr!=null&&!isNaN(N)&&N>0&&N>Ne(lr,2)&&O.push(r("predict.trade.insufficientBalance")),B==="limit"&&m&&(isNaN(E)||E<.01||E>.99)&&O.push(r("predict.trade.limitPriceRange")),B==="limit"&&m&&q&&Se==="custom"&&(isNaN(he)||he<=0)&&O.push(r("predict.trade.expiration.invalidDate")),{isValid:O.length===0,errors:O}},[N,e.status,lr,B,m,E,q,Se,he,r]),{mutateAsync:Dt}=useDFlowSubmit(),{data:At}=useOrder({id:b??"",source:c},{enabled:!!b});useEffect(()=>{if(!At||!b)return;let{status:O}=At;O==="closed"?(y(null),U(false),toast.success(r("predict.trade.submitSuccess")),Xt(),mt(),a.invalidateQueries({queryKey:["predict","positions"]})):(O==="failed"||O==="expired")&&(U(false),y(null),toast.error(r("predict.trade.submitError")));},[At,b,a,mt,r]);let Yr=useCallback(async()=>{if(!f||!u)return;if(!at||!Yt){toast.error("Missing token mint addresses"),U(false);return}if(!Ke){Y(true),U(false);return}let cr=(await Ur()).data?.transaction;if(!cr){toast.error(r("predict.trade.submitError")),U(false);return}let Ft=Uint8Array.from(atob(cr),Bt=>Bt.charCodeAt(0)),kt=await u.signTransaction(Ft),St=await Dt({signedTransaction:btoa(String.fromCharCode(...kt)),orderContext:{user_public_key:f,input_mint:at,output_mint:Yt,amount:ze,price:String(we),side:"BUY",outcome:S==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});y(St.signature);},[f,u,Ur,Dt,at,Yt,ze,we,S,e.slug,r,Ke]),kr=useCallback(async()=>{if(!p||!l)return;let O=p.chain,Te=O!==Chain.POLYGON;Te&&await i(Chain.POLYGON);try{let st=await p.getEip1193Provider();if(!st){toast.error(r("predict.trade.submitError")),U(!1);return}let cr=!!rt,Ft={address:p.address,signatureType:cr?2:0,signTypedData:async(ue,Ht,Jr,Wn)=>{let zt=[];"name"in ue&&zt.push({name:"name",type:"string"}),"version"in ue&&zt.push({name:"version",type:"string"}),"chainId"in ue&&zt.push({name:"chainId",type:"uint256"}),"verifyingContract"in ue&&zt.push({name:"verifyingContract",type:"address"}),"salt"in ue&&zt.push({name:"salt",type:"bytes32"});let Wo={EIP712Domain:zt,...Ht};return await st.request({method:"eth_signTypedData_v4",params:[p.address,JSON.stringify({domain:ue,types:Wo,primaryType:Jr,message:Wn})]})}},kt=l.credentials??await l.authenticate(Ft),St=S==="yes"?0:1,Bt="",wt=e.provider_meta?.["polymarket.clobTokenIds"];wt&&(Bt=(typeof wt=="string"?JSON.parse(wt):wt)[St]??"");let dr=e.provider_meta?.["polymarket.negRisk"]??!1,Gr=B==="limit"&&!isNaN(E)?E:we,Nt=ln(Gr,w),qr=B==="limit"?q?"GTD":"GTC":"FOK",Qr=B==="market"?N:Nt>0?N/Nt:0,Xr={tokenId:Bt,price:Nt,size:Qr,side:"BUY",orderType:qr,tickSize:w,negRisk:dr,...rt&&{funderAddress:rt},...B==="limit"&&q&&{expiration:sn(Se,he,He)}},M=buildCtfExchangeDomain(dr),xe=buildOrderMessage({...Xr,signerAddress:Ft.address,signatureType:Ft.signatureType,feeRateBps:P}),Ve=await Ft.signTypedData(M,CTF_ORDER_TYPES,"Order",xe),De=buildSignedOrder(xe,Ve,Xr.orderType),nt=buildClobPayload(De,kt.apiKey),We=JSON.stringify(nt),Pt=await buildPolymarketL2Headers(kt.address,{apiKey:kt.apiKey,secret:kt.secret,passphrase:kt.passphrase,method:"POST",requestPath:"/order",body:We});await s.createPolymarketOrder(nt,Pt),a.invalidateQueries({queryKey:["predict","orders"]}),a.invalidateQueries({queryKey:["predict","positions"]}),toast.success(r("predict.trade.submitSuccess")),Xt(),mt(),U(!1);}finally{Te&&O&&i(O).catch(()=>{});}},[p,l,i,S,e.provider_meta,B,E,we,N,s,a,q,Se,he,He,mt,r,w,P,rt]),$n=useCallback(async()=>{if(!(!yt.isValid||!d)){U(true),y(null),Y(false);try{c==="kalshi"?await Yr():await kr();}catch(O){let Te=O instanceof Error?O.message:"",st=c==="polymarket"&&Te?cn(Te,r,"buy"):Te||void 0;toast.error(st||r("predict.trade.submitError")),U(false);}}},[yt.isValid,d,c,Yr,kr,r]);return {outcome:S,orderType:B,quantity:N,limitPrice:E,shares:Oe,estimatedCost:Kr,potentialPayout:Vr,potentialProfit:$o,usdcBalance:lr,isBalanceLoading:Hn,isMarketDataLoading:c==="polymarket"&&(x||k),isSubmitting:de,validation:yt,supportsLimitOrder:m,kycRequired:j,kycUrl:tt,expirationEnabled:q,expirationPreset:Se,customDuration:he,customDurationUnit:He,setOutcome:ge,setOrderType:A,setQuantity:jr,setLimitPrice:zn,setExpirationEnabled:pe,setExpirationPreset:it,setCustomDuration:Be,setCustomDurationUnit:xt,submit:$n}}function dn({isOpen:e,onClose:t,kycUrl:r}){let{t:n}=useTranslation();return jsx(StyledModal,{isOpen:e,onOpenChange:o=>{o||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:n("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:n("predict.trade.kycModalDescription")}),jsx("div",{className:"flex flex-col gap-2 mb-4",children:["predict.trade.kycModalBullet1","predict.trade.kycModalBullet2","predict.trade.kycModalBullet3"].map(o=>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:n(o)})]},o))}),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:[n("predict.trade.goToKYC")," \u2192"]}),jsx("p",{className:"text-[11px] text-zinc-500 mb-5",children:n("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:n("common.ok")})]})]})})})}var lc=`https://s1.chainstream.io/chains/sol/tokens/${SOLANA_TOKENS.stablecoins.USDC.address}/image.png`,cc=["5m","1h","12h","24h","eod","custom"],dc={"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"},pc=["minutes","hours","days"],uc={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"},mc={maximumFractionDigits:0};function mi({event:e,market:t,variant:r="bordered",outcome:n,orderType:o,quantity:i,limitPrice:s,shares:l,potentialProfit:a,potentialPayout:c,estimatedCost:m,usdcBalance:u,isBalanceLoading:p,isMarketDataLoading:d,isSubmitting:f,isValid:g,validationErrors:h,supportsLimitOrder:v,kycRequired:k,kycUrl:w,expirationEnabled:R,expirationPreset:x,customDuration:P,customDurationUnit:S,onOutcomeChange:V,onOrderTypeChange:B,onQuantityChange:J,onLimitPriceChange:N,onExpirationEnabledChange:H,onExpirationPresetChange:E,onCustomDurationChange:I,onCustomDurationUnitChange:de,onSubmit:U}){let{t:b}=useTranslation(),[y,j]=useState(false),Y=useDisclosure(),[q,pe]=useState(""),Se=useRef(false);useEffect(()=>{Se.current||pe(isNaN(i)?"":String(i));},[i]);let[it,he]=useState(""),Be=useRef(false);useEffect(()=>{Be.current||(isNaN(s)?he(""):he(String(parseFloat((s*100).toFixed(2)))));},[s]);let He=useCallback(_=>{if(_!==""&&!/^\d*\.?\d{0,2}$/.test(_))return;if(he(_),_===""||_==="."){N(NaN);return}let bt=parseFloat(_);isNaN(bt)||N(bt/100);},[N]),xt=useCallback(_=>{if(_!==""&&!/^\d*\.?\d{0,2}$/.test(_))return;if(pe(_),Oe(false),_===""||_==="."){J(NaN);return}let bt=parseFloat(_);isNaN(bt)||J(bt);},[J]);useEffect(()=>{k&&!Y.isOpen&&Y.onOpen();},[k]);let ve=useMemo(()=>{let _=n==="yes"?t.yesAsk:t.noAsk;return _!=null?parseFloat((Number(_)*100).toFixed(2)):null},[n,t]),Ke=!isNaN(i)&&i>0,tt=useMemo(()=>{if(p)return b("predict.trade.loadingBalance");if(d)return b("predict.trade.loadingMarketData");if(f)return b("predict.trade.submitting");if(k)return b("predict.trade.kycRequired");if(!Ke)return b("predict.trade.enterAmount");let _=b(n==="yes"?"predict.trade.yes":"predict.trade.no"),Ee=a>0?` \u2192 Win $${a.toFixed(2)}`:"";return `${b("predict.trade.buy")} ${_}${Ee}`},[p,d,f,k,Ke,n,a,b]),rt=useMemo(()=>n==="yes"?"primary":"secondary",[n]),we=()=>{J(Math.floor((u??0)/2*100)/100);},A=()=>{J(Ne(u??0,2));},[ge,Oe]=useState(false),ze=()=>{if(k){Y.onOpen();return}if(!g){Oe(true);return}Oe(false),U();};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==="bordered"&&(_.currentTarget.style.borderColor="rgba(63,63,70,0.8)");},onMouseLeave:_=>{r==="bordered"&&(_.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:n==="yes"?"text-bullish":"text-bearish",children:[b("predict.trade.buy")," ",b(n==="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:[v?jsxs(Tabs,{variant:"underlined",selectedKey:o,onSelectionChange:_=>B(_),classNames:{tabList:"gap-x-4",tab:"px-0"},children:[jsx(Tab,{title:b("predict.trade.market")},"market"),jsx(Tab,{title:b("predict.trade.limit")},"limit")]}):jsx("span",{className:"text-sm font-medium text-foreground",children:b("predict.trade.market")}),o==="limit"&&v?jsx(StyledInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",inputMode:"decimal",value:it,onChange:_=>He(_.target.value),onFocus:()=>{Be.current=true;},onBlur:()=>{Be.current=false,isNaN(s)?he(""):he(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"}}):ve!=null&&jsxs("span",{className:"text-xl font-bold tabular-nums",children:[ve," \xA2"]})]}),jsx("div",{className:"flex gap-x-2",children:["yes","no"].map(_=>{let Ee=_==="yes"?t.yesAsk:t.noAsk;return jsx("div",{className:"flex flex-1 flex-col gap-y-1",children:jsxs("button",{type:"button",onClick:()=>V(_),className:`w-full rounded-lg border py-2 text-sm font-medium transition-colors cursor-pointer ${n===_?_==="yes"?"border-primary bg-primary-50 text-primary":"border-secondary bg-secondary-50 text-secondary":"border-default-400 text-foreground hover:border-default-500"}`,children:[jsx("span",{children:b(_==="yes"?"predict.trade.yes":"predict.trade.no")}),Ee!=null&&jsxs("span",{className:"ml-1 opacity-70",children:[parseFloat((Number(Ee)*100).toFixed(2)),"\xA2"]})]})},_)})}),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:b("predict.trade.youArePaying")}),jsxs("div",{className:"flex items-center gap-x-2",children:[jsx("img",{src:lc,alt:"USDC",className:"h-3.5 w-3.5 rounded-full object-cover"}),jsx("span",{className:"font-medium text-foreground tabular-nums",children:u!=null?`${Ne(u,2).toFixed(2)} USDC`:"\u2013"}),jsx("button",{type:"button",onClick:we,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:b("predict.trade.half")}),jsx("button",{type:"button",onClick:A,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:b("predict.trade.max")})]})]}),jsx(StyledInput,{"aria-label":"Trade amount",fullWidth:true,placeholder:"0",radius:"lg",size:"lg",inputMode:"decimal",value:q,onChange:_=>xt(_.target.value),onFocus:()=>{Se.current=true;},onBlur:()=>{Se.current=false,pe(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"}}),ge&&h.length>0&&jsx("div",{className:"flex flex-col gap-y-0.5",children:h.map(_=>jsx("span",{className:"text-xs text-danger",children:_},_))})]}),o==="limit"&&v&&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:b("predict.trade.setExpiration")}),jsx(StyledSwitch,{size:"sm",color:"primary",isSelected:R,onValueChange:H,"aria-label":b("predict.trade.setExpiration")})]}),R&&jsxs(Fragment,{children:[jsx(Select,{"aria-label":b("predict.trade.setExpiration"),selectedKeys:[x],onSelectionChange:_=>{let Ee=Array.from(_)[0];Ee&&E(Ee);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:cc.map(_=>jsx(SelectItem,{children:b(dc[_])},_))}),x==="custom"&&jsxs("div",{className:"flex gap-x-2",children:[jsx(StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(P)?void 0:P,onValueChange:I,minValue:1,step:1,formatOptions:mc,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:[S],onSelectionChange:_=>{let Ee=Array.from(_)[0];Ee&&de(Ee);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:pc.map(_=>jsx(SelectItem,{children:b(uc[_])},_))})]})]})]}),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:()=>j(_=>!_),className:"flex items-center gap-x-1 text-neutral-500 hover:text-foreground cursor-pointer transition-colors",children:[jsx("span",{children:b("predict.trade.odds")}),jsx(ChevronDownIcon,{className:cn$1("h-3.5 w-3.5 transition-transform",y&&"rotate-180")})]}),ve!=null&&jsx("span",{className:"text-foreground font-medium tabular-nums",children:b("predict.trade.chance",{percent:ve})})]}),y&&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:b("predict.trade.totalSize")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${m.toFixed(2)}`:"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:b("predict.trade.numContracts")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(l)&&l>0?Nr(l):"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:b("predict.trade.payout")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${c.toFixed(2)}`:"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:b("predict.trade.estProfit")}),jsx("span",{className:"tabular-nums text-bullish",children:!isNaN(i)&&i>0&&a>0?`+$${a.toFixed(2)}`:"\u2013"})]})]})]}),jsx(Button,{color:rt,fullWidth:true,radius:"lg",size:"lg",isDisabled:p||d||!Ke||f,isLoading:f||p||d,spinner:jsx(Spinner,{size:"sm",color:"current"}),onPress:ze,children:tt})]}),jsx(dn,{isOpen:Y.isOpen,onClose:Y.onClose,kycUrl:w})]})}function un({event:e,market:t,variant:r,initialOutcome:n,chain:o}){let{outcome:i,orderType:s,quantity:l,limitPrice:a,shares:c,estimatedCost:m,potentialPayout:u,potentialProfit:p,usdcBalance:d,isBalanceLoading:f,isMarketDataLoading:g,isSubmitting:h,validation:v,supportsLimitOrder:k,kycRequired:w,kycUrl:R,expirationEnabled:x,expirationPreset:P,customDuration:S,customDurationUnit:V,setOutcome:B,setOrderType:J,setQuantity:N,setLimitPrice:H,setExpirationEnabled:E,setExpirationPreset:I,setCustomDuration:de,setCustomDurationUnit:U,submit:b}=ii({market:t,initialOutcome:n}),y=useAuthCallback(b),j=useMemo(()=>e?en(e):void 0,[e]),Y=useMemo(()=>tn(t),[t]);return jsx(mi,{event:j,market:Y,variant:r,outcome:i,orderType:s,quantity:l,limitPrice:a,shares:c,estimatedCost:m,potentialPayout:u,potentialProfit:p,usdcBalance:d,isBalanceLoading:f,isMarketDataLoading:g,isSubmitting:h,isValid:v.isValid,validationErrors:v.errors,supportsLimitOrder:k,kycRequired:w,kycUrl:R,expirationEnabled:x,expirationPreset:P,customDuration:S,customDurationUnit:V,onOutcomeChange:B,onOrderTypeChange:J,onQuantityChange:N,onLimitPriceChange:H,onExpirationEnabledChange:E,onExpirationPresetChange:I,onCustomDurationChange:de,onCustomDurationUnitChange:U,onSubmit:y})}var Pr="predict-trade";function mn({id:e=Pr}){return jsx(AsyncModal,{id:e,children:t=>jsx(kc,{...t})})}function kc({params:e,isOpen:t,onOpenChange:r}){let{t:n}=useTranslation(),{isMobile:o}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:o?"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:o?"":"p-2",children:[jsx(un,{event:e.event,market:e.market,initialOutcome:e.initialOutcome,chain:e.chain,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:n("common.cancel")})})]})})}):null}var qn={sortPreset:"volume",sortAsc:false,source:void 0,timeRemaining:void 0,minVolume:void 0,minLiquidity:void 0};function Qn(e){let t=0;return e.source&&t++,e.timeRemaining&&t++,e.minVolume&&t++,e.minLiquidity&&t++,t}function gi({isOpen:e,onClose:t,value:r,onChange:n}){let{t:o}=useTranslation(),[i,s]=useState(r),l=useCallback(h=>{h?s(r):t();},[r,t]),a=useCallback(()=>{s(qn);},[]),c=useCallback(()=>{n(i),t();},[i,n,t]),m=useCallback((h,v)=>{s(k=>({...k,[h]:v}));},[]),u=useMemo(()=>Qn(i),[i]),p=useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"polymarket",label:o("predict.platform.polymarket")},{value:"kalshi",label:o("predict.platform.kalshi")}],[o]),d=useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"1d",label:o("predict.filter.lessThanDay")},{value:"7d",label:o("predict.filter.lessThanWeek")},{value:"30d",label:o("predict.filter.lessThanMonth")}],[o]),f=useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[o]),g=useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[o]);return jsx(StyledModal,{isOpen:e,onOpenChange:l,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:o("predict.filter.title")}),jsx(Mc,{onClick:()=>l(false)})]}),jsxs("div",{style:{padding:"0 20px 16px",display:"flex",flexDirection:"column",gap:20},children:[jsx(gn,{label:o("predict.filter.platform"),children:jsx(hn,{options:p,selected:i.source,onSelect:h=>m("source",h)})}),jsx(gn,{label:o("predict.filter.timeRemaining"),children:jsx(hn,{options:d,selected:i.timeRemaining,onSelect:h=>m("timeRemaining",h)})}),jsx(gn,{label:o("predict.filter.minVolume"),children:jsx(hn,{options:f,selected:i.minVolume,onSelect:h=>m("minVolume",h)})}),jsx(gn,{label:o("predict.filter.minLiquidity"),children:jsx(hn,{options:g,selected:i.minLiquidity,onSelect:h=>m("minLiquidity",h)})})]}),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:a,children:o("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:c,children:[o("predict.filter.showResults"),u>0&&jsxs("span",{style:{opacity:.7},children:["(",u,")"]})]})]})]})})})}function gn({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 Mc({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 hn({options:e,selected:t,onSelect:r,allowDeselect:n=true}){return jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:e.map(o=>{let i=t===o.value;return jsx("button",{type:"button",onClick:()=>{r(i&&n?void 0:o.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:o.label},o.value??"__all")})})}var yi={start_time:{sort_by:"created_at"},volume:{sort_by:"volume"},liquidity:{sort_by:"liquidity"},ending_soon:{sort_by:"end_at"}},vi={start_time:"predict.sort.startTime",volume:"predict.sort.volume",liquidity:"predict.sort.liquidity",ending_soon:"predict.sort.endingSoon"},Ac=["start_time","volume","liquidity","ending_soon"],xi={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"},Fc={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 ki({sortPreset:e,onSortChange:t,sortAsc:r,onSortAscChange:n,onFilterPress:o,filterCount:i=0,className:s}){let{t:l}=useTranslation(),[a,c]=useState(false),m=useRef(null),u=useCallback(d=>{m.current&&!m.current.contains(d.target)&&c(false);},[]);useEffect(()=>(document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)),[u]),useEffect(()=>{if(!a)return;let d=f=>{f.key==="Escape"&&c(false);};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[a]);let p=bi[e];return jsxs("div",{className:s,style:{display:"flex",alignItems:"center",gap:8},children:[jsxs("div",{ref:m,style:{position:"relative"},children:[jsxs("button",{type:"button",style:xi,onMouseEnter:d=>{d.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:d=>{d.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>c(d=>!d),children:[jsx(Bc,{}),jsx(p,{className:"size-4 shrink-0",style:{color:"#a1a1aa"}}),jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:l(vi[e])}),jsx(zc,{open:a})]}),a&&jsx("div",{style:{...Fc,width:224,padding:4},children:Ac.map(d=>{let f=bi[d],g=e===d;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:h=>{g||(h.currentTarget.style.background="rgba(39,39,42,0.5)",h.currentTarget.style.color="#fff");},onMouseLeave:h=>{g||(h.currentTarget.style.background="transparent",h.currentTarget.style.color="#a1a1aa");},onClick:()=>{e===d?n(!r):t(d),c(false);},children:[jsx(f,{className:"size-4 shrink-0",style:{color:g?"#c7ff2e":"#71717a"}}),jsx("span",{style:{flex:1,fontWeight:500},children:l(vi[d])}),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"})})]},d)})})]}),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:d=>{d.currentTarget.style.background="rgba(39,39,42,1)",d.currentTarget.style.color="#fff";},onMouseLeave:d=>{d.currentTarget.style.background="rgba(39,39,42,0.6)",d.currentTarget.style.color="#a1a1aa";},onClick:()=>n(!r),children:r?"\u2191":"\u2193"}),jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxs("button",{type:"button",style:xi,onMouseEnter:d=>{d.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:d=>{d.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:o,children:[jsx(Hc,{}),jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:l("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 bi={start_time:CalendarIcon,volume:ChartLineIcon,liquidity:DropletIcon,ending_soon:TimerIcon};function Bc(){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 Hc(){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 zc({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 Ni(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:n,isFetching:o,isFetchingNextPage:i,isError:s,error:l,hasNextPage:a,fetchNextPage:c,refetch:m}=useInfiniteEvents(t),u=useMemo(()=>r?.pages.flatMap(f=>f.items).filter(f=>f!=null)??[],[r]),p=useCallback(()=>{c();},[c]),d=useCallback(()=>{m();},[m]);return {data:u,isLoading:n,isFetching:o&&!i,isFetchingMore:i,isError:s,error:l??null,hasMore:a??false,fetchMore:p,refetch:d}}var Pi=`
|
|
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,TrashIcon,Chip,XCloseIcon,Kbd,SearchIcon,EmptyIcon,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,useSwitchChain,useAuthCallback}from'@liberfi.io/wallet-connector';import {keepPreviousData,useQueryClient,useQueries}from'@tanstack/react-query';import {ChartRange,useInfiniteMatchMarkets,useBalance,useDFlowKYC,usePolymarketSetup,usePredictClient,PolymarketContext,useTickSize,useFeeRate,usePositions,useDFlowQuote,useDFlowSubmit,useOrder,buildCtfExchangeDomain,buildOrderMessage,CTF_ORDER_TYPES,buildSignedOrder,buildClobPayload,buildPolymarketL2Headers,resolveEventsParams,useInfiniteEvents,useRedeemPosition,useAvailableShares,getPolymarketSharesPrecision,useInfiniteOrders,useCancelOrder,useInfiniteTrades,useOrderbook,useMarketHistory,useEvent,useSimilarEvents,candlesticksQueryKey,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 {SOLANA_TOKENS,debounce}from'@liberfi.io/utils';import Qn from'canvas-confetti';import {List}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';typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-predict"]="0.1.142");var kl="0.1.142";var Sl={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},Qo=["Politics","Sports","Crypto","Economics","Financials","Elections","Entertainment","Companies","Science and Technology","Climate and Weather","Mentions","Social","World"],Yn=(()=>{let e=t=>{let r=Qo.indexOf(t);return r===-1?Qo.length:r};return Object.entries(Sl).map(([t,r])=>({slug:t,label:t,tags:(r??[]).map(n=>({slug:n,label:n}))})).sort((t,r)=>e(t.slug)-e(r.slug))})();function Zo({categories:e,selectedCategory:t,selectedTag:r,activeTags:n,onCategorySelect:o,onTagSelect:i,trailing:a,pulsingTab:l="Trending",className:s}){let{t:c}=useTranslation(),m=useCallback(()=>{o(null);},[o]),u=c("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",s),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(Xo,{label:u,isSelected:t===null,onPress:m,showPulse:u===l}),jsx(Cl,{}),e.map(p=>jsx(Xo,{label:p.category,isSelected:t===p.category,onPress:()=>o(p.category),badge:p.badge,showPulse:p.category===l},p.category))]})}),a&&jsx("div",{className:"flex-shrink-0",children:a})]}),t&&n.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(Jo,{label:c("predict.categories.allMarkets"),isSelected:r===null,onPress:()=>i(null)}),n.map(p=>jsx(Jo,{label:p.label,icon:p.icon,isSelected:r===p.label,onPress:()=>i(p.label)},p.label))]})})]})}function Xo({label:e,isSelected:t,onPress:r,badge:n,showPulse:o}){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:[o?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,n&&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:n})]})}function Cl(){return jsx("span",{className:"flex items-center text-neutral-600","aria-hidden":"true",children:"|"})}function Jo({label:e,icon:t,isSelected:r,onPress:n}){return jsxs("button",{type:"button",onClick:n,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 T0({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 Ml(e){return e.map(t=>({category:t.label,tags:t.tags.map(r=>r.label)}))}function El(e){return e?e.tags.map(t=>({label:t.label,icon:t.icon})):[]}function ri({onSelect:e,trailing:t,className:r}){let[n,o]=useState(null),[i,a]=useState(null),l=useCallback(p=>{o(p),a(null),e?.({categorySlug:p,tagSlug:null});},[e]),s=useCallback(p=>{a(p),e?.({categorySlug:n,tagSlug:p});},[n,e]),c=Ml(Yn),m=Yn.find(p=>p.slug===n),u=El(m);return jsx(Zo,{categories:c,selectedCategory:n,selectedTag:i,activeTags:u,onCategorySelect:l,onTagSelect:s,trailing:t,className:r})}function rn(e){return {title:e.title,imageUrl:e.image_url}}function nn(e){let t=e.outcomes[0],r=e.outcomes[1];return {question:e.question,yesAsk:t?.best_ask??t?.price,noAsk:r?.best_ask??r?.price,yesBid:t?.best_bid,noBid:r?.best_bid,yesSubTitle:t?.label??"Yes",noSubTitle:r?.label??"No"}}var Nr=24,Gn=4,on={ONE_MINUTE:1,ONE_HOUR:60,ONE_DAY:1440},Ye={ONE_DAY:"1d",ONE_WEEK:"1w",ONE_MONTH:"1m",ALL:"all"},sn=Ye.ALL,B0={[Ye.ONE_DAY]:on.ONE_MINUTE,[Ye.ONE_WEEK]:on.ONE_HOUR,[Ye.ONE_MONTH]:on.ONE_HOUR,[Ye.ALL]:on.ONE_DAY},z0={[Ye.ONE_DAY]:300,[Ye.ONE_WEEK]:3600,[Ye.ONE_MONTH]:10800,[Ye.ALL]:1440*60},H0={[Ye.ONE_DAY]:1440*60,[Ye.ONE_WEEK]:10080*60,[Ye.ONE_MONTH]:720*60*60,[Ye.ALL]:null},an=1,ln=1,$0=1,W0=1,U0=99,gr={ONE_HOUR:"1h",SIX_HOURS:"6h",ONE_DAY:"1d",ONE_WEEK:"1w",MAX:"max"},K0=gr.ONE_WEEK,V0={[gr.ONE_HOUR]:60,[gr.SIX_HOURS]:60,[gr.ONE_DAY]:300,[gr.ONE_WEEK]:1800,[gr.MAX]:1800};var ii=createContext(null);function Jt(){let e=useContext(ii);if(!e)throw new Error("usePredictWallet must be used within a PredictWalletProvider");return e}var Dl=1e4;function Al({pollingInterval:e=Dl,enabled:t=true,children:r}){let n=useWallets(),o=useMemo(()=>n.find(x=>x.chainNamespace===ChainNamespace.SOLANA&&x.isConnected)?.address,[n]),i=useMemo(()=>n.find(x=>x.chainNamespace===ChainNamespace.EVM&&x.isConnected)?.address,[n]),{data:a,isLoading:l,isFetching:s,error:c}=useBalance({source:"kalshi",user:o??""},{enabled:t&&!!o,refetchInterval:e}),{data:m,isLoading:u}=useDFlowKYC(o,{enabled:t&&!!o,refetchInterval:3e4}),{data:p,isLoading:d}=usePolymarketSetup(i,{enabled:t&&!!i,refetchInterval:3e4}),f=p?.safe_address,g=p?.verified??false,{data:h,isLoading:v,isFetching:k,error:w}=useBalance({source:"polymarket",user:i??""},{enabled:t&&g&&!!i,refetchInterval:e}),R=useMemo(()=>({solanaAddress:o,evmAddress:i,polymarketSafeAddress:f,kalshiUsdcBalance:a?Number(a.balance):null,polymarketUsdcBalance:g&&h?Number(h.balance):null,kalshiKycVerified:m?.verified??false,kalshiKycUrl:m?.kyc_url??null,kalshiKycLoading:u,polymarketSetupVerified:g,polymarketSafeDeployed:p?.safe_deployed??false,polymarketTokenApproved:p?.token_approved??false,polymarketSetupLoading:d,isLoading:l||v,isFetching:s||k,error:c??w??null}),[o,i,f,a,h,g,m,u,p,d,l,v,s,k,c,w]);return jsx(ii.Provider,{value:R,children:r})}var Bl={minutes:60,hours:3600,days:86400};function cn(e,t,r){let n=Math.floor(Date.now()/1e3);switch(e){case "5m":return n+300;case "1h":return n+3600;case "12h":return n+720*60;case "24h":return n+1440*60;case "eod":{let o=new Date;return o.setUTCHours(23,59,59,0),Math.floor(o.getTime()/1e3)}case "custom":return n+t*Bl[r]}}function dn(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 pn(e,t,r){let n=e.match(/Size\s*\(([\d.]+)\)\s*lower than the minimum:\s*([\d.]+)/i);if(n)return t("predict.trade.polymarket.minOrderSize",{current:n[1],min:n[2]});let o=e.match(/balance:\s*(\d+),\s*sum of active orders:\s*(\d+)/i);if(o){let a=parseInt(o[1],10)/1e6,l=parseInt(o[2],10)/1e6,s=Math.max(0,a-l);return t("predict.trade.polymarket.insufficientBalance",{total:Pe(a,2).toFixed(2),active:Pe(l,2).toFixed(2),available:Pe(s,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 Cr(e,t=2){return parseFloat(Pe(e,t).toFixed(t)).toString()}function Zt(){let e={startVelocity:30,spread:360,ticks:60,zIndex:9999};Qn({...e,particleCount:80,origin:{x:.5,y:.4}}),setTimeout(()=>{Qn({...e,particleCount:40,origin:{x:.3,y:.6}});},150),setTimeout(()=>{Qn({...e,particleCount:40,origin:{x:.7,y:.6}});},300);}function ci({market:e,initialOutcome:t="yes"}){let{t:r}=useTranslation(),{status:n}=useAuth(),o=useWallets(),i=useSwitchChain(),a=usePredictClient(),l=useContext(PolymarketContext),s=useQueryClient(),c=e.source,m=c==="polymarket",u=o.find(D=>D.chainNamespace===ChainNamespace.SOLANA&&D.isConnected),p=o.find(D=>D.chainNamespace===ChainNamespace.EVM&&D.isConnected&&"switchChain"in D),d=n==="authenticated",f=u?.address,g=p?.address,h=useMemo(()=>{if(c!=="polymarket")return;let D=e.provider_meta?.["polymarket.clobTokenIds"];return D?(typeof D=="string"?JSON.parse(D):D)[0]:void 0},[c,e.provider_meta]),{data:v,isLoading:k}=useTickSize(h),w=v?.minimum_tick_size?String(v.minimum_tick_size):"0.01",{data:R,isLoading:x}=useFeeRate(h),N=String(R?.base_fee??0),[S,K]=useState(t),[A,Q]=useState("market"),[P,L]=useState(NaN),[E,O]=useState(NaN),[de,U]=useState(false),[b,y]=useState(null),[j,Y]=useState(false),[q,pe]=useState(false),[Se,st]=useState("1h"),[he,Be]=useState(30),[ze,bt]=useState("minutes"),ve=null,Ve=false,rt=null,nt;try{let D=Jt();ve={kalshiUsdcBalance:D.kalshiUsdcBalance,polymarketUsdcBalance:D.polymarketUsdcBalance,isLoading:D.isLoading},Ve=D.kalshiKycVerified,rt=D.kalshiKycUrl,nt=D.polymarketSafeAddress;}catch{}let we=useMemo(()=>{let D=S==="yes"?0:1,Te=e.outcomes[D];return Te?.best_ask??Te?.price??.5},[e.outcomes,S]),B=useCallback(D=>{Q(D);},[]),ge=useCallback(D=>{K(D),O(NaN);},[]);useEffect(()=>{A==="limit"&&isNaN(E)&&O(Math.round(we*100)/100);},[A,E,we]);let Oe=useMemo(()=>isNaN(P)||P<=0?0:we>0?P/we:0,[P,we]),He=useMemo(()=>isNaN(P)||P<=0?"0":String(Math.round(P*1e6)),[P]),I=e.provider_meta?.["dflow.yesMint"]??"",Ee=e.provider_meta?.["dflow.noMint"]??"",yt=SOLANA_TOKENS.stablecoins.USDC.address,Wn=S==="yes"?I:Ee,at=yt,Gt=Wn,dr=c==="kalshi"?f??"":g??"",{data:qt,isLoading:Dt}=usePositions({source:c,user:dr},{enabled:!!dr}),$e=c==="kalshi"&&!!at&&!!Gt&&!!f&&He!=="0",{refetch:Vr}=useDFlowQuote({inputMint:at,outputMint:Gt,amount:He,userPublicKey:f??"",slippageBps:100},{enabled:$e}),pr=useMemo(()=>ve?c==="kalshi"?ve.kalshiUsdcBalance:ve.polymarketUsdcBalance:qt&&qt.positions.reduce((Te,lt)=>lt.side==="USDC"||lt.side==="collateral"?Te+(lt.current_value??0):Te,0)||null,[ve,qt,c]),Un=ve?ve.isLoading:Dt,mt=useMemo(()=>A==="limit"&&m&&!isNaN(E)?E:we,[A,m,E,we]),jr=useMemo(()=>isNaN(P)||P<=0?0:P,[P]),Yr=useMemo(()=>isNaN(P)||P<=0?0:mt>0?P/mt*1:0,[P,mt]),Vo=Yr-jr,Gr=useCallback(D=>{if(isNaN(D)){L(NaN);return}L(Math.round(Math.max(0,D)*100)/100);},[]),Kn=useCallback(D=>{if(isNaN(D)){O(NaN);return}let Te=Math.max(.01,Math.min(.99,D));O(Math.round(Te*100)/100);},[]),ft=useCallback(()=>{L(NaN),O(NaN),Q("market"),pe(false),st("1h"),Be(30),bt("minutes");},[]),kt=useMemo(()=>{let D=[];return isNaN(P)||P<=0?D.push(r("predict.trade.minAmountUsd",{amount:ln})):P<ln&&D.push(r("predict.trade.minAmountUsd",{amount:ln})),e.status!=="open"&&D.push(r("predict.trade.marketNotActive")),pr!=null&&!isNaN(P)&&P>0&&P>Pe(pr,2)&&D.push(r("predict.trade.insufficientBalance")),A==="limit"&&m&&(isNaN(E)||E<.01||E>.99)&&D.push(r("predict.trade.limitPriceRange")),A==="limit"&&m&&q&&Se==="custom"&&(isNaN(he)||he<=0)&&D.push(r("predict.trade.expiration.invalidDate")),{isValid:D.length===0,errors:D}},[P,e.status,pr,A,m,E,q,Se,he,r]),{mutateAsync:At}=useDFlowSubmit(),{data:Ft}=useOrder({id:b??"",source:c},{enabled:!!b});useEffect(()=>{if(!Ft||!b)return;let{status:D}=Ft;D==="closed"?(y(null),U(false),toast.success(r("predict.trade.submitSuccess")),Zt(),ft(),s.invalidateQueries({queryKey:["predict","positions"]})):(D==="failed"||D==="expired")&&(U(false),y(null),toast.error(r("predict.trade.submitError")));},[Ft,b,s,ft,r]);let qr=useCallback(async()=>{if(!f||!u)return;if(!at||!Gt){toast.error("Missing token mint addresses"),U(false);return}if(!Ve){Y(true),U(false);return}let ur=(await Vr()).data?.transaction;if(!ur){toast.error(r("predict.trade.submitError")),U(false);return}let Bt=Uint8Array.from(atob(ur),zt=>zt.charCodeAt(0)),St=await u.signTransaction(Bt),wt=await At({signedTransaction:btoa(String.fromCharCode(...St)),orderContext:{user_public_key:f,input_mint:at,output_mint:Gt,amount:He,price:String(we),side:"BUY",outcome:S==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});y(wt.signature);},[f,u,Vr,At,at,Gt,He,we,S,e.slug,r,Ve]),Pr=useCallback(async()=>{if(!p||!l)return;let D=p.chain,Te=D!==Chain.POLYGON;Te&&await i(Chain.POLYGON);try{let lt=await p.getEip1193Provider();if(!lt){toast.error(r("predict.trade.submitError")),U(!1);return}let ur=!!nt,Bt={address:p.address,signatureType:ur?2:0,signTypedData:async(ue,Ht,en,jn)=>{let $t=[];"name"in ue&&$t.push({name:"name",type:"string"}),"version"in ue&&$t.push({name:"version",type:"string"}),"chainId"in ue&&$t.push({name:"chainId",type:"uint256"}),"verifyingContract"in ue&&$t.push({name:"verifyingContract",type:"address"}),"salt"in ue&&$t.push({name:"salt",type:"bytes32"});let jo={EIP712Domain:$t,...Ht};return await lt.request({method:"eth_signTypedData_v4",params:[p.address,JSON.stringify({domain:ue,types:jo,primaryType:en,message:jn})]})}},St=l.credentials??await l.authenticate(Bt),wt=S==="yes"?0:1,zt="",Pt=e.provider_meta?.["polymarket.clobTokenIds"];Pt&&(zt=(typeof Pt=="string"?JSON.parse(Pt):Pt)[wt]??"");let mr=e.provider_meta?.["polymarket.negRisk"]??!1,Qr=A==="limit"&&!isNaN(E)?E:we,Nt=dn(Qr,w),Xr=A==="limit"?q?"GTD":"GTC":"FOK",Jr=A==="market"?P:Nt>0?P/Nt:0,Zr={tokenId:zt,price:Nt,size:Jr,side:"BUY",orderType:Xr,tickSize:w,negRisk:mr,...nt&&{funderAddress:nt},...A==="limit"&&q&&{expiration:cn(Se,he,ze)}},M=buildCtfExchangeDomain(mr),xe=buildOrderMessage({...Zr,signerAddress:Bt.address,signatureType:Bt.signatureType,feeRateBps:N}),je=await Bt.signTypedData(M,CTF_ORDER_TYPES,"Order",xe),De=buildSignedOrder(xe,je,Zr.orderType),ot=buildClobPayload(De,St.apiKey),We=JSON.stringify(ot),Ct=await buildPolymarketL2Headers(St.address,{apiKey:St.apiKey,secret:St.secret,passphrase:St.passphrase,method:"POST",requestPath:"/order",body:We});await a.createPolymarketOrder(ot,Ct),s.invalidateQueries({queryKey:["predict","orders"]}),s.invalidateQueries({queryKey:["predict","positions"]}),toast.success(r("predict.trade.submitSuccess")),Zt(),ft(),U(!1);}finally{Te&&D&&i(D).catch(()=>{});}},[p,l,i,S,e.provider_meta,A,E,we,P,a,s,q,Se,he,ze,ft,r,w,N,nt]),Vn=useCallback(async()=>{if(!(!kt.isValid||!d)){U(true),y(null),Y(false);try{c==="kalshi"?await qr():await Pr();}catch(D){let Te=D instanceof Error?D.message:"",lt=c==="polymarket"&&Te?pn(Te,r,"buy"):Te||void 0;toast.error(lt||r("predict.trade.submitError")),U(false);}}},[kt.isValid,d,c,qr,Pr,r]);return {outcome:S,orderType:A,quantity:P,limitPrice:E,shares:Oe,estimatedCost:jr,potentialPayout:Yr,potentialProfit:Vo,usdcBalance:pr,isBalanceLoading:Un,isMarketDataLoading:c==="polymarket"&&(x||k),isSubmitting:de,validation:kt,supportsLimitOrder:m,kycRequired:j,kycUrl:rt,expirationEnabled:q,expirationPreset:Se,customDuration:he,customDurationUnit:ze,setOutcome:ge,setOrderType:B,setQuantity:Gr,setLimitPrice:Kn,setExpirationEnabled:pe,setExpirationPreset:st,setCustomDuration:Be,setCustomDurationUnit:bt,submit:Vn}}function un({isOpen:e,onClose:t,kycUrl:r}){let{t:n}=useTranslation();return jsx(StyledModal,{isOpen:e,onOpenChange:o=>{o||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:n("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:n("predict.trade.kycModalDescription")}),jsx("div",{className:"flex flex-col gap-2 mb-4",children:["predict.trade.kycModalBullet1","predict.trade.kycModalBullet2","predict.trade.kycModalBullet3"].map(o=>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:n(o)})]},o))}),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:[n("predict.trade.goToKYC")," \u2192"]}),jsx("p",{className:"text-[11px] text-zinc-500 mb-5",children:n("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:n("common.ok")})]})]})})})}var bc=`https://s1.chainstream.io/chains/sol/tokens/${SOLANA_TOKENS.stablecoins.USDC.address}/image.png`,yc=["5m","1h","12h","24h","eod","custom"],kc={"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"},Sc=["minutes","hours","days"],wc={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"},Pc={maximumFractionDigits:0};function vi({event:e,market:t,variant:r="bordered",outcome:n,orderType:o,quantity:i,limitPrice:a,shares:l,potentialProfit:s,potentialPayout:c,estimatedCost:m,usdcBalance:u,isBalanceLoading:p,isMarketDataLoading:d,isSubmitting:f,isValid:g,validationErrors:h,supportsLimitOrder:v,kycRequired:k,kycUrl:w,expirationEnabled:R,expirationPreset:x,customDuration:N,customDurationUnit:S,onOutcomeChange:K,onOrderTypeChange:A,onQuantityChange:Q,onLimitPriceChange:P,onExpirationEnabledChange:L,onExpirationPresetChange:E,onCustomDurationChange:O,onCustomDurationUnitChange:de,onSubmit:U}){let{t:b}=useTranslation(),[y,j]=useState(false),Y=useDisclosure(),[q,pe]=useState(""),Se=useRef(false);useEffect(()=>{Se.current||pe(isNaN(i)?"":String(i));},[i]);let[st,he]=useState(""),Be=useRef(false);useEffect(()=>{Be.current||(isNaN(a)?he(""):he(String(parseFloat((a*100).toFixed(2)))));},[a]);let ze=useCallback(I=>{if(I!==""&&!/^\d*\.?\d{0,2}$/.test(I))return;if(he(I),I===""||I==="."){P(NaN);return}let yt=parseFloat(I);isNaN(yt)||P(yt/100);},[P]),bt=useCallback(I=>{if(I!==""&&!/^\d*\.?\d{0,2}$/.test(I))return;if(pe(I),Oe(false),I===""||I==="."){Q(NaN);return}let yt=parseFloat(I);isNaN(yt)||Q(yt);},[Q]);useEffect(()=>{k&&!Y.isOpen&&Y.onOpen();},[k]);let ve=useMemo(()=>{let I=n==="yes"?t.yesAsk:t.noAsk;return I!=null?parseFloat((Number(I)*100).toFixed(2)):null},[n,t]),Ve=!isNaN(i)&&i>0,rt=useMemo(()=>{if(p)return b("predict.trade.loadingBalance");if(d)return b("predict.trade.loadingMarketData");if(f)return b("predict.trade.submitting");if(k)return b("predict.trade.kycRequired");if(!Ve)return b("predict.trade.enterAmount");let I=b(n==="yes"?"predict.trade.yes":"predict.trade.no"),Ee=s>0?` \u2192 Win $${s.toFixed(2)}`:"";return `${b("predict.trade.buy")} ${I}${Ee}`},[p,d,f,k,Ve,n,s,b]),nt=useMemo(()=>n==="yes"?"primary":"secondary",[n]),we=()=>{Q(Math.floor((u??0)/2*100)/100);},B=()=>{Q(Pe(u??0,2));},[ge,Oe]=useState(false),He=()=>{if(k){Y.onOpen();return}if(!g){Oe(true);return}Oe(false),U();};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:I=>{r==="bordered"&&(I.currentTarget.style.borderColor="rgba(63,63,70,0.8)");},onMouseLeave:I=>{r==="bordered"&&(I.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:n==="yes"?"text-bullish":"text-bearish",children:[b("predict.trade.buy")," ",b(n==="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:[v?jsxs(Tabs,{variant:"underlined",selectedKey:o,onSelectionChange:I=>A(I),classNames:{tabList:"gap-x-4",tab:"px-0"},children:[jsx(Tab,{title:b("predict.trade.market")},"market"),jsx(Tab,{title:b("predict.trade.limit")},"limit")]}):jsx("span",{className:"text-sm font-medium text-foreground",children:b("predict.trade.market")}),o==="limit"&&v?jsx(StyledInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",inputMode:"decimal",value:st,onChange:I=>ze(I.target.value),onFocus:()=>{Be.current=true;},onBlur:()=>{Be.current=false,isNaN(a)?he(""):he(String(parseFloat((a*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"}}):ve!=null&&jsxs("span",{className:"text-xl font-bold tabular-nums",children:[ve," \xA2"]})]}),jsx("div",{className:"flex gap-x-2",children:["yes","no"].map(I=>{let Ee=I==="yes"?t.yesAsk:t.noAsk;return jsx("div",{className:"flex flex-1 flex-col gap-y-1",children:jsxs("button",{type:"button",onClick:()=>K(I),className:`w-full rounded-lg border py-2 text-sm font-medium transition-colors cursor-pointer ${n===I?I==="yes"?"border-primary bg-primary-50 text-primary":"border-secondary bg-secondary-50 text-secondary":"border-default-400 text-foreground hover:border-default-500"}`,children:[jsx("span",{children:b(I==="yes"?"predict.trade.yes":"predict.trade.no")}),Ee!=null&&jsxs("span",{className:"ml-1 opacity-70",children:[parseFloat((Number(Ee)*100).toFixed(2)),"\xA2"]})]})},I)})}),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:b("predict.trade.youArePaying")}),jsxs("div",{className:"flex items-center gap-x-2",children:[jsx("img",{src:bc,alt:"USDC",className:"h-3.5 w-3.5 rounded-full object-cover"}),jsx("span",{className:"font-medium text-foreground tabular-nums",children:u!=null?`${Pe(u,2).toFixed(2)} USDC`:"\u2013"}),jsx("button",{type:"button",onClick:we,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:b("predict.trade.half")}),jsx("button",{type:"button",onClick:B,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:b("predict.trade.max")})]})]}),jsx(StyledInput,{"aria-label":"Trade amount",fullWidth:true,placeholder:"0",radius:"lg",size:"lg",inputMode:"decimal",value:q,onChange:I=>bt(I.target.value),onFocus:()=>{Se.current=true;},onBlur:()=>{Se.current=false,pe(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"}}),ge&&h.length>0&&jsx("div",{className:"flex flex-col gap-y-0.5",children:h.map(I=>jsx("span",{className:"text-xs text-danger",children:I},I))})]}),o==="limit"&&v&&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:b("predict.trade.setExpiration")}),jsx(StyledSwitch,{size:"sm",color:"primary",isSelected:R,onValueChange:L,"aria-label":b("predict.trade.setExpiration")})]}),R&&jsxs(Fragment,{children:[jsx(Select,{"aria-label":b("predict.trade.setExpiration"),selectedKeys:[x],onSelectionChange:I=>{let Ee=Array.from(I)[0];Ee&&E(Ee);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:yc.map(I=>jsx(SelectItem,{children:b(kc[I])},I))}),x==="custom"&&jsxs("div",{className:"flex gap-x-2",children:[jsx(StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(N)?void 0:N,onValueChange:O,minValue:1,step:1,formatOptions:Pc,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:[S],onSelectionChange:I=>{let Ee=Array.from(I)[0];Ee&&de(Ee);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:Sc.map(I=>jsx(SelectItem,{children:b(wc[I])},I))})]})]})]}),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:()=>j(I=>!I),className:"flex items-center gap-x-1 text-neutral-500 hover:text-foreground cursor-pointer transition-colors",children:[jsx("span",{children:b("predict.trade.odds")}),jsx(ChevronDownIcon,{className:cn$1("h-3.5 w-3.5 transition-transform",y&&"rotate-180")})]}),ve!=null&&jsx("span",{className:"text-foreground font-medium tabular-nums",children:b("predict.trade.chance",{percent:ve})})]}),y&&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:b("predict.trade.totalSize")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${m.toFixed(2)}`:"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:b("predict.trade.numContracts")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(l)&&l>0?Cr(l):"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:b("predict.trade.payout")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${c.toFixed(2)}`:"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:b("predict.trade.estProfit")}),jsx("span",{className:"tabular-nums text-bullish",children:!isNaN(i)&&i>0&&s>0?`+$${s.toFixed(2)}`:"\u2013"})]})]})]}),jsx(Button,{color:nt,fullWidth:true,radius:"lg",size:"lg",isDisabled:p||d||!Ve||f,isLoading:f||p||d,spinner:jsx(Spinner,{size:"sm",color:"current"}),onPress:He,children:rt})]}),jsx(un,{isOpen:Y.isOpen,onClose:Y.onClose,kycUrl:w})]})}function fn({event:e,market:t,variant:r,initialOutcome:n,chain:o}){let{outcome:i,orderType:a,quantity:l,limitPrice:s,shares:c,estimatedCost:m,potentialPayout:u,potentialProfit:p,usdcBalance:d,isBalanceLoading:f,isMarketDataLoading:g,isSubmitting:h,validation:v,supportsLimitOrder:k,kycRequired:w,kycUrl:R,expirationEnabled:x,expirationPreset:N,customDuration:S,customDurationUnit:K,setOutcome:A,setOrderType:Q,setQuantity:P,setLimitPrice:L,setExpirationEnabled:E,setExpirationPreset:O,setCustomDuration:de,setCustomDurationUnit:U,submit:b}=ci({market:t,initialOutcome:n}),y=useAuthCallback(b),j=useMemo(()=>e?rn(e):void 0,[e]),Y=useMemo(()=>nn(t),[t]);return jsx(vi,{event:j,market:Y,variant:r,outcome:i,orderType:a,quantity:l,limitPrice:s,shares:c,estimatedCost:m,potentialPayout:u,potentialProfit:p,usdcBalance:d,isBalanceLoading:f,isMarketDataLoading:g,isSubmitting:h,isValid:v.isValid,validationErrors:v.errors,supportsLimitOrder:k,kycRequired:w,kycUrl:R,expirationEnabled:x,expirationPreset:N,customDuration:S,customDurationUnit:K,onOutcomeChange:A,onOrderTypeChange:Q,onQuantityChange:P,onLimitPriceChange:L,onExpirationEnabledChange:E,onExpirationPresetChange:O,onCustomDurationChange:de,onCustomDurationUnitChange:U,onSubmit:y})}var Mr="predict-trade";function gn({id:e=Mr}){return jsx(AsyncModal,{id:e,children:t=>jsx(Rc,{...t})})}function Rc({params:e,isOpen:t,onOpenChange:r}){let{t:n}=useTranslation(),{isMobile:o}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:o?"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:o?"":"p-2",children:[jsx(fn,{event:e.event,market:e.market,initialOutcome:e.initialOutcome,chain:e.chain,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:n("common.cancel")})})]})})}):null}var Zn={sortPreset:"volume",sortAsc:false,source:void 0,timeRemaining:void 0,minVolume:void 0,minLiquidity:void 0};function eo(e){let t=0;return e.source&&t++,e.timeRemaining&&t++,e.minVolume&&t++,e.minLiquidity&&t++,t}function bi({isOpen:e,onClose:t,value:r,onChange:n}){let{t:o}=useTranslation(),[i,a]=useState(r),l=useCallback(h=>{h?a(r):t();},[r,t]),s=useCallback(()=>{a(Zn);},[]),c=useCallback(()=>{n(i),t();},[i,n,t]),m=useCallback((h,v)=>{a(k=>({...k,[h]:v}));},[]),u=useMemo(()=>eo(i),[i]),p=useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"polymarket",label:o("predict.platform.polymarket")},{value:"kalshi",label:o("predict.platform.kalshi")}],[o]),d=useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"1d",label:o("predict.filter.lessThanDay")},{value:"7d",label:o("predict.filter.lessThanWeek")},{value:"30d",label:o("predict.filter.lessThanMonth")}],[o]),f=useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[o]),g=useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[o]);return jsx(StyledModal,{isOpen:e,onOpenChange:l,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:o("predict.filter.title")}),jsx(Bc,{onClick:()=>l(false)})]}),jsxs("div",{style:{padding:"0 20px 16px",display:"flex",flexDirection:"column",gap:20},children:[jsx(vn,{label:o("predict.filter.platform"),children:jsx(xn,{options:p,selected:i.source,onSelect:h=>m("source",h)})}),jsx(vn,{label:o("predict.filter.timeRemaining"),children:jsx(xn,{options:d,selected:i.timeRemaining,onSelect:h=>m("timeRemaining",h)})}),jsx(vn,{label:o("predict.filter.minVolume"),children:jsx(xn,{options:f,selected:i.minVolume,onSelect:h=>m("minVolume",h)})}),jsx(vn,{label:o("predict.filter.minLiquidity"),children:jsx(xn,{options:g,selected:i.minLiquidity,onSelect:h=>m("minLiquidity",h)})})]}),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:s,children:o("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:c,children:[o("predict.filter.showResults"),u>0&&jsxs("span",{style:{opacity:.7},children:["(",u,")"]})]})]})]})})})}function vn({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 Bc({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 xn({options:e,selected:t,onSelect:r,allowDeselect:n=true}){return jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:e.map(o=>{let i=t===o.value;return jsx("button",{type:"button",onClick:()=>{r(i&&n?void 0:o.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:a=>{i||(a.currentTarget.style.background="rgba(39,39,42,0.8)",a.currentTarget.style.color="#fff");},onMouseLeave:a=>{i||(a.currentTarget.style.background="rgba(39,39,42,0.4)",a.currentTarget.style.color="#a1a1aa");},children:o.label},o.value??"__all")})})}var Pi={start_time:{sort_by:"created_at"},volume:{sort_by:"volume"},liquidity:{sort_by:"liquidity"},ending_soon:{sort_by:"end_at"}},ki={start_time:"predict.sort.startTime",volume:"predict.sort.volume",liquidity:"predict.sort.liquidity",ending_soon:"predict.sort.endingSoon"},Yc=["start_time","volume","liquidity","ending_soon"],Si={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"},Gc={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 Ni({sortPreset:e,onSortChange:t,sortAsc:r,onSortAscChange:n,onFilterPress:o,filterCount:i=0,className:a}){let{t:l}=useTranslation(),[s,c]=useState(false),m=useRef(null),u=useCallback(d=>{m.current&&!m.current.contains(d.target)&&c(false);},[]);useEffect(()=>(document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)),[u]),useEffect(()=>{if(!s)return;let d=f=>{f.key==="Escape"&&c(false);};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[s]);let p=wi[e];return jsxs("div",{className:a,style:{display:"flex",alignItems:"center",gap:8},children:[jsxs("div",{ref:m,style:{position:"relative"},children:[jsxs("button",{type:"button",style:Si,onMouseEnter:d=>{d.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:d=>{d.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>c(d=>!d),children:[jsx(qc,{}),jsx(p,{className:"size-4 shrink-0",style:{color:"#a1a1aa"}}),jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:l(ki[e])}),jsx(Xc,{open:s})]}),s&&jsx("div",{style:{...Gc,width:224,padding:4},children:Yc.map(d=>{let f=wi[d],g=e===d;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:h=>{g||(h.currentTarget.style.background="rgba(39,39,42,0.5)",h.currentTarget.style.color="#fff");},onMouseLeave:h=>{g||(h.currentTarget.style.background="transparent",h.currentTarget.style.color="#a1a1aa");},onClick:()=>{e===d?n(!r):t(d),c(false);},children:[jsx(f,{className:"size-4 shrink-0",style:{color:g?"#c7ff2e":"#71717a"}}),jsx("span",{style:{flex:1,fontWeight:500},children:l(ki[d])}),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"})})]},d)})})]}),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:d=>{d.currentTarget.style.background="rgba(39,39,42,1)",d.currentTarget.style.color="#fff";},onMouseLeave:d=>{d.currentTarget.style.background="rgba(39,39,42,0.6)",d.currentTarget.style.color="#a1a1aa";},onClick:()=>n(!r),children:r?"\u2191":"\u2193"}),jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxs("button",{type:"button",style:Si,onMouseEnter:d=>{d.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:d=>{d.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:o,children:[jsx(Qc,{}),jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:l("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 wi={start_time:CalendarIcon,volume:ChartLineIcon,liquidity:DropletIcon,ending_soon:TimerIcon};function qc(){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 Qc(){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 Xc({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 Ei(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:n,isFetching:o,isFetchingNextPage:i,isError:a,error:l,hasNextPage:s,fetchNextPage:c,refetch:m}=useInfiniteEvents(t),u=useMemo(()=>r?.pages.flatMap(f=>f.items).filter(f=>f!=null)??[],[r]),p=useCallback(()=>{c();},[c]),d=useCallback(()=>{m();},[m]);return {data:u,isLoading:n,isFetching:o&&!i,isFetchingMore:i,isError:a,error:l??null,hasMore:s??false,fetchMore:p,refetch:d}}var Ti=`
|
|
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}}
|
|
@@ -14,7 +14,7 @@ import {createContext,memo,useRef,forwardRef,useState,useImperativeHandle,useMem
|
|
|
14
14
|
.evt-skel-hero-wrap{padding:40px 16px 32px}
|
|
15
15
|
@media(min-width:640px){.evt-skel-hero-wrap{padding:48px 24px 40px}}
|
|
16
16
|
@media(min-width:1024px){.evt-skel-hero-wrap{padding:52px 32px 44px}}
|
|
17
|
-
`,
|
|
17
|
+
`,Li={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:"evtShimmer 1.8s ease-in-out infinite",borderRadius:6};function dt(e){return {...Li,animationDelay:`${e}ms`}}function to({count:e=6}){return jsxs(Fragment,{children:[jsx("style",{children:Ti}),jsx("div",{className:"evt-skel-grid",style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",width:"100%"},children:Array.from({length:e}).map((t,r)=>jsx(ed,{index:r},r))})]})}function ed({index:e}){let t=e*120,r={...Li,animationDelay:`${t}ms`},n=e%3===0?"85%":e%3===1?"70%":"60%";return jsx("div",{style:{padding:8},children:jsxs("div",{className:"evt-skel-card",style:{display:"flex",flexDirection:"column",minHeight:248,borderRadius:14,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:"center",gap:10,padding:"14px 14px 8px"},children:[jsx("div",{style:{...r,width:36,height:36,borderRadius:10,flexShrink:0}}),jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:6},children:[jsx("div",{style:{...r,height:12,width:n}}),jsx("div",{style:{...r,height:10,width:"40%"}})]})]}),jsx("div",{style:{display:"flex",flexDirection:"column",gap:6,padding:"4px 14px 14px",flex:1},children:[0,1,2].map(o=>jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[jsx("div",{style:{...r,height:11,width:o===0?"55%":o===1?"45%":"35%"}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[jsx("div",{style:{...r,height:11,width:32}}),jsx("div",{style:{...r,height:28,width:80,borderRadius:8}})]})]},o))}),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:[jsx("div",{style:{...r,height:10,width:56}}),jsx("div",{style:{...r,height:10,width:72}})]})]})})}function td(){return jsxs("div",{style:{position:"relative",overflow:"hidden",borderBottom:"1px solid rgba(39,39,42,0.5)",width:"100vw",marginLeft:"calc(-50vw + 50%)"},children:[jsx("div",{style:{position:"absolute",inset:0,opacity:.025,backgroundImage:"radial-gradient(circle at 1px 1px, rgb(255 255 255) 1px, transparent 0)",backgroundSize:"20px 20px",pointerEvents:"none"}}),jsx("div",{className:"evt-skel-hero-wrap",style:{position:"relative",zIndex:1,maxWidth:1152,margin:"0 auto"},children:jsxs("div",{className:"evt-skel-hero-outer",children:[jsxs("div",{className:"evt-skel-hero-left",style:{minWidth:0,flex:1,gap:16},children:[jsx("div",{style:{...dt(0),width:120,height:28,borderRadius:9999}}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:{...dt(50),width:280,height:28,borderRadius:8}}),jsx("div",{style:{...dt(80),width:200,height:28,borderRadius:8}})]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[jsx("div",{style:{...dt(120),height:14,width:360,maxWidth:"100%"}}),jsx("div",{style:{...dt(150),height:14,width:300,maxWidth:"100%"}})]})]}),jsx("div",{className:"evt-skel-stat-grid",children:[0,1,2,3].map(e=>jsxs("div",{style:{padding:"14px 16px",background:"rgba(255,255,255,0.02)",borderRight:e%2===0?"1px solid rgba(39,39,42,0.4)":"none",borderBottom:e<2?"1px solid rgba(39,39,42,0.4)":"none"},children:[jsx("div",{style:{...dt(200+e*60),height:22,width:56,borderRadius:4}}),jsx("div",{style:{...dt(230+e*60),height:14,width:64,borderRadius:4,marginTop:4}})]},e))})]})})]})}function rd(){return jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 16px",borderBottom:"1px solid rgba(39,39,42,0.3)",background:"rgba(10,10,11,0.8)"},children:[jsx("div",{style:{display:"flex",alignItems:"center",gap:10,minHeight:40,flex:1},children:[48,64,48,56,72,56].map((e,t)=>jsx("div",{style:{...dt(t*50),height:28,width:e,borderRadius:6}},t))}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,flexShrink:0},children:[jsx("div",{style:{...dt(0),height:36,width:120,borderRadius:10}}),jsx("div",{style:{...dt(50),height:36,width:36,borderRadius:10}}),jsx("div",{style:{...dt(100),height:36,width:80,borderRadius:10}})]})]})}function ev({count:e=24}){return jsxs("div",{style:{minHeight:"100vh",position:"relative",width:"100%",maxWidth:1680,margin:"0 auto"},children:[jsx("style",{children:Ti}),jsx(td,{}),jsx(rd,{}),jsx("div",{style:{padding:"12px 8px 80px"},children:jsx(to,{count:e})})]})}var _i=3,pd={polymarket:{border:"rgba(80,162,255,0.4)",shadow:"0 2px 18px rgba(80,162,255,0.45)"},kalshi:{border:"rgba(0,212,146,0.4)",shadow:"0 2px 18px rgba(0,212,146,0.45)"}},ud={border:"hsl(var(--heroui-primary) / 0.4)",shadow:"0 2px 18px hsl(var(--heroui-primary) / 0.45)"},no={bg:"hsl(var(--heroui-primary) / 0.14)",text:"hsl(var(--heroui-primary))",shadow:"hsl(var(--heroui-primary) / 0.18)"},Ai={bg:"hsl(var(--heroui-secondary) / 0.14)",text:"hsl(var(--heroui-secondary))",shadow:"hsl(var(--heroui-secondary) / 0.18)"},md={bg:"rgba(239, 68, 68, 0.14)",text:"rgb(239, 68, 68)",shadow:"rgba(239, 68, 68, 0.18)"},Tr=[{bg:"rgba(139,92,246,0.14)",text:"rgb(139,92,246)",shadow:"rgba(139,92,246,0.18)"},{bg:"rgba(34,197,94,0.14)",text:"rgb(34,197,94)",shadow:"rgba(34,197,94,0.18)"},{bg:"rgba(0,166,212,0.14)",text:"rgb(0,166,212)",shadow:"rgba(0,166,212,0.18)"},{bg:"rgba(194,120,32,0.14)",text:"rgb(194,120,32)",shadow:"rgba(194,120,32,0.18)"},{bg:"rgba(202,138,4,0.14)",text:"rgb(202,138,4)",shadow:"rgba(202,138,4,0.18)"},{bg:"rgba(236,72,153,0.14)",text:"rgb(236,72,153)",shadow:"rgba(236,72,153,0.18)"},{bg:"rgba(99,102,241,0.14)",text:"rgb(99,102,241)",shadow:"rgba(99,102,241,0.18)"},{bg:"rgba(244,114,82,0.14)",text:"rgb(244,114,82)",shadow:"rgba(244,114,82,0.18)"}];function Ri(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r)|0;return Math.abs(t)}function fd(e){let t=e.outcomes?.map(a=>a.label?.toLowerCase().trim()??"")??[];if(t.some(a=>a==="up")&&t.some(a=>a==="down"))return [no,md];if(t.some(a=>a==="yes")&&t.some(a=>a==="no"))return [no,Ai];let r=t[0]??"",n=t[1]??"",o=Ri(r)%Tr.length,i=Ri(n)%Tr.length;return i===o&&(i=(i+1)%Tr.length),[Tr[o],Tr[i]]}function gd(e){let t=e.outcomes?.[0];return t?t.best_ask??t.price??null:null}function Fi(e){let t=gd(e);return t!=null?parseFloat((t*100).toFixed(2)):0}function Bi(e){return e<=1&&e>0?"< 1%":e>=99&&e<100?"> 99%":`${e}%`}function Ii(e){let t=e.outcomes?.[0],r=t?.best_ask??t?.price??0;return parseFloat((r*100).toFixed(2)).toString()}function Oi(e){let t=e.outcomes?.[1];if(t){let o=t.best_ask??t.price??0;return parseFloat((o*100).toFixed(2)).toString()}let r=e.outcomes?.[0],n=r?.best_ask??r?.price??0;return parseFloat(((1-n)*100).toFixed(2)).toString()}function hd(e){let t=new Date(e).getTime()-Date.now();if(t<=0)return null;let r=Math.floor(t/864e5),n=Math.floor(t%864e5/36e5),o=Math.floor(t%36e5/6e4),i=[];return r>0&&i.push(`${r}d`),n>0&&i.push(`${n}h`),i.push(`${o}m`),i.join(" ")}var vd=`
|
|
18
18
|
.badge-shine { position: relative; overflow: hidden; }
|
|
19
19
|
.badge-shine::after {
|
|
20
20
|
content: "";
|
|
@@ -38,13 +38,13 @@ import {createContext,memo,useRef,forwardRef,useState,useImperativeHandle,useMem
|
|
|
38
38
|
outline: 2px solid hsl(var(--heroui-primary) / 0.4);
|
|
39
39
|
outline-offset: 2px;
|
|
40
40
|
}
|
|
41
|
-
`;function Di({event:e,href:t,LinkComponent:r,onSelect:n,onSelectOutcome:o,onHover:i}){let[s,l]=useState(null),a=e.markets??[],m=useMemo(()=>a.length>2?[...a].sort((x,P)=>(P.outcomes?.[0]?.price??0)-(x.outcomes?.[0]?.price??0)):a,[a]).filter(x=>x.status==="open"),u=m.length===1,p=m.slice(0,Mi),d=m.length-Mi,f=useMemo(()=>`$${Math.round(e.volume??0).toLocaleString("en-US")}`,[e.volume]),g=s?m.find(x=>x.slug===s)??null:null,h=!!g||u,v=()=>{h||n?.(e);},k=x=>{x.stopPropagation(),g&&(x.preventDefault(),l(null));},w=x=>{x.stopPropagation(),t||(x.preventDefault(),n?.(e));},R=u?jsx(xd,{event:e,formattedVolume:f,href:t,LinkComponent:r,onSelect:n}):g?jsx(yd,{onCollapse:()=>l(null)}):jsx(fd,{moreCount:d,formattedVolume:f,source:e.source,href:t,LinkComponent:r,onShowMore:w});return jsxs("div",{className:"group evt-card",style:{display:"flex",flexDirection:"column",height:"100%",width:"100%",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:h?void 0:"pointer"},onMouseEnter:x=>{let P=x.currentTarget,S=ed[e.source]??td;P.style.borderColor=S.border,P.style.boxShadow=S.shadow,i?.(e);},onMouseLeave:x=>{let P=x.currentTarget;P.style.borderColor="rgba(39,39,42,0.6)",P.style.boxShadow="none";},onClick:v,children:[jsx("style",{children:ad}),jsxs("div",{style:{display:"flex",flexDirection:"column",flex:1,padding:"14px 14px 12px",gap:8},children:[jsx(sd,{event:e,href:t,LinkComponent:r,onClick:k,isExpanded:h}),jsx("div",{style:{display:"flex",flexDirection:"column",flex:1},children:u?jsx(vd,{market:m[0],event:e,onSelectOutcome:o}):g?jsx(bd,{market:g,event:e,onCollapse:()=>l(null),onSelectOutcome:o}):jsx(md,{displayedMarkets:p,onMarketClick:x=>l(x.slug)})})]}),jsx(gd,{children:R})]})}function sd({event:e,href:t,LinkComponent:r,onClick:n,isExpanded:o}){let i=e.start_at?id(e.start_at):null;return jsxs(Linkable,{href:t,LinkComponent:r,as:"button",className:"group/header flex items-center gap-x-2 lg:gap-x-4 w-full text-left cursor-pointer",onClick:n,children:[jsx(Avatar,{src:e.image_url||void 0,name:e.title||"Event",radius:"lg",className:"h-8 w-8 flex-shrink-0 transition-transform duration-300 group-hover/header:scale-110 lg:h-12 lg:w-12",classNames:{base:"bg-transparent"}}),jsxs("div",{className:"flex min-w-0 flex-1 flex-col justify-center gap-y-0.5",children:[jsx("p",{className:cn$1("min-w-0 text-sm font-semibold leading-snug text-slate-200 line-clamp-2 lg:text-base",o&&"group-hover/header:text-neutral-400"),children:e.title}),i&&jsxs("span",{className:"text-[10px] leading-4 text-neutral-500",children:["Live in ",i]})]}),jsx(cd,{event:e})]})}function ld(e){let t=[];if(e.status==="closed")return t.push({kind:"closed"}),t.slice(0,2);let r=e.tags?.some(o=>o.label?.toLowerCase()==="crypto"),n=e.tags?.some(o=>o.label?.toLowerCase()==="live");if(r&&e.end_at){let o=new Date(e.end_at).getTime()-Date.now(),i=300*1e3,s=900*1e3;if(o>0&&o<=s){let l=o<=i?"#ef4444":"#f59e0b";t.push({kind:"crypto-short",label:o<=i?"5m":"15m",color:l});}}return n&&t.push({kind:"live"}),t.slice(0,2)}function cd({event:e}){let t=useMemo(()=>ld(e),[e]);return t.length===0?null:jsx("div",{className:"flex flex-shrink-0 flex-col items-end gap-1",children:t.map((r,n)=>{switch(r.kind){case "live":return jsx(dd,{},n);case "crypto-short":return jsx(pd,{label:r.label,color:r.color},n);case "closed":return jsx(ud,{},n)}})})}function dd(){let{t:e}=useTranslation();return jsxs("span",{className:"badge-shine relative inline-flex items-center gap-1 overflow-hidden rounded-md bg-[rgb(240,68,56)]/10 px-1.5 py-0.5 text-xs font-semibold text-[rgb(240,68,56)]",children:[jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-current"}),e("predict.event.status.live")]})}function pd({label:e,color:t}){return jsxs("span",{className:"badge-shine relative inline-flex items-center gap-1 overflow-hidden rounded-md px-1.5 py-0.5 text-xs font-semibold",style:{backgroundColor:`${t}26`,color:t},children:[jsx(TimerIcon,{className:"size-3 shrink-0"}),e]})}function ud(){let{t:e}=useTranslation();return jsx("span",{className:"inline-flex items-center rounded-md bg-neutral-800/80 px-1.5 py-0.5 text-xs font-semibold text-neutral-400",children:e("predict.event.status.closed")})}function md({displayedMarkets:e,onMarketClick:t}){return e.length>0?jsx("div",{className:"flex w-full flex-1 flex-col gap-y-0.5 lg:gap-y-2",children:e.map(r=>{let n=Ii(r);return jsxs("button",{type:"button",className:"flex h-9 w-full items-center justify-between gap-x-2 transition-opacity hover:cursor-pointer hover:opacity-80",onClick:o=>{o.stopPropagation(),t(r);},children:[jsx("span",{className:"min-w-0 flex-1 text-left text-xs text-slate-200 line-clamp-1 lg:text-sm",children:r.outcomes?.[0]?.label??r.question}),jsxs("div",{className:"flex items-center gap-x-2",children:[jsx("span",{className:"text-sm font-semibold text-slate-200 lg:text-lg",children:Oi(n)}),jsx(hd,{})]})]},r.id??`${r.source}-${r.slug}`)})}):null}function fd({moreCount:e,formattedVolume:t,source:r,href:n,LinkComponent:o,onShowMore:i}){let{t:s}=useTranslation();return jsxs(Fragment,{children:[e>0?jsxs(Linkable,{href:n,LinkComponent:o,as:"button",className:"flex items-center gap-1 text-[10px] font-normal text-zinc-500 transition-colors hover:text-slate-200 cursor-pointer lg:text-xs",onClick:i,children:[s("predict.event.showMore"),jsx(Fi,{className:"h-3 w-3"})]}):jsx("div",{}),jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:10,color:"#71717a"},children:[t," ",s("predict.event.volume"),jsx(Bi,{source:r})]})]})}function gd({children:e}){return jsx("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",marginTop:"auto"},children:e})}function _i({bgColor:e,textColor:t,shadowColor:r,onClick:n,children:o}){return jsx("button",{type:"button",className:"flex h-12 flex-1 w-full items-center justify-center gap-x-1 overflow-hidden rounded-lg p-3 text-base font-normal hover:cursor-pointer will-change-transform [-webkit-tap-highlight-color:transparent]",style:{backgroundColor:e,color:t,"--shadow-color":r,"--shadow-offset":"4px",boxShadow:"inset 0 -1px 0 rgba(255,255,255,0.08), 0 var(--shadow-offset, 4px) 0 var(--shadow-color, rgba(0,0,0,0.22))",transition:"transform .12s, box-shadow .12s, opacity .14s"},onMouseEnter:l=>{let a=l.currentTarget;a.style.setProperty("--shadow-offset","2px"),a.style.transform="translateY(2px)";},onMouseLeave:l=>{let a=l.currentTarget;a.style.setProperty("--shadow-offset","4px"),a.style.transform="translateY(0px)";},onClick:n,children:o})}function Ai({market:e,event:t,onSelectOutcome:r,dynamicColors:n=false,labelFormat:o="action"}){let{t:i}=useTranslation(),[s,l]=n?nd(e):[Zn,Ri],a=e.outcomes?.[0]?.label?.toLowerCase().trim()??"",c=e.outcomes?.[1]?.label?.toLowerCase().trim()??"",m=o==="label"&&a===c?"action":o,u=m==="label"?`${e.outcomes?.[0]?.label??"Yes"} ${Ti(e)}\xA2`:i("predict.market.action.yes",{price:Ti(e)}),p=m==="label"?`${e.outcomes?.[1]?.label??"No"} ${Li(e)}\xA2`:i("predict.market.action.no",{price:Li(e)});return jsxs("div",{className:"flex gap-2",children:[jsx(_i,{bgColor:s.bg,textColor:s.text,shadowColor:s.shadow,onClick:d=>{d.stopPropagation(),r?.(t,e,"yes");},children:u}),jsx(_i,{bgColor:l.bg,textColor:l.text,shadowColor:l.shadow,onClick:d=>{d.stopPropagation(),r?.(t,e,"no");},children:p})]})}function hd(){let{t:e}=useTranslation();return jsxs("span",{className:"inline-flex h-7 w-[85px] items-center justify-center gap-x-3 rounded-lg p-1.5 text-xs font-semibold flex-shrink-0 bg-gradient-to-r from-primary/15 to-secondary/15 lg:h-9 lg:w-24 lg:gap-x-4 lg:p-2 lg:text-sm",children:[jsx("span",{className:"text-primary",children:e("predict.market.yes")}),jsx("span",{className:"text-neutral-400",children:"/"}),jsx("span",{className:"text-secondary",children:e("predict.market.no")})]})}function vd({market:e,event:t,onSelectOutcome:r}){return jsx("div",{style:{flex:1},children:jsx(Ai,{market:e,event:t,onSelectOutcome:r,dynamicColors:true,labelFormat:"label"})})}function xd({event:e,formattedVolume:t,href:r,LinkComponent:n,onSelect:o}){let{t:i}=useTranslation();return jsxs(Fragment,{children:[jsxs(Linkable,{href:r,LinkComponent:n,as:"button",className:"flex items-center gap-1 text-[10px] font-normal text-zinc-500 transition-colors hover:text-slate-200 cursor-pointer lg:text-xs",onClick:l=>{l.stopPropagation(),r||(l.preventDefault(),o?.(e));},children:[i("predict.event.viewEvent"),jsx(Fi,{className:"h-3 w-3"})]}),jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:10,color:"#71717a"},children:[t," ",i("predict.event.volume"),jsx(Bi,{source:e.source})]})]})}function bd({market:e,event:t,onCollapse:r,onSelectOutcome:n}){let o=Ii(e);return jsxs("div",{style:{flex:1},children:[jsxs("button",{type:"button",className:"flex h-9 w-full items-center justify-between cursor-pointer",onClick:i=>{i.stopPropagation(),r();},children:[jsx("span",{className:"min-w-0 flex-1 text-left text-xs text-slate-200 lg:text-sm",children:e.outcomes?.[0]?.label??e.question}),jsxs("div",{className:"flex items-center gap-x-1 flex-shrink-0",children:[jsx("span",{className:"text-sm font-semibold text-slate-200 lg:text-lg",children:Oi(o)}),jsx(ChevronUpIcon,{className:"h-4 w-4 text-neutral-400"})]})]}),jsx("div",{style:{marginTop:12},children:jsx(Ai,{market:e,event:t,onSelectOutcome:n,labelFormat:"action"})})]})}function yd({onCollapse:e}){let{t}=useTranslation();return jsxs(Fragment,{children:[jsxs("button",{type:"button",className:"flex items-center gap-x-1 text-[10px] font-normal transition-colors hover:text-slate-200 cursor-pointer lg:text-xs",style:{color:"#71717a"},onClick:r=>{r.stopPropagation(),e();},children:[jsx(kd,{className:"h-3 w-3"}),t("predict.event.back")]}),jsx("div",{})]})}function Fi({className:e}){return jsx("svg",{viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:jsx("path",{d:"M4.5 2.5L8 6l-3.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function kd({className:e}){return jsx("svg",{viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:jsx("path",{d:"M7.5 2.5L4 6l3.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Bi({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"})]})}var Pd=8;function zi({events:e,hasMore:t=false,isFetchingMore:r=false,onFetchMore:n,onSelect:o,onSelectOutcome:i,getEventHref:s,LinkComponent:l,onHover:a}){let{t:c}=useTranslation(),m=useRef(null);useEffect(()=>{let d=m.current;if(!d)return;let f=new IntersectionObserver(g=>{g[0]?.isIntersecting&&t&&!r&&n?.();},{rootMargin:"300px"});return f.observe(d),()=>f.disconnect()},[t,r,n]);let u=useCallback(()=>{window.scrollTo({top:0,behavior:"smooth"});},[]),p=!t&&e.length>0;return jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[jsx("style",{children:`
|
|
41
|
+
`;function zi({event:e,href:t,LinkComponent:r,onSelect:n,onSelectOutcome:o,onHover:i}){let[a,l]=useState(null),s=e.markets??[],m=useMemo(()=>s.length>2?[...s].sort((x,N)=>(N.outcomes?.[0]?.price??0)-(x.outcomes?.[0]?.price??0)):s,[s]).filter(x=>x.status==="open"),u=m.length===1,p=m.slice(0,_i),d=m.length-_i,f=useMemo(()=>`$${Math.round(e.volume??0).toLocaleString("en-US")}`,[e.volume]),g=a?m.find(x=>x.slug===a)??null:null,h=!!g||u,v=()=>{h||n?.(e);},k=x=>{x.stopPropagation(),g&&(x.preventDefault(),l(null));},w=x=>{x.stopPropagation(),t||(x.preventDefault(),n?.(e));},R=u?jsx(Td,{event:e,formattedVolume:f,href:t,LinkComponent:r,onSelect:n}):g?jsx(_d,{onCollapse:()=>l(null)}):jsx(Nd,{moreCount:d,formattedVolume:f,source:e.source,href:t,LinkComponent:r,onShowMore:w});return jsxs("div",{className:"group evt-card",style:{display:"flex",flexDirection:"column",height:"100%",width:"100%",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:h?void 0:"pointer"},onMouseEnter:x=>{let N=x.currentTarget,S=pd[e.source]??ud;N.style.borderColor=S.border,N.style.boxShadow=S.shadow,i?.(e);},onMouseLeave:x=>{let N=x.currentTarget;N.style.borderColor="rgba(39,39,42,0.6)",N.style.boxShadow="none";},onClick:v,children:[jsx("style",{children:vd}),jsxs("div",{style:{display:"flex",flexDirection:"column",flex:1,padding:"14px 14px 12px",gap:8},children:[jsx(xd,{event:e,href:t,LinkComponent:r,onClick:k,isExpanded:h}),jsx("div",{style:{display:"flex",flexDirection:"column",flex:1},children:u?jsx(Ed,{market:m[0],event:e,onSelectOutcome:o}):g?jsx(Ld,{market:g,event:e,onCollapse:()=>l(null),onSelectOutcome:o}):jsx(Pd,{displayedMarkets:p,onMarketClick:x=>l(x.slug)})})]}),jsx(Cd,{children:R})]})}function xd({event:e,href:t,LinkComponent:r,onClick:n,isExpanded:o}){let i=e.start_at?hd(e.start_at):null;return jsxs(Linkable,{href:t,LinkComponent:r,as:"button",className:"group/header flex items-center gap-x-2 lg:gap-x-4 w-full text-left cursor-pointer",onClick:n,children:[jsx(Avatar,{src:e.image_url||void 0,name:e.title||"Event",radius:"lg",className:"h-8 w-8 flex-shrink-0 transition-transform duration-300 group-hover/header:scale-110 lg:h-12 lg:w-12",classNames:{base:"bg-transparent"}}),jsxs("div",{className:"flex min-w-0 flex-1 flex-col justify-center gap-y-0.5",children:[jsx("p",{className:cn$1("min-w-0 text-sm font-semibold leading-snug text-slate-200 line-clamp-2 lg:text-base",o&&"group-hover/header:text-neutral-400"),children:e.title}),i&&jsxs("span",{className:"text-[10px] leading-4 text-neutral-500",children:["Live in ",i]})]}),jsx(yd,{event:e})]})}function bd(e){let t=[];if(e.status==="closed")return t.push({kind:"closed"}),t.slice(0,2);let r=e.tags?.some(o=>o.label?.toLowerCase()==="crypto"),n=e.tags?.some(o=>o.label?.toLowerCase()==="live");if(r&&e.end_at){let o=new Date(e.end_at).getTime()-Date.now(),i=300*1e3,a=900*1e3;if(o>0&&o<=a){let l=o<=i?"#ef4444":"#f59e0b";t.push({kind:"crypto-short",label:o<=i?"5m":"15m",color:l});}}return n&&t.push({kind:"live"}),t.slice(0,2)}function yd({event:e}){let t=useMemo(()=>bd(e),[e]);return t.length===0?null:jsx("div",{className:"flex flex-shrink-0 flex-col items-end gap-1",children:t.map((r,n)=>{switch(r.kind){case "live":return jsx(kd,{},n);case "crypto-short":return jsx(Sd,{label:r.label,color:r.color},n);case "closed":return jsx(wd,{},n)}})})}function kd(){let{t:e}=useTranslation();return jsxs("span",{className:"badge-shine relative inline-flex items-center gap-1 overflow-hidden rounded-md bg-[rgb(240,68,56)]/10 px-1.5 py-0.5 text-xs font-semibold text-[rgb(240,68,56)]",children:[jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-current"}),e("predict.event.status.live")]})}function Sd({label:e,color:t}){return jsxs("span",{className:"badge-shine relative inline-flex items-center gap-1 overflow-hidden rounded-md px-1.5 py-0.5 text-xs font-semibold",style:{backgroundColor:`${t}26`,color:t},children:[jsx(TimerIcon,{className:"size-3 shrink-0"}),e]})}function wd(){let{t:e}=useTranslation();return jsx("span",{className:"inline-flex items-center rounded-md bg-neutral-800/80 px-1.5 py-0.5 text-xs font-semibold text-neutral-400",children:e("predict.event.status.closed")})}function Pd({displayedMarkets:e,onMarketClick:t}){return e.length>0?jsx("div",{className:"flex w-full flex-1 flex-col gap-y-0.5 lg:gap-y-2",children:e.map(r=>{let n=Fi(r);return jsxs("button",{type:"button",className:"flex h-9 w-full items-center justify-between gap-x-2 transition-opacity hover:cursor-pointer hover:opacity-80",onClick:o=>{o.stopPropagation(),t(r);},children:[jsx("span",{className:"min-w-0 flex-1 text-left text-xs text-slate-200 line-clamp-1 lg:text-sm",children:r.outcomes?.[0]?.label??r.question}),jsxs("div",{className:"flex items-center gap-x-2",children:[jsx("span",{className:"text-sm font-semibold text-slate-200 lg:text-lg",children:Bi(n)}),jsx(Md,{})]})]},r.id??`${r.source}-${r.slug}`)})}):null}function Nd({moreCount:e,formattedVolume:t,source:r,href:n,LinkComponent:o,onShowMore:i}){let{t:a}=useTranslation();return jsxs(Fragment,{children:[e>0?jsxs(Linkable,{href:n,LinkComponent:o,as:"button",className:"flex items-center gap-1 text-[10px] font-normal text-zinc-500 transition-colors hover:text-slate-200 cursor-pointer lg:text-xs",onClick:i,children:[a("predict.event.showMore"),jsx($i,{className:"h-3 w-3"})]}):jsx("div",{}),jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:10,color:"#71717a"},children:[t," ",a("predict.event.volume"),jsx(Wi,{source:r})]})]})}function Cd({children:e}){return jsx("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",marginTop:"auto"},children:e})}function Di({bgColor:e,textColor:t,shadowColor:r,onClick:n,children:o}){return jsx("button",{type:"button",className:"flex h-12 flex-1 w-full items-center justify-center gap-x-1 overflow-hidden rounded-lg p-3 text-base font-normal hover:cursor-pointer will-change-transform [-webkit-tap-highlight-color:transparent]",style:{backgroundColor:e,color:t,"--shadow-color":r,"--shadow-offset":"4px",boxShadow:"inset 0 -1px 0 rgba(255,255,255,0.08), 0 var(--shadow-offset, 4px) 0 var(--shadow-color, rgba(0,0,0,0.22))",transition:"transform .12s, box-shadow .12s, opacity .14s"},onMouseEnter:l=>{let s=l.currentTarget;s.style.setProperty("--shadow-offset","2px"),s.style.transform="translateY(2px)";},onMouseLeave:l=>{let s=l.currentTarget;s.style.setProperty("--shadow-offset","4px"),s.style.transform="translateY(0px)";},onClick:n,children:o})}function Hi({market:e,event:t,onSelectOutcome:r,dynamicColors:n=false,labelFormat:o="action"}){let{t:i}=useTranslation(),[a,l]=n?fd(e):[no,Ai],s=e.outcomes?.[0]?.label?.toLowerCase().trim()??"",c=e.outcomes?.[1]?.label?.toLowerCase().trim()??"",m=o==="label"&&s===c?"action":o,u=m==="label"?`${e.outcomes?.[0]?.label??"Yes"} ${Ii(e)}\xA2`:i("predict.market.action.yes",{price:Ii(e)}),p=m==="label"?`${e.outcomes?.[1]?.label??"No"} ${Oi(e)}\xA2`:i("predict.market.action.no",{price:Oi(e)});return jsxs("div",{className:"flex gap-2",children:[jsx(Di,{bgColor:a.bg,textColor:a.text,shadowColor:a.shadow,onClick:d=>{d.stopPropagation(),r?.(t,e,"yes");},children:u}),jsx(Di,{bgColor:l.bg,textColor:l.text,shadowColor:l.shadow,onClick:d=>{d.stopPropagation(),r?.(t,e,"no");},children:p})]})}function Md(){let{t:e}=useTranslation();return jsxs("span",{className:"inline-flex h-7 w-[85px] items-center justify-center gap-x-3 rounded-lg p-1.5 text-xs font-semibold flex-shrink-0 bg-gradient-to-r from-primary/15 to-secondary/15 lg:h-9 lg:w-24 lg:gap-x-4 lg:p-2 lg:text-sm",children:[jsx("span",{className:"text-primary",children:e("predict.market.yes")}),jsx("span",{className:"text-neutral-400",children:"/"}),jsx("span",{className:"text-secondary",children:e("predict.market.no")})]})}function Ed({market:e,event:t,onSelectOutcome:r}){return jsx("div",{style:{flex:1},children:jsx(Hi,{market:e,event:t,onSelectOutcome:r,dynamicColors:true,labelFormat:"label"})})}function Td({event:e,formattedVolume:t,href:r,LinkComponent:n,onSelect:o}){let{t:i}=useTranslation();return jsxs(Fragment,{children:[jsxs(Linkable,{href:r,LinkComponent:n,as:"button",className:"flex items-center gap-1 text-[10px] font-normal text-zinc-500 transition-colors hover:text-slate-200 cursor-pointer lg:text-xs",onClick:l=>{l.stopPropagation(),r||(l.preventDefault(),o?.(e));},children:[i("predict.event.viewEvent"),jsx($i,{className:"h-3 w-3"})]}),jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:10,color:"#71717a"},children:[t," ",i("predict.event.volume"),jsx(Wi,{source:e.source})]})]})}function Ld({market:e,event:t,onCollapse:r,onSelectOutcome:n}){let o=Fi(e);return jsxs("div",{style:{flex:1},children:[jsxs("button",{type:"button",className:"flex h-9 w-full items-center justify-between cursor-pointer",onClick:i=>{i.stopPropagation(),r();},children:[jsx("span",{className:"min-w-0 flex-1 text-left text-xs text-slate-200 lg:text-sm",children:e.outcomes?.[0]?.label??e.question}),jsxs("div",{className:"flex items-center gap-x-1 flex-shrink-0",children:[jsx("span",{className:"text-sm font-semibold text-slate-200 lg:text-lg",children:Bi(o)}),jsx(ChevronUpIcon,{className:"h-4 w-4 text-neutral-400"})]})]}),jsx("div",{style:{marginTop:12},children:jsx(Hi,{market:e,event:t,onSelectOutcome:n,labelFormat:"action"})})]})}function _d({onCollapse:e}){let{t}=useTranslation();return jsxs(Fragment,{children:[jsxs("button",{type:"button",className:"flex items-center gap-x-1 text-[10px] font-normal transition-colors hover:text-slate-200 cursor-pointer lg:text-xs",style:{color:"#71717a"},onClick:r=>{r.stopPropagation(),e();},children:[jsx(Rd,{className:"h-3 w-3"}),t("predict.event.back")]}),jsx("div",{})]})}function $i({className:e}){return jsx("svg",{viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:jsx("path",{d:"M4.5 2.5L8 6l-3.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Rd({className:e}){return jsx("svg",{viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:jsx("path",{d:"M7.5 2.5L4 6l3.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Wi({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"})]})}var Ad=8;function Ki({events:e,hasMore:t=false,isFetchingMore:r=false,onFetchMore:n,onSelect:o,onSelectOutcome:i,getEventHref:a,LinkComponent:l,onHover:s}){let{t:c}=useTranslation(),m=useRef(null);useEffect(()=>{let d=m.current;if(!d)return;let f=new IntersectionObserver(g=>{g[0]?.isIntersecting&&t&&!r&&n?.();},{rootMargin:"300px"});return f.observe(d),()=>f.disconnect()},[t,r,n]);let u=useCallback(()=>{window.scrollTo({top:0,behavior:"smooth"});},[]),p=!t&&e.length>0;return jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[jsx("style",{children:`
|
|
42
42
|
@keyframes eventCardEnter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
|
|
43
43
|
@keyframes evt-load-spin{to{transform:rotate(360deg)}}
|
|
44
44
|
@media(max-width:767px){.evt-card-grid{grid-template-columns:1fr!important}}
|
|
45
45
|
@media(min-width:768px) and (max-width:1023px){.evt-card-grid{grid-template-columns:repeat(2,1fr)!important}}
|
|
46
46
|
@media(min-width:1024px) and (max-width:1279px){.evt-card-grid{grid-template-columns:repeat(3,1fr)!important}}
|
|
47
|
-
`}),jsx("div",{className:"evt-card-grid",style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)"},children:e.map((d,f)=>d==null?null:jsx("div",{style:{padding:
|
|
47
|
+
`}),jsx("div",{className:"evt-card-grid",style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)"},children:e.map((d,f)=>d==null?null:jsx("div",{style:{padding:Ad,animation:`eventCardEnter 0.45s cubic-bezier(0.34,1.56,0.64,1) ${f%4*35}ms both`},children:jsx(zi,{event:d,href:a?.(d),LinkComponent:l,onSelect:o,onSelectOutcome:i,onHover:s})},`${d.source}-${d.slug}`))}),jsx("div",{ref:m,style:{display:"flex",flexDirection:"column",alignItems:"center",gap:8,padding:"16px 0",minHeight:1},children:r&&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:"evt-load-spin 1s linear infinite"},children:jsx("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})}),c("predict.events.loadMore")]})}),p&&jsx(Fd,{onScrollToTop:u})]})}function Fd({onScrollToTop:e}){let{t}=useTranslation();return jsxs("div",{className:"flex w-full flex-col items-center justify-center gap-y-4 py-6",children:[jsxs("div",{className:"flex w-full items-center justify-center gap-x-4",children:[jsx("div",{className:"h-px w-16 bg-neutral-700"}),jsx("span",{className:"text-xs font-medium text-neutral-500",children:t("predict.event.endOfList")}),jsx("div",{className:"h-px w-16 bg-neutral-700"})]}),jsxs("button",{type:"button",className:"flex cursor-pointer items-center gap-x-1 text-xs font-medium text-neutral-400",onClick:e,children:[jsx("span",{className:"iconify size-4 ph--arrow-up-bold"}),jsx("span",{children:t("predict.event.backToTop")})]})]})}function ji({tagSlugSelection:e,limit:t=24,status:r,sort_by:n,sort_asc:o,source:i,with_markets:a,timeRemaining:l,minVolume:s,minLiquidity:c,markets_limit:m,onSelect:u,onSelectOutcome:p,getEventHref:d,LinkComponent:f,onHover:g}){let{data:h,hasMore:v,fetchMore:k,isFetching:w,isFetchingMore:R}=Ei({tagSlugSelection:e,limit:t,status:r,sort_by:n,sort_asc:o,source:i,with_markets:a,timeRemaining:l,minVolume:s,minLiquidity:c,markets_limit:m});return w?jsx(to,{count:24}):jsx(Ki,{events:h,hasMore:v,isFetchingMore:R,onFetchMore:k,onSelect:u,onSelectOutcome:p,getEventHref:d,LinkComponent:f,onHover:g})}function Mv({onSelect:e,onSelectOutcome:t,getEventHref:r,LinkComponent:n,onHover:o,bgImageSrc:i}){let[a,l]=useState({categorySlug:null,tagSlug:null}),[s,c]=useState(Zn),{isOpen:m,onOpen:u,onClose:p}=useDisclosure(),{onOpen:d}=useAsyncModal(Mr),f=useCallback((N,S,K)=>{t?.(N,S,K),d({params:{event:N,market:S,initialOutcome:K}});},[t,d]),g=useCallback(N=>{l(N);},[]),h=useCallback(N=>{c(S=>({...S,sortPreset:N}));},[]),v=useCallback(N=>{c(S=>({...S,sortAsc:N}));},[]),k=useCallback(N=>{c(N);},[]),w=useMemo(()=>Pi[s.sortPreset].sort_by,[s.sortPreset]),R=useMemo(()=>eo(s),[s]),x=useMemo(()=>jsx(Ni,{sortPreset:s.sortPreset,onSortChange:h,sortAsc:s.sortAsc,onSortAscChange:v,onFilterPress:u,filterCount:R}),[s.sortPreset,s.sortAsc,R,h,v,u]);return jsxs("div",{style:{minHeight:"100vh",position:"relative",width:"100%",maxWidth:1680,margin:"0 auto"},children:[jsx("div",{style:{position:"sticky",top:0,zIndex:40,background:"rgba(10,10,11,0.8)",backdropFilter:"blur(24px)",WebkitBackdropFilter:"blur(24px)",borderBottom:"1px solid rgba(39,39,42,0.5)"},children:jsx(ri,{onSelect:g,trailing:x})}),jsxs("div",{style:{padding:"12px 8px 80px"},children:[jsx(bi,{isOpen:m,onClose:p,value:s,onChange:k}),jsx(ji,{tagSlugSelection:a,sort_by:w,sort_asc:s.sortAsc,source:s.source,timeRemaining:s.timeRemaining,minVolume:s.minVolume,minLiquidity:s.minLiquidity,onSelect:e,onSelectOutcome:f,getEventHref:r,LinkComponent:n,onHover:o})]}),jsx(gn,{})]})}function qi(e){return e>=1e9?`$${(e/1e9).toFixed(1)}B`:e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${(e/1e3).toFixed(1)}K`:`$${e.toFixed(0)}`}var $d=[{key:"total_events",labelKey:"predict.events.stats.totalEvents",format:e=>e.toLocaleString(),valueColor:"#c7ff2e",gradientFrom:"rgba(199,255,46,0.18)",gradientTo:"rgba(199,255,46,0.04)"},{key:"total_volume_24h",labelKey:"predict.events.stats.volume24h",format:qi,valueColor:"#f76816",gradientFrom:"rgba(247,104,22,0.18)",gradientTo:"rgba(247,104,22,0.04)"},{key:"avg_liquidity",labelKey:"predict.events.stats.avgLiquidity",format:qi,valueColor:"#17c964",gradientFrom:"rgba(23,201,100,0.18)",gradientTo:"rgba(23,201,100,0.04)"},{key:"active_sources",labelKey:"predict.events.stats.activeSources",format:e=>e.toLocaleString(),valueColor:"#f5a524",gradientFrom:"rgba(245,165,36,0.18)",gradientTo:"rgba(245,165,36,0.04)"}];function _v({stats:e}){let{t}=useTranslation();return jsxs(Fragment,{children:[jsx("style",{children:`
|
|
48
48
|
@keyframes evt-live-ping{75%,100%{transform:scale(2.2);opacity:0}}
|
|
49
49
|
@keyframes evt-live-breathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}
|
|
50
50
|
@keyframes evtHeroTitleEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
|
|
@@ -82,15 +82,15 @@ import {createContext,memo,useRef,forwardRef,useState,useImperativeHandle,useMem
|
|
|
82
82
|
.evt-stat-label{font-size:11px;line-height:16px;min-height:16px;white-space:nowrap}
|
|
83
83
|
@media(min-width:640px){.evt-stat-label{font-size:12px;line-height:18px;min-height:18px}}
|
|
84
84
|
`}),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(`
|
|
85
|
-
`).map((r,n)=>jsxs("span",{children:[n>0&&jsx("br",{className:"hidden sm:block"}),r,n===0?" ":""]},n))})]}),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:Ld.map((r,n)=>jsxs("div",{style:{padding:"14px 16px",background:e?`linear-gradient(to bottom, ${r.gradientFrom}, ${r.gradientTo})`:"rgba(255,255,255,0.02)",borderRight:n%2===0?"1px solid rgba(39,39,42,0.4)":"none",borderBottom:n<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+n*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:`${n*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+n*80}ms`}})})]},r.key))})]})]})}function Qi({market:e,initialOutcome:t="yes"}){let{t:r}=useTranslation(),{status:n}=useAuth(),o=useWallets(),i=useSwitchChain(),s=usePredictClient(),l=useContext(PolymarketContext),a=useQueryClient(),c=e.source,m=c==="polymarket",u=o.find(M=>M.chainNamespace===ChainNamespace.SOLANA&&M.isConnected),p=o.find(M=>M.chainNamespace===ChainNamespace.EVM&&M.isConnected&&"switchChain"in M),d=n==="authenticated",f=u?.address,g=p?.address,h=useMemo(()=>{if(c!=="polymarket")return;let M=e.provider_meta?.["polymarket.clobTokenIds"];return M?(typeof M=="string"?JSON.parse(M):M)[0]:void 0},[c,e.provider_meta]),{data:v,isLoading:k}=useTickSize(h),w=v?.minimum_tick_size?String(v.minimum_tick_size):"0.01",{data:R,isLoading:x}=useFeeRate(h),P=String(R?.base_fee??0),[S,V]=useState(t),[B,J]=useState("market"),[N,H]=useState(NaN),[E,I]=useState(NaN),[de,U]=useState(false),[b,y]=useState(false),[j,Y]=useState(null),[q,pe]=useState(null),[Se,it]=useState(false),[he,Be]=useState(false),[He,xt]=useState("1h"),[ve,Ke]=useState(30),[tt,rt]=useState("minutes"),we=false,A=null,ge;try{let M=wr();we=M.kalshiKycVerified,A=M.kalshiKycUrl,ge=M.polymarketSafeAddress;}catch{}let Oe=useCallback(async()=>{if(!p||!l)return null;let M=await p.getEip1193Provider();if(!M)return null;let xe=!!ge,Ve={address:p.address,signatureType:xe?2:0,signTypedData:async(De,nt,We,Pt)=>{let ue=[];"name"in De&&ue.push({name:"name",type:"string"}),"version"in De&&ue.push({name:"version",type:"string"}),"chainId"in De&&ue.push({name:"chainId",type:"uint256"}),"verifyingContract"in De&&ue.push({name:"verifyingContract",type:"address"}),"salt"in De&&ue.push({name:"salt",type:"bytes32"});let Ht={EIP712Domain:ue,...nt};return await M.request({method:"eth_signTypedData_v4",params:[p.address,JSON.stringify({domain:De,types:Ht,primaryType:We,message:Pt})]})}};return l.credentials??await l.authenticate(Ve)},[ge,p,l]),ze=useMemo(()=>{let M=S==="yes"?0:1,xe=e.outcomes[M];return xe?.best_bid??xe?.price??.5},[e.outcomes,S]),_=c==="kalshi"?f??"":g??"",{data:Ee,isLoading:bt}=usePositions({source:c,user:_},{enabled:!!_,refetchInterval:3e4}),Bn=useCallback(async()=>{let M=await Oe();return M?await buildPolymarketL2Headers(M.address,{apiKey:M.apiKey,secret:M.secret,passphrase:M.passphrase,method:"GET",requestPath:"/data/orders",body:""}):{}},[Oe]),{data:at,isLoading:Yt}=useAvailableShares({source:c,user:_,market:e.slug,side:S},c==="polymarket"?{getHeaders:Bn}:void 0,{enabled:!!_&&!!e.slug,refetchOnMount:"always"}),sr=at?.total_shares??0,Gt=at?.active_order_shares??0,Ot=at?.available_shares??0,$e=useMemo(()=>c==="polymarket"?getPolymarketSharesPrecision(w):at?.precision??0,[c,w,at?.precision]),Ur=Yt||bt,lr=e.provider_meta?.["dflow.yesMint"]??"",Hn=e.provider_meta?.["dflow.noMint"]??"",ut=SOLANA_TOKENS.stablecoins.USDC.address,Kr=e.provider_meta?.["dflow.collateralMint"]||"",Vr=S==="yes"?lr:Hn,jr=useMemo(()=>Ee?Ee.positions.find(M=>M.side?.toLowerCase()===S&&M.market?.slug===e.slug)??null:null,[Ee,e.slug,S])?.market?.provider_meta,zn=jr?.["dflow.outcomeMint"]||Vr,mt=jr?.["dflow.collateralMint"]||Kr,yt=zn,Dt=mt||ut,At=useMemo(()=>isNaN(N)||N<=0?"0":String(Math.round(N*1e6)),[N]),Yr=c==="kalshi"&&!!yt&&!!Dt&&!!f&&At!=="0",{refetch:kr}=useDFlowQuote({inputMint:yt,outputMint:Dt,amount:At,userPublicKey:f??"",slippageBps:100},{enabled:Yr}),$n=useMemo(()=>isNaN(N)||N<=0?0:N,[N]),O=useMemo(()=>{if(isNaN(N)||N<=0)return 0;let M=B==="limit"&&m&&!isNaN(E)?E:ze;return N*M},[N,B,m,E,ze]),Te=useCallback(M=>{V(M),I(NaN),H(NaN),y(false);},[]),st=useCallback(M=>{J(M);},[]);useEffect(()=>{B==="limit"&&I(Math.round(ze*100)/100);},[B,S]);let cr=useCallback(M=>{if(y(false),isNaN(M)){H(NaN);return}H(Ne(Math.max(0,M),$e));},[$e]),Ft=useCallback(()=>{y(true),H(Ne(Ot,$e));},[Ot,$e]),kt=useCallback(M=>{if(isNaN(M)){I(NaN);return}let xe=Math.max(.01,Math.min(.99,M));I(Math.round(xe*100)/100);},[]),St=useCallback(()=>{H(NaN),I(NaN),J("market"),y(false),Be(false),xt("1h"),Ke(30),rt("minutes");},[]),Bt=useMemo(()=>{let M=[];return isNaN(N)||N<=0?M.push(r("predict.trade.minQuantity",{amount:on})):N<on&&M.push(r("predict.trade.minQuantity",{amount:on})),e.status!=="open"&&M.push(r("predict.trade.marketNotActive")),!isNaN(N)&&N>0&&!b&&N>Ot&&M.push(r("predict.trade.insufficientSharesDetail",{total:Ne(sr,$e).toFixed($e),active:Ne(Gt,$e).toFixed($e),available:Ne(Ot,$e).toFixed($e)})),B==="limit"&&m&&(isNaN(E)||E<.01||E>.99)&&M.push(r("predict.trade.limitPriceRange")),B==="limit"&&m&&he&&He==="custom"&&(isNaN(ve)||ve<=0)&&M.push(r("predict.trade.expiration.invalidDate")),{isValid:M.length===0,errors:M}},[N,e.status,Ot,sr,Gt,b,B,m,E,he,He,ve,$e,r]),{mutateAsync:wt}=useDFlowSubmit(),{data:dr}=useOrder({id:j??"",source:c},{enabled:!!j}),Gr=useCallback(async()=>{if(!q||!f||!u)return;let{cashAmount:M,collateral:xe}=q;pe(null);try{let De=(await s.createDFlowQuote({inputMint:xe,outputMint:ut,amount:M,userPublicKey:f,slippageBps:100}))?.transaction;if(!De)return;let nt=Uint8Array.from(atob(De),Pt=>Pt.charCodeAt(0)),We=await u.signTransaction(nt);await wt({signedTransaction:btoa(String.fromCharCode(...We)),orderContext:{user_public_key:f,input_mint:xe,output_mint:ut,amount:M,price:"1",side:"SELL",outcome:"",market_slug:"",slippage_bps:100}});}catch{}},[q,f,u,s,wt,ut]),Nt=useCallback(()=>{a.invalidateQueries({queryKey:["predict","positions"]}),a.invalidateQueries({queryKey:["predict","orders"]}),a.invalidateQueries({queryKey:["predict","available-shares"]});},[a]);useEffect(()=>{if(!dr||!j)return;let{status:M}=dr;M==="closed"?(Y(null),q?Gr().finally(()=>{U(false),toast.success(r("predict.trade.submitSuccess")),Xt(),Nt(),St();}):(U(false),toast.success(r("predict.trade.submitSuccess")),Xt(),Nt(),St())):(M==="failed"||M==="expired")&&(U(false),Y(null),pe(null),toast.error(r("predict.trade.submitError")));},[dr,j,q,Gr,Nt,St,r]);let qr=useCallback(async()=>{if(!f||!u)return;if(!yt||!Dt){toast.error("Missing token mint addresses"),U(false);return}if(!we){it(true),U(false);return}let Ve=(await kr()).data,De=Ve?.transaction;if(!De){toast.error(r("predict.trade.submitError")),U(false);return}if(mt&&mt!==ut){let ue=String(Ve?.outAmount??"");ue&&ue!=="0"&&pe({cashAmount:ue,collateral:mt});}let nt=Uint8Array.from(atob(De),ue=>ue.charCodeAt(0)),We=await u.signTransaction(nt),Pt=await wt({signedTransaction:btoa(String.fromCharCode(...We)),orderContext:{user_public_key:f,input_mint:yt,output_mint:Dt,amount:At,price:String(ze),side:"SELL",outcome:S==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});Y(Pt.signature);},[f,u,kr,wt,yt,Dt,At,ze,S,e.slug,mt,ut,r,we]),Qr=useCallback(async()=>{if(!p||!l)return;let M=p.chain,xe=M!==Chain.POLYGON;xe&&await i(Chain.POLYGON);try{let Ve=await p.getEip1193Provider();if(!Ve){toast.error(r("predict.trade.submitError")),U(!1);return}let De=!!ge,nt={address:p.address,signatureType:De?2:0,signTypedData:async(qt,al,sl,ll)=>{let pr=[];"name"in qt&&pr.push({name:"name",type:"string"}),"version"in qt&&pr.push({name:"version",type:"string"}),"chainId"in qt&&pr.push({name:"chainId",type:"uint256"}),"verifyingContract"in qt&&pr.push({name:"verifyingContract",type:"address"}),"salt"in qt&&pr.push({name:"salt",type:"bytes32"});let cl={EIP712Domain:pr,...al};return await Ve.request({method:"eth_signTypedData_v4",params:[p.address,JSON.stringify({domain:qt,types:cl,primaryType:sl,message:ll})]})}},We=await Oe();if(!We){toast.error(r("predict.trade.submitError")),U(!1);return}let Pt=S==="yes"?0:1,ue="",Ht=e.provider_meta?.["polymarket.clobTokenIds"];Ht&&(ue=(typeof Ht=="string"?JSON.parse(Ht):Ht)[Pt]??"");let Jr=e.provider_meta?.["polymarket.negRisk"]??!1,Wn=B==="limit"&&!isNaN(E)?E:ze,zt=ln(Wn,w),Uo={tokenId:ue,price:zt,size:N,side:"SELL",orderType:B==="limit"?he?"GTD":"GTC":"FOK",tickSize:w,negRisk:Jr,...ge&&{funderAddress:ge},...B==="limit"&&he&&{expiration:sn(He,ve,tt)}},tl=buildCtfExchangeDomain(Jr),Ko=buildOrderMessage({...Uo,signerAddress:nt.address,signatureType:nt.signatureType,feeRateBps:P}),rl=await nt.signTypedData(tl,CTF_ORDER_TYPES,"Order",Ko),nl=buildSignedOrder(Ko,rl,Uo.orderType),Vo=buildClobPayload(nl,We.apiKey),ol=JSON.stringify(Vo),il=await buildPolymarketL2Headers(We.address,{apiKey:We.apiKey,secret:We.secret,passphrase:We.passphrase,method:"POST",requestPath:"/order",body:ol});await s.createPolymarketOrder(Vo,il),Nt(),toast.success(r("predict.trade.submitSuccess")),Xt(),St(),U(!1);}finally{xe&&M&&i(M).catch(()=>{});}},[p,l,Oe,i,S,e.provider_meta,B,E,ze,N,s,Nt,he,He,ve,tt,St,r,w,P,e.slug]),Xr=useCallback(async()=>{if(!(!Bt.isValid||!d)){U(true),Y(null),it(false);try{c==="kalshi"?await qr():await Qr();}catch(M){let xe=M instanceof Error?M.message:"",Ve=c==="polymarket"&&xe?cn(xe,r,"sell"):xe||void 0;toast.error(Ve||r("predict.trade.submitError")),U(false);}}},[Bt.isValid,d,c,qr,Qr,r]);return {outcome:S,orderType:B,quantity:N,limitPrice:E,shares:$n,estimatedReturn:O,isMarketDataLoading:c==="polymarket"&&(x||k),isSubmitting:de,validation:Bt,supportsLimitOrder:m,kycRequired:Se,kycUrl:A,totalShares:sr,activeOrderShares:Gt,availableShares:Ot,isAvailableLoading:Ur,isSellAll:b,precision:$e,expirationEnabled:he,expirationPreset:He,customDuration:ve,customDurationUnit:tt,setOutcome:Te,setOrderType:st,setQuantity:cr,setLimitPrice:kt,setSellAll:Ft,setExpirationEnabled:Be,setExpirationPreset:xt,setCustomDuration:Ke,setCustomDurationUnit:rt,submit:Xr}}var sp=["5m","1h","12h","24h","eod","custom"],lp={"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"},cp=["minutes","hours","days"],dp={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"},pp={maximumFractionDigits:0};function ia({event:e,market:t,variant:r="bordered",outcome:n,orderType:o,quantity:i,limitPrice:s,estimatedReturn:l,isMarketDataLoading:a,isSubmitting:c,isValid:m,validationErrors:u,supportsLimitOrder:p,kycRequired:d,kycUrl:f,totalShares:g,activeOrderShares:h,availableShares:v,isAvailableLoading:k,precision:w,expirationEnabled:R,expirationPreset:x,customDuration:P,customDurationUnit:S,onOutcomeChange:V,onOrderTypeChange:B,onQuantityChange:J,onLimitPriceChange:N,onSellAll:H,onExpirationEnabledChange:E,onExpirationPresetChange:I,onCustomDurationChange:de,onCustomDurationUnitChange:U,onSubmit:b}){let{t:y}=useTranslation(),[j,Y]=useState(false),q=useDisclosure(),[pe,Se]=useState(""),it=useRef(false);useEffect(()=>{it.current||Se(isNaN(i)?"":String(i));},[i]);let[he,Be]=useState(""),He=useRef(false);useEffect(()=>{He.current||(isNaN(s)?Be(""):Be(String(parseFloat((s*100).toFixed(2)))));},[s]);let xt=useCallback(A=>{if(A!==""&&!/^\d*\.?\d{0,2}$/.test(A))return;if(Be(A),A===""||A==="."){N(NaN);return}let Oe=parseFloat(A);isNaN(Oe)||N(Oe/100);},[N]),ve=useCallback(A=>{let ge=new RegExp(`^\\d*\\.?\\d{0,${w}}$`);if(A!==""&&!ge.test(A))return;if(Se(A),Y(false),A===""||A==="."){J(NaN);return}let Oe=parseFloat(A);isNaN(Oe)||J(Oe);},[J,w]);useEffect(()=>{d&&!q.isOpen&&q.onOpen();},[d]);let Ke=useMemo(()=>{let A=n==="yes"?t.yesBid:t.noBid;return A!=null?parseFloat((Number(A)*100).toFixed(2)):null},[n,t]),tt=!isNaN(i)&&i>0,rt=useMemo(()=>{if(k)return y("predict.trade.loadingBalance");if(a)return y("predict.trade.loadingMarketData");if(c)return y("predict.trade.submitting");if(d)return y("predict.trade.kycRequired");if(!tt)return y("predict.trade.enterAmount");let A=y(n==="yes"?"predict.trade.yes":"predict.trade.no");return `${y("predict.trade.sell")} ${A}`},[k,a,c,d,tt,n,y]),we=()=>{if(d){q.onOpen();return}if(!m){Y(true);return}Y(false),b();};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:A=>{r==="bordered"&&(A.currentTarget.style.borderColor="rgba(63,63,70,0.8)");},onMouseLeave:A=>{r==="bordered"&&(A.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:[y("predict.trade.sell")," ",y(n==="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:o,onSelectionChange:A=>B(A),classNames:{tabList:"gap-x-4",tab:"px-0"},children:[jsx(Tab,{title:y("predict.trade.market")},"market"),jsx(Tab,{title:y("predict.trade.limit")},"limit")]}):jsx("span",{className:"text-sm font-medium text-foreground",children:y("predict.trade.market")}),o==="limit"&&p?jsx(StyledInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",inputMode:"decimal",value:he,onChange:A=>xt(A.target.value),onFocus:()=>{He.current=true;},onBlur:()=>{He.current=false,isNaN(s)?Be(""):Be(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"}}):Ke!=null&&jsxs("span",{className:"text-xl font-bold tabular-nums",children:[Ke," \xA2"]})]}),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:y("predict.trade.sellContracts")}),jsxs("div",{className:"flex items-center gap-x-2",children:[[25,50].map(A=>{let ge=Math.pow(10,w);return jsxs("button",{type:"button",onClick:()=>{J(Math.floor(v*A/100*ge)/ge);},className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:[A,"%"]},A)}),jsx("button",{type:"button",onClick:H,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:y("common.all")})]})]}),jsx(StyledInput,{"aria-label":"Sell quantity",fullWidth:true,placeholder:"0",radius:"lg",size:"lg",inputMode:"decimal",value:pe,onChange:A=>ve(A.target.value),onFocus:()=>{it.current=true;},onBlur:()=>{it.current=false,Se(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"}}),j&&u.length>0&&jsx("div",{className:"flex flex-col gap-y-0.5",children:u.map(A=>jsx("span",{className:"text-xs text-danger",children:A},A))})]}),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:y("predict.trade.totalShares")}),jsx("span",{className:"tabular-nums text-foreground",children:k?"\u2013":`${Ne(g,w).toFixed(w)}${y("predict.trade.sharesUnit")}`})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:y("predict.trade.activeOrders")}),jsx("span",{className:"tabular-nums text-warning",children:k?"\u2013":h>0?`-${Ne(h,w).toFixed(w)}${y("predict.trade.sharesUnit")}`:`0${y("predict.trade.sharesUnit")}`})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:y("predict.trade.availableShares")}),jsx("span",{className:"tabular-nums text-success font-medium",children:k?"\u2013":`${Ne(v,w).toFixed(w)}${y("predict.trade.sharesUnit")}`})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:y("predict.trade.estReturn")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${l.toFixed(2)}`:"\u2013"})]})]}),o==="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:y("predict.trade.setExpiration")}),jsx(StyledSwitch,{size:"sm",color:"primary",isSelected:R,onValueChange:E,"aria-label":y("predict.trade.setExpiration")})]}),R&&jsxs(Fragment,{children:[jsx(Select,{"aria-label":y("predict.trade.setExpiration"),selectedKeys:[x],onSelectionChange:A=>{let ge=Array.from(A)[0];ge&&I(ge);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:sp.map(A=>jsx(SelectItem,{children:y(lp[A])},A))}),x==="custom"&&jsxs("div",{className:"flex gap-x-2",children:[jsx(StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(P)?void 0:P,onValueChange:de,minValue:1,step:1,formatOptions:pp,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:[S],onSelectionChange:A=>{let ge=Array.from(A)[0];ge&&U(ge);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:cp.map(A=>jsx(SelectItem,{children:y(dp[A])},A))})]})]})]}),jsx(Button,{color:"secondary",fullWidth:true,radius:"lg",size:"lg",isDisabled:k||a||!tt||c,isLoading:c||k||a,spinner:jsx(Spinner,{size:"sm",color:"current"}),onPress:we,children:rt})]}),jsx(dn,{isOpen:q.isOpen,onClose:q.onClose,kycUrl:f})]})}function vn({event:e,market:t,variant:r,initialOutcome:n,chain:o}){let{outcome:i,orderType:s,quantity:l,limitPrice:a,estimatedReturn:c,isMarketDataLoading:m,isSubmitting:u,validation:p,supportsLimitOrder:d,kycRequired:f,kycUrl:g,totalShares:h,activeOrderShares:v,availableShares:k,isAvailableLoading:w,precision:R,expirationEnabled:x,expirationPreset:P,customDuration:S,customDurationUnit:V,setOutcome:B,setOrderType:J,setQuantity:N,setLimitPrice:H,setSellAll:E,setExpirationEnabled:I,setExpirationPreset:de,setCustomDuration:U,setCustomDurationUnit:b,submit:y}=Qi({market:t,initialOutcome:n}),j=useAuthCallback(y),Y=useMemo(()=>e?en(e):void 0,[e]),q=useMemo(()=>tn(t),[t]);return jsx(ia,{event:Y,market:q,variant:r,outcome:i,orderType:s,quantity:l,limitPrice:a,estimatedReturn:c,isMarketDataLoading:m,isSubmitting:u,isValid:p.isValid,validationErrors:p.errors,supportsLimitOrder:d,kycRequired:f,kycUrl:g,totalShares:h,activeOrderShares:v,availableShares:k,isAvailableLoading:w,precision:R,expirationEnabled:x,expirationPreset:P,customDuration:S,customDurationUnit:V,onOutcomeChange:B,onOrderTypeChange:J,onQuantityChange:N,onLimitPriceChange:H,onSellAll:E,onExpirationEnabledChange:I,onExpirationPresetChange:de,onCustomDurationChange:U,onCustomDurationUnitChange:b,onSubmit:j})}var io="predict-sell";function sa({id:e=io}){return jsx(AsyncModal,{id:e,children:t=>jsx(bp,{...t})})}function bp({params:e,isOpen:t,onOpenChange:r}){let{t:n}=useTranslation(),{isMobile:o}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:o?"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:o?"":"p-2",children:[jsx(vn,{event:e.event,market:e.market,initialOutcome:e.initialOutcome,chain:e.chain,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:n("common.cancel")})})]})})}):null}var lo=40,yn=36,Rr=480,co=Rr-yn;function da({event:e,walletAddress:t,onCancelOrder:r}){let{t:n}=useTranslation(),[o,i]=useState("positions"),s=useMemo(()=>e.markets?.map(u=>u.slug)??[],[e.markets]),{data:l}=usePositions({source:e.source,user:t??""}),a=useMemo(()=>!l?.positions||!t?0:s.length===0?l.positions.length:l.positions.filter(u=>u.market&&s.includes(u.market.slug)).length,[l?.positions,s,t]),m=[{key:"positions",label:a>0?`${n("predict.positions.title")} (${a})`:n("predict.positions.title")},{key:"orders",label:n("predict.openOrders.title")},{key:"trades",label:n("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:m.map(u=>jsx("button",{type:"button",onClick:()=>i(u.key),className:cn$1("px-3 py-2 text-sm font-medium transition-colors cursor-pointer",o===u.key?"text-foreground border-b-2 border-primary":"text-neutral hover:text-foreground"),children:u.label},u.key))}),t?jsxs("div",{style:{height:Rr},children:[o==="positions"&&jsx(Cp,{source:e.source,walletAddress:t,marketSlugs:s}),o==="orders"&&jsx(Ep,{source:e.source,walletAddress:t,marketSlugs:s,onCancelOrder:r}),o==="trades"&&jsx(_p,{source:e.source,walletAddress:t})]}):jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:Rr},children:n("predict.trade.connectWallet")})]})}function Cp({source:e,walletAddress:t,marketSlugs:r}){let{t:n}=useTranslation(),{data:o,isLoading:i}=usePositions({source:e,user:t}),s=useMemo(()=>o?.positions?r.length===0?o.positions:o.positions.filter(l=>l.market&&r.includes(l.market.slug)):[],[o?.positions,r]);return i?jsx(uo,{}):s.length===0?jsx(po,{message:n("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:yn},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2 whitespace-nowrap",children:n("predict.positions.event")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:n("predict.positions.totalSize")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:n("predict.positions.value")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:n("predict.positions.avgPrice")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:n("predict.positions.markPrice")}),jsx("div",{className:"flex-[1.5] pr-2 text-right whitespace-nowrap",children:n("predict.positions.pnl")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:n("predict.positions.payoutIfRight")}),jsx("div",{className:"flex-[1.5] pr-2 text-right whitespace-nowrap",children:n("predict.positions.estSettlement")}),jsx("div",{className:"w-16 shrink-0"})]}),jsx(List,{style:{height:co},rowComponent:Mp,rowCount:s.length,rowHeight:lo,rowProps:{positions:s,closeLabel:n("predict.positions.close")}})]})}function Mp({index:e,style:t,positions:r,closeLabel:n}){let o=r[e];if(!o)return null;let i=o.pnl??0,s=o.pnl_percent??0,l=o.avg_price??0,a=o.current_price??0,c=i>0?"text-success":i<0?"text-danger":"text-foreground",m=i>0?"+":"",u=o.market?.outcomes?.[0]?.label??o.market?.question??"\u2014",p=o.side,d=o.size,f=o.size*a,g=o.market?.end_at?Op(o.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:u}),jsx("span",{className:cn$1("text-[10px] font-medium",p.toLowerCase()==="yes"?"text-primary":"text-secondary"),children:p})]})}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:o.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:xn(l)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:xn(a)}),jsxs("div",{className:cn$1("flex-[1.5] pr-2 text-right font-mono whitespace-nowrap",c),children:[m,"$",Math.abs(i).toFixed(2),jsxs("span",{className:"text-[10px] ml-0.5 opacity-70",children:["(",m,s.toFixed(1),"%)"]})]}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:["$",d.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:n})})]})}function Ep({source:e,walletAddress:t,marketSlugs:r,onCancelOrder:n}){let{t:o}=useTranslation(),{data:i,isLoading:s,fetchNextPage:l,hasNextPage:a}=useInfiniteOrders({source:e,wallet_address:t}),c=useCancelOrder(),m=useMemo(()=>{let v=i?.pages?.flatMap(R=>R.items)??[],k=new Set(["live","open","submitted","pending"]),w=v.filter(R=>k.has(R.status));return r.length>0&&(w=w.filter(R=>R.market_id&&r.includes(R.market_id))),w},[i?.pages,r]),u=useCallback(v=>{n?n(v.id):c.mutate({source:v.source,id:v.id});},[n,c]),p=m.length,d=p+(a?1:0),f=useCallback(v=>v<p,[p]),g=useCallback(async()=>{await l();},[l]),h=useInfiniteLoader({isRowLoaded:f,loadMoreRows:g,rowCount:d,threshold:5});return s?jsx(uo,{}):m.length===0&&!a?jsx(po,{message:o("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:yn},children:[jsx("div",{className:"w-16 shrink-0 pr-2",children:o("predict.openOrders.side")}),jsx("div",{className:"flex-1 pr-2",children:o("predict.openOrders.outcome")}),jsx("div",{className:"flex-1 pr-2",children:o("predict.openOrders.type")}),jsx("div",{className:"flex-1 pr-2 text-right",children:o("predict.openOrders.price")}),jsx("div",{className:"flex-1 pr-2 text-right",children:o("predict.openOrders.filled")}),jsx("div",{className:"w-20 shrink-0 pr-2",children:o("predict.openOrders.status")}),jsx("div",{className:"w-16 shrink-0"})]}),jsx(List,{style:{height:co},onRowsRendered:h,rowComponent:Tp,rowCount:d,rowHeight:lo,rowProps:{orders:m,itemCount:p,onCancel:u,isCancelling:c.isPending,cancelLabel:o("predict.openOrders.cancel")}})]})}function Tp({index:e,style:t,orders:r,itemCount:n,onCancel:o,isCancelling:i,cancelLabel:s}){if(e>=n)return jsx("div",{style:t,className:"flex justify-center items-center",children:jsx(Spinner,{size:"sm"})});let l=r[e];if(!l)return null;let a=l.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",a?"bg-primary/10 text-primary":"bg-danger/10 text-danger"),children:l.side})}),jsx("div",{className:"flex-1 pr-2 text-foreground capitalize",children:l.outcome??"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-neutral capitalize",children:l.order_type??"limit"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:l.price?xn(parseFloat(l.price)):"\u2014"}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:[l.size_matched??"0","/",l.original_size??"\u2014"]}),jsx("div",{className:"w-20 shrink-0 pr-2",children:jsx(Lp,{status:l.status})}),jsx("div",{className:"w-16 shrink-0 text-right",children:jsx("button",{type:"button",onClick:()=>o(l),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 Lp({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 _p({source:e,walletAddress:t}){let{t:r}=useTranslation(),{data:n,isLoading:o,fetchNextPage:i,hasNextPage:s}=useInfiniteTrades({source:e,wallet:t,limit:50}),l=useMemo(()=>n?.pages?.flatMap(d=>d.items)??[],[n?.pages]),a=l.length,c=a+(s?1:0),m=useCallback(d=>d<a,[a]),u=useCallback(async()=>{await i();},[i]),p=useInfiniteLoader({isRowLoaded:m,loadMoreRows:u,rowCount:c,threshold:5});return o?jsx(uo,{}):l.length===0&&!s?jsx(po,{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:yn},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:co},onRowsRendered:p,rowComponent:Rp,rowCount:c,rowHeight:lo,rowProps:{trades:l,itemCount:a}})]})}function Rp({index:e,style:t,trades:r,itemCount:n}){if(e>=n)return jsx("div",{style:t,className:"flex justify-center items-center",children:jsx(Spinner,{size:"sm"})});let o=r[e];if(!o)return null;let i=o.side?.toUpperCase()==="BUY",s=Ip(o.timestamp),l=o.price??0,a=o.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:o.side})}),jsx("div",{className:"flex-1 pr-2 text-foreground capitalize",children:o.outcome??"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:xn(l)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:o.size}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:["$",a.toFixed(2)]}),jsx("div",{className:"flex-[1.5] pr-2 text-right text-neutral whitespace-nowrap",children:s})]})}function po({message:e}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:Rr},children:e})}function uo(){return jsx("div",{className:"flex flex-col gap-y-2 py-3 animate-pulse",style:{height:Rr},children:Array.from({length:6}).map((e,t)=>jsx(Skeleton,{className:"h-8 w-full rounded-md"},t))})}function xn(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(1)}\xA2`}function Ip(e){let t=new Date(e*1e3),r=(t.getMonth()+1).toString().padStart(2,"0"),n=t.getDate().toString().padStart(2,"0"),o=t.getHours().toString().padStart(2,"0"),i=t.getMinutes().toString().padStart(2,"0");return `${r}/${n} ${o}:${i}`}function Op(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}catch{return "\u2014"}}var pa=`
|
|
85
|
+
`).map((r,n)=>jsxs("span",{children:[n>0&&jsx("br",{className:"hidden sm:block"}),r,n===0?" ":""]},n))})]}),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:$d.map((r,n)=>jsxs("div",{style:{padding:"14px 16px",background:e?`linear-gradient(to bottom, ${r.gradientFrom}, ${r.gradientTo})`:"rgba(255,255,255,0.02)",borderRight:n%2===0?"1px solid rgba(39,39,42,0.4)":"none",borderBottom:n<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+n*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:`${n*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+n*80}ms`}})})]},r.key))})]})]})}function es({event:e,market:t,position:r,onSuccess:n,onCancel:o}){let{t:i}=useTranslation(),{mutateAsync:a}=useRedeemPosition(),{evmAddress:l}=Jt(),s=useWallets(),[c,m]=useState("idle"),[u,p]=useState(null),d=t.provider_meta?.["polymarket.conditionId"],f=t.provider_meta?.["polymarket.negRisk"]??false,g=l??"",h=useMemo(()=>s.find(L=>L.chainNamespace===ChainNamespace.EVM&&L.isConnected),[s]),v=Zi(r.side,t.outcomes),w=t.outcomes?.[v]?.label??r.side,R=t.result!=null?Zi(t.result,t.outcomes):-1,N=(R>=0?t.outcomes?.[R]:void 0)?.label??t.result??"",S=t.result!=null?v===R:true,K=useMemo(()=>S?r.size:0,[S,r.size]),A=useCallback(async()=>{if(!(!d||!g||!h)){m("pending"),p(null);try{let L=await h.getEip1193Provider();if(!L)throw new Error("EIP-1193 provider unavailable");await a({wallet_address:g,condition_id:d,neg_risk:f,signMessage:async E=>await L.request({method:"personal_sign",params:[E,g]})}),m("success"),n?.();}catch(L){m("error"),p(L instanceof Error?L.message:i("predict.redeem.error"));}}},[d,g,f,h,a,n,i]),Q=useAuthCallback(A),P=c==="idle"&&!!d&&!!g&&!!h&&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(bn,{label:i("predict.positions.side"),value:w,valueClassName:S?"text-green-400":"text-red-400"}),t.result!=null&&jsx(bn,{label:i("predict.redeem.result"),value:N,valueClassName:"text-green-400"}),jsx(bn,{label:i("predict.positions.size"),value:r.size.toFixed(2)}),jsx(bn,{label:i("predict.redeem.expectedPayout"),value:`$${K.toFixed(2)}`,valueClassName:K>0?"text-green-400":"text-zinc-400"})]}),!S&&K===0&&jsx("p",{className:"text-sm text-zinc-500",children:i("predict.redeem.noWinnings")}),c==="error"&&u&&jsx("p",{className:"text-sm text-red-400",children:u}),c==="success"&&jsx("p",{className:"text-sm text-green-400",children:i("predict.redeem.success")}),jsxs("div",{className:"flex flex-col gap-2",children:[c!=="success"&&jsx(Button,{color:"success",className:"w-full h-12 rounded-xl text-sm font-semibold",isDisabled:!P,isLoading:c==="pending",onPress:Q,spinner:jsx(Spinner,{size:"sm",color:"current"}),children:i("predict.redeem.confirm")}),o&&c!=="success"&&jsx("button",{type:"button",onClick:o,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")}),c==="success"&&o&&jsx(Button,{className:"w-full h-12 rounded-xl text-sm font-medium",onPress:o,children:i("common.ok")})]})]})}function bn({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 Zi(e,t){let r=e.toLowerCase();if(r==="yes")return 0;if(r==="no"||!t)return 1;let n=t.findIndex(o=>o.label.toLowerCase()===r);return n>=0?n:1}var tp="predict-redeem";function rs({id:e=tp}){return jsx(AsyncModal,{id:e,children:t=>jsx(rp,{...t})})}function rp({params:e,isOpen:t,onOpenChange:r}){let{t:n}=useTranslation(),{isMobile:o}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:o?"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:o?"":"p-2",children:[jsxs("div",{className:"px-4 pt-4 pb-1",children:[jsx("h3",{className:"text-lg font-semibold text-white",children:n("predict.redeem.title")}),jsx("p",{className:"text-sm text-zinc-400 mt-1",children:n("predict.redeem.description")})]}),jsx(es,{event:e.event,market:e.market,position:e.position,onSuccess:()=>{setTimeout(()=>r(false),1500);},onCancel:()=>r(false)})]})})}):null}function as({market:e,initialOutcome:t="yes"}){let{t:r}=useTranslation(),{status:n}=useAuth(),o=useWallets(),i=useSwitchChain(),a=usePredictClient(),l=useContext(PolymarketContext),s=useQueryClient(),c=e.source,m=c==="polymarket",u=o.find(M=>M.chainNamespace===ChainNamespace.SOLANA&&M.isConnected),p=o.find(M=>M.chainNamespace===ChainNamespace.EVM&&M.isConnected&&"switchChain"in M),d=n==="authenticated",f=u?.address,g=p?.address,h=useMemo(()=>{if(c!=="polymarket")return;let M=e.provider_meta?.["polymarket.clobTokenIds"];return M?(typeof M=="string"?JSON.parse(M):M)[0]:void 0},[c,e.provider_meta]),{data:v,isLoading:k}=useTickSize(h),w=v?.minimum_tick_size?String(v.minimum_tick_size):"0.01",{data:R,isLoading:x}=useFeeRate(h),N=String(R?.base_fee??0),[S,K]=useState(t),[A,Q]=useState("market"),[P,L]=useState(NaN),[E,O]=useState(NaN),[de,U]=useState(false),[b,y]=useState(false),[j,Y]=useState(null),[q,pe]=useState(null),[Se,st]=useState(false),[he,Be]=useState(false),[ze,bt]=useState("1h"),[ve,Ve]=useState(30),[rt,nt]=useState("minutes"),we=false,B=null,ge;try{let M=Jt();we=M.kalshiKycVerified,B=M.kalshiKycUrl,ge=M.polymarketSafeAddress;}catch{}let Oe=useCallback(async()=>{if(!p||!l)return null;let M=await p.getEip1193Provider();if(!M)return null;let xe=!!ge,je={address:p.address,signatureType:xe?2:0,signTypedData:async(De,ot,We,Ct)=>{let ue=[];"name"in De&&ue.push({name:"name",type:"string"}),"version"in De&&ue.push({name:"version",type:"string"}),"chainId"in De&&ue.push({name:"chainId",type:"uint256"}),"verifyingContract"in De&&ue.push({name:"verifyingContract",type:"address"}),"salt"in De&&ue.push({name:"salt",type:"bytes32"});let Ht={EIP712Domain:ue,...ot};return await M.request({method:"eth_signTypedData_v4",params:[p.address,JSON.stringify({domain:De,types:Ht,primaryType:We,message:Ct})]})}};return l.credentials??await l.authenticate(je)},[ge,p,l]),He=useMemo(()=>{let M=S==="yes"?0:1,xe=e.outcomes[M];return xe?.best_bid??xe?.price??.5},[e.outcomes,S]),I=c==="kalshi"?f??"":g??"",{data:Ee,isLoading:yt}=usePositions({source:c,user:I},{enabled:!!I,refetchInterval:3e4}),Wn=useCallback(async()=>{let M=await Oe();return M?await buildPolymarketL2Headers(M.address,{apiKey:M.apiKey,secret:M.secret,passphrase:M.passphrase,method:"GET",requestPath:"/data/orders",body:""}):{}},[Oe]),{data:at,isLoading:Gt}=useAvailableShares({source:c,user:I,market:e.slug,side:S},c==="polymarket"?{getHeaders:Wn}:void 0,{enabled:!!I&&!!e.slug,refetchOnMount:"always"}),dr=at?.total_shares??0,qt=at?.active_order_shares??0,Dt=at?.available_shares??0,$e=useMemo(()=>c==="polymarket"?getPolymarketSharesPrecision(w):at?.precision??0,[c,w,at?.precision]),Vr=Gt||yt,pr=e.provider_meta?.["dflow.yesMint"]??"",Un=e.provider_meta?.["dflow.noMint"]??"",mt=SOLANA_TOKENS.stablecoins.USDC.address,jr=e.provider_meta?.["dflow.collateralMint"]||"",Yr=S==="yes"?pr:Un,Gr=useMemo(()=>Ee?Ee.positions.find(M=>M.side?.toLowerCase()===S&&M.market?.slug===e.slug)??null:null,[Ee,e.slug,S])?.market?.provider_meta,Kn=Gr?.["dflow.outcomeMint"]||Yr,ft=Gr?.["dflow.collateralMint"]||jr,kt=Kn,At=ft||mt,Ft=useMemo(()=>isNaN(P)||P<=0?"0":String(Math.round(P*1e6)),[P]),qr=c==="kalshi"&&!!kt&&!!At&&!!f&&Ft!=="0",{refetch:Pr}=useDFlowQuote({inputMint:kt,outputMint:At,amount:Ft,userPublicKey:f??"",slippageBps:100},{enabled:qr}),Vn=useMemo(()=>isNaN(P)||P<=0?0:P,[P]),D=useMemo(()=>{if(isNaN(P)||P<=0)return 0;let M=A==="limit"&&m&&!isNaN(E)?E:He;return P*M},[P,A,m,E,He]),Te=useCallback(M=>{K(M),O(NaN),L(NaN),y(false);},[]),lt=useCallback(M=>{Q(M);},[]);useEffect(()=>{A==="limit"&&O(Math.round(He*100)/100);},[A,S]);let ur=useCallback(M=>{if(y(false),isNaN(M)){L(NaN);return}L(Pe(Math.max(0,M),$e));},[$e]),Bt=useCallback(()=>{y(true),L(Pe(Dt,$e));},[Dt,$e]),St=useCallback(M=>{if(isNaN(M)){O(NaN);return}let xe=Math.max(.01,Math.min(.99,M));O(Math.round(xe*100)/100);},[]),wt=useCallback(()=>{L(NaN),O(NaN),Q("market"),y(false),Be(false),bt("1h"),Ve(30),nt("minutes");},[]),zt=useMemo(()=>{let M=[];return isNaN(P)||P<=0?M.push(r("predict.trade.minQuantity",{amount:an})):P<an&&M.push(r("predict.trade.minQuantity",{amount:an})),e.status!=="open"&&M.push(r("predict.trade.marketNotActive")),!isNaN(P)&&P>0&&!b&&P>Dt&&M.push(r("predict.trade.insufficientSharesDetail",{total:Pe(dr,$e).toFixed($e),active:Pe(qt,$e).toFixed($e),available:Pe(Dt,$e).toFixed($e)})),A==="limit"&&m&&(isNaN(E)||E<.01||E>.99)&&M.push(r("predict.trade.limitPriceRange")),A==="limit"&&m&&he&&ze==="custom"&&(isNaN(ve)||ve<=0)&&M.push(r("predict.trade.expiration.invalidDate")),{isValid:M.length===0,errors:M}},[P,e.status,Dt,dr,qt,b,A,m,E,he,ze,ve,$e,r]),{mutateAsync:Pt}=useDFlowSubmit(),{data:mr}=useOrder({id:j??"",source:c},{enabled:!!j}),Qr=useCallback(async()=>{if(!q||!f||!u)return;let{cashAmount:M,collateral:xe}=q;pe(null);try{let De=(await a.createDFlowQuote({inputMint:xe,outputMint:mt,amount:M,userPublicKey:f,slippageBps:100}))?.transaction;if(!De)return;let ot=Uint8Array.from(atob(De),Ct=>Ct.charCodeAt(0)),We=await u.signTransaction(ot);await Pt({signedTransaction:btoa(String.fromCharCode(...We)),orderContext:{user_public_key:f,input_mint:xe,output_mint:mt,amount:M,price:"1",side:"SELL",outcome:"",market_slug:"",slippage_bps:100}});}catch{}},[q,f,u,a,Pt,mt]),Nt=useCallback(()=>{s.invalidateQueries({queryKey:["predict","positions"]}),s.invalidateQueries({queryKey:["predict","orders"]}),s.invalidateQueries({queryKey:["predict","available-shares"]});},[s]);useEffect(()=>{if(!mr||!j)return;let{status:M}=mr;M==="closed"?(Y(null),q?Qr().finally(()=>{U(false),toast.success(r("predict.trade.submitSuccess")),Zt(),Nt(),wt();}):(U(false),toast.success(r("predict.trade.submitSuccess")),Zt(),Nt(),wt())):(M==="failed"||M==="expired")&&(U(false),Y(null),pe(null),toast.error(r("predict.trade.submitError")));},[mr,j,q,Qr,Nt,wt,r]);let Xr=useCallback(async()=>{if(!f||!u)return;if(!kt||!At){toast.error("Missing token mint addresses"),U(false);return}if(!we){st(true),U(false);return}let je=(await Pr()).data,De=je?.transaction;if(!De){toast.error(r("predict.trade.submitError")),U(false);return}if(ft&&ft!==mt){let ue=String(je?.outAmount??"");ue&&ue!=="0"&&pe({cashAmount:ue,collateral:ft});}let ot=Uint8Array.from(atob(De),ue=>ue.charCodeAt(0)),We=await u.signTransaction(ot),Ct=await Pt({signedTransaction:btoa(String.fromCharCode(...We)),orderContext:{user_public_key:f,input_mint:kt,output_mint:At,amount:Ft,price:String(He),side:"SELL",outcome:S==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});Y(Ct.signature);},[f,u,Pr,Pt,kt,At,Ft,He,S,e.slug,ft,mt,r,we]),Jr=useCallback(async()=>{if(!p||!l)return;let M=p.chain,xe=M!==Chain.POLYGON;xe&&await i(Chain.POLYGON);try{let je=await p.getEip1193Provider();if(!je){toast.error(r("predict.trade.submitError")),U(!1);return}let De=!!ge,ot={address:p.address,signatureType:De?2:0,signTypedData:async(Qt,vl,xl,bl)=>{let fr=[];"name"in Qt&&fr.push({name:"name",type:"string"}),"version"in Qt&&fr.push({name:"version",type:"string"}),"chainId"in Qt&&fr.push({name:"chainId",type:"uint256"}),"verifyingContract"in Qt&&fr.push({name:"verifyingContract",type:"address"}),"salt"in Qt&&fr.push({name:"salt",type:"bytes32"});let yl={EIP712Domain:fr,...vl};return await je.request({method:"eth_signTypedData_v4",params:[p.address,JSON.stringify({domain:Qt,types:yl,primaryType:xl,message:bl})]})}},We=await Oe();if(!We){toast.error(r("predict.trade.submitError")),U(!1);return}let Ct=S==="yes"?0:1,ue="",Ht=e.provider_meta?.["polymarket.clobTokenIds"];Ht&&(ue=(typeof Ht=="string"?JSON.parse(Ht):Ht)[Ct]??"");let en=e.provider_meta?.["polymarket.negRisk"]??!1,jn=A==="limit"&&!isNaN(E)?E:He,$t=dn(jn,w),Yo={tokenId:ue,price:$t,size:P,side:"SELL",orderType:A==="limit"?he?"GTD":"GTC":"FOK",tickSize:w,negRisk:en,...ge&&{funderAddress:ge},...A==="limit"&&he&&{expiration:cn(ze,ve,rt)}},ul=buildCtfExchangeDomain(en),Go=buildOrderMessage({...Yo,signerAddress:ot.address,signatureType:ot.signatureType,feeRateBps:N}),ml=await ot.signTypedData(ul,CTF_ORDER_TYPES,"Order",Go),fl=buildSignedOrder(Go,ml,Yo.orderType),qo=buildClobPayload(fl,We.apiKey),gl=JSON.stringify(qo),hl=await buildPolymarketL2Headers(We.address,{apiKey:We.apiKey,secret:We.secret,passphrase:We.passphrase,method:"POST",requestPath:"/order",body:gl});await a.createPolymarketOrder(qo,hl),Nt(),toast.success(r("predict.trade.submitSuccess")),Zt(),wt(),U(!1);}finally{xe&&M&&i(M).catch(()=>{});}},[p,l,Oe,i,S,e.provider_meta,A,E,He,P,a,Nt,he,ze,ve,rt,wt,r,w,N,e.slug]),Zr=useCallback(async()=>{if(!(!zt.isValid||!d)){U(true),Y(null),st(false);try{c==="kalshi"?await Xr():await Jr();}catch(M){let xe=M instanceof Error?M.message:"",je=c==="polymarket"&&xe?pn(xe,r,"sell"):xe||void 0;toast.error(je||r("predict.trade.submitError")),U(false);}}},[zt.isValid,d,c,Xr,Jr,r]);return {outcome:S,orderType:A,quantity:P,limitPrice:E,shares:Vn,estimatedReturn:D,isMarketDataLoading:c==="polymarket"&&(x||k),isSubmitting:de,validation:zt,supportsLimitOrder:m,kycRequired:Se,kycUrl:B,totalShares:dr,activeOrderShares:qt,availableShares:Dt,isAvailableLoading:Vr,isSellAll:b,precision:$e,expirationEnabled:he,expirationPreset:ze,customDuration:ve,customDurationUnit:rt,setOutcome:Te,setOrderType:lt,setQuantity:ur,setLimitPrice:St,setSellAll:Bt,setExpirationEnabled:Be,setExpirationPreset:bt,setCustomDuration:Ve,setCustomDurationUnit:nt,submit:Zr}}var Rp=["5m","1h","12h","24h","eod","custom"],Ip={"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"},Op=["minutes","hours","days"],Dp={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"},Ap={maximumFractionDigits:0};function hs({event:e,market:t,variant:r="bordered",outcome:n,orderType:o,quantity:i,limitPrice:a,estimatedReturn:l,isMarketDataLoading:s,isSubmitting:c,isValid:m,validationErrors:u,supportsLimitOrder:p,kycRequired:d,kycUrl:f,totalShares:g,activeOrderShares:h,availableShares:v,isAvailableLoading:k,precision:w,expirationEnabled:R,expirationPreset:x,customDuration:N,customDurationUnit:S,onOutcomeChange:K,onOrderTypeChange:A,onQuantityChange:Q,onLimitPriceChange:P,onSellAll:L,onExpirationEnabledChange:E,onExpirationPresetChange:O,onCustomDurationChange:de,onCustomDurationUnitChange:U,onSubmit:b}){let{t:y}=useTranslation(),[j,Y]=useState(false),q=useDisclosure(),[pe,Se]=useState(""),st=useRef(false);useEffect(()=>{st.current||Se(isNaN(i)?"":String(i));},[i]);let[he,Be]=useState(""),ze=useRef(false);useEffect(()=>{ze.current||(isNaN(a)?Be(""):Be(String(parseFloat((a*100).toFixed(2)))));},[a]);let bt=useCallback(B=>{if(B!==""&&!/^\d*\.?\d{0,2}$/.test(B))return;if(Be(B),B===""||B==="."){P(NaN);return}let Oe=parseFloat(B);isNaN(Oe)||P(Oe/100);},[P]),ve=useCallback(B=>{let ge=new RegExp(`^\\d*\\.?\\d{0,${w}}$`);if(B!==""&&!ge.test(B))return;if(Se(B),Y(false),B===""||B==="."){Q(NaN);return}let Oe=parseFloat(B);isNaN(Oe)||Q(Oe);},[Q,w]);useEffect(()=>{d&&!q.isOpen&&q.onOpen();},[d]);let Ve=useMemo(()=>{let B=n==="yes"?t.yesBid:t.noBid;return B!=null?parseFloat((Number(B)*100).toFixed(2)):null},[n,t]),rt=!isNaN(i)&&i>0,nt=useMemo(()=>{if(k)return y("predict.trade.loadingBalance");if(s)return y("predict.trade.loadingMarketData");if(c)return y("predict.trade.submitting");if(d)return y("predict.trade.kycRequired");if(!rt)return y("predict.trade.enterAmount");let B=y(n==="yes"?"predict.trade.yes":"predict.trade.no");return `${y("predict.trade.sell")} ${B}`},[k,s,c,d,rt,n,y]),we=()=>{if(d){q.onOpen();return}if(!m){Y(true);return}Y(false),b();};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:B=>{r==="bordered"&&(B.currentTarget.style.borderColor="rgba(63,63,70,0.8)");},onMouseLeave:B=>{r==="bordered"&&(B.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:[y("predict.trade.sell")," ",y(n==="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:o,onSelectionChange:B=>A(B),classNames:{tabList:"gap-x-4",tab:"px-0"},children:[jsx(Tab,{title:y("predict.trade.market")},"market"),jsx(Tab,{title:y("predict.trade.limit")},"limit")]}):jsx("span",{className:"text-sm font-medium text-foreground",children:y("predict.trade.market")}),o==="limit"&&p?jsx(StyledInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",inputMode:"decimal",value:he,onChange:B=>bt(B.target.value),onFocus:()=>{ze.current=true;},onBlur:()=>{ze.current=false,isNaN(a)?Be(""):Be(String(parseFloat((a*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"}}):Ve!=null&&jsxs("span",{className:"text-xl font-bold tabular-nums",children:[Ve," \xA2"]})]}),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:y("predict.trade.sellContracts")}),jsxs("div",{className:"flex items-center gap-x-2",children:[[25,50].map(B=>{let ge=Math.pow(10,w);return jsxs("button",{type:"button",onClick:()=>{Q(Math.floor(v*B/100*ge)/ge);},className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:[B,"%"]},B)}),jsx("button",{type:"button",onClick:L,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:y("common.all")})]})]}),jsx(StyledInput,{"aria-label":"Sell quantity",fullWidth:true,placeholder:"0",radius:"lg",size:"lg",inputMode:"decimal",value:pe,onChange:B=>ve(B.target.value),onFocus:()=>{st.current=true;},onBlur:()=>{st.current=false,Se(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"}}),j&&u.length>0&&jsx("div",{className:"flex flex-col gap-y-0.5",children:u.map(B=>jsx("span",{className:"text-xs text-danger",children:B},B))})]}),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:y("predict.trade.totalShares")}),jsx("span",{className:"tabular-nums text-foreground",children:k?"\u2013":`${Pe(g,w).toFixed(w)}${y("predict.trade.sharesUnit")}`})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:y("predict.trade.activeOrders")}),jsx("span",{className:"tabular-nums text-warning",children:k?"\u2013":h>0?`-${Pe(h,w).toFixed(w)}${y("predict.trade.sharesUnit")}`:`0${y("predict.trade.sharesUnit")}`})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:y("predict.trade.availableShares")}),jsx("span",{className:"tabular-nums text-success font-medium",children:k?"\u2013":`${Pe(v,w).toFixed(w)}${y("predict.trade.sharesUnit")}`})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:y("predict.trade.estReturn")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${l.toFixed(2)}`:"\u2013"})]})]}),o==="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:y("predict.trade.setExpiration")}),jsx(StyledSwitch,{size:"sm",color:"primary",isSelected:R,onValueChange:E,"aria-label":y("predict.trade.setExpiration")})]}),R&&jsxs(Fragment,{children:[jsx(Select,{"aria-label":y("predict.trade.setExpiration"),selectedKeys:[x],onSelectionChange:B=>{let ge=Array.from(B)[0];ge&&O(ge);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:Rp.map(B=>jsx(SelectItem,{children:y(Ip[B])},B))}),x==="custom"&&jsxs("div",{className:"flex gap-x-2",children:[jsx(StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(N)?void 0:N,onValueChange:de,minValue:1,step:1,formatOptions:Ap,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:[S],onSelectionChange:B=>{let ge=Array.from(B)[0];ge&&U(ge);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:Op.map(B=>jsx(SelectItem,{children:y(Dp[B])},B))})]})]})]}),jsx(Button,{color:"secondary",fullWidth:true,radius:"lg",size:"lg",isDisabled:k||s||!rt||c,isLoading:c||k||s,spinner:jsx(Spinner,{size:"sm",color:"current"}),onPress:we,children:nt})]}),jsx(un,{isOpen:q.isOpen,onClose:q.onClose,kycUrl:f})]})}function kn({event:e,market:t,variant:r,initialOutcome:n,chain:o}){let{outcome:i,orderType:a,quantity:l,limitPrice:s,estimatedReturn:c,isMarketDataLoading:m,isSubmitting:u,validation:p,supportsLimitOrder:d,kycRequired:f,kycUrl:g,totalShares:h,activeOrderShares:v,availableShares:k,isAvailableLoading:w,precision:R,expirationEnabled:x,expirationPreset:N,customDuration:S,customDurationUnit:K,setOutcome:A,setOrderType:Q,setQuantity:P,setLimitPrice:L,setSellAll:E,setExpirationEnabled:O,setExpirationPreset:de,setCustomDuration:U,setCustomDurationUnit:b,submit:y}=as({market:t,initialOutcome:n}),j=useAuthCallback(y),Y=useMemo(()=>e?rn(e):void 0,[e]),q=useMemo(()=>nn(t),[t]);return jsx(hs,{event:Y,market:q,variant:r,outcome:i,orderType:a,quantity:l,limitPrice:s,estimatedReturn:c,isMarketDataLoading:m,isSubmitting:u,isValid:p.isValid,validationErrors:p.errors,supportsLimitOrder:d,kycRequired:f,kycUrl:g,totalShares:h,activeOrderShares:v,availableShares:k,isAvailableLoading:w,precision:R,expirationEnabled:x,expirationPreset:N,customDuration:S,customDurationUnit:K,onOutcomeChange:A,onOrderTypeChange:Q,onQuantityChange:P,onLimitPriceChange:L,onSellAll:E,onExpirationEnabledChange:O,onExpirationPresetChange:de,onCustomDurationChange:U,onCustomDurationUnitChange:b,onSubmit:j})}var co="predict-sell";function xs({id:e=co}){return jsx(AsyncModal,{id:e,children:t=>jsx(Kp,{...t})})}function Kp({params:e,isOpen:t,onOpenChange:r}){let{t:n}=useTranslation(),{isMobile:o}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:o?"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:o?"":"p-2",children:[jsx(kn,{event:e.event,market:e.market,initialOutcome:e.initialOutcome,chain:e.chain,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:n("common.cancel")})})]})})}):null}var mo=40,Pn=36,Or=480,fo=Or-Pn;function ks({event:e,walletAddress:t,onCancelOrder:r}){let{t:n}=useTranslation(),[o,i]=useState("positions"),a=useMemo(()=>e.markets?.map(u=>u.slug)??[],[e.markets]),{data:l}=usePositions({source:e.source,user:t??""}),s=useMemo(()=>!l?.positions||!t?0:a.length===0?l.positions.length:l.positions.filter(u=>u.market&&a.includes(u.market.slug)).length,[l?.positions,a,t]),m=[{key:"positions",label:s>0?`${n("predict.positions.title")} (${s})`:n("predict.positions.title")},{key:"orders",label:n("predict.openOrders.title")},{key:"trades",label:n("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:m.map(u=>jsx("button",{type:"button",onClick:()=>i(u.key),className:cn$1("px-3 py-2 text-sm font-medium transition-colors cursor-pointer",o===u.key?"text-foreground border-b-2 border-primary":"text-neutral hover:text-foreground"),children:u.label},u.key))}),t?jsxs("div",{style:{height:Or},children:[o==="positions"&&jsx(Xp,{source:e.source,walletAddress:t,marketSlugs:a}),o==="orders"&&jsx(Zp,{source:e.source,walletAddress:t,marketSlugs:a,onCancelOrder:r}),o==="trades"&&jsx(ru,{source:e.source,walletAddress:t})]}):jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:Or},children:n("predict.trade.connectWallet")})]})}function Xp({source:e,walletAddress:t,marketSlugs:r}){let{t:n}=useTranslation(),{data:o,isLoading:i}=usePositions({source:e,user:t}),a=useMemo(()=>o?.positions?r.length===0?o.positions:o.positions.filter(l=>l.market&&r.includes(l.market.slug)):[],[o?.positions,r]);return i?jsx(ho,{}):a.length===0?jsx(go,{message:n("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:Pn},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2 whitespace-nowrap",children:n("predict.positions.event")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:n("predict.positions.totalSize")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:n("predict.positions.value")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:n("predict.positions.avgPrice")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:n("predict.positions.markPrice")}),jsx("div",{className:"flex-[1.5] pr-2 text-right whitespace-nowrap",children:n("predict.positions.pnl")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:n("predict.positions.payoutIfRight")}),jsx("div",{className:"flex-[1.5] pr-2 text-right whitespace-nowrap",children:n("predict.positions.estSettlement")}),jsx("div",{className:"w-16 shrink-0"})]}),jsx(List,{style:{height:fo},rowComponent:Jp,rowCount:a.length,rowHeight:mo,rowProps:{positions:a,closeLabel:n("predict.positions.close")}})]})}function Jp({index:e,style:t,positions:r,closeLabel:n}){let o=r[e];if(!o)return null;let i=o.pnl??0,a=o.pnl_percent??0,l=o.avg_price??0,s=o.current_price??0,c=i>0?"text-success":i<0?"text-danger":"text-foreground",m=i>0?"+":"",u=o.market?.outcomes?.[0]?.label??o.market?.question??"\u2014",p=o.side,d=o.size,f=o.size*s,g=o.market?.end_at?iu(o.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:u}),jsx("span",{className:cn$1("text-[10px] font-medium",p.toLowerCase()==="yes"?"text-primary":"text-secondary"),children:p})]})}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:o.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:Sn(l)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:Sn(s)}),jsxs("div",{className:cn$1("flex-[1.5] pr-2 text-right font-mono whitespace-nowrap",c),children:[m,"$",Math.abs(i).toFixed(2),jsxs("span",{className:"text-[10px] ml-0.5 opacity-70",children:["(",m,a.toFixed(1),"%)"]})]}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:["$",d.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:n})})]})}function Zp({source:e,walletAddress:t,marketSlugs:r,onCancelOrder:n}){let{t:o}=useTranslation(),{data:i,isLoading:a,fetchNextPage:l,hasNextPage:s}=useInfiniteOrders({source:e,wallet_address:t}),c=useCancelOrder(),m=useMemo(()=>{let v=i?.pages?.flatMap(R=>R.items)??[],k=new Set(["live","open","submitted","pending"]),w=v.filter(R=>k.has(R.status));return r.length>0&&(w=w.filter(R=>R.market_id&&r.includes(R.market_id))),w},[i?.pages,r]),u=useCallback(v=>{n?n(v.id):c.mutate({source:v.source,id:v.id});},[n,c]),p=m.length,d=p+(s?1:0),f=useCallback(v=>v<p,[p]),g=useCallback(async()=>{await l();},[l]),h=useInfiniteLoader({isRowLoaded:f,loadMoreRows:g,rowCount:d,threshold:5});return a?jsx(ho,{}):m.length===0&&!s?jsx(go,{message:o("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:Pn},children:[jsx("div",{className:"w-16 shrink-0 pr-2",children:o("predict.openOrders.side")}),jsx("div",{className:"flex-1 pr-2",children:o("predict.openOrders.outcome")}),jsx("div",{className:"flex-1 pr-2",children:o("predict.openOrders.type")}),jsx("div",{className:"flex-1 pr-2 text-right",children:o("predict.openOrders.price")}),jsx("div",{className:"flex-1 pr-2 text-right",children:o("predict.openOrders.filled")}),jsx("div",{className:"w-20 shrink-0 pr-2",children:o("predict.openOrders.status")}),jsx("div",{className:"w-16 shrink-0"})]}),jsx(List,{style:{height:fo},onRowsRendered:h,rowComponent:eu,rowCount:d,rowHeight:mo,rowProps:{orders:m,itemCount:p,onCancel:u,isCancelling:c.isPending,cancelLabel:o("predict.openOrders.cancel")}})]})}function eu({index:e,style:t,orders:r,itemCount:n,onCancel:o,isCancelling:i,cancelLabel:a}){if(e>=n)return jsx("div",{style:t,className:"flex justify-center items-center",children:jsx(Spinner,{size:"sm"})});let l=r[e];if(!l)return null;let s=l.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",s?"bg-primary/10 text-primary":"bg-danger/10 text-danger"),children:l.side})}),jsx("div",{className:"flex-1 pr-2 text-foreground capitalize",children:l.outcome??"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-neutral capitalize",children:l.order_type??"limit"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:l.price?Sn(parseFloat(l.price)):"\u2014"}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:[l.size_matched??"0","/",l.original_size??"\u2014"]}),jsx("div",{className:"w-20 shrink-0 pr-2",children:jsx(tu,{status:l.status})}),jsx("div",{className:"w-16 shrink-0 text-right",children:jsx("button",{type:"button",onClick:()=>o(l),disabled:i,className:"text-[10px] text-danger hover:text-danger/80 cursor-pointer disabled:opacity-50 transition-colors",children:i?jsx(Spinner,{size:"sm"}):a})})]})}function tu({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 ru({source:e,walletAddress:t}){let{t:r}=useTranslation(),{data:n,isLoading:o,fetchNextPage:i,hasNextPage:a}=useInfiniteTrades({source:e,wallet:t,limit:50}),l=useMemo(()=>n?.pages?.flatMap(d=>d.items)??[],[n?.pages]),s=l.length,c=s+(a?1:0),m=useCallback(d=>d<s,[s]),u=useCallback(async()=>{await i();},[i]),p=useInfiniteLoader({isRowLoaded:m,loadMoreRows:u,rowCount:c,threshold:5});return o?jsx(ho,{}):l.length===0&&!a?jsx(go,{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:Pn},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:p,rowComponent:nu,rowCount:c,rowHeight:mo,rowProps:{trades:l,itemCount:s}})]})}function nu({index:e,style:t,trades:r,itemCount:n}){if(e>=n)return jsx("div",{style:t,className:"flex justify-center items-center",children:jsx(Spinner,{size:"sm"})});let o=r[e];if(!o)return null;let i=o.side?.toUpperCase()==="BUY",a=ou(o.timestamp),l=o.price??0,s=o.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:o.side})}),jsx("div",{className:"flex-1 pr-2 text-foreground capitalize",children:o.outcome??"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:Sn(l)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:o.size}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:["$",s.toFixed(2)]}),jsx("div",{className:"flex-[1.5] pr-2 text-right text-neutral whitespace-nowrap",children:a})]})}function go({message:e}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:Or},children:e})}function ho(){return jsx("div",{className:"flex flex-col gap-y-2 py-3 animate-pulse",style:{height:Or},children:Array.from({length:6}).map((e,t)=>jsx(Skeleton,{className:"h-8 w-full rounded-md"},t))})}function Sn(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(1)}\xA2`}function ou(e){let t=new Date(e*1e3),r=(t.getMonth()+1).toString().padStart(2,"0"),n=t.getDate().toString().padStart(2,"0"),o=t.getHours().toString().padStart(2,"0"),i=t.getMinutes().toString().padStart(2,"0");return `${r}/${n} ${o}:${i}`}function iu(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}catch{return "\u2014"}}var Ss=`
|
|
86
86
|
@keyframes detailShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
|
|
87
|
-
`,ua={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 se(e){return {...ua,animationDelay:`${e}ms`}}function Ir({marketCount:e=4,showBack:t}){return jsxs(Fragment,{children:[jsx("style",{children:pa}),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:{...ua,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:{...se(0),height:14,width:48}}),jsx("div",{style:{...se(30),height:14,width:40}}),jsx("div",{style:{...se(60),height:14,width:40}})]}),jsx("div",{style:{...se(80),height:20,width:"80%",maxWidth:384,borderRadius:4}})]})]}),jsx("div",{style:{...se(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:{...se(120),height:16,width:96}}),jsx("div",{style:{...se(140),height:16,width:80}})]}),jsx("div",{style:{...se(160),height:300,width:"100%",borderRadius:12}}),jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[jsx("div",{style:{...se(180),height:16,width:80}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[jsx("div",{style:{...se(200),height:28,width:200,borderRadius:8}}),jsx("div",{style:{...se(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:{...se(240),height:14,width:56}})}),Array.from({length:e}).map((r,n)=>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:{...se(260+n*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:{...se(280+n*40),height:14,width:n%2===0?192:160}}),jsx("div",{style:{...se(300+n*40),height:10,width:64}})]}),jsx("div",{style:{...se(320+n*40),height:16,width:40}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[jsx("div",{style:{...se(340+n*40),height:32,width:80,borderRadius:8}}),jsx("div",{style:{...se(360+n*40),height:32,width:80,borderRadius:8}})]})]},n))]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:{...se(400),height:16,width:64}}),jsx("div",{style:{...se(420),height:14,width:"100%"}}),jsx("div",{style:{...se(440),height:14,width:"80%"}}),jsx("div",{style:{...se(460),height:14,width:"60%"}})]})]})]})}function ma(){return jsxs(Fragment,{children:[jsx("style",{children:pa}),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:{...se(0),height:40,width:"100%",borderRadius:8}}),jsx("div",{style:{...se(60),height:96,width:"100%",borderRadius:8}}),jsx("div",{style:{...se(120),height:40,width:"100%",borderRadius:8}})]})]})}var xa="var(--color-bullish)",ba="var(--color-bearish)";function Or(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 Fp(e,t){return e<=0||t<=0?0:Math.pow(e/t,.3)}function Bp(e,t){let r=new Float64Array(101),n=new Float64Array(101);for(let d of e){let f=Math.round(d.price*100);f>=0&&f<=100&&(r[f]+=d.quantity);}for(let d of t){let f=Math.round(d.price*100);f>=0&&f<=100&&(n[f]+=d.quantity);}let o=0,i=0,s=new Float64Array(101),l=new Float64Array(101);for(let d=100;d>=0;d--)o+=r[d],i+=r[d]*d/100,s[d]=o,l[d]=i;let a=0,c=0,m=new Float64Array(101),u=new Float64Array(101);for(let d=0;d<=100;d++)a+=n[d],c+=n[d]*d/100,m[d]=a,u[d]=c;let p=Math.max(s[0]??0,m[100]??0);return Array.from({length:101},(d,f)=>{let g=s[f]>0,h=m[f]>0,v=s[f]||m[f],k=r[f]>0||n[f]>0;return {priceCents:f,displayHeight:Fp(v,p),opacity:v>0?k?1:.5:0,isBid:g,isAsk:h,bidCumTotal:s[f],askCumTotal:m[f],bidCumCost:l[f],askCumCost:u[f]}})}function Hp({info:e}){let{t}=useTranslation(),r=e.isBid?xa:ba,n=e.leftPct>65?void 0:`${e.leftPct}%`,o=e.leftPct>65?`${100-e.leftPct}%`:void 0;return jsxs("div",{style:{position:"absolute",top:8,left:n,right:o,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:Or(Math.round(e.cumTotal))})}),jsxs("div",{style:{color:r},children:["$",Or(Math.round(e.cumCost))]})]})}var zp=memo(function({slot:t,onEnter:r,onLeave:n}){let o=useRef(null),i=t.isBid||t.isAsk,s=t.isBid?xa:t.isAsk?ba: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,o.current),onMouseLeave:n,children:i&&jsx("div",{ref:o,style:{position:"absolute",bottom:0,left:0,width:"100%",height:`${t.displayHeight*100}%`,backgroundColor:s,opacity:t.opacity}})})}),$p=[0,10,20,30,40,50,60,70,80,90,100];function Wp(){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:$p.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 ya({bids:e,asks:t}){let{t:r}=useTranslation(),n=useMemo(()=>Bp(e,t),[e,t]),o=useMemo(()=>{let u=e.length>0?Math.max(...e.map(d=>d.price)):0,p=t.length>0?Math.min(...t.map(d=>d.price)):1;return Math.round((u+p)/2*100)},[e,t]),i=useMemo(()=>n.some(u=>u.isBid||u.isAsk),[n]),[s,l]=useState(null),a=useRef(null),c=useCallback((u,p)=>{a.current&&(a.current.style.filter=""),p?(p.style.filter="brightness(1.5)",a.current=p):a.current=null,u.isBid||u.isAsk?l({priceCents:u.priceCents,isBid:u.isBid,cumTotal:u.isBid?u.bidCumTotal:u.askCumTotal,cumCost:u.isBid?u.bidCumCost:u.askCumCost,leftPct:u.priceCents}):l(null);},[]),m=useCallback(()=>{a.current&&(a.current.style.filter="",a.current=null),l(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:[o>0&&jsx("div",{style:{position:"absolute",left:`${o}%`,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(Hp,{info:s}),n.map(u=>jsx(zp,{slot:u,onEnter:c,onLeave:m},u.priceCents))]}),jsx(Wp,{})]}):jsx("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#6b7280",fontSize:13},children:r("predict.orderBook.noData")})}function fo(e){let t=e*100,r=Math.round(t*10)/10;return Number.isInteger(r)?`${r}\xA2`:`${r.toFixed(1)}\xA2`}function ka(){let{t:e}=useTranslation();return jsxs("div",{className:"flex items-center justify-center gap-x-2 h-full text-neutral text-xs",children:[jsx(Spinner,{size:"sm"}),jsx("span",{children:e("predict.orderBook.loading")})]})}function Pa({market:e,outcome:t="yes",onTradeAction:r}){let{t:n}=useTranslation(),[o,i]=useState("depth"),s=t==="no",l=e.source,{data:a,isLoading:c,isFetching:m,refetch:u}=useOrderbook({slug:e.slug,source:l}),p=useMemo(()=>((s?a?.asks:a?.bids)??[]).map(k=>({price:s?1-k.price:k.price,quantity:k.size})),[a?.bids,a?.asks,s]),d=useMemo(()=>((s?a?.bids:a?.asks)??[]).map(k=>({price:s?1-k.price:k.price,quantity:k.size})),[a?.bids,a?.asks,s]),f=useMemo(()=>p.length>0?Math.max(...p.map(v=>v.price)):null,[p]),g=useMemo(()=>d.length>0?Math.min(...d.map(v=>v.price)):null,[d]),h=useMemo(()=>{if(f==null||g==null)return null;let v=(g-f)*100;return Math.round(v*10)/10},[f,g]);return jsxs("div",{className:"flex flex-col 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:h!=null?`${n("predict.orderBook.spread")}: ${Number.isInteger(h)?`${h}\xA2`:`${h.toFixed(1)}\xA2`}`:null}),jsxs("span",{className:"flex flex-1 items-center justify-center gap-x-1 whitespace-nowrap",children:[f!=null&&jsxs("span",{style:{color:"var(--color-bullish)"},children:[n("predict.trade.bestBid"),": ",fo(f)]}),f!=null&&g!=null&&jsx("span",{className:"text-neutral",children:"|"}),g!=null&&jsxs("span",{style:{color:"var(--color-bearish)"},children:[n("predict.trade.bestAsk"),": ",fo(g)]})]}),jsxs("div",{className:"flex flex-1 items-center justify-end gap-x-2",children:[jsx("button",{type:"button",title:o==="depth"?"Orderbook":"Depth chart",onClick:()=>i(v=>v==="depth"?"table":"depth"),className:"flex items-center text-neutral transition-colors cursor-pointer hover:text-foreground",children:o==="depth"?jsx(OrderbookTableIcon,{className:"h-4 w-4"}):jsx(OrderbookDepthIcon,{className:"h-4 w-4"})}),jsx("button",{type:"button",title:"Refresh",onClick:()=>u(),disabled:m,className:cn$1("flex items-center text-neutral transition-colors cursor-pointer hover:text-foreground disabled:cursor-default disabled:opacity-50",m&&"animate-spin"),children:jsx(RefreshIcon,{className:"h-4 w-4"})})]})]}),jsxs("div",{className:"flex-1 min-h-0 overflow-hidden",children:[o==="depth"&&jsx(Fragment,{children:c?jsx(ka,{}):jsx(ya,{bids:p,asks:d})}),o==="table"&&jsx(Fragment,{children:c?jsx(ka,{}):jsx(Qp,{bids:p,asks:d,bestBid:f??void 0,bestAsk:g??void 0,spread:h??void 0})})]})]})}var Sa=8;function Qp({bids:e,asks:t,spread:r}){let{t:n}=useTranslation(),o=useMemo(()=>[...t].sort((a,c)=>a.price-c.price).slice(0,Sa).reverse(),[t]),i=useMemo(()=>[...e].sort((a,c)=>c.price-a.price).slice(0,Sa),[e]),s=useMemo(()=>{let a=[...o,...i].map(c=>c.quantity);return Math.max(...a,1)},[o,i]);return o.length===0&&i.length===0?jsx("div",{className:"flex items-center justify-center h-full text-xs text-neutral",children:n("predict.orderBook.empty")}):jsxs("div",{className:"flex flex-col h-full overflow-y-auto text-xs font-mono select-none",children:[o.map(a=>jsx(wa,{price:a.price,quantity:a.quantity,side:"ask",maxQty:s},`ask-${a.price}`)),jsx("div",{className:"flex items-center justify-center gap-x-2 py-1 border-y border-border text-neutral text-[10px]",children:r!=null&&jsxs("span",{children:[n("predict.orderBook.spread"),":"," ",Number.isInteger(r)?`${r}\xA2`:`${r.toFixed(1)}\xA2`]})}),i.map(a=>jsx(wa,{price:a.price,quantity:a.quantity,side:"bid",maxQty:s},`bid-${a.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:n("predict.orderBook.price")}),jsx("span",{className:"text-center",children:n("predict.orderBook.contracts")}),jsx("span",{className:"text-right",children:n("predict.orderBook.total")})]})]})}function wa({price:e,quantity:t,side:r,maxQty:n}){let o=r==="ask",i=Math.min(t/n*100,100),s=o?"bg-bearish/10":"bg-bullish/10",l=o?"text-bearish":"text-bullish",a=Or(Math.round(t)),c=Math.round(t*e),m=`$${Or(c)}`;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 ${l}`,children:fo(e)}),jsx("span",{className:"relative z-10 text-foreground text-center",children:a}),jsx("span",{className:"relative z-10 text-foreground text-right",children:m})]})}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}},wn=4,Ca=["#22d3ee","#a3e635","#f97316","#f472b6","#a78bfa"];function lu(e,t){let r=new Date(e);return t===ChartRange.ONE_DAY?r.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:false}):r.toLocaleDateString("en-US",{month:"short",day:"numeric"})}function cu(e,t){let r=new Date(e);return t===ChartRange.ONE_DAY?r.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:false}):t===ChartRange.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 Ma(e){return `${(e*100).toFixed(2)}%`}var du=[{range:ChartRange.ONE_DAY,label:"1D"},{range:ChartRange.ONE_WEEK,label:"1W"},{range:ChartRange.ONE_MONTH,label:"1M"},{range:ChartRange.ALL,label:"ALL"}];function pu({value:e,onChange:t}){return jsx("div",{style:{display:"flex",alignItems:"center",gap:2},children:du.map(({range:r,label:n})=>{let o=r===e;return jsx("button",{onClick:()=>t(r),style:{padding:"2px 8px",border:"none",background:"transparent",color:o?"#f9fafb":"#6b7280",fontWeight:o?700:400,fontSize:12,cursor:"pointer",borderRadius:4,letterSpacing:"0.02em",transition:"color 0.15s",userSelect:"none"},children:n},r)})})}function uu(){let e=useRef(null),t=useRef(null),r=useCallback(o=>{let i=e.current,s=t.current;if(!i||!s)return;let l=i.getBoundingClientRect(),a=(o.clientX-l.left)/l.width*100;s.style.background=`linear-gradient(to right, transparent ${a}%, rgba(0,0,0,0.55) ${a}%)`,s.style.opacity="1";},[]),n=useCallback(()=>{t.current&&(t.current.style.opacity="0");},[]);return {wrapperRef:e,overlayRef:t,onMouseMove:r,onMouseLeave:n}}function mu({active:e,payload:t,label:r,labelMap:n,allSeries:o,range:i}){if(!e||!o?.length)return null;let s=new Map;t?.forEach(a=>s.set(a.dataKey,a));let l=o.map(a=>s.get(a.slug)??{dataKey:a.slug,value:void 0,stroke:a.color,color:a.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"?cu(r,i):r}),l.map(a=>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:a.stroke??a.color,flexShrink:0}}),jsx("span",{style:{color:"#9ca3af",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:120},children:n.get(a.dataKey)??a.dataKey}),jsx("span",{style:{color:"#f9fafb",fontWeight:700,fontVariantNumeric:"tabular-nums"},children:a.value!=null?Ma(a.value):"--"})]},a.dataKey))]})}function fu({markets:e,selectedSlugs:t,colorMap:r,onToggle:n}){let[o,i]=useState(false),s=useRef(null);useEffect(()=>{if(!o)return;function c(m){s.current&&!s.current.contains(m.target)&&i(false);}return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[o]);let l=t.length>=wn,a=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(c=>jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:r.get(c)??"#6b7280",display:"inline-block"}},c))}),jsx("span",{style:{color:"#e5e7eb",fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.length===1?(()=>{let c=e.find(m=>m.slug===t[0]);return c?.outcomes?.[0]?.label??c?.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(c=>!c),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:[a,jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",style:{flexShrink:0,transform:o?"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"})})]}),o&&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 ",wn," markets"]}),e.map((c,m)=>{let u=t.includes(c.slug),p=!u&&l,d=u&&t.length===1,f=r.get(c.slug)??"#6b7280",g=c.outcomes.find(v=>v.label.toLowerCase()==="yes")??c.outcomes[0],h=g?.price!=null?`${Math.round(g.price*100)}%`:null;return jsxs("button",{onClick:()=>{d||p||n(c.slug);},style:{display:"flex",alignItems:"center",gap:10,width:"100%",padding:"7px 12px",border:"none",background:u?"rgba(255,255,255,0.05)":"transparent",cursor:p||d?"not-allowed":"pointer",opacity:p?.35:1,textAlign:"left",transition:"background 0.1s"},onMouseEnter:v=>{!p&&!d&&(v.currentTarget.style.background="rgba(255,255,255,0.07)");},onMouseLeave:v=>{v.currentTarget.style.background=u?"rgba(255,255,255,0.05)":"transparent";},children:[jsx("span",{style:{width:16,height:16,borderRadius:4,border:u?`2px solid ${f}`:"2px solid rgba(255,255,255,0.2)",background:u?`${f}30`:"transparent",flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center"},children:u&&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:u?"#f9fafb":"#9ca3af",fontSize:12,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c.outcomes?.[0]?.label??c.question}),h&&jsx("span",{style:{color:f,fontWeight:700,fontSize:12,flexShrink:0},children:h})]},c.id??`${m}-${c.slug}`)})]})]})}function gu({series:e,colorMap:t,displayValues:r}){return jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:"6px 24px",padding:"0 2px"},children:e.map(n=>{let o=t.get(n.marketSlug)??"#6b7280",i=r.get(n.marketSlug);return jsxs("div",{style:{display:"inline-flex",alignItems:"flex-start",gap:6},children:[jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:o,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:n.label}),jsx("span",{style:{color:"#f9fafb",fontSize:14,fontWeight:700,lineHeight:"20px",fontVariantNumeric:"tabular-nums"},children:i!=null?Ma(i):"--"})]})]},n.marketSlug)})})}function hu(e){let t=Math.floor(e.length/2);return e.length%2===1?e[t]:(e[t-1]+e[t])/2}function vu(e,t){if(e.length<=t)return e;let r=[],n=e.length/t;for(let o=0;o<t;o++){let i=Math.floor(o*n),s=Math.min(Math.floor((o+1)*n),e.length),l=e.slice(i,s),a=l.map(c=>c.price).sort((c,m)=>c-m);r.push({timestamp:l[l.length-1].timestamp,price:hu(a)});}return r}function xu(e,t=200){if(e.length===0)return [];let r=e.map(l=>({...l,data:vu(l.data,t)})),n=new Set;r.forEach(l=>l.data.forEach(a=>n.add(a.timestamp)));let o=Array.from(n).sort((l,a)=>l-a),i=r.map(l=>{let a=new Map;return l.data.forEach(c=>a.set(c.timestamp,c.price)),{slug:l.marketSlug,map:a}}),s=new Map;return o.map(l=>{let a={timestamp:l};return i.forEach(({slug:c,map:m})=>{let u=m.get(l);if(u!==void 0)s.set(c,u),a[c]=u;else {let p=s.get(c);p!==void 0&&(a[c]=p);}}),a})}function Ea(e){return jsx(vo,{children:jsx(bu,{...e})})}function bu({event:e,isLoading:t,className:r,volume:n}){let o=useMemo(()=>{let b=new Set;return (e.markets??[]).filter(y=>y.status!=="open"||b.has(y.slug)?false:(b.add(y.slug),true))},[e.markets]),i=useMemo(()=>[...o].sort((b,y)=>{let j=Y=>(Y.outcomes.find(q=>q.label.toLowerCase()==="yes")??Y.outcomes[0])?.price??0;return j(y)-j(b)}),[o]),[s,l]=useState(()=>i.slice(0,wn).map(b=>b.slug)),[a,c]=useState(nn),m=useMemo(()=>{let b=new Map;return s.forEach((y,j)=>{b.set(y,Ca[j%Ca.length]);}),b},[s]),u=useMemo(()=>o.filter(b=>s.includes(b.slug)),[o,s]),{series:p,isLoading:d}=useMarketHistory(u,a),f=t||d,g=useMemo(()=>{if(p.length>0&&p.some(j=>j.data.length>0))return p;let b=Date.now(),y=864e5;return u.map(j=>{let q=(j.outcomes?.find(pe=>pe.label.toLowerCase()==="yes")??j.outcomes?.[0])?.price??.5;return {marketSlug:j.slug,label:j.outcomes?.[0]?.label??j.question,data:[{timestamp:b-7*y,price:q},{timestamp:b,price:q}]}})},[p,u]),h=useMemo(()=>a===ChartRange.ONE_DAY?96:a===ChartRange.ONE_WEEK?168:a===ChartRange.ONE_MONTH?180:300,[a]),v=useMemo(()=>xu(g,h),[g,h]),k=useMemo(()=>{if(v.length===0)return [0,1];let b=1/0,y=-1/0;if(s.forEach(Y=>{v.forEach(q=>{let pe=q[Y];pe!=null&&(pe<b&&(b=pe),pe>y&&(y=pe));});}),!isFinite(b))return [0,1];let j=Math.max((y-b)*.15,.05);return [Math.max(0,b-j),Math.min(1,y+j)]},[v,s]),w=useMemo(()=>{let b=new Map;return g.forEach(y=>{y.data.length>0&&b.set(y.marketSlug,y.data[y.data.length-1].price);}),b},[g]),R=useMemo(()=>{let b=new Map;return g.forEach(y=>b.set(y.marketSlug,y.label)),b},[g]),x=useMemo(()=>g.map(b=>({slug:b.marketSlug,color:m.get(b.marketSlug)??"#6b7280"})),[g,m]),{wrapperRef:P,overlayRef:S,onMouseMove:V,onMouseLeave:B}=uu(),J=useCallback(b=>{l(y=>y.includes(b)?y.length<=1?y:y.filter(j=>j!==b):y.length>=wn?y:[...y,b]);},[]),[N,H]=useState(null),E=useRef(null),I=useRef(""),de=useRef(0),U=!f&&v.length>0;return jsxs("div",{className:r,style:{display:"flex",flexDirection:"column",gap:12},children:[jsx(gu,{series:g,colorMap:m,displayValues:N??w}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[jsx("div",{ref:P,style:{height:300,width:"100%",userSelect:"none",position:"relative"},onMouseMove:U?b=>{V(b),cancelAnimationFrame(de.current),de.current=requestAnimationFrame(()=>{H(E.current);});}:void 0,onMouseLeave:U?()=>{B(),cancelAnimationFrame(de.current),I.current="",E.current=null,H(null);}:void 0,children:f?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"}})}):v.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:S,style:{position:"absolute",inset:0,opacity:0,pointerEvents:"none",zIndex:1}}),jsx(ResponsiveContainer,{width:"100%",height:"100%",children:jsxs(LineChart,{data:v,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:b=>lu(b,a),axisLine:false,tickLine:false,tick:{fill:"#6b7280",fontSize:11},minTickGap:70}),jsx(YAxis,{domain:k,tickFormatter:b=>`${Math.round(b*100)}%`,axisLine:false,tickLine:false,tick:{fill:"#6b7280",fontSize:11},width:40,tickCount:6}),jsx(Tooltip,{content:b=>{let y=b;if(y.active&&y.payload?.length){let j=y.payload.map(Y=>`${Y.dataKey}:${Y.value}`).join(",");if(j!==I.current){I.current=j;let Y=new Map;y.payload.forEach(q=>{q.value!=null&&Y.set(q.dataKey,q.value);}),E.current=Y;}}return jsx(mu,{...y,labelMap:R,allSeries:x,range:a})},cursor:{stroke:"#4b5563",strokeWidth:1,strokeDasharray:"4 4"},wrapperStyle:{zIndex:2},isAnimationActive:false}),g.map(b=>{let y=m.get(b.marketSlug)??"#6b7280";return jsx(Line,{type:"linear",dataKey:b.marketSlug,stroke:y,strokeWidth:2,strokeLinejoin:"round",strokeLinecap:"round",dot:false,activeDot:{r:4.5,strokeWidth:2,stroke:"rgba(10,10,10,0.8)",fill:y},connectNulls:true,isAnimationActive:false},b.marketSlug)}),N==null&&v.length>0&&g.map(b=>{let y=v[v.length-1],j=y[b.marketSlug];if(j==null)return null;let Y=m.get(b.marketSlug)??"#6b7280";return jsx(ReferenceDot,{x:y.timestamp,y:j,ifOverflow:"extendDomain",shape:q=>{let{cx:pe,cy:Se}=q;return pe==null||Se==null?jsx("g",{}):jsxs("g",{children:[jsxs("circle",{cx:pe,cy:Se,r:6,fill:Y,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:pe,cy:Se,r:3.5,fill:Y})]})}},`pulse-${b.marketSlug}`)})]})})]})}),jsxs("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"6px 8px",marginTop:6},children:[n!=null&&n>0&&jsxs("span",{style:{color:"#6b7280",fontSize:12},children:["$",Math.round(n).toLocaleString()," vol"]}),jsx("div",{style:{flex:1,minWidth:0}}),jsx(pu,{value:a,onChange:c}),i.length>1&&jsx("div",{style:{width:"100%",display:"flex",alignItems:"center"},children:jsx(fu,{markets:i,selectedSlugs:s,colorMap:m,onToggle:J})})]})]})]})}function Ar(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function Ru(e){return `${parseFloat((e*100).toFixed(2))}%`}function Ta(e){let t=e*100;return t<1&&t>0?"< 1":parseFloat(t.toFixed(2)).toString()}function Nn(e){return e.outcomes?.[0]?.label??e.question}function Iu(e){switch(e){case "polymarket":return "Polymarket";case "kalshi":return "Kalshi";default:return e}}function Dr(e){if(!e)return "\u2014";let t=new Date(e);if(isNaN(t.getTime()))return "\u2014";let r=t.toLocaleString("default",{month:"short"}),n=t.getDate(),o=t.getFullYear(),i=t.getHours().toString().padStart(2,"0"),s=t.getMinutes().toString().padStart(2,"0");return `${r} ${n}, ${o} ${i}:${s}`}function La(e){let[t,r]=useState(0);if(useEffect(()=>{if(!e)return;r(Date.now());let m=setInterval(()=>r(Date.now()),1e3);return ()=>clearInterval(m)},[e]),!e||t===0)return null;let n=new Date(e).getTime();if(isNaN(n))return null;let o=n-t;if(o<=0)return null;let i=Math.floor(o/864e5),s=Math.floor(o%864e5/36e5),l=Math.floor(o%36e5/6e4),a=Math.floor(o%6e4/1e3),c=[];return i>0&&c.push(`${i}d`),c.push(`${String(s).padStart(2,"0")}h`),c.push(`${String(l).padStart(2,"0")}m`),c.push(`${String(a).padStart(2,"0")}s`),c.join(" ")}function _a(e){if(!e)return null;let t=new Date(e);if(isNaN(t.getTime()))return null;let r=t.getHours().toString().padStart(2,"0"),n=t.getMinutes().toString().padStart(2,"0"),o=(t.getMonth()+1).toString().padStart(2,"0"),i=t.getDate().toString().padStart(2,"0"),s=t.getFullYear(),l=-t.getTimezoneOffset(),a=l>=0?"+":"-",c=String(Math.abs(Math.floor(l/60))).padStart(2,"0");return `${r}:${n} ${o}/${i}/${s} (${a}${c})`}function Da({event:e,onTradeAction:t}){let{t:r}=useTranslation(),{ref:n,isCollapsed:o}=useScrollCollapse(),i=useMemo(()=>{let u=[...e.markets||[]],p=u.filter(f=>f.status==="open").sort((f,g)=>Ar(g)-Ar(f)),d=u.filter(f=>f.status!=="open").sort((f,g)=>Ar(g)-Ar(f));return [...p,...d]},[e.markets]),s=e.status==="closed"||e.status==="voided",l=La(s?void 0:e.start_at),a=La(s?void 0:e.end_at),c=_a(e.start_at),m=_a(e.end_at);return jsxs("div",{className:"w-full flex flex-col gap-y-4 lg:gap-y-6",children:[jsxs("div",{ref:n,className:`sticky top-0 z-30 flex items-center backdrop-blur-md transition-all duration-300 ${o?"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 ${o?"!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:[!o&&jsxs("div",{className:"flex items-center gap-1.5",children:[e.tags?.slice(0,3).map((u,p)=>jsxs(Fragment$1,{children:[p>0&&jsx("span",{className:"text-sm text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-sm text-neutral truncate",children:u.label})]},u.slug)),jsx(Fu,{source:e.source})]}),jsx("span",{className:`font-semibold truncate transition-all duration-300 ${o?"text-sm lg:text-base":"text-lg lg:text-xl"}`,children:e.title})]})]}),(l||a||s)&&jsx("div",{className:"flex items-center gap-x-2 text-xs lg:text-sm font-mono",children:s?m&&jsx("span",{className:"text-neutral",children:r("predict.event.endedAt",{time:m})}):l?jsxs(Fragment,{children:[jsx("span",{className:"text-foreground",children:r("predict.event.beginsIn",{time:l})}),c&&jsxs(Fragment,{children:[jsx("span",{className:"text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-neutral",children:c})]})]}):a?jsxs(Fragment,{children:[jsx("span",{className:"text-foreground",children:r("predict.event.endsIn",{time:a})}),m&&jsxs(Fragment,{children:[jsx("span",{className:"text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-neutral",children:m})]})]}):null}),jsx(Ea,{event:e,volume:e.volume??void 0}),jsx(Ou,{markets:i,onTradeAction:t}),jsx(Au,{markets:i,event:e})]})}var Ra=5;function Ou({markets:e,onTradeAction:t}){let{t:r}=useTranslation(),{isDesktop:n}=useScreen(),[o,i]=useState(false),[s,l]=useState(null),a=useMemo(()=>{let h=new Set;return e.filter(v=>h.has(v.slug)?false:(h.add(v.slug),true))},[e]),c=a.find(h=>h.status==="open")?.slug,[m,u]=useState(c?`${c}:yes`:null);if(a.length===0)return null;let p=a.length>Ra,d=o?a:a.slice(0,Ra),f=h=>{l(v=>v===h?null:h);},g=(h,v,k)=>{u(`${h.slug}:${v}`),n&&l(h.slug),t?.(h,v,k);};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:d.map((h,v)=>{let k=Ar(h),w=h.outcomes[1]?.best_ask??h.outcomes[1]?.price,R=s===h.slug;return jsx(Du,{market:h,yesPrice:k,noPrice:w??void 0,activeYes:m===`${h.slug}:yes`,activeNo:m===`${h.slug}:no`,isExpanded:R,onToggleExpand:()=>f(h.slug),onTradeAction:g},h.id??`${v}-${h.slug}`)})})]}),p&&jsxs("button",{type:"button",onClick:()=>i(h=>!h),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(o?"predict.event.rules.collapse":"predict.event.moreMarketsLabel")}),jsx(ChevronDownIcon,{className:cn$1("h-4 w-4 transition-transform",o&&"rotate-180")})]})]})}function Du({market:e,yesPrice:t,noPrice:r,activeYes:n,activeNo:o,isExpanded:i,onToggleExpand:s,onTradeAction:l}){let{t:a}=useTranslation(),c=e.status==="open",m=e.volume?`$${Math.round(e.volume).toLocaleString("en-US")} vol`:void 0;return jsxs(Fragment,{children:[jsxs("tr",{className:"cursor-pointer border-b border-border text-xs hover:bg-content2 lg:text-base",onClick:s,role:"button",tabIndex:0,onKeyDown:u=>{(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),s());},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:Nn(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:Nn(e)}),m&&jsx("span",{className:"text-[8px] text-neutral lg:text-xxs",children:m})]})]})}),jsx("td",{className:"py-2 text-left text-foreground lg:text-center",children:Ru(t)}),jsx("td",{className:"py-2 pr-1 lg:pr-2",children:c?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",n?"bg-primary text-primary-foreground":"bg-primary/10 text-primary"),onClick:u=>{u.stopPropagation(),l?.(e,"yes","buy");},children:a("predict.market.action.yes",{price:Ta(t)})}),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",o?"bg-secondary text-secondary-foreground":"bg-secondary/10 text-secondary"),onClick:u=>{u.stopPropagation(),l?.(e,"no","buy");},children:r!=null?a("predict.market.action.no",{price:Ta(r)}):a("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"?a("predict.event.status.closed"):e.status==="voided"?a("predict.event.status.voided"):a("predict.event.status.pending")})})})]}),i&&jsx("tr",{children:jsx("td",{colSpan:3,className:"pb-3",children:jsx("div",{className:"max-h-100 overflow-y-auto",children:jsx(Pa,{market:e,outcome:o?"no":"yes",onTradeAction:l})})})})]})}function Au({markets:e,event:t}){let{t:r}=useTranslation(),[n,o]=useState(false),[i,s]=useState(false),[l,a]=useState(0),c=e.filter(d=>d.rules&&d.rules.length>0||d.description);if(c.length===0)return null;let m=c[l]??c[0],u=m.rules&&m.rules.length>0?m.rules.join(`
|
|
87
|
+
`,ws={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 ae(e){return {...ws,animationDelay:`${e}ms`}}function Dr({marketCount:e=4,showBack:t}){return jsxs(Fragment,{children:[jsx("style",{children:Ss}),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:{...ws,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:{...ae(0),height:14,width:48}}),jsx("div",{style:{...ae(30),height:14,width:40}}),jsx("div",{style:{...ae(60),height:14,width:40}})]}),jsx("div",{style:{...ae(80),height:20,width:"80%",maxWidth:384,borderRadius:4}})]})]}),jsx("div",{style:{...ae(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:{...ae(120),height:16,width:96}}),jsx("div",{style:{...ae(140),height:16,width:80}})]}),jsx("div",{style:{...ae(160),height:300,width:"100%",borderRadius:12}}),jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[jsx("div",{style:{...ae(180),height:16,width:80}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[jsx("div",{style:{...ae(200),height:28,width:200,borderRadius:8}}),jsx("div",{style:{...ae(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:{...ae(240),height:14,width:56}})}),Array.from({length:e}).map((r,n)=>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:{...ae(260+n*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:{...ae(280+n*40),height:14,width:n%2===0?192:160}}),jsx("div",{style:{...ae(300+n*40),height:10,width:64}})]}),jsx("div",{style:{...ae(320+n*40),height:16,width:40}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[jsx("div",{style:{...ae(340+n*40),height:32,width:80,borderRadius:8}}),jsx("div",{style:{...ae(360+n*40),height:32,width:80,borderRadius:8}})]})]},n))]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:{...ae(400),height:16,width:64}}),jsx("div",{style:{...ae(420),height:14,width:"100%"}}),jsx("div",{style:{...ae(440),height:14,width:"80%"}}),jsx("div",{style:{...ae(460),height:14,width:"60%"}})]})]})]})}function Ps(){return jsxs(Fragment,{children:[jsx("style",{children:Ss}),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:{...ae(0),height:40,width:"100%",borderRadius:8}}),jsx("div",{style:{...ae(60),height:96,width:"100%",borderRadius:8}}),jsx("div",{style:{...ae(120),height:40,width:"100%",borderRadius:8}})]})]})}var Ts="var(--color-bullish)",Ls="var(--color-bearish)";function Ar(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 lu(e,t){return e<=0||t<=0?0:Math.pow(e/t,.3)}function cu(e,t){let r=new Float64Array(101),n=new Float64Array(101);for(let d of e){let f=Math.round(d.price*100);f>=0&&f<=100&&(r[f]+=d.quantity);}for(let d of t){let f=Math.round(d.price*100);f>=0&&f<=100&&(n[f]+=d.quantity);}let o=0,i=0,a=new Float64Array(101),l=new Float64Array(101);for(let d=100;d>=0;d--)o+=r[d],i+=r[d]*d/100,a[d]=o,l[d]=i;let s=0,c=0,m=new Float64Array(101),u=new Float64Array(101);for(let d=0;d<=100;d++)s+=n[d],c+=n[d]*d/100,m[d]=s,u[d]=c;let p=Math.max(a[0]??0,m[100]??0);return Array.from({length:101},(d,f)=>{let g=a[f]>0,h=m[f]>0,v=a[f]||m[f],k=r[f]>0||n[f]>0;return {priceCents:f,displayHeight:lu(v,p),opacity:v>0?k?1:.5:0,isBid:g,isAsk:h,bidCumTotal:a[f],askCumTotal:m[f],bidCumCost:l[f],askCumCost:u[f]}})}function du({info:e}){let{t}=useTranslation(),r=e.isBid?Ts:Ls,n=e.leftPct>65?void 0:`${e.leftPct}%`,o=e.leftPct>65?`${100-e.leftPct}%`:void 0;return jsxs("div",{style:{position:"absolute",top:8,left:n,right:o,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:Ar(Math.round(e.cumTotal))})}),jsxs("div",{style:{color:r},children:["$",Ar(Math.round(e.cumCost))]})]})}var pu=memo(function({slot:t,onEnter:r,onLeave:n}){let o=useRef(null),i=t.isBid||t.isAsk,a=t.isBid?Ts:t.isAsk?Ls: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,o.current),onMouseLeave:n,children:i&&jsx("div",{ref:o,style:{position:"absolute",bottom:0,left:0,width:"100%",height:`${t.displayHeight*100}%`,backgroundColor:a,opacity:t.opacity}})})}),uu=[0,10,20,30,40,50,60,70,80,90,100];function mu(){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:uu.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 _s({bids:e,asks:t}){let{t:r}=useTranslation(),n=useMemo(()=>cu(e,t),[e,t]),o=useMemo(()=>{let u=e.length>0?Math.max(...e.map(d=>d.price)):0,p=t.length>0?Math.min(...t.map(d=>d.price)):1;return Math.round((u+p)/2*100)},[e,t]),i=useMemo(()=>n.some(u=>u.isBid||u.isAsk),[n]),[a,l]=useState(null),s=useRef(null),c=useCallback((u,p)=>{s.current&&(s.current.style.filter=""),p?(p.style.filter="brightness(1.5)",s.current=p):s.current=null,u.isBid||u.isAsk?l({priceCents:u.priceCents,isBid:u.isBid,cumTotal:u.isBid?u.bidCumTotal:u.askCumTotal,cumCost:u.isBid?u.bidCumCost:u.askCumCost,leftPct:u.priceCents}):l(null);},[]),m=useCallback(()=>{s.current&&(s.current.style.filter="",s.current=null),l(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:[o>0&&jsx("div",{style:{position:"absolute",left:`${o}%`,top:0,bottom:0,width:1,backgroundImage:"repeating-linear-gradient(to bottom, #6b7280 0, #6b7280 4px, transparent 4px, transparent 8px)",zIndex:1,pointerEvents:"none"}}),a&&jsx(du,{info:a}),n.map(u=>jsx(pu,{slot:u,onEnter:c,onLeave:m},u.priceCents))]}),jsx(mu,{})]}):jsx("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#6b7280",fontSize:13},children:r("predict.orderBook.noData")})}function xo(e){let t=e*100,r=Math.round(t*10)/10;return Number.isInteger(r)?`${r}\xA2`:`${r.toFixed(1)}\xA2`}function Rs(){let{t:e}=useTranslation();return jsxs("div",{className:"flex items-center justify-center gap-x-2 h-full text-neutral text-xs",children:[jsx(Spinner,{size:"sm"}),jsx("span",{children:e("predict.orderBook.loading")})]})}function As({market:e,outcome:t="yes",onTradeAction:r}){let{t:n}=useTranslation(),[o,i]=useState("depth"),a=t==="no",l=e.source,{data:s,isLoading:c,isFetching:m,refetch:u}=useOrderbook({slug:e.slug,source:l}),p=useMemo(()=>((a?s?.asks:s?.bids)??[]).map(k=>({price:a?1-k.price:k.price,quantity:k.size})),[s?.bids,s?.asks,a]),d=useMemo(()=>((a?s?.bids:s?.asks)??[]).map(k=>({price:a?1-k.price:k.price,quantity:k.size})),[s?.bids,s?.asks,a]),f=useMemo(()=>p.length>0?Math.max(...p.map(v=>v.price)):null,[p]),g=useMemo(()=>d.length>0?Math.min(...d.map(v=>v.price)):null,[d]),h=useMemo(()=>{if(f==null||g==null)return null;let v=(g-f)*100;return Math.round(v*10)/10},[f,g]);return jsxs("div",{className:"flex flex-col 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:h!=null?`${n("predict.orderBook.spread")}: ${Number.isInteger(h)?`${h}\xA2`:`${h.toFixed(1)}\xA2`}`:null}),jsxs("span",{className:"flex flex-1 items-center justify-center gap-x-1 whitespace-nowrap",children:[f!=null&&jsxs("span",{style:{color:"var(--color-bullish)"},children:[n("predict.trade.bestBid"),": ",xo(f)]}),f!=null&&g!=null&&jsx("span",{className:"text-neutral",children:"|"}),g!=null&&jsxs("span",{style:{color:"var(--color-bearish)"},children:[n("predict.trade.bestAsk"),": ",xo(g)]})]}),jsxs("div",{className:"flex flex-1 items-center justify-end gap-x-2",children:[jsx("button",{type:"button",title:o==="depth"?"Orderbook":"Depth chart",onClick:()=>i(v=>v==="depth"?"table":"depth"),className:"flex items-center text-neutral transition-colors cursor-pointer hover:text-foreground",children:o==="depth"?jsx(OrderbookTableIcon,{className:"h-4 w-4"}):jsx(OrderbookDepthIcon,{className:"h-4 w-4"})}),jsx("button",{type:"button",title:"Refresh",onClick:()=>u(),disabled:m,className:cn$1("flex items-center text-neutral transition-colors cursor-pointer hover:text-foreground disabled:cursor-default disabled:opacity-50",m&&"animate-spin"),children:jsx(RefreshIcon,{className:"h-4 w-4"})})]})]}),jsxs("div",{className:"flex-1 min-h-0 overflow-hidden",children:[o==="depth"&&jsx(Fragment,{children:c?jsx(Rs,{}):jsx(_s,{bids:p,asks:d})}),o==="table"&&jsx(Fragment,{children:c?jsx(Rs,{}):jsx(ku,{bids:p,asks:d,bestBid:f??void 0,bestAsk:g??void 0,spread:h??void 0})})]})]})}var Is=8;function ku({bids:e,asks:t,spread:r}){let{t:n}=useTranslation(),o=useMemo(()=>[...t].sort((s,c)=>s.price-c.price).slice(0,Is).reverse(),[t]),i=useMemo(()=>[...e].sort((s,c)=>c.price-s.price).slice(0,Is),[e]),a=useMemo(()=>{let s=[...o,...i].map(c=>c.quantity);return Math.max(...s,1)},[o,i]);return o.length===0&&i.length===0?jsx("div",{className:"flex items-center justify-center h-full text-xs text-neutral",children:n("predict.orderBook.empty")}):jsxs("div",{className:"flex flex-col h-full overflow-y-auto text-xs font-mono select-none",children:[o.map(s=>jsx(Os,{price:s.price,quantity:s.quantity,side:"ask",maxQty:a},`ask-${s.price}`)),jsx("div",{className:"flex items-center justify-center gap-x-2 py-1 border-y border-border text-neutral text-[10px]",children:r!=null&&jsxs("span",{children:[n("predict.orderBook.spread"),":"," ",Number.isInteger(r)?`${r}\xA2`:`${r.toFixed(1)}\xA2`]})}),i.map(s=>jsx(Os,{price:s.price,quantity:s.quantity,side:"bid",maxQty:a},`bid-${s.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:n("predict.orderBook.price")}),jsx("span",{className:"text-center",children:n("predict.orderBook.contracts")}),jsx("span",{className:"text-right",children:n("predict.orderBook.total")})]})]})}function Os({price:e,quantity:t,side:r,maxQty:n}){let o=r==="ask",i=Math.min(t/n*100,100),a=o?"bg-bearish/10":"bg-bullish/10",l=o?"text-bearish":"text-bullish",s=Ar(Math.round(t)),c=Math.round(t*e),m=`$${Ar(c)}`;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 ${a} transition-[width] duration-200`,style:{width:`${i}%`}}),jsx("span",{className:`relative z-10 ${l}`,children:xo(e)}),jsx("span",{className:"relative z-10 text-foreground text-center",children:s}),jsx("span",{className:"relative z-10 text-foreground text-right",children:m})]})}var ko=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}},Mn=4,Fs=["#22d3ee","#a3e635","#f97316","#f472b6","#a78bfa"];function Iu(e,t){let r=new Date(e);return t===ChartRange.ONE_DAY?r.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:false}):r.toLocaleDateString("en-US",{month:"short",day:"numeric"})}function Ou(e,t){let r=new Date(e);return t===ChartRange.ONE_DAY?r.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:false}):t===ChartRange.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 Bs(e){return `${(e*100).toFixed(2)}%`}var Du=[{range:ChartRange.ONE_DAY,label:"1D"},{range:ChartRange.ONE_WEEK,label:"1W"},{range:ChartRange.ONE_MONTH,label:"1M"},{range:ChartRange.ALL,label:"ALL"}];function Au({value:e,onChange:t}){return jsx("div",{style:{display:"flex",alignItems:"center",gap:2},children:Du.map(({range:r,label:n})=>{let o=r===e;return jsx("button",{onClick:()=>t(r),style:{padding:"2px 8px",border:"none",background:"transparent",color:o?"#f9fafb":"#6b7280",fontWeight:o?700:400,fontSize:12,cursor:"pointer",borderRadius:4,letterSpacing:"0.02em",transition:"color 0.15s",userSelect:"none"},children:n},r)})})}function Fu(){let e=useRef(null),t=useRef(null),r=useCallback(o=>{let i=e.current,a=t.current;if(!i||!a)return;let l=i.getBoundingClientRect(),s=(o.clientX-l.left)/l.width*100;a.style.background=`linear-gradient(to right, transparent ${s}%, rgba(0,0,0,0.55) ${s}%)`,a.style.opacity="1";},[]),n=useCallback(()=>{t.current&&(t.current.style.opacity="0");},[]);return {wrapperRef:e,overlayRef:t,onMouseMove:r,onMouseLeave:n}}function Bu({active:e,payload:t,label:r,labelMap:n,allSeries:o,range:i}){if(!e||!o?.length)return null;let a=new Map;t?.forEach(s=>a.set(s.dataKey,s));let l=o.map(s=>a.get(s.slug)??{dataKey:s.slug,value:void 0,stroke:s.color,color:s.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"?Ou(r,i):r}),l.map(s=>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:s.stroke??s.color,flexShrink:0}}),jsx("span",{style:{color:"#9ca3af",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:120},children:n.get(s.dataKey)??s.dataKey}),jsx("span",{style:{color:"#f9fafb",fontWeight:700,fontVariantNumeric:"tabular-nums"},children:s.value!=null?Bs(s.value):"--"})]},s.dataKey))]})}function zu({markets:e,selectedSlugs:t,colorMap:r,onToggle:n}){let[o,i]=useState(false),a=useRef(null);useEffect(()=>{if(!o)return;function c(m){a.current&&!a.current.contains(m.target)&&i(false);}return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[o]);let l=t.length>=Mn,s=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(c=>jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:r.get(c)??"#6b7280",display:"inline-block"}},c))}),jsx("span",{style:{color:"#e5e7eb",fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.length===1?(()=>{let c=e.find(m=>m.slug===t[0]);return c?.outcomes?.[0]?.label??c?.question??"1 market"})():`${t.length} / ${e.length} markets`})]});return jsxs("div",{ref:a,style:{position:"relative",display:"inline-block",width:200},children:[jsxs("button",{onClick:()=>i(c=>!c),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:[s,jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",style:{flexShrink:0,transform:o?"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"})})]}),o&&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 ",Mn," markets"]}),e.map((c,m)=>{let u=t.includes(c.slug),p=!u&&l,d=u&&t.length===1,f=r.get(c.slug)??"#6b7280",g=c.outcomes.find(v=>v.label.toLowerCase()==="yes")??c.outcomes[0],h=g?.price!=null?`${Math.round(g.price*100)}%`:null;return jsxs("button",{onClick:()=>{d||p||n(c.slug);},style:{display:"flex",alignItems:"center",gap:10,width:"100%",padding:"7px 12px",border:"none",background:u?"rgba(255,255,255,0.05)":"transparent",cursor:p||d?"not-allowed":"pointer",opacity:p?.35:1,textAlign:"left",transition:"background 0.1s"},onMouseEnter:v=>{!p&&!d&&(v.currentTarget.style.background="rgba(255,255,255,0.07)");},onMouseLeave:v=>{v.currentTarget.style.background=u?"rgba(255,255,255,0.05)":"transparent";},children:[jsx("span",{style:{width:16,height:16,borderRadius:4,border:u?`2px solid ${f}`:"2px solid rgba(255,255,255,0.2)",background:u?`${f}30`:"transparent",flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center"},children:u&&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:u?"#f9fafb":"#9ca3af",fontSize:12,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c.outcomes?.[0]?.label??c.question}),h&&jsx("span",{style:{color:f,fontWeight:700,fontSize:12,flexShrink:0},children:h})]},c.id??`${m}-${c.slug}`)})]})]})}function Hu({series:e,colorMap:t,displayValues:r}){return jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:"6px 24px",padding:"0 2px"},children:e.map(n=>{let o=t.get(n.marketSlug)??"#6b7280",i=r.get(n.marketSlug);return jsxs("div",{style:{display:"inline-flex",alignItems:"flex-start",gap:6},children:[jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:o,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:n.label}),jsx("span",{style:{color:"#f9fafb",fontSize:14,fontWeight:700,lineHeight:"20px",fontVariantNumeric:"tabular-nums"},children:i!=null?Bs(i):"--"})]})]},n.marketSlug)})})}function $u(e){let t=Math.floor(e.length/2);return e.length%2===1?e[t]:(e[t-1]+e[t])/2}function Wu(e,t){if(e.length<=t)return e;let r=[],n=e.length/t;for(let o=0;o<t;o++){let i=Math.floor(o*n),a=Math.min(Math.floor((o+1)*n),e.length),l=e.slice(i,a),s=l.map(c=>c.price).sort((c,m)=>c-m);r.push({timestamp:l[l.length-1].timestamp,price:$u(s)});}return r}function Uu(e,t=200){if(e.length===0)return [];let r=e.map(l=>({...l,data:Wu(l.data,t)})),n=new Set;r.forEach(l=>l.data.forEach(s=>n.add(s.timestamp)));let o=Array.from(n).sort((l,s)=>l-s),i=r.map(l=>{let s=new Map;return l.data.forEach(c=>s.set(c.timestamp,c.price)),{slug:l.marketSlug,map:s}}),a=new Map;return o.map(l=>{let s={timestamp:l};return i.forEach(({slug:c,map:m})=>{let u=m.get(l);if(u!==void 0)a.set(c,u),s[c]=u;else {let p=a.get(c);p!==void 0&&(s[c]=p);}}),s})}function zs(e){return jsx(ko,{children:jsx(Ku,{...e})})}function Ku({event:e,isLoading:t,className:r,volume:n}){let o=useMemo(()=>{let b=new Set;return (e.markets??[]).filter(y=>y.status!=="open"||b.has(y.slug)?false:(b.add(y.slug),true))},[e.markets]),i=useMemo(()=>[...o].sort((b,y)=>{let j=Y=>(Y.outcomes.find(q=>q.label.toLowerCase()==="yes")??Y.outcomes[0])?.price??0;return j(y)-j(b)}),[o]),[a,l]=useState(()=>i.slice(0,Mn).map(b=>b.slug)),[s,c]=useState(sn),m=useMemo(()=>{let b=new Map;return a.forEach((y,j)=>{b.set(y,Fs[j%Fs.length]);}),b},[a]),u=useMemo(()=>o.filter(b=>a.includes(b.slug)),[o,a]),{series:p,isLoading:d}=useMarketHistory(u,s),f=t||d,g=useMemo(()=>{if(p.length>0&&p.some(j=>j.data.length>0))return p;let b=Date.now(),y=864e5;return u.map(j=>{let q=(j.outcomes?.find(pe=>pe.label.toLowerCase()==="yes")??j.outcomes?.[0])?.price??.5;return {marketSlug:j.slug,label:j.outcomes?.[0]?.label??j.question,data:[{timestamp:b-7*y,price:q},{timestamp:b,price:q}]}})},[p,u]),h=useMemo(()=>s===ChartRange.ONE_DAY?96:s===ChartRange.ONE_WEEK?168:s===ChartRange.ONE_MONTH?180:300,[s]),v=useMemo(()=>Uu(g,h),[g,h]),k=useMemo(()=>{if(v.length===0)return [0,1];let b=1/0,y=-1/0;if(a.forEach(Y=>{v.forEach(q=>{let pe=q[Y];pe!=null&&(pe<b&&(b=pe),pe>y&&(y=pe));});}),!isFinite(b))return [0,1];let j=Math.max((y-b)*.15,.05);return [Math.max(0,b-j),Math.min(1,y+j)]},[v,a]),w=useMemo(()=>{let b=new Map;return g.forEach(y=>{y.data.length>0&&b.set(y.marketSlug,y.data[y.data.length-1].price);}),b},[g]),R=useMemo(()=>{let b=new Map;return g.forEach(y=>b.set(y.marketSlug,y.label)),b},[g]),x=useMemo(()=>g.map(b=>({slug:b.marketSlug,color:m.get(b.marketSlug)??"#6b7280"})),[g,m]),{wrapperRef:N,overlayRef:S,onMouseMove:K,onMouseLeave:A}=Fu(),Q=useCallback(b=>{l(y=>y.includes(b)?y.length<=1?y:y.filter(j=>j!==b):y.length>=Mn?y:[...y,b]);},[]),[P,L]=useState(null),E=useRef(null),O=useRef(""),de=useRef(0),U=!f&&v.length>0;return jsxs("div",{className:r,style:{display:"flex",flexDirection:"column",gap:12},children:[jsx(Hu,{series:g,colorMap:m,displayValues:P??w}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[jsx("div",{ref:N,style:{height:300,width:"100%",userSelect:"none",position:"relative"},onMouseMove:U?b=>{K(b),cancelAnimationFrame(de.current),de.current=requestAnimationFrame(()=>{L(E.current);});}:void 0,onMouseLeave:U?()=>{A(),cancelAnimationFrame(de.current),O.current="",E.current=null,L(null);}:void 0,children:f?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"}})}):v.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:S,style:{position:"absolute",inset:0,opacity:0,pointerEvents:"none",zIndex:1}}),jsx(ResponsiveContainer,{width:"100%",height:"100%",children:jsxs(LineChart,{data:v,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:b=>Iu(b,s),axisLine:false,tickLine:false,tick:{fill:"#6b7280",fontSize:11},minTickGap:70}),jsx(YAxis,{domain:k,tickFormatter:b=>`${Math.round(b*100)}%`,axisLine:false,tickLine:false,tick:{fill:"#6b7280",fontSize:11},width:40,tickCount:6}),jsx(Tooltip,{content:b=>{let y=b;if(y.active&&y.payload?.length){let j=y.payload.map(Y=>`${Y.dataKey}:${Y.value}`).join(",");if(j!==O.current){O.current=j;let Y=new Map;y.payload.forEach(q=>{q.value!=null&&Y.set(q.dataKey,q.value);}),E.current=Y;}}return jsx(Bu,{...y,labelMap:R,allSeries:x,range:s})},cursor:{stroke:"#4b5563",strokeWidth:1,strokeDasharray:"4 4"},wrapperStyle:{zIndex:2},isAnimationActive:false}),g.map(b=>{let y=m.get(b.marketSlug)??"#6b7280";return jsx(Line,{type:"linear",dataKey:b.marketSlug,stroke:y,strokeWidth:2,strokeLinejoin:"round",strokeLinecap:"round",dot:false,activeDot:{r:4.5,strokeWidth:2,stroke:"rgba(10,10,10,0.8)",fill:y},connectNulls:true,isAnimationActive:false},b.marketSlug)}),P==null&&v.length>0&&g.map(b=>{let y=v[v.length-1],j=y[b.marketSlug];if(j==null)return null;let Y=m.get(b.marketSlug)??"#6b7280";return jsx(ReferenceDot,{x:y.timestamp,y:j,ifOverflow:"extendDomain",shape:q=>{let{cx:pe,cy:Se}=q;return pe==null||Se==null?jsx("g",{}):jsxs("g",{children:[jsxs("circle",{cx:pe,cy:Se,r:6,fill:Y,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:pe,cy:Se,r:3.5,fill:Y})]})}},`pulse-${b.marketSlug}`)})]})})]})}),jsxs("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"6px 8px",marginTop:6},children:[n!=null&&n>0&&jsxs("span",{style:{color:"#6b7280",fontSize:12},children:["$",Math.round(n).toLocaleString()," vol"]}),jsx("div",{style:{flex:1,minWidth:0}}),jsx(Au,{value:s,onChange:c}),i.length>1&&jsx("div",{style:{width:"100%",display:"flex",alignItems:"center"},children:jsx(zu,{markets:i,selectedSlugs:a,colorMap:m,onToggle:Q})})]})]})]})}function Br(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function nm(e){return `${parseFloat((e*100).toFixed(2))}%`}function Hs(e){let t=e*100;return t<1&&t>0?"< 1":parseFloat(t.toFixed(2)).toString()}function En(e){return e.outcomes?.[0]?.label??e.question}function om(e){switch(e){case "polymarket":return "Polymarket";case "kalshi":return "Kalshi";default:return e}}function Fr(e){if(!e)return "\u2014";let t=new Date(e);if(isNaN(t.getTime()))return "\u2014";let r=t.toLocaleString("default",{month:"short"}),n=t.getDate(),o=t.getFullYear(),i=t.getHours().toString().padStart(2,"0"),a=t.getMinutes().toString().padStart(2,"0");return `${r} ${n}, ${o} ${i}:${a}`}function $s(e){let[t,r]=useState(0);if(useEffect(()=>{if(!e)return;r(Date.now());let m=setInterval(()=>r(Date.now()),1e3);return ()=>clearInterval(m)},[e]),!e||t===0)return null;let n=new Date(e).getTime();if(isNaN(n))return null;let o=n-t;if(o<=0)return null;let i=Math.floor(o/864e5),a=Math.floor(o%864e5/36e5),l=Math.floor(o%36e5/6e4),s=Math.floor(o%6e4/1e3),c=[];return i>0&&c.push(`${i}d`),c.push(`${String(a).padStart(2,"0")}h`),c.push(`${String(l).padStart(2,"0")}m`),c.push(`${String(s).padStart(2,"0")}s`),c.join(" ")}function Ws(e){if(!e)return null;let t=new Date(e);if(isNaN(t.getTime()))return null;let r=t.getHours().toString().padStart(2,"0"),n=t.getMinutes().toString().padStart(2,"0"),o=(t.getMonth()+1).toString().padStart(2,"0"),i=t.getDate().toString().padStart(2,"0"),a=t.getFullYear(),l=-t.getTimezoneOffset(),s=l>=0?"+":"-",c=String(Math.abs(Math.floor(l/60))).padStart(2,"0");return `${r}:${n} ${o}/${i}/${a} (${s}${c})`}function js({event:e,onTradeAction:t}){let{t:r}=useTranslation(),{ref:n,isCollapsed:o}=useScrollCollapse(),i=useMemo(()=>{let u=[...e.markets||[]],p=u.filter(f=>f.status==="open").sort((f,g)=>Br(g)-Br(f)),d=u.filter(f=>f.status!=="open").sort((f,g)=>Br(g)-Br(f));return [...p,...d]},[e.markets]),a=e.status==="closed"||e.status==="voided",l=$s(a?void 0:e.start_at),s=$s(a?void 0:e.end_at),c=Ws(e.start_at),m=Ws(e.end_at);return jsxs("div",{className:"w-full flex flex-col gap-y-4 lg:gap-y-6",children:[jsxs("div",{ref:n,className:`sticky top-0 z-30 flex items-center backdrop-blur-md transition-all duration-300 ${o?"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 ${o?"!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:[!o&&jsxs("div",{className:"flex items-center gap-1.5",children:[e.tags?.slice(0,3).map((u,p)=>jsxs(Fragment$1,{children:[p>0&&jsx("span",{className:"text-sm text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-sm text-neutral truncate",children:u.label})]},u.slug)),jsx(lm,{source:e.source})]}),jsx("span",{className:`font-semibold truncate transition-all duration-300 ${o?"text-sm lg:text-base":"text-lg lg:text-xl"}`,children:e.title})]})]}),(l||s||a)&&jsx("div",{className:"flex items-center gap-x-2 text-xs lg:text-sm font-mono",children:a?m&&jsx("span",{className:"text-neutral",children:r("predict.event.endedAt",{time:m})}):l?jsxs(Fragment,{children:[jsx("span",{className:"text-foreground",children:r("predict.event.beginsIn",{time:l})}),c&&jsxs(Fragment,{children:[jsx("span",{className:"text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-neutral",children:c})]})]}):s?jsxs(Fragment,{children:[jsx("span",{className:"text-foreground",children:r("predict.event.endsIn",{time:s})}),m&&jsxs(Fragment,{children:[jsx("span",{className:"text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-neutral",children:m})]})]}):null}),jsx(zs,{event:e,volume:e.volume??void 0}),jsx(im,{markets:i,onTradeAction:t}),jsx(am,{markets:i,event:e})]})}var Us=5;function im({markets:e,onTradeAction:t}){let{t:r}=useTranslation(),{isDesktop:n}=useScreen(),[o,i]=useState(false),[a,l]=useState(null),s=useMemo(()=>{let h=new Set;return e.filter(v=>h.has(v.slug)?false:(h.add(v.slug),true))},[e]),c=s.find(h=>h.status==="open")?.slug,[m,u]=useState(c?`${c}:yes`:null);if(s.length===0)return null;let p=s.length>Us,d=o?s:s.slice(0,Us),f=h=>{l(v=>v===h?null:h);},g=(h,v,k)=>{u(`${h.slug}:${v}`),n&&l(h.slug),t?.(h,v,k);};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:d.map((h,v)=>{let k=Br(h),w=h.outcomes[1]?.best_ask??h.outcomes[1]?.price,R=a===h.slug;return jsx(sm,{market:h,yesPrice:k,noPrice:w??void 0,activeYes:m===`${h.slug}:yes`,activeNo:m===`${h.slug}:no`,isExpanded:R,onToggleExpand:()=>f(h.slug),onTradeAction:g},h.id??`${v}-${h.slug}`)})})]}),p&&jsxs("button",{type:"button",onClick:()=>i(h=>!h),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(o?"predict.event.rules.collapse":"predict.event.moreMarketsLabel")}),jsx(ChevronDownIcon,{className:cn$1("h-4 w-4 transition-transform",o&&"rotate-180")})]})]})}function sm({market:e,yesPrice:t,noPrice:r,activeYes:n,activeNo:o,isExpanded:i,onToggleExpand:a,onTradeAction:l}){let{t:s}=useTranslation(),c=e.status==="open",m=e.volume?`$${Math.round(e.volume).toLocaleString("en-US")} vol`:void 0;return jsxs(Fragment,{children:[jsxs("tr",{className:"cursor-pointer border-b border-border text-xs hover:bg-content2 lg:text-base",onClick:a,role:"button",tabIndex:0,onKeyDown:u=>{(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),a());},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:En(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:En(e)}),m&&jsx("span",{className:"text-[8px] text-neutral lg:text-xxs",children:m})]})]})}),jsx("td",{className:"py-2 text-left text-foreground lg:text-center",children:nm(t)}),jsx("td",{className:"py-2 pr-1 lg:pr-2",children:c?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",n?"bg-primary text-primary-foreground":"bg-primary/10 text-primary"),onClick:u=>{u.stopPropagation(),l?.(e,"yes","buy");},children:s("predict.market.action.yes",{price:Hs(t)})}),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",o?"bg-secondary text-secondary-foreground":"bg-secondary/10 text-secondary"),onClick:u=>{u.stopPropagation(),l?.(e,"no","buy");},children:r!=null?s("predict.market.action.no",{price:Hs(r)}):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")})})})]}),i&&jsx("tr",{children:jsx("td",{colSpan:3,className:"pb-3",children:jsx("div",{className:"max-h-100 overflow-y-auto",children:jsx(As,{market:e,outcome:o?"no":"yes",onTradeAction:l})})})})]})}function am({markets:e,event:t}){let{t:r}=useTranslation(),[n,o]=useState(false),[i,a]=useState(false),[l,s]=useState(0),c=e.filter(d=>d.rules&&d.rules.length>0||d.description);if(c.length===0)return null;let m=c[l]??c[0],u=m.rules&&m.rules.length>0?m.rules.join(`
|
|
88
88
|
|
|
89
|
-
`):m.description??"";if(!u)return null;let p=u.length>200&&!n?u.slice(0,200)+"...":u;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")}),c.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:Nn(m)})}),jsx(DropdownMenu,{"aria-label":"Select market rules",selectionMode:"single",selectedKeys:[String(l)],onAction:d=>{a(Number(d)),o(false);},classNames:{list:"gap-1"},itemClasses:{base:"rounded-md px-3 h-8"},children:c.map((d,f)=>jsx(DropdownItem,{className:cn$1(f===l?"bg-content2 text-foreground":"text-neutral","data-[hover=true]:bg-content2 data-[hover=true]:text-foreground"),children:Nn(d)},String(f)))})]})]}),jsx("div",{className:"text-xs text-foreground/80 lg:text-sm whitespace-pre-wrap",children:p}),u.length>200&&jsx("button",{type:"button",onClick:()=>o(d=>!d),className:"text-xs text-neutral hover:text-foreground cursor-pointer transition-colors self-start",children:r(n?"predict.event.rules.collapse":"predict.event.showMore")}),jsxs("button",{type:"button",onClick:()=>s(d=>!d),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 d=m.status,f=[];return m.created_at&&f.push({label:r("predict.event.timeline.created"),value:Dr(m.created_at),isActive:true}),f.push({label:r("predict.event.timeline.open"),value:Dr(m.start_at),isActive:d!=="pending"}),d==="voided"?f.push({label:r("predict.event.timeline.voided"),value:Dr(m.closed_at??m.end_at),isActive:true}):d==="closed"?f.push({label:r("predict.event.timeline.closed"),value:Dr(m.closed_at??m.end_at),isActive:true}):f.push({label:r("predict.event.timeline.close"),value:Dr(m.end_at),isActive:false}),f})().map((d,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 ${d.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:d.label}),jsx("span",{className:"text-xs text-neutral lg:text-sm",children:d.value})]})]},d.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:m.slug})]}),jsxs("span",{children:[jsxs("span",{className:"text-neutral",children:[r("predict.event.id.source"),":"]})," ",jsx("span",{className:"text-foreground",children:Iu(m.source)})]})]})]})]})}function Fu({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 Aa({eventSlug:e,source:t,onTradeAction:r}){let{data:n,isLoading:o,error:i}=useEvent({slug:e,source:t});return o?jsx(Ir,{}):i||!n?jsx("div",{className:"flex w-full items-center justify-center py-20 text-danger",children:i?.message||"Event not found"}):jsx(Da,{event:n,onTradeAction:r})}var Wu={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}},Uu={label:"Unknown",color:"rgb(156, 163, 175)",bgColor:"rgba(156, 163, 175, 0.12)",icon:null};function gt(e){return Wu[e]??Uu}function Hx({source:e,className:t}){let r=gt(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)",qu="rgba(63,63,70,0.8)";function Qu(e){return e==null?"-":e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e.toFixed(0)}`}function za({eventSlug:e,source:t,limit:r=4,onEventClick:n,onEventHover:o}){let{t:i}=useTranslation(),{data:s,isLoading:l}=useSimilarEvents({slug:e,source:t,limit:r});return l||!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(a=>jsx(Xu,{event:a,onClick:n,onHover:o},`${a.source}-${a.slug}`))})]})}function Xu({event:e,onClick:t,onHover:r}){let{t:n}=useTranslation(),o=gt(e.source),i=useMemo(()=>Qu(e.volume),[e.volume]),s=e.tags?.[0];return jsxs("button",{type:"button",onClick:()=>t?.(e),onMouseEnter:l=>{l.currentTarget.style.borderColor=qu,r?.(e);},onMouseLeave:l=>{l.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:o.color,flexShrink:0},children:[o.icon,jsx("span",{style:{fontSize:10,fontWeight:600,letterSpacing:"0.04em",textTransform:"uppercase"},children:o.label})]}),jsx("span",{style:{color:"#52525b"},children:"\xB7"}),jsxs("span",{style:{color:"#a1a1aa"},children:[i," ",n("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 Cn(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function lb({eventSlug:e,source:t,chain:r,walletAddress:n,onSimilarEventClick:o,onSimilarEventHover:i,onBack:s,renderActivitySection:l}){let{t:a}=useTranslation(),{isDesktop:c}=useScreen(),{onOpen:m}=useAsyncModal(Pr),{onOpen:u}=useAsyncModal(io),{data:p,isLoading:d}=useEvent({slug:e,source:t}),f=useMemo(()=>{let x=[...p?.markets||[]],P=x.filter(V=>V.status==="open").sort((V,B)=>Cn(B)-Cn(V)),S=x.filter(V=>V.status!=="open").sort((V,B)=>Cn(B)-Cn(V));return [...P,...S]},[p?.markets]),[g,h]=useState(null),v=useCallback((x,P,S)=>{h(V=>({market:x,outcome:P,side:S,version:(V?.version??0)+1})),!c&&p&&(S==="sell"?u({params:{event:p,market:x,initialOutcome:P,chain:r}}):m({params:{event:p,market:x,initialOutcome:P,chain:r}}));},[c,p,r,m,u]),k=g?.market??f[0];if(d){let x=!!s;return c?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(Ir,{showBack:x})}),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(ma,{})})})]}):jsx(Ir,{showBack:x})}let w=g?`${g.market.slug}-${g.version}`:k?.slug??"default",R=g?.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:a("common.back")})}),jsx(Aa,{eventSlug:e,source:t,onTradeAction:v})]}),jsxs("div",{className:"hidden flex-none w-md flex-col gap-y-4 lg:sticky lg:top-4 lg:flex lg:self-start",children:[k&&(R?jsx(vn,{event:p,market:k,initialOutcome:g?.outcome,chain:r},w):jsx(un,{event:p,market:k,initialOutcome:g?.outcome,chain:r},w)),p&&jsx(za,{eventSlug:e,source:p.source,onEventClick:o,onEventHover:i})]})]}),p&&jsx("div",{className:"flex w-full flex-col",children:l?l({event:p,walletAddress:n}):jsx(da,{event:p,walletAddress:n})}),jsx(mn,{}),jsx(sa,{})]})}function Wa(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function pm(e){switch(e){case ChartRange.ONE_DAY:return {interval:"15m",limit:96};case ChartRange.ONE_WEEK:return {interval:"1h",limit:168};case ChartRange.ONE_MONTH:return {interval:"4h",limit:180};case ChartRange.ALL:return {interval:"1d",limit:300};default:return {interval:"1h",limit:100}}}var gb=e=>{let{candlestickMarketSlugs:t,chartRange:r=nn,source:n}=e,o=usePredictClient(),i=useMemo(()=>pm(r),[r]),{data:s,isLoading:l,error:a}=useEvent({slug:e.eventSlug,source:n}),c=useMemo(()=>{if(!s?.markets)return [];let f=new Set,g=s.markets.filter(v=>f.has(v.slug)?false:(f.add(v.slug),true));return (t&&t.length>0?t.slice(0,4).map(v=>g.find(k=>k.slug===v)).filter(v=>v!==void 0):[...g].sort((v,k)=>Wa(k)-Wa(v)).slice(0,4)).map(v=>v.slug)},[t,s?.markets]),m=useQueries({queries:c.map(f=>({queryKey:candlesticksQueryKey(f,i),queryFn:()=>o.listCandlesticks(f,i),enabled:c.length>0}))}),u=m.some(f=>f.isLoading),p=useMemo(()=>{let f=new Map;return c.forEach((g,h)=>{let v=m[h]?.error;v&&f.set(g,v);}),f},[c,m]),d=useMemo(()=>{let f=new Map;return c.forEach((g,h)=>{let v=m[h]?.data;v&&f.set(g,v);}),f},[c,m]);return {event:s,isEventLoading:l,eventError:a,candlestickParams:i,candlesticks:d,isCandlesticksLoading:u,candlestickErrors:p}};var fm=10,gm=atomWithStorage("liberfi:predict_search_histories",[],void 0,{getOnInit:true});function Tn(){let[e,t]=useAtom(gm),r=useCallback(o=>{let i=o.trim();i&&t(s=>{let l=s.filter(a=>a!==i);return [i,...l].slice(0,fm)});},[t]),n=useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:r,clearHistories:n}}function ja({histories:e,onSelect:t,onClear:r,className:n}){let{t:o}=useTranslation();return e.length===0?null:jsxs("div",{className:cn$1("px-4 pb-4",n),children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium",children:o("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 Ya({onSelect:e,className:t}){let{histories:r,clearHistories:n}=Tn();return jsx(ja,{className:cn$1(t),histories:r,onSelect:e,onClear:n})}function Ga({value:e,onValueChange:t,onClear:r,onEscape:n,className:o}){let{t:i}=useTranslation();return jsx("div",{className:o,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(),n?.();},children:"Esc"})})})}function Om(e){return e==null?"-":e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e.toFixed(0)}`}function qa({event:e,href:t,LinkComponent:r,onSelect:n,onHover:o,className:i}){let{t:s}=useTranslation(),l=e.tags?.[0],a=gt(e.source),c=useMemo(()=>Om(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:m=>{t&&n&&m.preventDefault(),n?.(e);},onMouseEnter:()=>o?.(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:a.color},children:[a.icon,jsx("span",{style:{fontSize:10,fontWeight:600,letterSpacing:"0.04em",textTransform:"uppercase"},children:a.label})]}),jsx("span",{className:"text-neutral-600",children:"\xB7"}),jsxs("span",{className:"text-neutral-400",children:[c," ",s("predict.event.volume")]}),l&&jsxs(Fragment,{children:[jsx("span",{className:"text-neutral-600",children:"\xB7"}),jsx("span",{className:"text-neutral-500",children:l.label})]})]})]}),jsx(ChevronRightIcon,{width:16,height:16,className:"shrink-0 text-neutral-500 opacity-0 group-hover:opacity-100 transition-opacity"})]})}function Qa({keyword:e="",limit:t,source:r}){let{data:n,isLoading:o,isFetchingNextPage:i,hasNextPage:s,fetchNextPage:l}=useSearchEvents({keyword:e,limit:t,source:r,sort_by:e?void 0:"volume",sort_asc:e?void 0:false},{enabled:true});return {events:useMemo(()=>n?.pages.flatMap(c=>c.items).filter(c=>c!=null)??[],[n]),isLoading:o,isFetchingNextPage:i,hasNextPage:s??false,fetchNextPage:l}}var Km=64;function es({onSelect:e,getEventHref:t,LinkComponent:r,onHover:n,className:o,...i}){let{events:s,isLoading:l,isFetchingNextPage:a,hasNextPage:c,fetchNextPage:m}=Qa(i),u=useRef(null),{height:p}=useResizeObserver({ref:u}),d=useCallback(v=>v<s.length,[s]),f=useCallback(async()=>{c&&!a&&await m();},[c,a,m]),g=useMemo(()=>c?s.length+1:s.length,[s,c]),h=useInfiniteLoader({isRowLoaded:d,loadMoreRows:f,rowCount:g,threshold:5});return l?jsx(jm,{className:o}):s.length===0?jsx(Ym,{className:o}):jsx("div",{className:cn$1("w-full h-full flex flex-col",o),children:jsx("div",{className:"flex-auto min-h-0",ref:u,children:jsx(List,{className:"no-scrollbar",style:{height:p},onRowsRendered:h,rowComponent:Vm,rowCount:g,rowHeight:Km,rowProps:{events:s,onSelect:e,getEventHref:t,LinkComponent:r,onHover:n},overscanCount:5})})})}function Vm({index:e,style:t,events:r,onSelect:n,getEventHref:o,LinkComponent:i,onHover:s}){let l=r[e];return l?jsx("div",{style:t,children:jsx(qa,{event:l,href:o?.(l),LinkComponent:i,onSelect:n,onHover:s})}):jsx("div",{style:t,className:"flex items-center justify-center",children:jsx(Spinner,{size:"sm"})})}function jm({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 Ym({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 os({onKeywordChange:e}){let[t,r]=useState(""),[n,o]=useState(""),{addHistory:i}=Tn(),s=useCallbackRef(e),l=useCallbackRef(i),a=useMemo(()=>debounce(p=>{o(p),s(p),p&&l(p);},500),[s,l]),c=useCallback(p=>{r(p),a(p);},[a]),m=useCallback(p=>{a.cancel(),r(p),o(p),s(p),p&&l(p);},[a,s,l]),u=useCallback(()=>m(""),[m]);return {text:t,keyword:n,setText:c,setKeyword:m,clearKeyword:u}}function is({onKeywordChange:e,onSelectEvent:t,getEventHref:r,LinkComponent:n,onHover:o,onEscape:i,source:s}){let{text:l,keyword:a,setText:c,setKeyword:m,clearKeyword:u}=os({onKeywordChange:e});return jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsx(Ga,{value:l,onValueChange:c,onClear:u,onEscape:i}),!a&&jsx(Ya,{onSelect:m}),jsx(es,{className:"flex-auto min-h-0",keyword:a,onSelect:t,getEventHref:r,LinkComponent:n,onHover:o,source:s})]})}var wo="predict-search";function $y({id:e=wo}){return jsx(AsyncModal,{id:e,children:t=>jsx(sf,{...t})})}function sf({params:e,isOpen:t,onOpenChange:r,onResult:n}){let{t:o}=useTranslation(),{isMobile:i}=useScreen(),s=useCallback(a=>{n(a);},[n]),l=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:o("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(is,{getEventHref:e?.getEventHref,LinkComponent:e?.LinkComponent,onHover:e?.onHover,source:e?.source,onSelectEvent:s,onEscape:l})})]})})}function Qy({onSelectEvent:e,modalParams:t,className:r,displayMode:n="auto"}){let{t:o}=useTranslation(),i=useScreen(),s=n==="auto"?i.isDesktop:n==="desktop",l=n==="auto"?i.isMobile:n==="compact",{onOpen:a,onClose:c}=useAsyncModal(wo),m=useCallbackRef(e),u=useCallbackRef(async()=>{let d=await a({params:t});d&&m(d);}),p=useCallbackRef(()=>{c();});return useEffect(()=>{let d=f=>{let g=document.activeElement,h=!!g&&(g.tagName==="INPUT"||g.tagName==="TEXTAREA"||g.getAttribute("contenteditable")==="true");f.key==="/"&&!h&&(f.preventDefault(),u()),f.key==="Escape"&&(f.preventDefault(),p());};return window.addEventListener("keydown",d),()=>{window.removeEventListener("keydown",d);}},[u,p]),jsx(Button,{size:"sm",radius:"full",isIconOnly:!s,onPress:u,variant:l?"flat":"bordered",startContent:s?jsx(SearchIcon,{className:"text-neutral"}):void 0,endContent:s?jsx(Kbd,{className:"ml-auto min-w-6 justify-center text-xs bg-transparent border border-border rounded-full",children:"/"}):void 0,className:cn$1(s&&"min-w-56 justify-start pl-3 pr-1.5 text-neutral",r),children:s?o("predict.search.placeholder"):jsx(SearchIcon,{className:"text-neutral"})})}var Po=[{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"}],fs=[{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}],ps={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"},us={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 vf(e,t){if(!e)return "$5K+";let r=fs.find(n=>n.value===e);return r?r.labelKey?t(r.labelKey):r.label:`$${e}`}function gs({sortBy:e,onSortChange:t,sortAsc:r,onSortAscChange:n,minVolume:o,onMinVolumeChange:i,onRefresh:s}){let{t:l}=useTranslation(),[a,c]=useState(false),[m,u]=useState(false),[p,d]=useState(false),[f,g]=useState(false),h=useRef(null),v=useRef(null),k=Po.find(x=>x.value===e)??Po[0],w=useCallback(x=>{h.current&&!h.current.contains(x.target)&&c(false),v.current&&!v.current.contains(x.target)&&u(false);},[]);useEffect(()=>(document.addEventListener("mousedown",w),()=>document.removeEventListener("mousedown",w)),[w]);let R=useCallback(()=>{s?.(),g(true),setTimeout(()=>g(false),700);},[s]);return jsxs(Fragment,{children:[jsx("style",{children:`
|
|
89
|
+
`):m.description??"";if(!u)return null;let p=u.length>200&&!n?u.slice(0,200)+"...":u;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")}),c.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:En(m)})}),jsx(DropdownMenu,{"aria-label":"Select market rules",selectionMode:"single",selectedKeys:[String(l)],onAction:d=>{s(Number(d)),o(false);},classNames:{list:"gap-1"},itemClasses:{base:"rounded-md px-3 h-8"},children:c.map((d,f)=>jsx(DropdownItem,{className:cn$1(f===l?"bg-content2 text-foreground":"text-neutral","data-[hover=true]:bg-content2 data-[hover=true]:text-foreground"),children:En(d)},String(f)))})]})]}),jsx("div",{className:"text-xs text-foreground/80 lg:text-sm whitespace-pre-wrap",children:p}),u.length>200&&jsx("button",{type:"button",onClick:()=>o(d=>!d),className:"text-xs text-neutral hover:text-foreground cursor-pointer transition-colors self-start",children:r(n?"predict.event.rules.collapse":"predict.event.showMore")}),jsxs("button",{type:"button",onClick:()=>a(d=>!d),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 d=m.status,f=[];return m.created_at&&f.push({label:r("predict.event.timeline.created"),value:Fr(m.created_at),isActive:true}),f.push({label:r("predict.event.timeline.open"),value:Fr(m.start_at),isActive:d!=="pending"}),d==="voided"?f.push({label:r("predict.event.timeline.voided"),value:Fr(m.closed_at??m.end_at),isActive:true}):d==="closed"?f.push({label:r("predict.event.timeline.closed"),value:Fr(m.closed_at??m.end_at),isActive:true}):f.push({label:r("predict.event.timeline.close"),value:Fr(m.end_at),isActive:false}),f})().map((d,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 ${d.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:d.label}),jsx("span",{className:"text-xs text-neutral lg:text-sm",children:d.value})]})]},d.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:m.slug})]}),jsxs("span",{children:[jsxs("span",{className:"text-neutral",children:[r("predict.event.id.source"),":"]})," ",jsx("span",{className:"text-foreground",children:om(m.source)})]})]})]})]})}function lm({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 Ys({eventSlug:e,source:t,onTradeAction:r}){let{data:n,isLoading:o,error:i}=useEvent({slug:e,source:t});return o?jsx(Dr,{}):i||!n?jsx("div",{className:"flex w-full items-center justify-center py-20 text-danger",children:i?.message||"Event not found"}):jsx(js,{event:n,onTradeAction:r})}var mm={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}},fm={label:"Unknown",color:"rgb(156, 163, 175)",bgColor:"rgba(156, 163, 175, 0.12)",icon:null};function ht(e){return mm[e]??fm}function Cb({source:e,className:t}){let r=ht(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 qs="rgba(39,39,42,0.6)",ym="rgba(63,63,70,0.8)";function km(e){return e==null?"-":e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e.toFixed(0)}`}function Xs({eventSlug:e,source:t,limit:r=4,onEventClick:n,onEventHover:o}){let{t:i}=useTranslation(),{data:a,isLoading:l}=useSimilarEvents({slug:e,source:t,limit:r});return l||!a||a.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:a.map(s=>jsx(Sm,{event:s,onClick:n,onHover:o},`${s.source}-${s.slug}`))})]})}function Sm({event:e,onClick:t,onHover:r}){let{t:n}=useTranslation(),o=ht(e.source),i=useMemo(()=>km(e.volume),[e.volume]),a=e.tags?.[0];return jsxs("button",{type:"button",onClick:()=>t?.(e),onMouseEnter:l=>{l.currentTarget.style.borderColor=ym,r?.(e);},onMouseLeave:l=>{l.currentTarget.style.borderColor=qs;},style:{display:"flex",alignItems:"center",gap:10,padding:"10px 12px",borderRadius:14,border:`1px solid ${qs}`,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:o.color,flexShrink:0},children:[o.icon,jsx("span",{style:{fontSize:10,fontWeight:600,letterSpacing:"0.04em",textTransform:"uppercase"},children:o.label})]}),jsx("span",{style:{color:"#52525b"},children:"\xB7"}),jsxs("span",{style:{color:"#a1a1aa"},children:[i," ",n("predict.event.volume")]}),a&&jsxs(Fragment,{children:[jsx("span",{style:{color:"#52525b"},children:"\xB7"}),jsx("span",{style:{color:"#71717a"},children:a.label})]})]})]}),jsx(ChevronRightIcon,{width:14,height:14,className:"shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",style:{color:"#71717a"}})]})}function Ln(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function Qb({eventSlug:e,source:t,chain:r,walletAddress:n,onSimilarEventClick:o,onSimilarEventHover:i,onBack:a,renderActivitySection:l}){let{t:s}=useTranslation(),{isDesktop:c}=useScreen(),{onOpen:m}=useAsyncModal(Mr),{onOpen:u}=useAsyncModal(co),{data:p,isLoading:d}=useEvent({slug:e,source:t}),f=useMemo(()=>{let x=[...p?.markets||[]],N=x.filter(K=>K.status==="open").sort((K,A)=>Ln(A)-Ln(K)),S=x.filter(K=>K.status!=="open").sort((K,A)=>Ln(A)-Ln(K));return [...N,...S]},[p?.markets]),[g,h]=useState(null),v=useCallback((x,N,S)=>{h(K=>({market:x,outcome:N,side:S,version:(K?.version??0)+1})),!c&&p&&(S==="sell"?u({params:{event:p,market:x,initialOutcome:N,chain:r}}):m({params:{event:p,market:x,initialOutcome:N,chain:r}}));},[c,p,r,m,u]),k=g?.market??f[0];if(d){let x=!!a;return c?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(Dr,{showBack:x})}),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(Ps,{})})})]}):jsx(Dr,{showBack:x})}let w=g?`${g.market.slug}-${g.version}`:k?.slug??"default",R=g?.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:[a&&jsx("div",{className:"flex items-center justify-between",children:jsx(Button,{as:"a",onPress:a,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:s("common.back")})}),jsx(Ys,{eventSlug:e,source:t,onTradeAction:v})]}),jsxs("div",{className:"hidden flex-none w-md flex-col gap-y-4 lg:sticky lg:top-4 lg:flex lg:self-start",children:[k&&(R?jsx(kn,{event:p,market:k,initialOutcome:g?.outcome,chain:r},w):jsx(fn,{event:p,market:k,initialOutcome:g?.outcome,chain:r},w)),p&&jsx(Xs,{eventSlug:e,source:p.source,onEventClick:o,onEventHover:i})]})]}),p&&jsx("div",{className:"flex w-full flex-col",children:l?l({event:p,walletAddress:n}):jsx(ks,{event:p,walletAddress:n})}),jsx(gn,{}),jsx(xs,{}),jsx(rs,{})]})}function Zs(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function Am(e){switch(e){case ChartRange.ONE_DAY:return {interval:"15m",limit:96};case ChartRange.ONE_WEEK:return {interval:"1h",limit:168};case ChartRange.ONE_MONTH:return {interval:"4h",limit:180};case ChartRange.ALL:return {interval:"1d",limit:300};default:return {interval:"1h",limit:100}}}var ny=e=>{let{candlestickMarketSlugs:t,chartRange:r=sn,source:n}=e,o=usePredictClient(),i=useMemo(()=>Am(r),[r]),{data:a,isLoading:l,error:s}=useEvent({slug:e.eventSlug,source:n}),c=useMemo(()=>{if(!a?.markets)return [];let f=new Set,g=a.markets.filter(v=>f.has(v.slug)?false:(f.add(v.slug),true));return (t&&t.length>0?t.slice(0,4).map(v=>g.find(k=>k.slug===v)).filter(v=>v!==void 0):[...g].sort((v,k)=>Zs(k)-Zs(v)).slice(0,4)).map(v=>v.slug)},[t,a?.markets]),m=useQueries({queries:c.map(f=>({queryKey:candlesticksQueryKey(f,i),queryFn:()=>o.listCandlesticks(f,i),enabled:c.length>0}))}),u=m.some(f=>f.isLoading),p=useMemo(()=>{let f=new Map;return c.forEach((g,h)=>{let v=m[h]?.error;v&&f.set(g,v);}),f},[c,m]),d=useMemo(()=>{let f=new Map;return c.forEach((g,h)=>{let v=m[h]?.data;v&&f.set(g,v);}),f},[c,m]);return {event:a,isEventLoading:l,eventError:s,candlestickParams:i,candlesticks:d,isCandlesticksLoading:u,candlestickErrors:p}};var zm=10,Hm=atomWithStorage("liberfi:predict_search_histories",[],void 0,{getOnInit:true});function In(){let[e,t]=useAtom(Hm),r=useCallback(o=>{let i=o.trim();i&&t(a=>{let l=a.filter(s=>s!==i);return [i,...l].slice(0,zm)});},[t]),n=useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:r,clearHistories:n}}function na({histories:e,onSelect:t,onClear:r,className:n}){let{t:o}=useTranslation();return e.length===0?null:jsxs("div",{className:cn$1("px-4 pb-4",n),children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium",children:o("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:n}=In();return jsx(na,{className:cn$1(t),histories:r,onSelect:e,onClear:n})}function ia({value:e,onValueChange:t,onClear:r,onEscape:n,className:o}){let{t:i}=useTranslation();return jsx("div",{className:o,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:a=>{a.preventDefault(),n?.();},children:"Esc"})})})}function sf(e){return e==null?"-":e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e.toFixed(0)}`}function sa({event:e,href:t,LinkComponent:r,onSelect:n,onHover:o,className:i}){let{t:a}=useTranslation(),l=e.tags?.[0],s=ht(e.source),c=useMemo(()=>sf(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:m=>{t&&n&&m.preventDefault(),n?.(e);},onMouseEnter:()=>o?.(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:s.color},children:[s.icon,jsx("span",{style:{fontSize:10,fontWeight:600,letterSpacing:"0.04em",textTransform:"uppercase"},children:s.label})]}),jsx("span",{className:"text-neutral-600",children:"\xB7"}),jsxs("span",{className:"text-neutral-400",children:[c," ",a("predict.event.volume")]}),l&&jsxs(Fragment,{children:[jsx("span",{className:"text-neutral-600",children:"\xB7"}),jsx("span",{className:"text-neutral-500",children:l.label})]})]})]}),jsx(ChevronRightIcon,{width:16,height:16,className:"shrink-0 text-neutral-500 opacity-0 group-hover:opacity-100 transition-opacity"})]})}function aa({keyword:e="",limit:t,source:r}){let{data:n,isLoading:o,isFetchingNextPage:i,hasNextPage:a,fetchNextPage:l}=useSearchEvents({keyword:e,limit:t,source:r,sort_by:e?void 0:"volume",sort_asc:e?void 0:false},{enabled:true});return {events:useMemo(()=>n?.pages.flatMap(c=>c.items).filter(c=>c!=null)??[],[n]),isLoading:o,isFetchingNextPage:i,hasNextPage:a??false,fetchNextPage:l}}var hf=64;function pa({onSelect:e,getEventHref:t,LinkComponent:r,onHover:n,className:o,...i}){let{events:a,isLoading:l,isFetchingNextPage:s,hasNextPage:c,fetchNextPage:m}=aa(i),u=useRef(null),{height:p}=useResizeObserver({ref:u}),d=useCallback(v=>v<a.length,[a]),f=useCallback(async()=>{c&&!s&&await m();},[c,s,m]),g=useMemo(()=>c?a.length+1:a.length,[a,c]),h=useInfiniteLoader({isRowLoaded:d,loadMoreRows:f,rowCount:g,threshold:5});return l?jsx(xf,{className:o}):a.length===0?jsx(bf,{className:o}):jsx("div",{className:cn$1("w-full h-full flex flex-col",o),children:jsx("div",{className:"flex-auto min-h-0",ref:u,children:jsx(List,{className:"no-scrollbar",style:{height:p},onRowsRendered:h,rowComponent:vf,rowCount:g,rowHeight:hf,rowProps:{events:a,onSelect:e,getEventHref:t,LinkComponent:r,onHover:n},overscanCount:5})})})}function vf({index:e,style:t,events:r,onSelect:n,getEventHref:o,LinkComponent:i,onHover:a}){let l=r[e];return l?jsx("div",{style:t,children:jsx(sa,{event:l,href:o?.(l),LinkComponent:i,onSelect:n,onHover:a})}):jsx("div",{style:t,className:"flex items-center justify-center",children:jsx(Spinner,{size:"sm"})})}function xf({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 bf({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 ga({onKeywordChange:e}){let[t,r]=useState(""),[n,o]=useState(""),{addHistory:i}=In(),a=useCallbackRef(e),l=useCallbackRef(i),s=useMemo(()=>debounce(p=>{o(p),a(p),p&&l(p);},500),[a,l]),c=useCallback(p=>{r(p),s(p);},[s]),m=useCallback(p=>{s.cancel(),r(p),o(p),a(p),p&&l(p);},[s,a,l]),u=useCallback(()=>m(""),[m]);return {text:t,keyword:n,setText:c,setKeyword:m,clearKeyword:u}}function ha({onKeywordChange:e,onSelectEvent:t,getEventHref:r,LinkComponent:n,onHover:o,onEscape:i,source:a}){let{text:l,keyword:s,setText:c,setKeyword:m,clearKeyword:u}=ga({onKeywordChange:e});return jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsx(ia,{value:l,onValueChange:c,onClear:u,onEscape:i}),!s&&jsx(oa,{onSelect:m}),jsx(pa,{className:"flex-auto min-h-0",keyword:s,onSelect:t,getEventHref:r,LinkComponent:n,onHover:o,source:a})]})}var Mo="predict-search";function _1({id:e=Mo}){return jsx(AsyncModal,{id:e,children:t=>jsx(Rf,{...t})})}function Rf({params:e,isOpen:t,onOpenChange:r,onResult:n}){let{t:o}=useTranslation(),{isMobile:i}=useScreen(),a=useCallback(s=>{n(s);},[n]),l=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:o("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(ha,{getEventHref:e?.getEventHref,LinkComponent:e?.LinkComponent,onHover:e?.onHover,source:e?.source,onSelectEvent:a,onEscape:l})})]})})}function H1({onSelectEvent:e,modalParams:t,className:r,displayMode:n="auto"}){let{t:o}=useTranslation(),i=useScreen(),a=n==="auto"?i.isDesktop:n==="desktop",l=n==="auto"?i.isMobile:n==="compact",{onOpen:s,onClose:c}=useAsyncModal(Mo),m=useCallbackRef(e),u=useCallbackRef(async()=>{let d=await s({params:t});d&&m(d);}),p=useCallbackRef(()=>{c();});return useEffect(()=>{let d=f=>{let g=document.activeElement,h=!!g&&(g.tagName==="INPUT"||g.tagName==="TEXTAREA"||g.getAttribute("contenteditable")==="true");f.key==="/"&&!h&&(f.preventDefault(),u()),f.key==="Escape"&&(f.preventDefault(),p());};return window.addEventListener("keydown",d),()=>{window.removeEventListener("keydown",d);}},[u,p]),jsx(Button,{size:"sm",radius:"full",isIconOnly:!a,onPress:u,variant:l?"flat":"bordered",startContent:a?jsx(SearchIcon,{className:"text-neutral"}):void 0,endContent:a?jsx(Kbd,{className:"ml-auto min-w-6 justify-center text-xs bg-transparent border border-border rounded-full",children:"/"}):void 0,className:cn$1(a&&"min-w-56 justify-start pl-3 pr-1.5 text-neutral",r),children:a?o("predict.search.placeholder"):jsx(SearchIcon,{className:"text-neutral"})})}var To=[{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"}],Na=[{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}],Sa={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"},wa={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 Wf(e,t){if(!e)return "$5K+";let r=Na.find(n=>n.value===e);return r?r.labelKey?t(r.labelKey):r.label:`$${e}`}function Ca({sortBy:e,onSortChange:t,sortAsc:r,onSortAscChange:n,minVolume:o,onMinVolumeChange:i,onRefresh:a}){let{t:l}=useTranslation(),[s,c]=useState(false),[m,u]=useState(false),[p,d]=useState(false),[f,g]=useState(false),h=useRef(null),v=useRef(null),k=To.find(x=>x.value===e)??To[0],w=useCallback(x=>{h.current&&!h.current.contains(x.target)&&c(false),v.current&&!v.current.contains(x.target)&&u(false);},[]);useEffect(()=>(document.addEventListener("mousedown",w),()=>document.removeEventListener("mousedown",w)),[w]);let R=useCallback(()=>{a?.(),g(true),setTimeout(()=>g(false),700);},[a]);return jsxs(Fragment,{children:[jsx("style",{children:`
|
|
90
90
|
@keyframes matchRefreshSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
|
|
91
91
|
.match-refresh-spin{animation:matchRefreshSpin .6s ease-in-out}
|
|
92
92
|
.match-btn:focus-visible{outline:2px solid #c7ff2e;outline-offset:2px;z-index:10}
|
|
93
|
-
`}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[jsxs("div",{ref:h,style:{position:"relative"},children:[jsxs("button",{type:"button",className:"match-btn",style:
|
|
93
|
+
`}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[jsxs("div",{ref:h,style:{position:"relative"},children:[jsxs("button",{type:"button",className:"match-btn",style:Sa,onMouseEnter:x=>{x.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:x=>{x.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>{c(x=>!x),u(false);},children:[jsx(Uf,{}),jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:l(k.labelKey)}),jsx(Pa,{open:s})]}),s&&jsx("div",{style:{...wa,width:224,padding:4},children:To.map(x=>{let N=e===x.value;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:N?"rgba(199,255,46,0.08)":"transparent",color:N?"#c7ff2e":"#a1a1aa",borderRadius:10},onMouseEnter:S=>{N||(S.currentTarget.style.background="rgba(39,39,42,0.5)",S.currentTarget.style.color="#fff");},onMouseLeave:S=>{N||(S.currentTarget.style.background="transparent",S.currentTarget.style.color="#a1a1aa");},onClick:()=>{e===x.value?n(!r):t(x.value),c(false);},children:[jsx("div",{style:{color:N?"#c7ff2e":"#71717a"},children:jsx(Kf,{type:x.icon})}),jsxs("div",{style:{flex:1,textAlign:"left"},children:[jsx("div",{style:{fontWeight:500},children:l(x.labelKey)}),jsx("div",{style:{fontSize:11,color:"#71717a",marginTop:1},children:l(x.descKey)})]}),N&&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"})})]},x.value)})})]}),i&&jsxs("div",{ref:v,style:{position:"relative"},children:[jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxs("button",{type:"button",className:"match-btn",style:Sa,onMouseEnter:x=>{x.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:x=>{x.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>{u(x=>!x),c(false);},children:[jsx(Vf,{}),jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:Wf(o,l)}),jsx(jf,{onMouseEnter:()=>d(true),onMouseLeave:()=>d(false)}),jsx(Pa,{open:m})]}),p&&jsxs("div",{style:{position:"absolute",zIndex:100,top:"100%",marginTop:8,left:"50%",transform:"translateX(-50%)",width:256,padding:12,borderRadius:14,background:"rgba(24,24,27,1)",border:"1px solid rgba(63,63,70,0.5)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",pointerEvents:"none"},children:[jsx("div",{style:{position:"absolute",top:-6,left:"50%",transform:"translateX(-50%) rotate(45deg)",width:12,height:12,background:"rgba(24,24,27,1)",borderLeft:"1px solid rgba(63,63,70,0.5)",borderTop:"1px solid rgba(63,63,70,0.5)"}}),jsxs("div",{style:{position:"relative",fontSize:12,color:"#d4d4d8",lineHeight:1.625},children:[jsxs("div",{style:{fontWeight:600,color:"#fff",display:"flex",alignItems:"center",gap:6,marginBottom:8},children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#c7ff2e",flexShrink:0},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"})}),l("predict.matches.filter.liquidityFilter")]}),jsx("p",{style:{color:"#a1a1aa",margin:"0 0 4px"},children:l("predict.matches.filter.tooltipDesc")}),jsx("p",{style:{color:"#71717a",fontSize:11,margin:0},children:l("predict.matches.filter.tooltipNote")})]})]})]}),m&&jsxs("div",{style:{...wa,right:0,width:176},children:[jsx("div",{style:{padding:"8px 12px",borderBottom:"1px solid rgba(39,39,42,1)"},children:jsx("span",{style:{fontSize:11,fontWeight:500,color:"#71717a",textTransform:"uppercase",letterSpacing:"0.05em"},children:l("predict.matches.filter.minVolumeEach")})}),jsx("div",{style:{padding:4},children:Na.map(x=>{let N=x.value===0?!o:o===x.value;return jsxs("button",{type:"button",style:{display:"flex",width:"100%",alignItems:"center",justifyContent:"space-between",padding:"8px 12px",textAlign:"left",fontSize:14,border:"none",cursor:"pointer",background:N?"rgba(199,255,46,0.08)":"transparent",color:N?"#c7ff2e":"#a1a1aa",borderRadius:10,transition:"all 0.15s"},onMouseEnter:S=>{N||(S.currentTarget.style.background="rgba(39,39,42,0.5)",S.currentTarget.style.color="#fff");},onMouseLeave:S=>{N||(S.currentTarget.style.background="transparent",S.currentTarget.style.color="#a1a1aa");},onClick:()=>{i?.(x.value===0?void 0:x.value),u(false);},children:[jsx("span",{children:x.labelKey?l(x.labelKey):x.label}),N&&jsx("svg",{viewBox:"0 0 24 24",style:{width:16,height:16,color:"#c7ff2e"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M20 6 9 17l-5-5"})})]},x.value)})})]})]}),a&&jsx("button",{type:"button",className:"match-btn",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"},onMouseEnter:x=>{x.currentTarget.style.background="rgba(39,39,42,1)",x.currentTarget.style.color="#fff";},onMouseLeave:x=>{x.currentTarget.style.background="rgba(39,39,42,0.6)",x.currentTarget.style.color="#a1a1aa";},onClick:R,children:jsxs("svg",{className:f?"match-refresh-spin":void 0,viewBox:"0 0 24 24",style:{width:16,height:16},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}),jsx("path",{d:"M21 3v5h-5"}),jsx("path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}),jsx("path",{d:"M8 16H3v5"})]})})]})]})}function Uf(){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 Kf({type:e}){let t={width:16,height:16},r={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};return e==="trending-up"?jsxs("svg",{...r,style:t,children:[jsx("path",{d:"M16 7h6v6"}),jsx("path",{d:"m22 7-8.5 8.5-5-5L2 17"})]}):e==="chart-column"?jsxs("svg",{...r,style:t,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("svg",{...r,style:t,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"})})}function Vf(){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 jf({onMouseEnter:e,onMouseLeave:t}){return jsxs("svg",{viewBox:"0 0 24 24",className:"hidden sm:block",style:{width:12,height:12,color:"#52525b",flexShrink:0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",onMouseEnter:e,onMouseLeave:t,children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("path",{d:"M12 16v-4"}),jsx("path",{d:"M12 8h.01"})]})}function Pa({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 qf(e){return e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${(e/1e3).toFixed(0)}K`:`$${e.toFixed(0)}`}var Qf=[{key:"activePairs",labelKey:"predict.matches.stats.activePairs",format:e=>e.toLocaleString(),valueColor:"#c7ff2e",gradientFrom:"rgba(199,255,46,0.18)",gradientTo:"rgba(199,255,46,0.04)",borderColor:"rgba(199,255,46,0.18)"},{key:"maxSpread",labelKey:"predict.matches.stats.maxSpread",format:e=>`${(e*100).toFixed(1)}%`,valueColor:"#f76816",gradientFrom:"rgba(247,104,22,0.18)",gradientTo:"rgba(247,104,22,0.04)",borderColor:"rgba(247,104,22,0.18)"},{key:"highSpreadCount",labelKey:"predict.matches.stats.highSpreadCount",format:e=>e.toLocaleString(),valueColor:"#17c964",gradientFrom:"rgba(23,201,100,0.18)",gradientTo:"rgba(23,201,100,0.04)",borderColor:"rgba(23,201,100,0.18)"},{key:"totalVolume",labelKey:"predict.matches.stats.totalVolume",format:qf,valueColor:"#f5a524",gradientFrom:"rgba(245,165,36,0.18)",gradientTo:"rgba(245,165,36,0.04)",borderColor:"rgba(245,165,36,0.18)"}];function Ma({stats:e}){let{t}=useTranslation();return jsxs(Fragment,{children:[jsx("style",{children:`
|
|
94
94
|
@keyframes match-live-ping{75%,100%{transform:scale(2.2);opacity:0}}
|
|
95
95
|
@keyframes match-live-breathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}
|
|
96
96
|
@keyframes matchStatsEnter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
|
|
@@ -128,21 +128,21 @@ import {createContext,memo,useRef,forwardRef,useState,useImperativeHandle,useMem
|
|
|
128
128
|
.matches-stat-label{font-size:11px;line-height:16px;min-height:16px}
|
|
129
129
|
@media(min-width:640px){.matches-stat-label{font-size:12px;line-height:18px;min-height:18px}}
|
|
130
130
|
`}),jsxs("div",{className:"matches-hero-outer",style:{display:"flex",marginBottom:0},children:[jsxs("div",{className:"matches-hero-left",style:{display:"flex",flexDirection:"column",minWidth:0,flex:1,animation:"matchHeroTitleEnter 0.5s cubic-bezier(0.34,1.56,0.64,1) both"},children:[jsx("div",{className:"matches-hero-live",style:{display:"flex",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:"match-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:"match-live-breathe 2.4s ease-in-out infinite"}})]}),jsx("span",{style:{fontSize:12,fontWeight:500,color:"#d4d4d8",letterSpacing:"0.025em"},children:t("predict.matches.liveBadge")}),jsx("span",{style:{borderRadius:4,background:"rgba(199,255,46,0.12)",padding:"2px 6px",fontSize:10,fontWeight:600,color:"#c7ff2e",textTransform:"uppercase",border:"1px solid rgba(199,255,46,0.22)"},children:t("predict.matches.betaTag")})]})}),jsxs("h1",{className:"matches-hero-title",style:{fontFamily:"var(--font-dm-sans, 'DM Sans', sans-serif)",fontSize:46,fontWeight:700,letterSpacing:"-1.2px",lineHeight:1.2,color:"#fff",margin:"0 0 14px"},children:[jsxs("span",{style:{color:"#fff"},children:[t("predict.matches.titlePrefix")," "]}),jsx("span",{style:{backgroundImage:"linear-gradient(to right, #c7ff2e, #a0e515, #17c964)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text"},children:t("predict.matches.titleHighlight")})]}),jsx("p",{className:"matches-hero-subtitle matches-hero-subtitle-text",style:{lineHeight:1.6,color:"#71717a",maxWidth:460},children:String(t("predict.matches.heroSubtitle")).split(`
|
|
131
|
-
`).map((r,n)=>jsxs("span",{children:[n>0&&jsx("br",{className:"hidden sm:block"}),r,n===0?" ":""]},n))})]}),jsx("div",{className:"matches-stat-grid",style:{display:"grid",borderRadius:16,border:"1px solid rgba(39,39,42,0.5)",overflow:"hidden",flexShrink:0,backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",...e?{animation:"matchStatsEnter 0.5s cubic-bezier(0.34,1.56,0.64,1) both",animationDelay:"0.1s"}:{}},children:
|
|
131
|
+
`).map((r,n)=>jsxs("span",{children:[n>0&&jsx("br",{className:"hidden sm:block"}),r,n===0?" ":""]},n))})]}),jsx("div",{className:"matches-stat-grid",style:{display:"grid",borderRadius:16,border:"1px solid rgba(39,39,42,0.5)",overflow:"hidden",flexShrink:0,backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",...e?{animation:"matchStatsEnter 0.5s cubic-bezier(0.34,1.56,0.64,1) both",animationDelay:"0.1s"}:{}},children:Qf.map((r,n)=>jsxs("div",{style:{padding:"16px 20px",background:e?`linear-gradient(to bottom, ${r.gradientFrom}, ${r.gradientTo})`:"rgba(255,255,255,0.02)",borderRight:n%2===0?"1px solid rgba(39,39,42,0.4)":"none",borderBottom:n<2?"1px solid rgba(39,39,42,0.4)":"none",...e?{animation:"matchStatCardEnter 0.45s cubic-bezier(0.34,1.56,0.64,1) both",animationDelay:`${150+n*60}ms`}:{}},children:[jsx("div",{className:"matches-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:"matchStatCardEnter 0.6s ease-out both",animationDelay:`${n*80}ms`}})}),jsx("div",{className:"matches-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:"matchStatCardEnter 0.6s ease-out both",animationDelay:`${50+n*80}ms`}})})]},r.key))})]})]})}function Lo(e){return e==null?"-":e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e.toFixed(0)}`}function _o(e){let t=e.outcomes?.[0];return t?.best_ask??t?.price??null}function Jf(e){return e.outcomes?.[0]?.label||null}function Zf(e){return e==null?"low":e>=3?"high":e>=2?"medium":"low"}var _a={high:{color:"#f76816",bandFrom:"rgba(247,104,22,0.14)",bandTo:"rgba(247,104,22,0.03)",gaugeActive:"#f76816",gaugeInactive:"rgba(247,104,22,0.15)"},medium:{color:"#c7ff2e",bandFrom:"rgba(199,255,46,0.12)",bandTo:"rgba(199,255,46,0.02)",gaugeActive:"#c7ff2e",gaugeInactive:"rgba(199,255,46,0.15)"},low:{color:"#71717a",bandFrom:"rgba(113,113,122,0.08)",bandTo:"transparent",gaugeActive:"#71717a",gaugeInactive:"rgba(113,113,122,0.12)"}},eg={high:{border:"rgba(247,104,22,0.4)",shadow:"0 2px 18px rgba(247,104,22,0.35)"},medium:{border:"rgba(199,255,46,0.5)",shadow:"0 2px 20px rgba(199,255,46,0.45)"},low:{border:"rgba(113,113,122,0.5)",shadow:"0 2px 20px rgba(113,113,122,0.35)"}},Ea={high:{dot:"#17c964",label:"predict.matches.confidenceHigh"},medium:{dot:"#f5a524",label:"predict.matches.confidenceMed"},low:{dot:"#71717a",label:"predict.matches.confidenceLow"}};function tg(e,t){return e||(t==null?"low":t>=.9?"high":t>=.7?"medium":"low")}function rg({tier:e}){let t=_a[e],r=e==="high"?5:e==="medium"?3:1;return jsx("div",{style:{display:"flex",gap:2,alignItems:"center"},children:Array.from({length:5},(n,o)=>jsx("div",{style:{width:6,height:10,borderRadius:1.5,background:o<r?t.gaugeActive:t.gaugeInactive,transition:"background 0.2s"}},o))})}var ng={polymarket:{text:"#50a2ff",icon:"#50a2ff"},kalshi:{text:"#00d492",icon:"#00d492"}},og={text:"#9ca3af",icon:"#9ca3af"};function ig(e){return ng[e]??og}var sg=`
|
|
132
132
|
.match-card button:focus-visible,
|
|
133
133
|
.match-card a:focus-visible,
|
|
134
134
|
.match-card [role="button"]:focus-visible {
|
|
135
135
|
outline: 2px solid hsl(var(--heroui-primary) / 0.4);
|
|
136
136
|
outline-offset: 2px;
|
|
137
137
|
}
|
|
138
|
-
`;function
|
|
138
|
+
`;function Ra({match:e,onSelect:t,onHover:r,getMarketHref:n,LinkComponent:o}){let{t:i}=useTranslation(),a=_o(e.market_a),l=_o(e.market_b),s=e.spread_percent!=null?e.spread_percent:e.spread!=null?e.spread*100:null,c=Zf(s),m=_a[c],u=a!=null&&l!=null?a<=l?e.source_a:e.source_b:null,p=e.event_a_title||e.event_b_title,d=tg(e.confidence_tier,e.similarity_score),f=Ea[d]??Ea.low,g=c==="high"?"orange":"lime";return jsxs("div",{className:"group match-card",style:{borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",overflow:"hidden",transition:"all 0.2s"},onMouseEnter:h=>{let v=h.currentTarget,k=eg[c];v.style.borderColor=k.border,v.style.boxShadow=k.shadow,r?.(e);},onMouseLeave:h=>{let v=h.currentTarget;v.style.borderColor="rgba(39,39,42,0.6)",v.style.boxShadow="none";},children:[jsx("style",{children:sg}),s!=null&&jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"8px 14px",background:`linear-gradient(90deg, ${m.bandFrom}, ${m.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:m.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:m.color},children:[s.toFixed(1),"%"]}),jsx("span",{style:{fontSize:10,fontWeight:500,color:"rgba(161,161,170,0.7)",textTransform:"uppercase",letterSpacing:"0.06em"},children:"SPREAD"})]}),jsx(rg,{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",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",margin:"0 0 12px"},children:p}),jsxs("div",{style:{borderRadius:10,border:"1px solid rgba(39,39,42,0.4)",overflow:"hidden"},children:[jsx(Ta,{source:e.source_a,market:e.market_a,isCheaper:u===e.source_a,onClick:()=>t?.(e,e.source_a),href:n?.(e,e.source_a),LinkComponent:o}),jsx("div",{style:{height:1,background:"rgba(39,39,42,0.3)"}}),jsx(Ta,{source:e.source_b,market:e.market_b,isCheaper:u===e.source_b,onClick:()=>t?.(e,e.source_b),href:n?.(e,e.source_b),LinkComponent:o})]}),u&&s!=null&&jsx("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:10},children:jsxs("button",{type:"button",style:{display:"inline-flex",alignItems:"center",gap:6,padding:"5px 12px",borderRadius:8,border:`1px solid ${g==="orange"?"rgba(247,104,22,0.2)":"rgba(199,255,46,0.15)"}`,background:g==="orange"?"rgba(247,104,22,0.08)":"rgba(199,255,46,0.06)",cursor:"pointer",transition:"all 0.15s",fontSize:11,fontWeight:500,color:g==="orange"?"rgba(247,104,22,0.9)":"rgba(199,255,46,0.85)"},onMouseEnter:h=>{let v=h.currentTarget;v.style.background=g==="orange"?"rgba(247,104,22,0.14)":"rgba(199,255,46,0.10)";},onMouseLeave:h=>{let v=h.currentTarget;v.style.background=g==="orange"?"rgba(247,104,22,0.08)":"rgba(199,255,46,0.06)";},onClick:()=>t?.(e,u),children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:12,height:12,flexShrink:0,color:g==="orange"?"#f76816":"#c7ff2e"},fill:"none",stroke:"currentColor",strokeWidth:"2",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"})}),i("predict.matches.buyEdge",{platform:u.charAt(0).toUpperCase()+u.slice(1),spread:s.toFixed(1)}),jsxs("svg",{viewBox:"0 0 24 24",style:{width:10,height:10,color:g==="orange"?"rgba(247,104,22,0.5)":"rgba(199,255,46,0.4)"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M5 12h14"}),jsx("path",{d:"m12 5 7 7-7 7"})]})]})})]}),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"})]}),Lo(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"})}),Lo(e.combined_volume_24h)," ",i("predict.matches.vol24h")]})]}),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:f.dot,flexShrink:0}}),i(f.label)]})]})]})}function Ta({source:e,market:t,isCheaper:r,onClick:n,href:o,LinkComponent:i}){let{t:a}=useTranslation(),l=ht(e),s=ig(e),c=_o(t),m=Jf(t),u=t.volume,p=jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"10px 12px",cursor:o||n?"pointer":void 0,transition:"background 0.15s",background:r?"rgba(199,255,46,0.03)":"transparent"},onMouseEnter:d=>{d.currentTarget.style.background=r?"rgba(199,255,46,0.06)":"rgba(255,255,255,0.02)";},onMouseLeave:d=>{d.currentTarget.style.background=r?"rgba(199,255,46,0.03)":"transparent";},onClick:n,children:[r?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:90,flexShrink:0},children:[l.icon,jsx("span",{style:{fontSize:10,fontWeight:600,letterSpacing:"0.04em",color:s.text,textTransform:"uppercase"},children:l.label})]}),jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:1},children:[m&&jsx("span",{style:{fontSize:10,color:"#71717a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:m}),jsxs("span",{style:{fontSize:9,color:"#52525b"},children:[Lo(u)," ",a("predict.matches.volume")]})]}),jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:3,flexShrink:0},children:[jsx("span",{style:{fontSize:18,fontWeight:700,fontVariantNumeric:"tabular-nums",color:r?"#c7ff2e":"#f4f4f5"},children:c!=null?(c*100).toFixed(1):"-"}),jsx("span",{style:{fontSize:9,color:"#71717a"},children:a("predict.matches.centsYes")})]}),jsxs("svg",{viewBox:"0 0 24 24",className:"opacity-0 group-hover:opacity-100 transition-opacity",style:{width:10,height:10,color:"#52525b",flexShrink:0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M7 7h10v10"}),jsx("path",{d:"M7 17 17 7"})]})]});return o&&i?jsx(i,{href:o,className:"block",children:p}):p}var Aa=forwardRef(function({sortBy:t,sortAsc:r,minVolume:n,onSelect:o,onHover:i,getMarketHref:a,LinkComponent:l,onStatsChange:s},c){let{t:m}=useTranslation(),{data:u,hasNextPage:p,fetchNextPage:d,isFetchingNextPage:f,isLoading:g,isPlaceholderData:h,refetch:v}=useInfiniteMatchMarkets({sort_by:t,sort_asc:r,min_volume:n,status:"active",limit:20},{placeholderData:keepPreviousData}),[k,w]=useState(0),[R,x]=useState(false);R&&!h?(x(false),w(L=>L+1)):h&&!R&&x(true),useImperativeHandle(c,()=>({refetch:()=>{v();}}),[v]);let N=useMemo(()=>u?.pages.flatMap(L=>L.items??[])??[],[u]),S=u?.pages[0]?.total,K=useMemo(()=>{let L=0,E=0,O=0;for(let de of N){let U=de.spread??0;U>L&&(L=U),U>=.03&&O++,de.combined_volume!=null&&(E+=de.combined_volume);}return {activePairs:S??N.length,maxSpread:L,highSpreadCount:O,totalVolume:E}},[N,S]);useEffect(()=>{K.activePairs>0&&s?.(K);},[K,s]);let A=useRef(null),Q=useCallback(()=>{window.scrollTo({top:0,behavior:"smooth"});},[]);if(useEffect(()=>{let L=A.current;if(!L)return;let E=new IntersectionObserver(O=>{O[0]?.isIntersecting&&p&&!f&&d();},{rootMargin:"200px"});return E.observe(L),()=>E.disconnect()},[p,f,d]),useEffect(()=>{if(p)return document.documentElement.style.overscrollBehaviorY="none",()=>{document.documentElement.style.overscrollBehaviorY="";}},[p]),g)return jsx(fg,{});if(N.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:m("predict.matches.empty")})});let P=!p&&N.length>0;return jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[jsx("style",{children:`
|
|
139
139
|
@media(max-width:1023px){.matches-card-grid{grid-template-columns:1fr!important}}
|
|
140
140
|
@keyframes matchCardEnter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
|
|
141
|
-
`}),jsx("div",{className:"matches-card-grid",style:{display:"grid",gridTemplateColumns:"repeat(2, 1fr)",gap:16},children:u?.pages.map(H=>H.items?.map((E,I)=>jsx("div",{style:{animation:`matchCardEnter 0.45s cubic-bezier(0.34,1.56,0.64,1) ${I*35}ms both`},children:jsx(ks,{match:E,onSelect:o,onHover:i,getMarketHref:s,LinkComponent:l})},`${k}-${E.match_id}-${E.source_a}-${E.market_a?.slug??I}`)))}),jsxs("div",{ref:B,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)}}"}),f&&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"})}),m("predict.matches.loadMore")]})]}),N&&jsx(Wf,{onScrollToTop:J})]})});function Wf({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 Uf(){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, 1fr)",gap:16},children:Array.from({length:6}).map((e,t)=>jsx(Kf,{index:t},t))})]})}function Kf({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(n=>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}})]},n))}),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 qf={spread:"predict.matches.topOpportunities",volume:"predict.matches.highestVolume",confidence:"predict.matches.trendingToday"};function Qf(){let[e,t]=useState("");return useEffect(()=>{let r=()=>{let o=new Date;return `${String(o.getHours()).padStart(2,"0")}:${String(o.getMinutes()).padStart(2,"0")}`};t(r());let n=setInterval(()=>t(r()),1e4);return ()=>clearInterval(n)},[]),jsx("span",{children:e})}function Xf({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:e.activePairs.toLocaleString()})]}),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(Qf,{})]})]})]})]})}function O1({onSelect:e,onHover:t,getMarketHref:r,LinkComponent:n,bgImageSrc:o}){let{t:i}=useTranslation(),[s,l]=useState("spread"),[a,c]=useState(false),[m,u]=useState(5e3),[p,d]=useState(),f=useRef(null),g=useCallback(w=>{l(w);},[]),h=useCallback(w=>{c(w);},[]),v=useCallback(w=>{startTransition(()=>{d(w);});},[]),k=useCallback(()=>{f.current?.refetch();},[]);return jsxs("div",{style:{minHeight:"100vh",position:"relative"},children:[jsx("style",{children:`
|
|
141
|
+
`}),jsx("div",{className:"matches-card-grid",style:{display:"grid",gridTemplateColumns:"repeat(2, 1fr)",gap:16},children:u?.pages.map(L=>L.items?.map((E,O)=>jsx("div",{style:{animation:`matchCardEnter 0.45s cubic-bezier(0.34,1.56,0.64,1) ${O*35}ms both`},children:jsx(Ra,{match:E,onSelect:o,onHover:i,getMarketHref:a,LinkComponent:l})},`${k}-${E.match_id}-${E.source_a}-${E.market_a?.slug??O}`)))}),jsxs("div",{ref:A,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)}}"}),f&&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"})}),m("predict.matches.loadMore")]})]}),P&&jsx(mg,{onScrollToTop:Q})]})});function mg({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 fg(){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, 1fr)",gap:16},children:Array.from({length:6}).map((e,t)=>jsx(gg,{index:t},t))})]})}function gg({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(n=>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}})]},n))}),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 yg={spread:"predict.matches.topOpportunities",volume:"predict.matches.highestVolume",confidence:"predict.matches.trendingToday"};function kg(){let[e,t]=useState("");return useEffect(()=>{let r=()=>{let o=new Date;return `${String(o.getHours()).padStart(2,"0")}:${String(o.getMinutes()).padStart(2,"0")}`};t(r());let n=setInterval(()=>t(r()),1e4);return ()=>clearInterval(n)},[]),jsx("span",{children:e})}function Sg({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:e.activePairs.toLocaleString()})]}),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(kg,{})]})]})]})]})}function P2({onSelect:e,onHover:t,getMarketHref:r,LinkComponent:n,bgImageSrc:o}){let{t:i}=useTranslation(),[a,l]=useState("spread"),[s,c]=useState(false),[m,u]=useState(5e3),[p,d]=useState(),f=useRef(null),g=useCallback(w=>{l(w);},[]),h=useCallback(w=>{c(w);},[]),v=useCallback(w=>{startTransition(()=>{d(w);});},[]),k=useCallback(()=>{f.current?.refetch();},[]);return jsxs("div",{style:{minHeight:"100vh",position:"relative"},children:[jsx("style",{children:`
|
|
142
142
|
@keyframes matchFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
|
|
143
143
|
.match-fade-in{animation:matchFadeIn .5s ease-out both}
|
|
144
144
|
.match-fade-in-d1{animation:matchFadeIn .5s ease-out .1s both}
|
|
145
145
|
.match-fade-in-d2{animation:matchFadeIn .5s ease-out .2s both}
|
|
146
|
-
`}),jsxs("div",{style:{position:"relative",overflow:"hidden",borderBottom:"1px solid rgba(39,39,42,0.5)"},children:[jsxs("div",{style:{position:"absolute",inset:0,pointerEvents:"none",zIndex:0,overflow:"hidden"},children:[o&&jsx("img",{src:o,alt:"","aria-hidden":"true",style:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover",objectPosition:"center center",opacity:.3,mixBlendMode:"lighten",maskImage:"linear-gradient(to bottom, black 50%, transparent 100%)",WebkitMaskImage:"linear-gradient(to bottom, black 50%, transparent 100%)"}}),jsx("div",{style:{position:"absolute",inset:0,opacity:.025,backgroundImage:"radial-gradient(circle at 1px 1px, rgb(255 255 255) 1px, transparent 0)",backgroundSize:"20px 20px"}})]}),jsx("style",{children:".matches-hero-wrap{padding:40px 16px 32px}@media(min-width:640px){.matches-hero-wrap{padding:48px 24px 40px}}@media(min-width:1024px){.matches-hero-wrap{padding:52px 32px 44px}}"}),jsx("div",{className:"match-fade-in matches-hero-wrap",style:{position:"relative",zIndex:2,maxWidth:1152,margin:"0 auto"},children:jsx(hs,{stats:p})})]}),jsxs("div",{style:{position:"sticky",top:0,zIndex:40,background:"rgba(10,10,11,0.8)",backdropFilter:"blur(24px)",WebkitBackdropFilter:"blur(24px)",borderBottom:"1px solid rgba(39,39,42,0.5)"},children:[jsx("style",{children:".matches-toolbar-inner{padding:12px 16px}@media(min-width:640px){.matches-toolbar-inner{padding:12px 24px}}@media(min-width:1024px){.matches-toolbar-inner{padding:12px 32px}}"}),jsxs("div",{className:"matches-toolbar-inner",style:{maxWidth:1152,margin:"0 auto",display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,minWidth:0},children:[jsx("div",{className:"hidden sm:flex",style:{alignItems:"center",justifyContent:"center",width:32,height:32,borderRadius:10,background:"linear-gradient(to bottom right, rgba(199,255,46,0.15), rgba(23,201,100,0.15))",border:"1px solid rgba(199,255,46,0.15)",flexShrink:0},children:jsxs("svg",{viewBox:"0 0 24 24",style:{width:16,height:16,color:"#c7ff2e"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"}),jsx("path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"}),jsx("path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"})]})}),jsxs("div",{style:{minWidth:0},children:[jsx("h2",{style:{fontSize:14,fontWeight:600,color:"#fff",margin:0,letterSpacing:"-0.28px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:i(qf[s])}),p&&p.activePairs>0&&jsx("p",{className:"hidden sm:block",style:{fontSize:11,color:"#71717a",margin:0},children:i("predict.matches.pairsFound",{count:p.activePairs})})]})]}),jsx(gs,{sortBy:s,onSortChange:g,sortAsc:a,onSortAscChange:h,minVolume:m,onMinVolumeChange:u,onRefresh:k})]})]}),jsx("style",{children:".matches-content-wrap{padding:24px 16px 80px}@media(min-width:640px){.matches-content-wrap{padding:32px 24px 80px}}@media(min-width:1024px){.matches-content-wrap{padding:24px 32px 80px}}"}),jsxs("div",{className:"match-fade-in-d2 matches-content-wrap",style:{position:"relative",maxWidth:1152,margin:"0 auto"},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:16,padding:"8px 12px",borderRadius:8,border:"1px solid rgba(39,39,42,0.4)",background:"rgba(24,24,27,0.25)"},children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#52525b",flexShrink:0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"})}),jsxs("p",{style:{fontSize:11,color:"#52525b",lineHeight:1.5,margin:0},children:[jsx("span",{style:{color:"#71717a",fontWeight:500},children:i("predict.matches.experimentalFeature")})," \u2014 ",i("predict.matches.disclaimer")]})]}),jsx(Ps,{ref:f,sortBy:s,sortAsc:a,minVolume:m,onSelect:e,onHover:t,getMarketHref:r,LinkComponent:n,onStatsChange:v})]}),jsx(Xf,{stats:p})]})}function To(e){return e==null?"-":e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e.toFixed(0)}`}var Zf={polymarket:{text:"#50a2ff",border:"rgba(43,127,255,0.15)",hoverBorder:"rgba(43,127,255,0.3)",bg:"rgba(43,127,255,0.05)",priceColor:"rgba(244,244,245,1)",priceActiveColor:"rgba(244,244,245,1)"},kalshi:{text:"#00d492",border:"rgba(0,212,146,0.15)",hoverBorder:"rgba(0,212,146,0.3)",bg:"rgba(0,212,146,0.05)",priceColor:"#00d492",priceActiveColor:"#00d492"}},eg={text:"#9ca3af",border:"rgba(156,163,175,0.15)",hoverBorder:"rgba(156,163,175,0.3)",bg:"rgba(156,163,175,0.05)",priceColor:"rgba(244,244,245,1)",priceActiveColor:"rgba(244,244,245,1)"};function tg(e){return Zf[e]??eg}function rg(e){if(!e.matched_markets?.length)return null;let t=null,r=-1;for(let n of e.matched_markets){let o=n.spread??0;o>r&&(r=o,t=n);}return t}function ng(e,t){let r=e.entries.find(l=>l.source===(t?.source_a??e.entries[0]?.source)),n=e.entries.find(l=>l.source===(t?.source_b??e.entries[1]?.source)),o=l=>{if(!l?.outcomes?.[0])return {name:null,price:null};let a=l.outcomes[0];return {name:a.label||null,price:a.best_ask??a.price??null}},i=o(t?.market_a),s=o(t?.market_b);return [{source:t?.source_a??r?.source??"unknown",outcomeName:i.name,yesPrice:i.price,volume:r?.event?.volume??null,event:r?.event},{source:t?.source_b??n?.source??"unknown",outcomeName:s.name,yesPrice:s.price,volume:n?.event?.volume??null,event:n?.event}]}function z1({group:e,onSelectEntry:t,getEventHref:r,LinkComponent:n}){let {t:o}=useTranslation(),i=useMemo(()=>rg(e),[e]),s=e.max_spread!=null?e.max_spread*100:null,[l,a]=useMemo(()=>ng(e,i),[e,i]),c=s!=null&&s>=3;l.yesPrice!=null&&a.yesPrice!=null?l.source==="kalshi"?l.yesPrice>a.yesPrice:a.yesPrice>l.yesPrice:false;let u=l.yesPrice!=null&&a.yesPrice!=null?l.yesPrice<=a.yesPrice?l:a:null,p=u?gt(u.source):null,d=c?"amber":"violet";return jsxs("div",{className:"group",style:{borderRadius:16,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",overflow:"hidden",transition:"all 0.2s",position:"relative"},onMouseEnter:f=>{let g=f.currentTarget;g.style.borderColor="rgba(63,63,70,0.6)",g.style.boxShadow="0 10px 15px -3px rgba(0,0,0,0.2)";},onMouseLeave:f=>{let g=f.currentTarget;g.style.borderColor="rgba(39,39,42,0.6)",g.style.boxShadow="none";},children:[s!=null&&jsxs("span",{style:{position:"absolute",top:12,right:12,zIndex:10,display:"inline-flex",alignItems:"center",gap:4,borderRadius:10,padding:"4px 10px",fontSize:12,fontWeight:600,border:`1px solid ${c?"rgba(255,185,0,0.3)":s>=2?"rgba(166,132,255,0.3)":"rgba(156,163,175,0.3)"}`,background:c?"rgba(255,185,0,0.15)":s>=2?"rgba(166,132,255,0.15)":"rgba(156,163,175,0.12)",color:c?"#ffb900":s>=2?"#a684ff":"#9ca3af"},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:"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"})}),s.toFixed(1),"%"]}),jsxs("div",{style:{padding:16},children:[jsx("h3",{style:{fontSize:14,fontWeight:600,lineHeight:1.375,letterSpacing:"-0.28px",color:"#f4f4f5",overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",paddingRight:80,margin:"0 0 16px"},children:e.title}),jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[jsx(Es,{data:l,isCheaper:u===l,onSelect:t,getEventHref:r,LinkComponent:n}),jsx(Es,{data:a,isCheaper:u===a,onSelect:t,getEventHref:r,LinkComponent:n})]}),u&&p&&s!=null&&jsxs("div",{style:{marginTop:12,padding:"8px 12px",borderRadius:10,display:"flex",alignItems:"center",gap:8,cursor:"pointer",transition:"all 0.15s",border:`1px solid ${d==="amber"?"rgba(255,185,0,0.15)":"rgba(166,132,255,0.15)"}`,background:d==="amber"?"rgba(255,185,0,0.05)":"rgba(166,132,255,0.05)"},onClick:()=>u.event&&t?.(u.event),children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,flexShrink:0,color:d==="amber"?"#ffb900":"#a684ff"},fill:"none",stroke:"currentColor",strokeWidth:"2",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"})}),jsx("span",{style:{fontSize:11,fontWeight:500,color:d==="amber"?"rgba(255,185,0,0.9)":"rgba(166,132,255,0.9)"},children:o("predict.matches.buyEdge",{platform:u.source.charAt(0).toUpperCase()+u.source.slice(1),spread:s.toFixed(1)})}),jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12,marginLeft:"auto",color:d==="amber"?"rgba(255,185,0,0.5)":"rgba(166,132,255,0.5)"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M5 12h14"}),jsx("path",{d:"m12 5 7 7-7 7"})]})]})]}),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.2)",padding:"10px 16px"},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: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"})]}),To(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:12,height:12},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"})}),To(e.combined_volume_24h)," ",o("predict.matches.vol24h")]})]}),e.confidence!=null&&jsxs("span",{style:{display:"flex",alignItems:"center",gap:4,fontSize:10,color:"#52525b"},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"})}),Math.round(e.confidence*100),"%"," ",o("predict.matches.match")]})]})]})}function Es({data:e,isCheaper:t,onSelect:r,getEventHref:n,LinkComponent:o}){let{t:i}=useTranslation(),s=gt(e.source),l=tg(e.source),a=e.event?n?.(e.event):void 0,c=jsxs("div",{style:{borderRadius:14,border:`1px solid ${l.border}`,background:l.bg,padding:12,cursor:a||r?"pointer":void 0,transition:"border-color 0.15s"},onMouseEnter:m=>{m.currentTarget.style.borderColor=l.hoverBorder;},onMouseLeave:m=>{m.currentTarget.style.borderColor=l.border;},onClick:()=>e.event&&r?.(e.event),children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:8},children:[s.icon,jsx("span",{style:{fontSize:10,fontWeight:600,letterSpacing:"0.05em",color:l.text,textTransform:"uppercase"},children:s.label}),jsxs("svg",{viewBox:"0 0 24 24",className:"opacity-0 group-hover:opacity-100 transition-opacity",style:{width:10,height:10,color:"#52525b",marginLeft:"auto"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M7 7h10v10"}),jsx("path",{d:"M7 17 17 7"})]})]}),e.outcomeName&&jsx("div",{style:{fontSize:10,color:"#71717a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginBottom:8},children:e.outcomeName}),jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:6},children:[jsx("span",{style:{fontSize:20,fontWeight:700,fontVariantNumeric:"tabular-nums",color:t?l.priceActiveColor:l.priceColor},children:e.yesPrice!=null?(e.yesPrice*100).toFixed(1):"-"}),jsx("span",{style:{fontSize:10,color:"#71717a"},children:i("predict.matches.centsYes")})]}),jsxs("div",{style:{fontSize:10,color:"#52525b",marginTop:6},children:[To(e.volume)," ",i("predict.matches.volume")]})]});return a&&o?jsx(o,{href:a,className:"block",children:c}):c}function ag(e){return e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${(e/1e3).toFixed(1)}K`:`$${e.toFixed(0)}`}function V1({matches:e,total:t}){let{t:r}=useTranslation(),n=useMemo(()=>{let o=0,i=0,s=new Set;for(let l of e){l.max_spread!=null&&l.max_spread>o&&(o=l.max_spread),l.combined_volume!=null&&(i+=l.combined_volume);for(let a of l.entries)s.add(typeof a.source=="string"?a.source:"");}return {count:t??e.length,maxSpread:o,totalVolume:i,platformCount:s.size}},[e,t]);return jsxs("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-2 rounded-xl border border-border/60 bg-background/50 px-4 py-3 text-sm",children:[jsx(In,{label:r("predict.matches.stats.matchedMarkets"),value:n.count.toLocaleString()}),jsx(Lo,{}),jsx(In,{label:r("predict.matches.stats.totalVolume"),value:ag(n.totalVolume)}),jsx(Lo,{}),jsx(In,{label:r("predict.matches.stats.highestSpread"),value:`${(n.maxSpread*100).toFixed(1)}\xA2`,valueClassName:"text-green-400"}),jsx(Lo,{}),jsx(In,{label:r("predict.matches.stats.platforms"),value:String(n.platformCount)})]})}function In({label:e,value:t,valueClassName:r="text-slate-200"}){return jsxs("div",{className:"flex items-center gap-x-1.5",children:[jsxs("span",{className:"text-neutral-500",children:[e,":"]}),jsx("span",{className:`font-semibold ${r}`,children:t})]})}function Lo(){return jsx("span",{className:"hidden text-neutral-700 sm:inline",children:"|"})}function _s(e){return `${(e*100).toFixed(1)}\xA2`}function sg(e){return e>=.05?"text-green-400":e>=.02?"text-yellow-400":"text-neutral-400"}function q1({spread:e,arbProfit:t,className:r}){if(e==null)return null;let n=t!=null&&t>0;return jsxs("div",{className:cn$1("flex items-center gap-x-2",r),children:[jsx("span",{className:cn$1("text-sm font-semibold",sg(e)),children:_s(e)}),n&&jsxs("span",{className:"text-xs text-green-500/80",children:["+",_s(t)]})]})}var zr=10,mg=64,Ds=40,On=48;function As({solanaAddress:e,evmAddress:t,listHeight:r}){let{t:n}=useTranslation(),[o,i]=useState(1),{data:s,isLoading:l,fetchNextPage:a,hasNextPage:c,isFetchingNextPage:m}=useInfiniteTrades({source:"kalshi",wallet:e??"",limit:50}),{data:u,isLoading:p,fetchNextPage:d,hasNextPage:f,isFetchingNextPage:g}=useInfiniteTrades({source:"polymarket",wallet:t??"",limit:50}),h=l||p,v=m||g,k=c||f,w=useMemo(()=>{let H=[];return s?.pages&&H.push(...s.pages.flatMap(E=>E.items)),u?.pages&&H.push(...u.pages.flatMap(E=>E.items)),H.sort((E,I)=>(I.timestamp??0)-(E.timestamp??0)),H},[s,u]),R=Math.max(1,Math.ceil(w.length/zr)+(k?1:0)),x=(o-1)*zr,P=w.slice(x,x+zr),S=useCallback(()=>{i(H=>Math.max(1,H-1));},[]),V=useCallback(async()=>{o*zr>=w.length&&k&&(c&&await a(),f&&await d()),i(E=>E+1);},[o,w.length,k,c,f,a,d]),B=o>1,J=o*zr<w.length||k;if(h)return jsx(bg,{height:r});if(w.length===0&&!k)return jsx(xg,{message:n("predict.profile.noHistory"),height:r});let N=r-Ds-On;return jsxs("div",{className:"flex flex-col",style:{height:r},children:[jsxs("div",{className:"hidden lg:flex items-center text-neutral text-xs font-normal shrink-0 border-b border-border/50",style:{height:Ds},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:n("predict.profile.event")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.profile.action")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.profile.status")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.profile.price")}),jsx("div",{className:"flex-[1.5] pr-2 text-right",children:n("predict.profile.depositWithdraw")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.profile.pnl")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.profile.fee")}),jsx("div",{className:"w-10 shrink-0"})]}),jsxs("div",{className:"hidden lg:block overflow-y-auto",style:{height:N},children:[P.map((H,E)=>jsx(fg,{trade:H},H.id??`${x+E}`)),v&&jsx("div",{className:"flex justify-center items-center py-4",children:jsx(Spinner,{size:"sm"})})]}),jsxs("div",{className:"hidden lg:flex items-center justify-center gap-2 shrink-0",style:{height:On},children:[jsxs("button",{type:"button",disabled:!B,onClick:S,className:cn$1("text-sm transition-colors cursor-pointer flex items-center gap-1",B?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:["\u2190 ",n("predict.profile.previous")]}),Array.from({length:Math.min(R,5)},(H,E)=>{let I=E+1;return jsx("button",{type:"button",onClick:()=>i(I),className:cn$1("w-8 h-8 rounded text-sm transition-colors cursor-pointer",I===o?"bg-foreground/10 text-foreground font-medium":"text-neutral hover:text-foreground"),children:I},I)}),jsxs("button",{type:"button",disabled:!J,onClick:V,className:cn$1("text-sm transition-colors cursor-pointer flex items-center gap-1",J?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:[n("predict.profile.next")," \u2192"]})]}),jsx("div",{className:"lg:hidden flex flex-col gap-2 overflow-y-auto py-2",style:{height:r-On},children:P.map((H,E)=>jsx(gg,{trade:H},H.id??`m-${x+E}`))}),jsxs("div",{className:"lg:hidden flex items-center justify-center gap-3 shrink-0",style:{height:On},children:[jsx("button",{type:"button",disabled:!B,onClick:S,className:cn$1("text-sm cursor-pointer",B?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2190"}),jsx("span",{className:"text-sm text-foreground tabular-nums",children:o}),jsx("button",{type:"button",disabled:!J,onClick:V,className:cn$1("text-sm cursor-pointer",J?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2192"})]})]})}function fg({trade:e}){let{t}=useTranslation(),r=e.side?.toUpperCase()==="BUY",n=e.price??0,o=e.usd_size??0,i=Fs(e.type,t),s=r,l=s?"+":"-",a=s?"text-success":"text-foreground",c=e.event?.title??e.market?.question??"\u2014",m=e.event?.image_url,u=e.outcome??"",p=$s(e.timestamp),d=Bs(e),f=hg(e),g=vg(e);return jsxs("div",{className:"flex items-center border-b border-border/50 hover:bg-content2/40 transition-colors text-sm",style:{height:mg},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:jsxs("div",{className:"flex items-center gap-2.5 min-w-0",children:[m&&jsx("img",{src:m,alt:"",className:"w-8 h-8 rounded-full object-cover shrink-0"}),jsxs("div",{className:"flex flex-col gap-y-0.5 min-w-0",children:[jsx("span",{className:"text-foreground truncate font-medium text-sm",children:c}),jsxs("span",{className:"text-[11px] text-neutral",children:[u&&jsx("span",{className:"mr-1",children:u}),jsx("span",{children:p})]})]})]})}),jsx("div",{className:"flex-1 pr-2",children:jsx("span",{className:cn$1("text-sm font-medium",r?"text-success":"text-danger"),children:t(r?"predict.profile.buy":"predict.profile.sell")})}),jsx("div",{className:"flex-1 pr-2 text-sm text-foreground",children:i}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:zs(n)}),jsx("div",{className:cn$1("flex-[1.5] pr-2 text-right font-mono",a),children:o>0?jsxs(Fragment,{children:[l,"$",o.toFixed(2)]}):"\u2014"}),jsx("div",{className:cn$1("flex-1 pr-2 text-right font-mono",f!==null?f>=0?"text-success":"text-danger":"text-neutral"),children:f!==null?`${f>=0?"+":"-"}$${Math.abs(f).toFixed(2)}`:"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-neutral",children:g!==null?`$${g.toFixed(2)}`:"\u2014"}),jsx("div",{className:"w-10 shrink-0 text-right",children:d&&jsx("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:"text-neutral hover:text-foreground transition-colors","aria-label":"View transaction",children:jsx(Hs,{})})})]})}function gg({trade:e}){let{t}=useTranslation(),r=e.side?.toUpperCase()==="BUY",n=e.price??0,o=e.usd_size??0,i=Fs(e.type,t),s=e.event?.title??e.market?.question??"\u2014",l=$s(e.timestamp),a=Bs(e);return jsxs("div",{className:"rounded-lg border border-border bg-content1 p-3 flex flex-col gap-2",children:[jsxs("div",{className:"flex items-start justify-between gap-2",children:[jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.event?.image_url&&jsx("img",{src:e.event.image_url,alt:"",className:"w-6 h-6 rounded-full object-cover shrink-0"}),jsx("span",{className:"text-sm font-medium text-foreground line-clamp-2",children:s})]}),jsx("span",{className:"text-[11px] text-neutral whitespace-nowrap",children:l})]}),jsxs("div",{className:"flex items-center gap-4 text-xs flex-wrap",children:[jsxs("div",{className:"flex flex-col",children:[jsx("span",{className:"text-neutral",children:t("predict.profile.action")}),jsx("span",{className:cn$1("font-medium",r?"text-success":"text-danger"),children:t(r?"predict.profile.buy":"predict.profile.sell")})]}),jsxs("div",{className:"flex flex-col",children:[jsx("span",{className:"text-neutral",children:t("predict.profile.status")}),jsx("span",{className:"text-foreground",children:i})]}),jsxs("div",{className:"flex flex-col",children:[jsx("span",{className:"text-neutral",children:t("predict.profile.price")}),jsx("span",{className:"font-mono text-foreground",children:zs(n)})]}),jsxs("div",{className:"flex flex-col",children:[jsx("span",{className:"text-neutral",children:t("predict.profile.depositWithdraw")}),jsx("span",{className:"font-mono text-foreground",children:o>0?`$${o.toFixed(2)}`:"\u2014"})]}),a&&jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"ml-auto text-neutral hover:text-foreground transition-colors",children:jsx(Hs,{})})]})]})}function Fs(e,t){switch(e){case "TRADE":return t("predict.profile.filled");case "REDEEM":return t("predict.profile.claimed");case "SPLIT":case "MERGE":case "CONVERSION":return t("predict.profile.created");default:return e}}function Bs(e){if(e.tx_hash)return e.source==="polymarket"?`https://polygonscan.com/tx/${e.tx_hash}`:`https://solscan.io/tx/${e.tx_hash}`}function hg(e){let t=e.provider_meta;if(t){let r=t.pnl??t.profit??t.realized_pnl??t["dflow.pnl"];if(typeof r=="number")return r;if(typeof r=="string"&&r!==""){let n=parseFloat(r);if(!Number.isNaN(n))return n}}return e.type==="REDEEM"&&e.usd_size!=null?e.usd_size:null}function vg(e){let t=e.provider_meta;if(t){let r=t.fee??t.fees??t.trading_fee??t["dflow.fee"];if(typeof r=="number")return r;if(typeof r=="string"&&r!==""){let n=parseFloat(r);if(!Number.isNaN(n))return n}}return null}function Hs(){return jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),jsx("polyline",{points:"15 3 21 3 21 9"}),jsx("line",{x1:"10",y1:"14",x2:"21",y2:"3"})]})}function xg({message:e,height:t}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:t},children:e})}function bg({height:e}){return jsx("div",{className:"flex flex-col gap-y-2 py-3 animate-pulse",style:{height:e},children:Array.from({length:6}).map((t,r)=>jsx(Skeleton,{className:"h-12 w-full rounded-md"},r))})}function zs(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(t%1===0?0:1)}\xA2`}function $s(e){let t=new Date(e*1e3),r=t.getHours().toString().padStart(2,"0"),n=t.getMinutes().toString().padStart(2,"0"),o=t.getDate().toString().padStart(2,"0"),i=(t.getMonth()+1).toString().padStart(2,"0"),s=t.getFullYear(),l=t.getTimezoneOffset(),a=l<=0?"+":"-",c=String(Math.abs(Math.floor(l/60))).padStart(2,"0");return `${r}:${n} ${o}/${i}/${s} (${a}${c})`}var $r=10,Cg=64,Us=40,Dn=48;function Vs({solanaAddress:e,evmAddress:t,listHeight:r}){let{t:n}=useTranslation(),o=useCancelOrder(),[i,s]=useState(1),{data:l,isLoading:a,fetchNextPage:c,hasNextPage:m,isFetchingNextPage:u}=useInfiniteOrders({source:"kalshi",wallet_address:e??""}),{data:p,isLoading:d,fetchNextPage:f,hasNextPage:g,isFetchingNextPage:h}=useInfiniteOrders({source:"polymarket",wallet_address:t??""}),v=a||d,k=u||h,w=m||g,R=useMemo(()=>{let I=[],de=new Set(["live","open","submitted","pending"]);return l?.pages&&I.push(...l.pages.flatMap(U=>U.items).filter(U=>de.has(U.status))),p?.pages&&I.push(...p.pages.flatMap(U=>U.items).filter(U=>de.has(U.status))),I},[l,p]),x=useCallback(I=>{o.mutate({source:I.source,id:I.id});},[o]),P=Math.max(1,Math.ceil(R.length/$r)+(w?1:0)),S=(i-1)*$r,V=R.slice(S,S+$r),B=useCallback(()=>{s(I=>Math.max(1,I-1));},[]),J=useCallback(async()=>{i*$r>=R.length&&w&&(m&&await c(),g&&await f()),s(de=>de+1);},[i,R.length,w,m,g,c,f]),N=i>1,H=i*$r<R.length||w;if(v)return jsx(Lg,{height:r});if(R.length===0&&!w)return jsx(Tg,{message:n("predict.profile.noOrders"),height:r});let E=r-Us-Dn;return jsxs("div",{className:"flex flex-col",style:{height:r},children:[jsxs("div",{className:"hidden lg:flex items-center text-neutral text-xs font-normal shrink-0 border-b border-border/50",style:{height:Us},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:n("predict.profile.event")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.profile.action")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.profile.type")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.profile.fillPrice")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.profile.cost")})]}),jsxs("div",{className:"hidden lg:block overflow-y-auto",style:{height:E},children:[V.map(I=>jsx(Mg,{order:I,onCancel:x},I.id)),k&&jsx("div",{className:"flex justify-center items-center py-4",children:jsx(Spinner,{size:"sm"})})]}),jsx(Ks,{className:"hidden lg:flex",currentPage:i,totalPages:P,canGoPrev:N,canGoNext:H,onPrev:B,onNext:J,onPage:s,t:n}),jsx("div",{className:"lg:hidden flex flex-col gap-2 overflow-y-auto py-2",style:{height:r-Dn},children:V.map(I=>jsx(Eg,{order:I,onCancel:x},I.id))}),jsx(Ks,{className:"lg:hidden",currentPage:i,totalPages:P,canGoPrev:N,canGoNext:H,onPrev:B,onNext:J,onPage:s,t:n,compact:true})]})}function Mg({order:e,onCancel:t}){let{t:r}=useTranslation(),n=e.side==="BUY",o=e.price?parseFloat(e.price):0,i=e.in_amount?parseFloat(e.in_amount):o*parseFloat(e.original_size??"0");return jsxs("div",{className:"flex items-center border-b border-border/50 hover:bg-content2/40 transition-colors text-sm",style:{height:Cg},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:jsx("div",{className:"flex flex-col gap-y-0.5 min-w-0",children:jsx("span",{className:"text-foreground truncate font-medium",children:e.outcome??e.market_id??"\u2014"})})}),jsx("div",{className:"flex-1 pr-2",children:jsx("span",{className:cn$1("text-sm font-medium",n?"text-success":"text-danger"),children:r(n?"predict.profile.buy":"predict.profile.sell")})}),jsx("div",{className:"flex-1 pr-2 text-neutral capitalize text-sm",children:e.order_type??"limit"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:o>0?js(o):"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:i>0?`$${i.toFixed(2)}`:"\u2014"})]})}function Eg({order:e,onCancel:t}){let{t:r}=useTranslation(),n=e.side==="BUY",o=e.price?parseFloat(e.price):0;return jsxs("div",{className:"rounded-lg border border-border bg-content1 p-3 flex flex-col gap-2",children:[jsxs("div",{className:"flex items-center justify-between",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("span",{className:cn$1("text-xs font-medium px-1.5 py-0.5 rounded",n?"bg-success/10 text-success":"bg-danger/10 text-danger"),children:e.side}),jsx("span",{className:"text-sm text-foreground capitalize",children:e.outcome??"\u2014"})]}),jsx("span",{className:"text-xs text-neutral capitalize",children:e.order_type??"limit"})]}),jsxs("div",{className:"flex items-center gap-4 text-xs",children:[jsxs("div",{className:"flex flex-col",children:[jsx("span",{className:"text-neutral",children:r("predict.profile.fillPrice")}),jsx("span",{className:"font-mono text-foreground",children:o>0?js(o):"\u2014"})]}),jsx("div",{className:"flex-1"}),jsx("button",{type:"button",onClick:()=>t(e),className:"text-xs text-danger hover:text-danger/80 cursor-pointer border border-border rounded px-2 py-1",children:r("predict.orders.cancel")})]})]})}function Ks({className:e,currentPage:t,totalPages:r,canGoPrev:n,canGoNext:o,onPrev:i,onNext:s,onPage:l,t:a,compact:c}){return c?jsxs("div",{className:cn$1("flex items-center justify-center gap-3 shrink-0",e),style:{height:Dn},children:[jsx("button",{type:"button",disabled:!n,onClick:i,className:cn$1("text-sm cursor-pointer",n?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2190"}),jsx("span",{className:"text-sm text-foreground tabular-nums",children:t}),jsx("button",{type:"button",disabled:!o,onClick:s,className:cn$1("text-sm cursor-pointer",o?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2192"})]}):jsxs("div",{className:cn$1("flex items-center justify-center gap-2 shrink-0",e),style:{height:Dn},children:[jsxs("button",{type:"button",disabled:!n,onClick:i,className:cn$1("text-sm transition-colors cursor-pointer flex items-center gap-1",n?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:["\u2190 ",a("predict.profile.previous")]}),Array.from({length:Math.min(r,5)},(m,u)=>{let p=u+1;return jsx("button",{type:"button",onClick:()=>l(p),className:cn$1("w-8 h-8 rounded text-sm transition-colors cursor-pointer",p===t?"bg-foreground/10 text-foreground font-medium":"text-neutral hover:text-foreground"),children:p},p)}),jsxs("button",{type:"button",disabled:!o,onClick:s,className:cn$1("text-sm transition-colors cursor-pointer flex items-center gap-1",o?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:[a("predict.profile.next")," \u2192"]})]})}function Tg({message:e,height:t}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:t},children:e})}function Lg({height:e}){return jsx("div",{className:"flex flex-col gap-y-2 py-3 animate-pulse",style:{height:e},children:Array.from({length:6}).map((t,r)=>jsx(Skeleton,{className:"h-12 w-full rounded-md"},r))})}function js(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(t%1===0?0:1)}\xA2`}var Do=10,Og=64,Ys=40,An=48;function Gs({positions:e,isLoading:t,listHeight:r,onClosePosition:n,onEventClick:o}){let{t:i}=useTranslation(),[s,l]=useState(1),a=useCallback(()=>{for(let g of e)n?.(g);},[e,n]);if(t)return jsx(Bg,{height:r});if(e.length===0)return jsx(Fg,{message:i("predict.profile.noPositions"),height:r});let c=Math.max(1,Math.ceil(e.length/Do)),m=(s-1)*Do,u=e.slice(m,m+Do),p=s>1,d=s<c,f=r-Ys-An;return jsxs("div",{className:"flex flex-col",style:{height:r},children:[jsxs("div",{className:"hidden lg:flex items-center text-neutral text-xs font-normal shrink-0 border-b border-border/50",style:{height:Ys},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:i("predict.profile.event")}),jsx("div",{className:"flex-1 pr-2 text-right",children:i("predict.profile.totalSize")}),jsx("div",{className:"flex-1 pr-2 text-right",children:i("predict.profile.value")}),jsx("div",{className:"flex-1 pr-2 text-right",children:i("predict.profile.avgPrice")}),jsx("div",{className:"flex-1 pr-2 text-right",children:i("predict.profile.markPrice")}),jsxs("div",{className:"flex-[1.5] pr-2 text-right",children:[jsx("span",{children:i("predict.profile.pnl")}),jsxs("span",{className:"text-[10px] ml-1 opacity-60",children:["(",i("predict.profile.pnlExcludeFees"),")"]})]}),jsx("div",{className:"flex-1 pr-2 text-right",children:i("predict.profile.payoutIfRight")}),jsx("div",{className:"flex-[1.5] pr-2 text-right",children:i("predict.profile.estSettlement")}),jsx("div",{className:"w-20 shrink-0 text-right",children:n&&e.length>0&&jsx("button",{type:"button",onClick:a,className:"text-xs text-primary hover:text-primary/80 cursor-pointer transition-colors",children:i("predict.profile.closeAll")})})]}),jsx("div",{className:"hidden lg:block overflow-y-auto",style:{height:f},children:u.map((g,h)=>jsx(Dg,{position:g,onClosePosition:n,onEventClick:o},`${g.source}-${g.market?.slug??m+h}`))}),jsxs("div",{className:"hidden lg:flex items-center justify-center gap-2 shrink-0",style:{height:An},children:[jsxs("button",{type:"button",disabled:!p,onClick:()=>l(g=>Math.max(1,g-1)),className:cn$1("text-sm transition-colors cursor-pointer flex items-center gap-1",p?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:["\u2190 ",i("predict.profile.previous")]}),Array.from({length:Math.min(c,5)},(g,h)=>{let v=h+1;return jsx("button",{type:"button",onClick:()=>l(v),className:cn$1("w-8 h-8 rounded text-sm transition-colors cursor-pointer",v===s?"bg-foreground/10 text-foreground font-medium":"text-neutral hover:text-foreground"),children:v},v)}),jsxs("button",{type:"button",disabled:!d,onClick:()=>l(g=>g+1),className:cn$1("text-sm transition-colors cursor-pointer flex items-center gap-1",d?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:[i("predict.profile.next")," \u2192"]})]}),jsx("div",{className:"lg:hidden flex flex-col gap-2 overflow-y-auto py-2",style:{height:r-An},children:u.map((g,h)=>jsx(Ag,{position:g,onClose:n,onEventClick:o},`${g.source}-${g.market?.slug??`m-${m+h}`}`))}),jsxs("div",{className:"lg:hidden flex items-center justify-center gap-3 shrink-0",style:{height:An},children:[jsx("button",{type:"button",disabled:!p,onClick:()=>l(g=>Math.max(1,g-1)),className:cn$1("text-sm cursor-pointer",p?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2190"}),jsx("span",{className:"text-sm text-foreground tabular-nums",children:s}),jsx("button",{type:"button",disabled:!d,onClick:()=>l(g=>g+1),className:cn$1("text-sm cursor-pointer",d?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2192"})]})]})}function Dg({position:e,onClosePosition:t,onEventClick:r}){let{t:n}=useTranslation(),o=e.pnl??0,i=e.pnl_percent??0,s=e.avg_price??0,l=e.current_price??0,a=e.current_value??e.size*l,c=e.size,m=o>0?"text-success":o<0?"text-danger":"text-foreground",u=o>0?"+":"",p=e.event?.title??e.market?.question??"\u2014",d=e.event?.image_url,f=e.side,g=e.market?.outcomes?.[0]?.label??"",h=e.market?.end_at?Hg(e.market.end_at):"\u2014";return jsxs("div",{className:"flex items-center border-b border-border/50 hover:bg-content2/40 transition-colors text-sm",style:{height:Og},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:jsxs("button",{type:"button",className:"flex items-center gap-2.5 min-w-0 cursor-pointer text-left",onClick:()=>e.event&&r?.(e.event),children:[d&&jsx("img",{src:d,alt:"",className:"w-8 h-8 rounded-full object-cover shrink-0"}),jsxs("div",{className:"flex flex-col gap-y-0.5 min-w-0",children:[jsx("span",{className:"text-foreground truncate font-medium text-sm",children:p}),jsxs("span",{className:"text-[11px] text-neutral",children:[jsx("span",{className:cn$1("font-medium",f.toLowerCase()==="yes"?"text-success":"text-danger"),children:f}),g&&jsxs(Fragment,{children:[jsx("span",{className:"mx-1",children:"\xB7"}),jsx("span",{children:g})]})]})]})]})}),jsx("div",{className:"flex-1 pr-2 text-right",children:jsxs("div",{className:"flex flex-col items-end",children:[jsxs("span",{className:"font-mono text-foreground",children:["$",a.toFixed(2)]}),jsx("span",{className:"text-[10px] text-neutral",children:n("predict.profile.contracts",{count:Nr(e.size)})})]})}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:["$",(e.size*s).toFixed(2)]}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:Ao(s)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:Ao(l)}),jsxs("div",{className:cn$1("flex-[1.5] pr-2 text-right font-mono",m),children:[jsxs("span",{children:[u,"$",Math.abs(o).toFixed(2)]}),jsxs("span",{className:"text-[10px] ml-0.5 opacity-70",children:["(",u,i.toFixed(2),"%)"]})]}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:["$",c.toFixed(2)]}),jsx("div",{className:"flex-[1.5] pr-2 text-right text-neutral whitespace-nowrap text-xs",children:h}),jsx("div",{className:"w-20 shrink-0 text-right",children:t&&jsxs("button",{type:"button",onClick:()=>t(e),className:"inline-flex items-center gap-1 text-xs text-neutral hover:text-foreground cursor-pointer transition-colors",children:[jsx("span",{className:"text-danger",children:"\u2715"}),n("predict.profile.close")]})})]})}function Ag({position:e,onClose:t,onEventClick:r}){let{t:n}=useTranslation(),o=e.pnl??0,i=e.pnl_percent??0,s=e.current_price??0,l=o>0?"text-success":o<0?"text-danger":"text-foreground",a=o>0?"+":"",c=e.event?.title??e.market?.question??"\u2014";return jsxs("div",{className:"rounded-lg border border-border bg-content1 p-3 flex flex-col gap-2",children:[jsxs("button",{type:"button",className:"flex items-start justify-between gap-2 text-left cursor-pointer",onClick:()=>e.event&&r?.(e.event),children:[jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.event?.image_url&&jsx("img",{src:e.event.image_url,alt:"",className:"w-7 h-7 rounded-full object-cover shrink-0"}),jsx("span",{className:"text-sm font-medium text-foreground line-clamp-2",children:c})]}),jsx("span",{className:cn$1("shrink-0 text-xs font-medium px-1.5 py-0.5 rounded",e.side.toLowerCase()==="yes"?"bg-success/10 text-success":"bg-danger/10 text-danger"),children:e.side})]}),jsxs("div",{className:"flex items-center gap-4 text-xs flex-wrap",children:[jsx(Fn,{label:n("predict.profile.totalSize"),value:Nr(e.size)}),jsx(Fn,{label:n("predict.profile.markPrice"),value:Ao(s)}),jsx(Fn,{label:n("predict.profile.pnl"),value:`${a}$${Math.abs(o).toFixed(2)} (${a}${i.toFixed(1)}%)`,className:l}),jsx(Fn,{label:n("predict.profile.payoutIfRight"),value:`$${e.size.toFixed(2)}`})]}),t&&jsx("div",{className:"flex justify-end",children:jsx("button",{type:"button",onClick:()=>t(e),className:"text-xs text-danger hover:text-danger/80 cursor-pointer transition-colors border border-border rounded px-2 py-1",children:n("predict.profile.close")})})]})}function Fn({label:e,value:t,className:r}){return jsxs("div",{className:"flex flex-col",children:[jsx("span",{className:"text-neutral",children:e}),jsx("span",{className:cn$1("font-mono text-foreground",r),children:t})]})}function Fg({message:e,height:t}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:t},children:e})}function Bg({height:e}){return jsx("div",{className:"flex flex-col gap-y-2 py-3 animate-pulse",style:{height:e},children:Array.from({length:6}).map((t,r)=>jsx(Skeleton,{className:"h-12 w-full rounded-md"},r))})}function Ao(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(t%1===0?0:1)}\xA2`}function Hg(e){try{let t=new Date(e),r=t.getHours().toString().padStart(2,"0"),n=t.getMinutes().toString().padStart(2,"0"),o=t.getDate().toString().padStart(2,"0"),i=(t.getMonth()+1).toString().padStart(2,"0"),s=t.getFullYear(),l=t.getTimezoneOffset(),a=l<=0?"+":"-",c=String(Math.abs(Math.floor(l/60))).padStart(2,"0");return `${r}:${n} ${o}/${i}/${s} (${a}${c})`}catch{return "\u2014"}}function Qs({positions:e,trades:t,isLoading:r}){let{t:n}=useTranslation(),o=useMemo(()=>{let l=0,a=0;for(let d of e)l+=d.realized_pnl??0,a+=d.current_value??d.size*(d.current_price??0);let c=0,m=0,u=0;for(let d of t)c+=d.usd_size??0,d.type==="REDEEM"&&(u++,(d.usd_size??0)>0&&m++);let p=u>0?`${m} / ${u}`:"0 / 0";return {realizedPnl:l,positionsValue:a,volume:c,winRateStr:p}},[e,t]),i=o.realizedPnl>0?"text-success":o.realizedPnl<0?"text-danger":"text-foreground",s=o.realizedPnl>0?"+":"";return jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 py-8",children:[jsxs("div",{className:"flex flex-col gap-1",children:[jsx("span",{className:"text-xl text-neutral",children:n("predict.profile.realizedPnl")}),r?jsx(Skeleton,{className:"h-14 w-48 rounded-md"}):jsxs("span",{className:cn$1("text-5xl font-bold tabular-nums",i),children:[s,"$",Math.abs(o.realizedPnl).toFixed(2)]})]}),jsxs("div",{className:"flex items-end gap-8 sm:gap-10",children:[jsx(Bo,{label:n("predict.profile.winRate"),value:o.winRateStr,isLoading:r}),jsx(Bo,{label:n("predict.profile.positions"),value:`$${o.positionsValue.toFixed(2)}`,isLoading:r}),jsx(Bo,{label:n("predict.profile.volume"),value:`$${o.volume.toFixed(2)}`,isLoading:r})]})]})}function Bo({label:e,value:t,isLoading:r}){return jsxs("div",{className:"flex flex-col items-end gap-0.5",children:[jsx("span",{className:"text-sm text-neutral whitespace-nowrap",children:e}),r?jsx(Skeleton,{className:"h-6 w-14 rounded-md"}):jsx("span",{className:"text-base font-semibold tabular-nums text-foreground",children:t})]})}var Ho=600;function Yg({solanaAddress:e,evmAddress:t,onClosePosition:r,onEventClick:n}){let{t:o}=useTranslation(),[i,s]=useState("positions"),l=!!(e||t),{data:a,isLoading:c}=usePositions({source:"kalshi",user:e??""}),{data:m,isLoading:u}=usePositions({source:"polymarket",user:t??""}),p=useMemo(()=>{let S=[];return a?.positions&&S.push(...a.positions),m?.positions&&S.push(...m.positions),S},[a,m]),d=c||u,{data:f,isLoading:g}=useInfiniteTrades({source:"kalshi",wallet:e??"",limit:100}),{data:h,isLoading:v}=useInfiniteTrades({source:"polymarket",wallet:t??"",limit:100}),k=useMemo(()=>[...f?.pages?.flatMap(V=>V.items)??[],...h?.pages?.flatMap(V=>V.items)??[]],[f,h]),w=d||g||v,R=p.length,P=[{key:"positions",label:R>0?`${o("predict.profile.positionsTab")} (${R})`:o("predict.profile.positionsTab")},{key:"orders",label:o("predict.profile.openOrdersTab")},{key:"history",label:o("predict.profile.historyTab")}];return l?jsxs("div",{className:"flex flex-col max-w-[1280px] mx-auto w-full px-4 max-sm:px-2",children:[jsx(Qs,{positions:p,trades:k,isLoading:w}),jsx("div",{className:"flex items-center gap-1 border-b border-border",children:P.map(S=>jsx("button",{type:"button",onClick:()=>s(S.key),className:cn$1("px-3 py-3 text-base font-normal transition-colors cursor-pointer whitespace-nowrap",i===S.key?"text-foreground border-b-2 border-foreground":"text-neutral hover:text-foreground"),children:S.label},S.key))}),jsxs("div",{className:"py-2",children:[i==="positions"&&jsx(Gs,{positions:p,isLoading:d,listHeight:Ho,onClosePosition:r,onEventClick:n}),i==="orders"&&jsx(Vs,{solanaAddress:e,evmAddress:t,listHeight:Ho}),i==="history"&&jsx(As,{solanaAddress:e,evmAddress:t,listHeight:Ho})]})]}):jsx("div",{className:"flex items-center justify-center text-sm text-neutral py-24 px-4",children:o("predict.profile.connectWallet")})}function j2({isOpen:e,onClose:t,safeDeployed:r,tokenApproved:n,onDeployAndApprove:o}){let{t:i}=useTranslation(),[s,l]=useState(false),[a,c]=useState(null),[m,u]=useState(false),p=r||m,d=n||m,f=p?"done":s?"running":"pending",g=d?"done":p&&s?"running":"pending",h=p&&d,v=useCallback(async()=>{c(null),u(false),l(true);try{await o(),u(!0);}catch(x){c(x instanceof Error?x.message:String(x));}finally{l(false);}},[o]),k=[{key:"step1",label:i("predict.setup.step1"),desc:i("predict.setup.step1Desc"),status:f},{key:"step2",label:i("predict.setup.step2"),desc:i("predict.setup.step2Desc"),status:g}],w=()=>{h?t():v();},R=i(h?"predict.setup.done":"predict.setup.setupButton");return jsx(StyledModal,{isOpen:e,onOpenChange:x=>{x||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:i("predict.setup.modalTitle")}),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 space-y-4",children:[jsx("p",{className:"text-[13px] text-zinc-400 text-left",children:i("predict.setup.modalDescription")}),jsx("div",{className:"space-y-2.5",children:k.map((x,P)=>jsxs("div",{className:"flex gap-3 rounded-[10px] border border-zinc-700/50 bg-zinc-800/50 px-3 py-3",children:[jsx(Jg,{index:P+1,status:x.status}),jsxs("div",{className:"flex-1 min-w-0 pt-0.5",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("p",{className:"text-sm font-medium text-zinc-200",children:x.label}),jsx("span",{className:`text-[11px] leading-none ${x.status==="done"?"text-[#c7ff2e]":x.status==="running"?"text-[#c7ff2e]/70":"text-zinc-500"}`,children:x.status==="done"?i("predict.setup.stepComplete"):x.status==="running"?i("predict.setup.stepRunning"):i("predict.setup.stepPending")})]}),jsx("p",{className:"text-xs text-zinc-500 mt-1",children:x.desc})]})]},x.key))}),a&&jsx("div",{className:"rounded-[10px] bg-red-500/10 border border-red-500/20 px-3 py-2",children:jsx("p",{className:"text-xs text-red-400",children:a})}),jsx("button",{type:"button",onClick:w,disabled:s,className:h?"w-full py-3 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":"w-full py-3 rounded-[10px] bg-[#c7ff2e] text-zinc-900 text-sm font-semibold hover:bg-[#c7ff2e]/90 transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:s?jsxs("span",{className:"inline-flex items-center gap-2",children:[jsxs("svg",{className:"animate-spin h-4 w-4",viewBox:"0 0 24 24",fill:"none",children:[jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3",className:"opacity-25"}),jsx("path",{d:"M4 12a8 8 0 018-8",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",className:"opacity-75"})]}),i("predict.setup.stepRunning")]}):R}),!h&&jsx("button",{type:"button",onClick:t,className:"w-full py-2.5 rounded-[10px] text-sm 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")})]})]})})})}function Jg({index:e,status:t}){return t==="done"?jsx("span",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-[#c7ff2e]/15 shrink-0",children:jsx("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2.5,strokeLinecap:"round",strokeLinejoin:"round",className:"text-[#c7ff2e]",children:jsx("polyline",{points:"20 6 9 17 4 12"})})}):t==="running"?jsx("span",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-[#c7ff2e]/10 shrink-0",children:jsxs("svg",{className:"animate-spin h-4 w-4 text-[#c7ff2e]",viewBox:"0 0 24 24",fill:"none",children:[jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3",className:"opacity-25"}),jsx("path",{d:"M4 12a8 8 0 018-8",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",className:"opacity-75"})]})}):jsx("span",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-zinc-700/50 text-xs font-bold text-zinc-400 shrink-0",children:e})}
|
|
147
|
-
export{
|
|
146
|
+
`}),jsxs("div",{style:{position:"relative",overflow:"hidden",borderBottom:"1px solid rgba(39,39,42,0.5)"},children:[jsxs("div",{style:{position:"absolute",inset:0,pointerEvents:"none",zIndex:0,overflow:"hidden"},children:[o&&jsx("img",{src:o,alt:"","aria-hidden":"true",style:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover",objectPosition:"center center",opacity:.3,mixBlendMode:"lighten",maskImage:"linear-gradient(to bottom, black 50%, transparent 100%)",WebkitMaskImage:"linear-gradient(to bottom, black 50%, transparent 100%)"}}),jsx("div",{style:{position:"absolute",inset:0,opacity:.025,backgroundImage:"radial-gradient(circle at 1px 1px, rgb(255 255 255) 1px, transparent 0)",backgroundSize:"20px 20px"}})]}),jsx("style",{children:".matches-hero-wrap{padding:40px 16px 32px}@media(min-width:640px){.matches-hero-wrap{padding:48px 24px 40px}}@media(min-width:1024px){.matches-hero-wrap{padding:52px 32px 44px}}"}),jsx("div",{className:"match-fade-in matches-hero-wrap",style:{position:"relative",zIndex:2,maxWidth:1152,margin:"0 auto"},children:jsx(Ma,{stats:p})})]}),jsxs("div",{style:{position:"sticky",top:0,zIndex:40,background:"rgba(10,10,11,0.8)",backdropFilter:"blur(24px)",WebkitBackdropFilter:"blur(24px)",borderBottom:"1px solid rgba(39,39,42,0.5)"},children:[jsx("style",{children:".matches-toolbar-inner{padding:12px 16px}@media(min-width:640px){.matches-toolbar-inner{padding:12px 24px}}@media(min-width:1024px){.matches-toolbar-inner{padding:12px 32px}}"}),jsxs("div",{className:"matches-toolbar-inner",style:{maxWidth:1152,margin:"0 auto",display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,minWidth:0},children:[jsx("div",{className:"hidden sm:flex",style:{alignItems:"center",justifyContent:"center",width:32,height:32,borderRadius:10,background:"linear-gradient(to bottom right, rgba(199,255,46,0.15), rgba(23,201,100,0.15))",border:"1px solid rgba(199,255,46,0.15)",flexShrink:0},children:jsxs("svg",{viewBox:"0 0 24 24",style:{width:16,height:16,color:"#c7ff2e"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"}),jsx("path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"}),jsx("path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"})]})}),jsxs("div",{style:{minWidth:0},children:[jsx("h2",{style:{fontSize:14,fontWeight:600,color:"#fff",margin:0,letterSpacing:"-0.28px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:i(yg[a])}),p&&p.activePairs>0&&jsx("p",{className:"hidden sm:block",style:{fontSize:11,color:"#71717a",margin:0},children:i("predict.matches.pairsFound",{count:p.activePairs})})]})]}),jsx(Ca,{sortBy:a,onSortChange:g,sortAsc:s,onSortAscChange:h,minVolume:m,onMinVolumeChange:u,onRefresh:k})]})]}),jsx("style",{children:".matches-content-wrap{padding:24px 16px 80px}@media(min-width:640px){.matches-content-wrap{padding:32px 24px 80px}}@media(min-width:1024px){.matches-content-wrap{padding:24px 32px 80px}}"}),jsxs("div",{className:"match-fade-in-d2 matches-content-wrap",style:{position:"relative",maxWidth:1152,margin:"0 auto"},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:16,padding:"8px 12px",borderRadius:8,border:"1px solid rgba(39,39,42,0.4)",background:"rgba(24,24,27,0.25)"},children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#52525b",flexShrink:0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"})}),jsxs("p",{style:{fontSize:11,color:"#52525b",lineHeight:1.5,margin:0},children:[jsx("span",{style:{color:"#71717a",fontWeight:500},children:i("predict.matches.experimentalFeature")})," \u2014 ",i("predict.matches.disclaimer")]})]}),jsx(Aa,{ref:f,sortBy:a,sortAsc:s,minVolume:m,onSelect:e,onHover:t,getMarketHref:r,LinkComponent:n,onStatsChange:v})]}),jsx(Sg,{stats:p})]})}function Io(e){return e==null?"-":e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e.toFixed(0)}`}var Pg={polymarket:{text:"#50a2ff",border:"rgba(43,127,255,0.15)",hoverBorder:"rgba(43,127,255,0.3)",bg:"rgba(43,127,255,0.05)",priceColor:"rgba(244,244,245,1)",priceActiveColor:"rgba(244,244,245,1)"},kalshi:{text:"#00d492",border:"rgba(0,212,146,0.15)",hoverBorder:"rgba(0,212,146,0.3)",bg:"rgba(0,212,146,0.05)",priceColor:"#00d492",priceActiveColor:"#00d492"}},Ng={text:"#9ca3af",border:"rgba(156,163,175,0.15)",hoverBorder:"rgba(156,163,175,0.3)",bg:"rgba(156,163,175,0.05)",priceColor:"rgba(244,244,245,1)",priceActiveColor:"rgba(244,244,245,1)"};function Cg(e){return Pg[e]??Ng}function Mg(e){if(!e.matched_markets?.length)return null;let t=null,r=-1;for(let n of e.matched_markets){let o=n.spread??0;o>r&&(r=o,t=n);}return t}function Eg(e,t){let r=e.entries.find(l=>l.source===(t?.source_a??e.entries[0]?.source)),n=e.entries.find(l=>l.source===(t?.source_b??e.entries[1]?.source)),o=l=>{if(!l?.outcomes?.[0])return {name:null,price:null};let s=l.outcomes[0];return {name:s.label||null,price:s.best_ask??s.price??null}},i=o(t?.market_a),a=o(t?.market_b);return [{source:t?.source_a??r?.source??"unknown",outcomeName:i.name,yesPrice:i.price,volume:r?.event?.volume??null,event:r?.event},{source:t?.source_b??n?.source??"unknown",outcomeName:a.name,yesPrice:a.price,volume:n?.event?.volume??null,event:n?.event}]}function L2({group:e,onSelectEntry:t,getEventHref:r,LinkComponent:n}){let {t:o}=useTranslation(),i=useMemo(()=>Mg(e),[e]),a=e.max_spread!=null?e.max_spread*100:null,[l,s]=useMemo(()=>Eg(e,i),[e,i]),c=a!=null&&a>=3;l.yesPrice!=null&&s.yesPrice!=null?l.source==="kalshi"?l.yesPrice>s.yesPrice:s.yesPrice>l.yesPrice:false;let u=l.yesPrice!=null&&s.yesPrice!=null?l.yesPrice<=s.yesPrice?l:s:null,p=u?ht(u.source):null,d=c?"amber":"violet";return jsxs("div",{className:"group",style:{borderRadius:16,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",overflow:"hidden",transition:"all 0.2s",position:"relative"},onMouseEnter:f=>{let g=f.currentTarget;g.style.borderColor="rgba(63,63,70,0.6)",g.style.boxShadow="0 10px 15px -3px rgba(0,0,0,0.2)";},onMouseLeave:f=>{let g=f.currentTarget;g.style.borderColor="rgba(39,39,42,0.6)",g.style.boxShadow="none";},children:[a!=null&&jsxs("span",{style:{position:"absolute",top:12,right:12,zIndex:10,display:"inline-flex",alignItems:"center",gap:4,borderRadius:10,padding:"4px 10px",fontSize:12,fontWeight:600,border:`1px solid ${c?"rgba(255,185,0,0.3)":a>=2?"rgba(166,132,255,0.3)":"rgba(156,163,175,0.3)"}`,background:c?"rgba(255,185,0,0.15)":a>=2?"rgba(166,132,255,0.15)":"rgba(156,163,175,0.12)",color:c?"#ffb900":a>=2?"#a684ff":"#9ca3af"},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:"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"})}),a.toFixed(1),"%"]}),jsxs("div",{style:{padding:16},children:[jsx("h3",{style:{fontSize:14,fontWeight:600,lineHeight:1.375,letterSpacing:"-0.28px",color:"#f4f4f5",overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",paddingRight:80,margin:"0 0 16px"},children:e.title}),jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[jsx(za,{data:l,isCheaper:u===l,onSelect:t,getEventHref:r,LinkComponent:n}),jsx(za,{data:s,isCheaper:u===s,onSelect:t,getEventHref:r,LinkComponent:n})]}),u&&p&&a!=null&&jsxs("div",{style:{marginTop:12,padding:"8px 12px",borderRadius:10,display:"flex",alignItems:"center",gap:8,cursor:"pointer",transition:"all 0.15s",border:`1px solid ${d==="amber"?"rgba(255,185,0,0.15)":"rgba(166,132,255,0.15)"}`,background:d==="amber"?"rgba(255,185,0,0.05)":"rgba(166,132,255,0.05)"},onClick:()=>u.event&&t?.(u.event),children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,flexShrink:0,color:d==="amber"?"#ffb900":"#a684ff"},fill:"none",stroke:"currentColor",strokeWidth:"2",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"})}),jsx("span",{style:{fontSize:11,fontWeight:500,color:d==="amber"?"rgba(255,185,0,0.9)":"rgba(166,132,255,0.9)"},children:o("predict.matches.buyEdge",{platform:u.source.charAt(0).toUpperCase()+u.source.slice(1),spread:a.toFixed(1)})}),jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12,marginLeft:"auto",color:d==="amber"?"rgba(255,185,0,0.5)":"rgba(166,132,255,0.5)"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M5 12h14"}),jsx("path",{d:"m12 5 7 7-7 7"})]})]})]}),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.2)",padding:"10px 16px"},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: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"})]}),Io(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:12,height:12},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"})}),Io(e.combined_volume_24h)," ",o("predict.matches.vol24h")]})]}),e.confidence!=null&&jsxs("span",{style:{display:"flex",alignItems:"center",gap:4,fontSize:10,color:"#52525b"},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"})}),Math.round(e.confidence*100),"%"," ",o("predict.matches.match")]})]})]})}function za({data:e,isCheaper:t,onSelect:r,getEventHref:n,LinkComponent:o}){let{t:i}=useTranslation(),a=ht(e.source),l=Cg(e.source),s=e.event?n?.(e.event):void 0,c=jsxs("div",{style:{borderRadius:14,border:`1px solid ${l.border}`,background:l.bg,padding:12,cursor:s||r?"pointer":void 0,transition:"border-color 0.15s"},onMouseEnter:m=>{m.currentTarget.style.borderColor=l.hoverBorder;},onMouseLeave:m=>{m.currentTarget.style.borderColor=l.border;},onClick:()=>e.event&&r?.(e.event),children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:8},children:[a.icon,jsx("span",{style:{fontSize:10,fontWeight:600,letterSpacing:"0.05em",color:l.text,textTransform:"uppercase"},children:a.label}),jsxs("svg",{viewBox:"0 0 24 24",className:"opacity-0 group-hover:opacity-100 transition-opacity",style:{width:10,height:10,color:"#52525b",marginLeft:"auto"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M7 7h10v10"}),jsx("path",{d:"M7 17 17 7"})]})]}),e.outcomeName&&jsx("div",{style:{fontSize:10,color:"#71717a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginBottom:8},children:e.outcomeName}),jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:6},children:[jsx("span",{style:{fontSize:20,fontWeight:700,fontVariantNumeric:"tabular-nums",color:t?l.priceActiveColor:l.priceColor},children:e.yesPrice!=null?(e.yesPrice*100).toFixed(1):"-"}),jsx("span",{style:{fontSize:10,color:"#71717a"},children:i("predict.matches.centsYes")})]}),jsxs("div",{style:{fontSize:10,color:"#52525b",marginTop:6},children:[Io(e.volume)," ",i("predict.matches.volume")]})]});return s&&o?jsx(o,{href:s,className:"block",children:c}):c}function _g(e){return e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${(e/1e3).toFixed(1)}K`:`$${e.toFixed(0)}`}function D2({matches:e,total:t}){let{t:r}=useTranslation(),n=useMemo(()=>{let o=0,i=0,a=new Set;for(let l of e){l.max_spread!=null&&l.max_spread>o&&(o=l.max_spread),l.combined_volume!=null&&(i+=l.combined_volume);for(let s of l.entries)a.add(typeof s.source=="string"?s.source:"");}return {count:t??e.length,maxSpread:o,totalVolume:i,platformCount:a.size}},[e,t]);return jsxs("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-2 rounded-xl border border-border/60 bg-background/50 px-4 py-3 text-sm",children:[jsx(Fn,{label:r("predict.matches.stats.matchedMarkets"),value:n.count.toLocaleString()}),jsx(Oo,{}),jsx(Fn,{label:r("predict.matches.stats.totalVolume"),value:_g(n.totalVolume)}),jsx(Oo,{}),jsx(Fn,{label:r("predict.matches.stats.highestSpread"),value:`${(n.maxSpread*100).toFixed(1)}\xA2`,valueClassName:"text-green-400"}),jsx(Oo,{}),jsx(Fn,{label:r("predict.matches.stats.platforms"),value:String(n.platformCount)})]})}function Fn({label:e,value:t,valueClassName:r="text-slate-200"}){return jsxs("div",{className:"flex items-center gap-x-1.5",children:[jsxs("span",{className:"text-neutral-500",children:[e,":"]}),jsx("span",{className:`font-semibold ${r}`,children:t})]})}function Oo(){return jsx("span",{className:"hidden text-neutral-700 sm:inline",children:"|"})}function Wa(e){return `${(e*100).toFixed(1)}\xA2`}function Rg(e){return e>=.05?"text-green-400":e>=.02?"text-yellow-400":"text-neutral-400"}function z2({spread:e,arbProfit:t,className:r}){if(e==null)return null;let n=t!=null&&t>0;return jsxs("div",{className:cn$1("flex items-center gap-x-2",r),children:[jsx("span",{className:cn$1("text-sm font-semibold",Rg(e)),children:Wa(e)}),n&&jsxs("span",{className:"text-xs text-green-500/80",children:["+",Wa(t)]})]})}var Wr=10,Bg=64,ja=40,Bn=48;function Ya({solanaAddress:e,evmAddress:t,listHeight:r}){let{t:n}=useTranslation(),[o,i]=useState(1),{data:a,isLoading:l,fetchNextPage:s,hasNextPage:c,isFetchingNextPage:m}=useInfiniteTrades({source:"kalshi",wallet:e??"",limit:50}),{data:u,isLoading:p,fetchNextPage:d,hasNextPage:f,isFetchingNextPage:g}=useInfiniteTrades({source:"polymarket",wallet:t??"",limit:50}),h=l||p,v=m||g,k=c||f,w=useMemo(()=>{let L=[];return a?.pages&&L.push(...a.pages.flatMap(E=>E.items)),u?.pages&&L.push(...u.pages.flatMap(E=>E.items)),L.sort((E,O)=>(O.timestamp??0)-(E.timestamp??0)),L},[a,u]),R=Math.max(1,Math.ceil(w.length/Wr)+(k?1:0)),x=(o-1)*Wr,N=w.slice(x,x+Wr),S=useCallback(()=>{i(L=>Math.max(1,L-1));},[]),K=useCallback(async()=>{o*Wr>=w.length&&k&&(c&&await s(),f&&await d()),i(E=>E+1);},[o,w.length,k,c,f,s,d]),A=o>1,Q=o*Wr<w.length||k;if(h)return jsx(Kg,{height:r});if(w.length===0&&!k)return jsx(Ug,{message:n("predict.profile.noHistory"),height:r});let P=r-ja-Bn;return jsxs("div",{className:"flex flex-col",style:{height:r},children:[jsxs("div",{className:"hidden lg:flex items-center text-neutral text-xs font-normal shrink-0 border-b border-border/50",style:{height:ja},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:n("predict.profile.event")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.profile.action")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.profile.status")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.profile.price")}),jsx("div",{className:"flex-[1.5] pr-2 text-right",children:n("predict.profile.depositWithdraw")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.profile.pnl")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.profile.fee")}),jsx("div",{className:"w-10 shrink-0"})]}),jsxs("div",{className:"hidden lg:block overflow-y-auto",style:{height:P},children:[N.map((L,E)=>jsx(zg,{trade:L},L.id??`${x+E}`)),v&&jsx("div",{className:"flex justify-center items-center py-4",children:jsx(Spinner,{size:"sm"})})]}),jsxs("div",{className:"hidden lg:flex items-center justify-center gap-2 shrink-0",style:{height:Bn},children:[jsxs("button",{type:"button",disabled:!A,onClick:S,className:cn$1("text-sm transition-colors cursor-pointer flex items-center gap-1",A?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:["\u2190 ",n("predict.profile.previous")]}),Array.from({length:Math.min(R,5)},(L,E)=>{let O=E+1;return jsx("button",{type:"button",onClick:()=>i(O),className:cn$1("w-8 h-8 rounded text-sm transition-colors cursor-pointer",O===o?"bg-foreground/10 text-foreground font-medium":"text-neutral hover:text-foreground"),children:O},O)}),jsxs("button",{type:"button",disabled:!Q,onClick:K,className:cn$1("text-sm transition-colors cursor-pointer flex items-center gap-1",Q?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:[n("predict.profile.next")," \u2192"]})]}),jsx("div",{className:"lg:hidden flex flex-col gap-2 overflow-y-auto py-2",style:{height:r-Bn},children:N.map((L,E)=>jsx(Hg,{trade:L},L.id??`m-${x+E}`))}),jsxs("div",{className:"lg:hidden flex items-center justify-center gap-3 shrink-0",style:{height:Bn},children:[jsx("button",{type:"button",disabled:!A,onClick:S,className:cn$1("text-sm cursor-pointer",A?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2190"}),jsx("span",{className:"text-sm text-foreground tabular-nums",children:o}),jsx("button",{type:"button",disabled:!Q,onClick:K,className:cn$1("text-sm cursor-pointer",Q?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2192"})]})]})}function zg({trade:e}){let{t}=useTranslation(),r=e.type==="REDEEM",n=e.side?.toUpperCase()==="BUY",o=e.price??0,i=e.usd_size??0,a=Ga(e.type,t),l=r||n,s=l?"+":"-",c=l?"text-success":"text-foreground",m=e.event?.title??e.market?.question??"\u2014",u=e.event?.image_url,p=e.outcome??"",d=Ja(e.timestamp),f=qa(e),g=$g(e),h=Wg(e);return jsxs("div",{className:"flex items-center border-b border-border/50 hover:bg-content2/40 transition-colors text-sm",style:{height:Bg},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:jsxs("div",{className:"flex items-center gap-2.5 min-w-0",children:[u&&jsx("img",{src:u,alt:"",className:"w-8 h-8 rounded-full object-cover shrink-0"}),jsxs("div",{className:"flex flex-col gap-y-0.5 min-w-0",children:[jsx("span",{className:"text-foreground truncate font-medium text-sm",children:m}),jsxs("span",{className:"text-[11px] text-neutral",children:[p&&jsx("span",{className:"mr-1",children:p}),jsx("span",{children:d})]})]})]})}),jsx("div",{className:"flex-1 pr-2",children:jsx("span",{className:cn$1("text-sm font-medium",r?"text-primary":n?"text-success":"text-danger"),children:t(r?"predict.profile.redeem":n?"predict.profile.buy":"predict.profile.sell")})}),jsx("div",{className:"flex-1 pr-2 text-sm text-foreground",children:a}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:Xa(o)}),jsx("div",{className:cn$1("flex-[1.5] pr-2 text-right font-mono",c),children:i>0?jsxs(Fragment,{children:[s,"$",i.toFixed(2)]}):"\u2014"}),jsx("div",{className:cn$1("flex-1 pr-2 text-right font-mono",g!==null?g>=0?"text-success":"text-danger":"text-neutral"),children:g!==null?`${g>=0?"+":"-"}$${Math.abs(g).toFixed(2)}`:"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-neutral",children:h!==null?`$${h.toFixed(2)}`:"\u2014"}),jsx("div",{className:"w-10 shrink-0 text-right",children:f&&jsx("a",{href:f,target:"_blank",rel:"noopener noreferrer",className:"text-neutral hover:text-foreground transition-colors","aria-label":"View transaction",children:jsx(Qa,{})})})]})}function Hg({trade:e}){let{t}=useTranslation(),r=e.type==="REDEEM",n=e.side?.toUpperCase()==="BUY",o=e.price??0,i=e.usd_size??0,a=Ga(e.type,t),l=e.event?.title??e.market?.question??"\u2014",s=Ja(e.timestamp),c=qa(e);return jsxs("div",{className:"rounded-lg border border-border bg-content1 p-3 flex flex-col gap-2",children:[jsxs("div",{className:"flex items-start justify-between gap-2",children:[jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.event?.image_url&&jsx("img",{src:e.event.image_url,alt:"",className:"w-6 h-6 rounded-full object-cover shrink-0"}),jsx("span",{className:"text-sm font-medium text-foreground line-clamp-2",children:l})]}),jsx("span",{className:"text-[11px] text-neutral whitespace-nowrap",children:s})]}),jsxs("div",{className:"flex items-center gap-4 text-xs flex-wrap",children:[jsxs("div",{className:"flex flex-col",children:[jsx("span",{className:"text-neutral",children:t("predict.profile.action")}),jsx("span",{className:cn$1("font-medium",r?"text-primary":n?"text-success":"text-danger"),children:t(r?"predict.profile.redeem":n?"predict.profile.buy":"predict.profile.sell")})]}),jsxs("div",{className:"flex flex-col",children:[jsx("span",{className:"text-neutral",children:t("predict.profile.status")}),jsx("span",{className:"text-foreground",children:a})]}),jsxs("div",{className:"flex flex-col",children:[jsx("span",{className:"text-neutral",children:t("predict.profile.price")}),jsx("span",{className:"font-mono text-foreground",children:Xa(o)})]}),jsxs("div",{className:"flex flex-col",children:[jsx("span",{className:"text-neutral",children:t("predict.profile.depositWithdraw")}),jsx("span",{className:"font-mono text-foreground",children:i>0?`$${i.toFixed(2)}`:"\u2014"})]}),c&&jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:"ml-auto text-neutral hover:text-foreground transition-colors",children:jsx(Qa,{})})]})]})}function Ga(e,t){switch(e){case "TRADE":return t("predict.profile.filled");case "REDEEM":return t("predict.profile.claimed");case "SPLIT":case "MERGE":case "CONVERSION":return t("predict.profile.created");default:return e}}function qa(e){if(e.tx_hash)return e.source==="polymarket"?`https://polygonscan.com/tx/${e.tx_hash}`:`https://solscan.io/tx/${e.tx_hash}`}function $g(e){let t=e.provider_meta;if(t){let r=t.pnl??t.profit??t.realized_pnl??t["dflow.pnl"];if(typeof r=="number")return r;if(typeof r=="string"&&r!==""){let n=parseFloat(r);if(!Number.isNaN(n))return n}}return e.type==="REDEEM"&&e.usd_size!=null?e.usd_size:null}function Wg(e){let t=e.provider_meta;if(t){let r=t.fee??t.fees??t.trading_fee??t["dflow.fee"];if(typeof r=="number")return r;if(typeof r=="string"&&r!==""){let n=parseFloat(r);if(!Number.isNaN(n))return n}}return null}function Qa(){return jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),jsx("polyline",{points:"15 3 21 3 21 9"}),jsx("line",{x1:"10",y1:"14",x2:"21",y2:"3"})]})}function Ug({message:e,height:t}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:t},children:e})}function Kg({height:e}){return jsx("div",{className:"flex flex-col gap-y-2 py-3 animate-pulse",style:{height:e},children:Array.from({length:6}).map((t,r)=>jsx(Skeleton,{className:"h-12 w-full rounded-md"},r))})}function Xa(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(t%1===0?0:1)}\xA2`}function Ja(e){let t=new Date(e*1e3),r=t.getHours().toString().padStart(2,"0"),n=t.getMinutes().toString().padStart(2,"0"),o=t.getDate().toString().padStart(2,"0"),i=(t.getMonth()+1).toString().padStart(2,"0"),a=t.getFullYear(),l=t.getTimezoneOffset(),s=l<=0?"+":"-",c=String(Math.abs(Math.floor(l/60))).padStart(2,"0");return `${r}:${n} ${o}/${i}/${a} (${s}${c})`}var Ur=10,Xg=64,el=40,zn=48;function rl({solanaAddress:e,evmAddress:t,listHeight:r}){let{t:n}=useTranslation(),o=useCancelOrder(),[i,a]=useState(1),{data:l,isLoading:s,fetchNextPage:c,hasNextPage:m,isFetchingNextPage:u}=useInfiniteOrders({source:"kalshi",wallet_address:e??""}),{data:p,isLoading:d,fetchNextPage:f,hasNextPage:g,isFetchingNextPage:h}=useInfiniteOrders({source:"polymarket",wallet_address:t??""}),v=s||d,k=u||h,w=m||g,R=useMemo(()=>{let O=[],de=new Set(["live","open","submitted","pending"]);return l?.pages&&O.push(...l.pages.flatMap(U=>U.items).filter(U=>de.has(U.status))),p?.pages&&O.push(...p.pages.flatMap(U=>U.items).filter(U=>de.has(U.status))),O},[l,p]),x=useCallback(O=>{o.mutate({source:O.source,id:O.id});},[o]),N=Math.max(1,Math.ceil(R.length/Ur)+(w?1:0)),S=(i-1)*Ur,K=R.slice(S,S+Ur),A=useCallback(()=>{a(O=>Math.max(1,O-1));},[]),Q=useCallback(async()=>{i*Ur>=R.length&&w&&(m&&await c(),g&&await f()),a(de=>de+1);},[i,R.length,w,m,g,c,f]),P=i>1,L=i*Ur<R.length||w;if(v)return jsx(t0,{height:r});if(R.length===0&&!w)return jsx(e0,{message:n("predict.profile.noOrders"),height:r});let E=r-el-zn;return jsxs("div",{className:"flex flex-col",style:{height:r},children:[jsxs("div",{className:"hidden lg:flex items-center text-neutral text-xs font-normal shrink-0 border-b border-border/50",style:{height:el},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:n("predict.profile.event")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.profile.action")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.profile.type")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.profile.fillPrice")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.profile.cost")})]}),jsxs("div",{className:"hidden lg:block overflow-y-auto",style:{height:E},children:[K.map(O=>jsx(Jg,{order:O,onCancel:x},O.id)),k&&jsx("div",{className:"flex justify-center items-center py-4",children:jsx(Spinner,{size:"sm"})})]}),jsx(tl,{className:"hidden lg:flex",currentPage:i,totalPages:N,canGoPrev:P,canGoNext:L,onPrev:A,onNext:Q,onPage:a,t:n}),jsx("div",{className:"lg:hidden flex flex-col gap-2 overflow-y-auto py-2",style:{height:r-zn},children:K.map(O=>jsx(Zg,{order:O,onCancel:x},O.id))}),jsx(tl,{className:"lg:hidden",currentPage:i,totalPages:N,canGoPrev:P,canGoNext:L,onPrev:A,onNext:Q,onPage:a,t:n,compact:true})]})}function Jg({order:e,onCancel:t}){let{t:r}=useTranslation(),n=e.side==="BUY",o=e.price?parseFloat(e.price):0,i=e.in_amount?parseFloat(e.in_amount):o*parseFloat(e.original_size??"0");return jsxs("div",{className:"flex items-center border-b border-border/50 hover:bg-content2/40 transition-colors text-sm",style:{height:Xg},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:jsx("div",{className:"flex flex-col gap-y-0.5 min-w-0",children:jsx("span",{className:"text-foreground truncate font-medium",children:e.outcome??e.market_id??"\u2014"})})}),jsx("div",{className:"flex-1 pr-2",children:jsx("span",{className:cn$1("text-sm font-medium",n?"text-success":"text-danger"),children:r(n?"predict.profile.buy":"predict.profile.sell")})}),jsx("div",{className:"flex-1 pr-2 text-neutral capitalize text-sm",children:e.order_type??"limit"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:o>0?nl(o):"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:i>0?`$${i.toFixed(2)}`:"\u2014"})]})}function Zg({order:e,onCancel:t}){let{t:r}=useTranslation(),n=e.side==="BUY",o=e.price?parseFloat(e.price):0;return jsxs("div",{className:"rounded-lg border border-border bg-content1 p-3 flex flex-col gap-2",children:[jsxs("div",{className:"flex items-center justify-between",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("span",{className:cn$1("text-xs font-medium px-1.5 py-0.5 rounded",n?"bg-success/10 text-success":"bg-danger/10 text-danger"),children:e.side}),jsx("span",{className:"text-sm text-foreground capitalize",children:e.outcome??"\u2014"})]}),jsx("span",{className:"text-xs text-neutral capitalize",children:e.order_type??"limit"})]}),jsxs("div",{className:"flex items-center gap-4 text-xs",children:[jsxs("div",{className:"flex flex-col",children:[jsx("span",{className:"text-neutral",children:r("predict.profile.fillPrice")}),jsx("span",{className:"font-mono text-foreground",children:o>0?nl(o):"\u2014"})]}),jsx("div",{className:"flex-1"}),jsx("button",{type:"button",onClick:()=>t(e),className:"text-xs text-danger hover:text-danger/80 cursor-pointer border border-border rounded px-2 py-1",children:r("predict.orders.cancel")})]})]})}function tl({className:e,currentPage:t,totalPages:r,canGoPrev:n,canGoNext:o,onPrev:i,onNext:a,onPage:l,t:s,compact:c}){return c?jsxs("div",{className:cn$1("flex items-center justify-center gap-3 shrink-0",e),style:{height:zn},children:[jsx("button",{type:"button",disabled:!n,onClick:i,className:cn$1("text-sm cursor-pointer",n?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2190"}),jsx("span",{className:"text-sm text-foreground tabular-nums",children:t}),jsx("button",{type:"button",disabled:!o,onClick:a,className:cn$1("text-sm cursor-pointer",o?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2192"})]}):jsxs("div",{className:cn$1("flex items-center justify-center gap-2 shrink-0",e),style:{height:zn},children:[jsxs("button",{type:"button",disabled:!n,onClick:i,className:cn$1("text-sm transition-colors cursor-pointer flex items-center gap-1",n?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:["\u2190 ",s("predict.profile.previous")]}),Array.from({length:Math.min(r,5)},(m,u)=>{let p=u+1;return jsx("button",{type:"button",onClick:()=>l(p),className:cn$1("w-8 h-8 rounded text-sm transition-colors cursor-pointer",p===t?"bg-foreground/10 text-foreground font-medium":"text-neutral hover:text-foreground"),children:p},p)}),jsxs("button",{type:"button",disabled:!o,onClick:a,className:cn$1("text-sm transition-colors cursor-pointer flex items-center gap-1",o?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:[s("predict.profile.next")," \u2192"]})]})}function e0({message:e,height:t}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:t},children:e})}function t0({height:e}){return jsx("div",{className:"flex flex-col gap-y-2 py-3 animate-pulse",style:{height:e},children:Array.from({length:6}).map((t,r)=>jsx(Skeleton,{className:"h-12 w-full rounded-md"},r))})}function nl(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(t%1===0?0:1)}\xA2`}var zo=10,i0=64,ol=40,Hn=48;function il({positions:e,isLoading:t,listHeight:r,onClosePosition:n,onEventClick:o}){let{t:i}=useTranslation(),[a,l]=useState(1),s=useCallback(()=>{for(let g of e)n?.(g);},[e,n]);if(t)return jsx(c0,{height:r});if(e.length===0)return jsx(l0,{message:i("predict.profile.noPositions"),height:r});let c=Math.max(1,Math.ceil(e.length/zo)),m=(a-1)*zo,u=e.slice(m,m+zo),p=a>1,d=a<c,f=r-ol-Hn;return jsxs("div",{className:"flex flex-col",style:{height:r},children:[jsxs("div",{className:"hidden lg:flex items-center text-neutral text-xs font-normal shrink-0 border-b border-border/50",style:{height:ol},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:i("predict.profile.event")}),jsx("div",{className:"flex-1 pr-2 text-right",children:i("predict.profile.totalSize")}),jsx("div",{className:"flex-1 pr-2 text-right",children:i("predict.profile.value")}),jsx("div",{className:"flex-1 pr-2 text-right",children:i("predict.profile.avgPrice")}),jsx("div",{className:"flex-1 pr-2 text-right",children:i("predict.profile.markPrice")}),jsxs("div",{className:"flex-[1.5] pr-2 text-right",children:[jsx("span",{children:i("predict.profile.pnl")}),jsxs("span",{className:"text-[10px] ml-1 opacity-60",children:["(",i("predict.profile.pnlExcludeFees"),")"]})]}),jsx("div",{className:"flex-1 pr-2 text-right",children:i("predict.profile.payoutIfRight")}),jsx("div",{className:"flex-[1.5] pr-2 text-right",children:i("predict.profile.estSettlement")}),jsx("div",{className:"w-20 shrink-0 text-right",children:n&&e.length>0&&jsx("button",{type:"button",onClick:s,className:"text-xs text-primary hover:text-primary/80 cursor-pointer transition-colors",children:i("predict.profile.closeAll")})})]}),jsx("div",{className:"hidden lg:block overflow-y-auto",style:{height:f},children:u.map((g,h)=>jsx(s0,{position:g,onClosePosition:n,onEventClick:o},`${g.source}-${g.market?.slug??m+h}`))}),jsxs("div",{className:"hidden lg:flex items-center justify-center gap-2 shrink-0",style:{height:Hn},children:[jsxs("button",{type:"button",disabled:!p,onClick:()=>l(g=>Math.max(1,g-1)),className:cn$1("text-sm transition-colors cursor-pointer flex items-center gap-1",p?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:["\u2190 ",i("predict.profile.previous")]}),Array.from({length:Math.min(c,5)},(g,h)=>{let v=h+1;return jsx("button",{type:"button",onClick:()=>l(v),className:cn$1("w-8 h-8 rounded text-sm transition-colors cursor-pointer",v===a?"bg-foreground/10 text-foreground font-medium":"text-neutral hover:text-foreground"),children:v},v)}),jsxs("button",{type:"button",disabled:!d,onClick:()=>l(g=>g+1),className:cn$1("text-sm transition-colors cursor-pointer flex items-center gap-1",d?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:[i("predict.profile.next")," \u2192"]})]}),jsx("div",{className:"lg:hidden flex flex-col gap-2 overflow-y-auto py-2",style:{height:r-Hn},children:u.map((g,h)=>jsx(a0,{position:g,onClose:n,onEventClick:o},`${g.source}-${g.market?.slug??`m-${m+h}`}`))}),jsxs("div",{className:"lg:hidden flex items-center justify-center gap-3 shrink-0",style:{height:Hn},children:[jsx("button",{type:"button",disabled:!p,onClick:()=>l(g=>Math.max(1,g-1)),className:cn$1("text-sm cursor-pointer",p?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2190"}),jsx("span",{className:"text-sm text-foreground tabular-nums",children:a}),jsx("button",{type:"button",disabled:!d,onClick:()=>l(g=>g+1),className:cn$1("text-sm cursor-pointer",d?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2192"})]})]})}function s0({position:e,onClosePosition:t,onEventClick:r}){let{t:n}=useTranslation(),o=e.pnl??0,i=e.pnl_percent??0,a=e.avg_price??0,l=e.current_price??0,s=e.current_value??e.size*l,c=e.size,m=o>0?"text-success":o<0?"text-danger":"text-foreground",u=o>0?"+":"",p=e.event?.title??e.market?.question??"\u2014",d=e.event?.image_url,f=e.side,g=e.market?.outcomes?.[0]?.label??"",h=e.market?.end_at?d0(e.market.end_at):"\u2014";return jsxs("div",{className:"flex items-center border-b border-border/50 hover:bg-content2/40 transition-colors text-sm",style:{height:i0},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:jsxs("button",{type:"button",className:"flex items-center gap-2.5 min-w-0 cursor-pointer text-left",onClick:()=>e.event&&r?.(e.event),children:[d&&jsx("img",{src:d,alt:"",className:"w-8 h-8 rounded-full object-cover shrink-0"}),jsxs("div",{className:"flex flex-col gap-y-0.5 min-w-0",children:[jsx("span",{className:"text-foreground truncate font-medium text-sm",children:p}),jsxs("span",{className:"text-[11px] text-neutral",children:[jsx("span",{className:cn$1("font-medium",f.toLowerCase()==="yes"?"text-success":"text-danger"),children:f}),g&&jsxs(Fragment,{children:[jsx("span",{className:"mx-1",children:"\xB7"}),jsx("span",{children:g})]})]})]})]})}),jsx("div",{className:"flex-1 pr-2 text-right",children:jsxs("div",{className:"flex flex-col items-end",children:[jsxs("span",{className:"font-mono text-foreground",children:["$",s.toFixed(2)]}),jsx("span",{className:"text-[10px] text-neutral",children:n("predict.profile.contracts",{count:Cr(e.size)})})]})}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:["$",(e.size*a).toFixed(2)]}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:Ho(a)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:Ho(l)}),jsxs("div",{className:cn$1("flex-[1.5] pr-2 text-right font-mono",m),children:[jsxs("span",{children:[u,"$",Math.abs(o).toFixed(2)]}),jsxs("span",{className:"text-[10px] ml-0.5 opacity-70",children:["(",u,i.toFixed(2),"%)"]})]}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:["$",c.toFixed(2)]}),jsx("div",{className:"flex-[1.5] pr-2 text-right text-neutral whitespace-nowrap text-xs",children:h}),jsx("div",{className:"w-20 shrink-0 text-right",children:t&&jsxs("button",{type:"button",onClick:()=>t(e),className:"inline-flex items-center gap-1 text-xs text-neutral hover:text-foreground cursor-pointer transition-colors",children:[jsx("span",{className:"text-danger",children:"\u2715"}),n("predict.profile.close")]})})]})}function a0({position:e,onClose:t,onEventClick:r}){let{t:n}=useTranslation(),o=e.pnl??0,i=e.pnl_percent??0,a=e.current_price??0,l=o>0?"text-success":o<0?"text-danger":"text-foreground",s=o>0?"+":"",c=e.event?.title??e.market?.question??"\u2014";return jsxs("div",{className:"rounded-lg border border-border bg-content1 p-3 flex flex-col gap-2",children:[jsxs("button",{type:"button",className:"flex items-start justify-between gap-2 text-left cursor-pointer",onClick:()=>e.event&&r?.(e.event),children:[jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.event?.image_url&&jsx("img",{src:e.event.image_url,alt:"",className:"w-7 h-7 rounded-full object-cover shrink-0"}),jsx("span",{className:"text-sm font-medium text-foreground line-clamp-2",children:c})]}),jsx("span",{className:cn$1("shrink-0 text-xs font-medium px-1.5 py-0.5 rounded",e.side.toLowerCase()==="yes"?"bg-success/10 text-success":"bg-danger/10 text-danger"),children:e.side})]}),jsxs("div",{className:"flex items-center gap-4 text-xs flex-wrap",children:[jsx($n,{label:n("predict.profile.totalSize"),value:Cr(e.size)}),jsx($n,{label:n("predict.profile.markPrice"),value:Ho(a)}),jsx($n,{label:n("predict.profile.pnl"),value:`${s}$${Math.abs(o).toFixed(2)} (${s}${i.toFixed(1)}%)`,className:l}),jsx($n,{label:n("predict.profile.payoutIfRight"),value:`$${e.size.toFixed(2)}`})]}),t&&jsx("div",{className:"flex justify-end",children:jsx("button",{type:"button",onClick:()=>t(e),className:"text-xs text-danger hover:text-danger/80 cursor-pointer transition-colors border border-border rounded px-2 py-1",children:n("predict.profile.close")})})]})}function $n({label:e,value:t,className:r}){return jsxs("div",{className:"flex flex-col",children:[jsx("span",{className:"text-neutral",children:e}),jsx("span",{className:cn$1("font-mono text-foreground",r),children:t})]})}function l0({message:e,height:t}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:t},children:e})}function c0({height:e}){return jsx("div",{className:"flex flex-col gap-y-2 py-3 animate-pulse",style:{height:e},children:Array.from({length:6}).map((t,r)=>jsx(Skeleton,{className:"h-12 w-full rounded-md"},r))})}function Ho(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(t%1===0?0:1)}\xA2`}function d0(e){try{let t=new Date(e),r=t.getHours().toString().padStart(2,"0"),n=t.getMinutes().toString().padStart(2,"0"),o=t.getDate().toString().padStart(2,"0"),i=(t.getMonth()+1).toString().padStart(2,"0"),a=t.getFullYear(),l=t.getTimezoneOffset(),s=l<=0?"+":"-",c=String(Math.abs(Math.floor(l/60))).padStart(2,"0");return `${r}:${n} ${o}/${i}/${a} (${s}${c})`}catch{return "\u2014"}}function al({positions:e,trades:t,isLoading:r}){let{t:n}=useTranslation(),o=useMemo(()=>{let l=0,s=0;for(let d of e)l+=d.realized_pnl??0,s+=d.current_value??d.size*(d.current_price??0);let c=0,m=0,u=0;for(let d of t)c+=d.usd_size??0,d.type==="REDEEM"&&(u++,(d.usd_size??0)>0&&m++);let p=u>0?`${m} / ${u}`:"0 / 0";return {realizedPnl:l,positionsValue:s,volume:c,winRateStr:p}},[e,t]),i=o.realizedPnl>0?"text-success":o.realizedPnl<0?"text-danger":"text-foreground",a=o.realizedPnl>0?"+":"";return jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 py-8",children:[jsxs("div",{className:"flex flex-col gap-1",children:[jsx("span",{className:"text-xl text-neutral",children:n("predict.profile.realizedPnl")}),r?jsx(Skeleton,{className:"h-14 w-48 rounded-md"}):jsxs("span",{className:cn$1("text-5xl font-bold tabular-nums",i),children:[a,"$",Math.abs(o.realizedPnl).toFixed(2)]})]}),jsxs("div",{className:"flex items-end gap-8 sm:gap-10",children:[jsx(Wo,{label:n("predict.profile.winRate"),value:o.winRateStr,isLoading:r}),jsx(Wo,{label:n("predict.profile.positions"),value:`$${o.positionsValue.toFixed(2)}`,isLoading:r}),jsx(Wo,{label:n("predict.profile.volume"),value:`$${o.volume.toFixed(2)}`,isLoading:r})]})]})}function Wo({label:e,value:t,isLoading:r}){return jsxs("div",{className:"flex flex-col items-end gap-0.5",children:[jsx("span",{className:"text-sm text-neutral whitespace-nowrap",children:e}),r?jsx(Skeleton,{className:"h-6 w-14 rounded-md"}):jsx("span",{className:"text-base font-semibold tabular-nums text-foreground",children:t})]})}var Uo=600;function x0({solanaAddress:e,evmAddress:t,onClosePosition:r,onEventClick:n}){let{t:o}=useTranslation(),[i,a]=useState("positions"),l=!!(e||t),{data:s,isLoading:c}=usePositions({source:"kalshi",user:e??""}),{data:m,isLoading:u}=usePositions({source:"polymarket",user:t??""}),p=useMemo(()=>{let S=[];return s?.positions&&S.push(...s.positions),m?.positions&&S.push(...m.positions),S},[s,m]),d=c||u,{data:f,isLoading:g}=useInfiniteTrades({source:"kalshi",wallet:e??"",limit:100}),{data:h,isLoading:v}=useInfiniteTrades({source:"polymarket",wallet:t??"",limit:100}),k=useMemo(()=>[...f?.pages?.flatMap(K=>K.items)??[],...h?.pages?.flatMap(K=>K.items)??[]],[f,h]),w=d||g||v,R=p.length,N=[{key:"positions",label:R>0?`${o("predict.profile.positionsTab")} (${R})`:o("predict.profile.positionsTab")},{key:"orders",label:o("predict.profile.openOrdersTab")},{key:"history",label:o("predict.profile.historyTab")}];return l?jsxs("div",{className:"flex flex-col max-w-[1280px] mx-auto w-full px-4 max-sm:px-2",children:[jsx(al,{positions:p,trades:k,isLoading:w}),jsx("div",{className:"flex items-center gap-1 border-b border-border",children:N.map(S=>jsx("button",{type:"button",onClick:()=>a(S.key),className:cn$1("px-3 py-3 text-base font-normal transition-colors cursor-pointer whitespace-nowrap",i===S.key?"text-foreground border-b-2 border-foreground":"text-neutral hover:text-foreground"),children:S.label},S.key))}),jsxs("div",{className:"py-2",children:[i==="positions"&&jsx(il,{positions:p,isLoading:d,listHeight:Uo,onClosePosition:r,onEventClick:n}),i==="orders"&&jsx(rl,{solanaAddress:e,evmAddress:t,listHeight:Uo}),i==="history"&&jsx(Ya,{solanaAddress:e,evmAddress:t,listHeight:Uo})]})]}):jsx("div",{className:"flex items-center justify-center text-sm text-neutral py-24 px-4",children:o("predict.profile.connectWallet")})}function Ak({isOpen:e,onClose:t,safeDeployed:r,tokenApproved:n,onDeployAndApprove:o}){let{t:i}=useTranslation(),[a,l]=useState(false),[s,c]=useState(null),[m,u]=useState(false),p=r||m,d=n||m,f=p?"done":a?"running":"pending",g=d?"done":p&&a?"running":"pending",h=p&&d,v=useCallback(async()=>{c(null),u(false),l(true);try{await o(),u(!0);}catch(x){c(x instanceof Error?x.message:String(x));}finally{l(false);}},[o]),k=[{key:"step1",label:i("predict.setup.step1"),desc:i("predict.setup.step1Desc"),status:f},{key:"step2",label:i("predict.setup.step2"),desc:i("predict.setup.step2Desc"),status:g}],w=()=>{h?t():v();},R=i(h?"predict.setup.done":"predict.setup.setupButton");return jsx(StyledModal,{isOpen:e,onOpenChange:x=>{x||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:i("predict.setup.modalTitle")}),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 space-y-4",children:[jsx("p",{className:"text-[13px] text-zinc-400 text-left",children:i("predict.setup.modalDescription")}),jsx("div",{className:"space-y-2.5",children:k.map((x,N)=>jsxs("div",{className:"flex gap-3 rounded-[10px] border border-zinc-700/50 bg-zinc-800/50 px-3 py-3",children:[jsx(w0,{index:N+1,status:x.status}),jsxs("div",{className:"flex-1 min-w-0 pt-0.5",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("p",{className:"text-sm font-medium text-zinc-200",children:x.label}),jsx("span",{className:`text-[11px] leading-none ${x.status==="done"?"text-[#c7ff2e]":x.status==="running"?"text-[#c7ff2e]/70":"text-zinc-500"}`,children:x.status==="done"?i("predict.setup.stepComplete"):x.status==="running"?i("predict.setup.stepRunning"):i("predict.setup.stepPending")})]}),jsx("p",{className:"text-xs text-zinc-500 mt-1",children:x.desc})]})]},x.key))}),s&&jsx("div",{className:"rounded-[10px] bg-red-500/10 border border-red-500/20 px-3 py-2",children:jsx("p",{className:"text-xs text-red-400",children:s})}),jsx("button",{type:"button",onClick:w,disabled:a,className:h?"w-full py-3 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":"w-full py-3 rounded-[10px] bg-[#c7ff2e] text-zinc-900 text-sm font-semibold hover:bg-[#c7ff2e]/90 transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:a?jsxs("span",{className:"inline-flex items-center gap-2",children:[jsxs("svg",{className:"animate-spin h-4 w-4",viewBox:"0 0 24 24",fill:"none",children:[jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3",className:"opacity-25"}),jsx("path",{d:"M4 12a8 8 0 018-8",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",className:"opacity-75"})]}),i("predict.setup.stepRunning")]}):R}),!h&&jsx("button",{type:"button",onClick:t,className:"w-full py-2.5 rounded-[10px] text-sm 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")})]})]})})})}function w0({index:e,status:t}){return t==="done"?jsx("span",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-[#c7ff2e]/15 shrink-0",children:jsx("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2.5,strokeLinecap:"round",strokeLinejoin:"round",className:"text-[#c7ff2e]",children:jsx("polyline",{points:"20 6 9 17 4 12"})})}):t==="running"?jsx("span",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-[#c7ff2e]/10 shrink-0",children:jsxs("svg",{className:"animate-spin h-4 w-4 text-[#c7ff2e]",viewBox:"0 0 24 24",fill:"none",children:[jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3",className:"opacity-25"}),jsx("path",{d:"M4 12a8 8 0 018-8",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",className:"opacity-75"})]})}):jsx("span",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-zinc-700/50 text-xs font-bold text-zinc-400 shrink-0",children:e})}
|
|
147
|
+
export{H0 as CHART_RANGE_DURATION,B0 as CHART_RANGE_PERIOD,z0 as CHART_RANGE_SAMPLE_INTERVAL,on as CandlestickPeriod,T0 as CategoriesSkeleton,Zo as CategoriesUI,ri as CategoriesWidget,Ye as ChartRange,sn as DEFAULT_CHART_RANGE,Zn as DEFAULT_FILTER_STATE,Nr as DEFAULT_PAGE_SIZE,K0 as DEFAULT_PRICE_HISTORY_INTERVAL,Qb as EventDetailPage,Dr as EventDetailSkeleton,js as EventDetailUI,Ys as EventDetailWidget,zi as EventItem,_s as EventMarketDepthChartUI,As as EventMarketDetailWidget,zs as EventPriceChart,bi as EventsFilterUI,_v as EventsHero,Mv as EventsPage,ev as EventsPageSkeleton,to as EventsSkeleton,Ni as EventsToolbarUI,Ki as EventsUI,ji as EventsWidget,un as KycModal,Gn as MAX_PRICE_HISTORY_MARKETS,L2 as MatchGroupCard,Ra as MatchMarketCard,Ca as MatchesFilterBar,Ma as MatchesHero,P2 as MatchesPage,D2 as MatchesStatsBar,Aa as MatchesWidget,U0 as ORDER_MAX_PRICE,W0 as ORDER_MIN_PRICE,an as ORDER_MIN_QUANTITY,ln as ORDER_MIN_USDC,$0 as ORDER_PRICE_STEP,tp as PREDICT_REDEEM_MODAL_ID,Mo as PREDICT_SEARCH_MODAL_ID,co as PREDICT_SELL_MODAL_ID,Mr as PREDICT_TRADE_MODAL_ID,V0 as PRICE_HISTORY_SAMPLE_INTERVAL,rs as PredictRedeemModal,_1 as PredictSearchModal,xs as PredictSellModal,gn as PredictTradeModal,Al as PredictWalletProvider,gr as PriceHistoryInterval,x0 as ProfilePage,es as RedeemFormWidget,Pi as SORT_PRESETS,Yn as STATIC_CATEGORIES,H1 as SearchEventsButton,na as SearchHistoryUI,oa as SearchHistoryWidget,ia as SearchInputUI,sa as SearchResultItemUI,pa as SearchResultListWidget,ha as SearchWidget,hs as SellFormUI,kn as SellFormWidget,Ak as SetupModal,Sm as SimilarEventCard,Xs as SimilarEventsSection,Cb as SourceBadge,z2 as SpreadIndicator,Ps as TradeFormSkeleton,vi as TradeFormUI,fn as TradeFormWidget,ks as UserActivitySection,eo as countActiveFilters,Zt as fireCelebration,Pe as floorToDecimals,Ar as formatKMB,Cr as formatShares,ht as getSourceMeta,pn as parsePolymarketError,cn as resolveExpiration,dn as roundToTickSize,ny as useEventDetail,Ei as useEventsInfinite,In as usePredictSearchHistory,Jt as usePredictWallet,aa as useSearchResultListScript,ga as useSearchScript,as as useSellForm,ci as useTradeForm,kl as version};//# sourceMappingURL=index.mjs.map
|
|
148
148
|
//# sourceMappingURL=index.mjs.map
|