@liberfi.io/ui-predict 0.1.129 → 0.1.131
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 +7 -2
- package/dist/index.d.ts +7 -2
- 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 {ChartRange,useInfiniteMatchMarkets,useBalance,useDFlowKYC,usePolymarketSetup,usePredictClient,PolymarketContext,useTickSize,usePositions,useDFlowQuote,useDFlowSubmit,useOrder,buildCtfExchangeDomain,buildOrderMessage,CTF_ORDER_TYPES,buildSignedOrder,buildClobPayload,buildPolymarketL2Headers,resolveEventsParams,useInfiniteEvents,useEventStats,useAvailableShares,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 {PolymarketIcon,KalshiIcon,cn,Skeleton,toast,StyledModal,ModalContent,useDisclosure,Tabs,Tab,StyledNumberInput,StyledInput,StyledSwitch,Select,SelectItem,ChevronDownIcon,Button,Spinner,useScreen,TimerIcon,DropletIcon,ChartLineIcon,CalendarIcon,Linkable,Avatar,ChevronUpIcon,OrderbookTableIcon,OrderbookDepthIcon,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 {ChainNamespace,Chain}from'@liberfi.io/types';import {SOLANA_TOKENS,debounce}from'@liberfi.io/utils';import Hn 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.129");var rl="0.1.129";var nl={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},Bo=["Politics","Sports","Crypto","Economics","Financials","Elections","Entertainment","Companies","Science and Technology","Climate and Weather","Mentions","Social","World"],An=(()=>{let e=t=>{let r=Bo.indexOf(t);return r===-1?Bo.length:r};return Object.entries(nl).map(([t,r])=>({slug:t,label:t,tags:(r??[]).map(o=>({slug:o,label:o}))})).sort((t,r)=>e(t.slug)-e(r.slug))})();function $o({categories:e,selectedCategory:t,selectedTag:r,activeTags:o,onCategorySelect:n,onTagSelect:i,trailing:s,pulsingTab:l="Trending",className:a}){let{t:c}=useTranslation(),u=useCallback(()=>{n(null);},[n]),d=c("predict.categories.trending");return jsxs("div",{className:cn("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:[jsxs("div",{className:"flex w-full items-center gap-2",children:[jsx("div",{className:"hideScrollbar min-w-0 flex-1 overflow-x-auto overflow-y-hidden",children:jsxs("div",{className:"flex min-h-9 items-stretch gap-x-3 lg:min-h-10",children:[jsx(Ho,{label:d,isSelected:t===null,onPress:u,showPulse:d===l}),jsx(sl,{}),e.map(m=>jsx(Ho,{label:m.category,isSelected:t===m.category,onPress:()=>n(m.category),badge:m.badge,showPulse:m.category===l},m.category))]})}),s&&jsx("div",{className:"flex-shrink-0",children:s})]}),t&&o.length>0&&jsx("div",{className:"hideScrollbar overflow-x-auto overflow-y-hidden flex items-center",children:jsxs("div",{className:"flex gap-x-1.5 pl-1 lg:w-full lg:gap-x-2",children:[jsx(zo,{label:c("predict.categories.allMarkets"),isSelected:r===null,onPress:()=>i(null)}),o.map(m=>jsx(zo,{label:m.label,icon:m.icon,isSelected:r===m.label,onPress:()=>i(m.label)},m.label))]})})]})}function Ho({label:e,isSelected:t,onPress:r,badge:o,showPulse:n}){return jsxs("button",{type:"button",onClick:r,className:cn("relative shrink-0 cursor-pointer whitespace-nowrap border-b px-2.5 py-1.5 text-sm font-medium capitalize transition-colors",t?"border-primary/50 text-primary":"border-transparent text-neutral-500 hover:text-neutral-300"),children:[n?jsxs("span",{className:"flex items-center gap-x-1.5",children:[jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-[rgb(240,68,56)]"}),jsx("span",{children:e})]}):e,o&&jsx("span",{className:"absolute -right-1 top-0 rounded bg-primary px-0.5 py-px text-[0.625rem] font-semibold leading-none text-neutral-950",children:o})]})}function sl(){return jsx("span",{className:"flex items-center text-neutral-600","aria-hidden":"true",children:"|"})}function zo({label:e,icon:t,isSelected:r,onPress:o}){return jsxs("button",{type:"button",onClick:o,className:cn("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("iconify size-4",t)}),e]})}function Gg({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 ll(e){return e.map(t=>({category:t.label,tags:t.tags.map(r=>r.label)}))}function cl(e){return e?e.tags.map(t=>({label:t.label,icon:t.icon})):[]}function Ko({onSelect:e,trailing:t,className:r}){let[o,n]=useState(null),[i,s]=useState(null),l=useCallback(m=>{n(m),s(null),e?.({categorySlug:m,tagSlug:null});},[e]),a=useCallback(m=>{s(m),e?.({categorySlug:o,tagSlug:m});},[o,e]),c=ll(An),u=An.find(m=>m.slug===o),d=cl(u);return jsx($o,{categories:c,selectedCategory:o,selectedTag:i,activeTags:d,onCategorySelect:l,onTagSelect:a,trailing:t,className:r})}function Yr(e){return {title:e.title,imageUrl:e.image_url}}function Gr(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 hr=24,Fn=4,qr={ONE_MINUTE:1,ONE_HOUR:60,ONE_DAY:1440},Be={ONE_DAY:"1d",ONE_WEEK:"1w",ONE_MONTH:"1m",ALL:"all"},Qr=Be.ALL,n0={[Be.ONE_DAY]:qr.ONE_MINUTE,[Be.ONE_WEEK]:qr.ONE_HOUR,[Be.ONE_MONTH]:qr.ONE_HOUR,[Be.ALL]:qr.ONE_DAY},o0={[Be.ONE_DAY]:300,[Be.ONE_WEEK]:3600,[Be.ONE_MONTH]:10800,[Be.ALL]:1440*60},i0={[Be.ONE_DAY]:1440*60,[Be.ONE_WEEK]:10080*60,[Be.ONE_MONTH]:720*60*60,[Be.ALL]:null},Xr=1,Jr=1,a0=1,s0=1,l0=99,sr={ONE_HOUR:"1h",SIX_HOURS:"6h",ONE_DAY:"1d",ONE_WEEK:"1w",MAX:"max"},c0=sr.ONE_WEEK,d0={[sr.ONE_HOUR]:60,[sr.SIX_HOURS]:60,[sr.ONE_DAY]:300,[sr.ONE_WEEK]:1800,[sr.MAX]:1800};var Yo=createContext(null);function vr(){let e=useContext(Yo);if(!e)throw new Error("usePredictWallet must be used within a PredictWalletProvider");return e}var hl=1e4;function vl({pollingInterval:e=hl,enabled:t=true,children:r}){let o=useWallets(),n=useMemo(()=>o.find(h=>h.chainNamespace===ChainNamespace.SOLANA&&h.isConnected)?.address,[o]),i=useMemo(()=>o.find(h=>h.chainNamespace===ChainNamespace.EVM&&h.isConnected)?.address,[o]),{data:s,isLoading:l,isFetching:a,error:c}=useBalance({source:"kalshi",user:n??""},{enabled:t&&!!n,refetchInterval:e}),{data:u,isLoading:d}=useDFlowKYC(n,{enabled:t&&!!n,refetchInterval:3e4}),{data:m,isLoading:p}=usePolymarketSetup(i,{enabled:t&&!!i,refetchInterval:3e4}),f=m?.safe_address,g=m?.verified??false,{data:v,isLoading:x,isFetching:S,error:k}=useBalance({source:"polymarket",user:i??""},{enabled:t&&g&&!!i,refetchInterval:e}),M=useMemo(()=>({solanaAddress:n,evmAddress:i,polymarketSafeAddress:f,kalshiUsdcBalance:s?Number(s.balance):null,polymarketUsdcBalance:g&&v?Number(v.balance):null,kalshiKycVerified:u?.verified??false,kalshiKycUrl:u?.kyc_url??null,kalshiKycLoading:d,polymarketSetupVerified:g,polymarketSafeDeployed:m?.safe_deployed??false,polymarketTokenApproved:m?.token_approved??false,polymarketSetupLoading:p,isLoading:l||x,isFetching:a||S,error:c??k??null}),[n,i,f,s,v,g,u,d,m,p,l,x,a,S,c,k]);return jsx(Yo.Provider,{value:M,children:r})}var bl={minutes:60,hours:3600,days:86400};function Zr(e,t,r){let o=Math.floor(Date.now()/1e3);switch(e){case "5m":return o+300;case "1h":return o+3600;case "12h":return o+720*60;case "24h":return o+1440*60;case "eod":{let n=new Date;return n.setUTCHours(23,59,59,0),Math.floor(n.getTime()/1e3)}case "custom":return o+t*bl[r]}}function en(e,t){let r=parseFloat(t);return !r||r<=0?e:Math.round(e/r)*r}function zn(e,t){let r=Math.pow(10,t);return Math.floor(e*r)/r}function tn(e,t){let r=e.match(/Size\s*\(([\d.]+)\)\s*lower than the minimum:\s*([\d.]+)/i);if(r)return t("predict.trade.polymarket.minOrderSize",{current:r[1],min:r[2]});let o=e.match(/balance:\s*(\d+),\s*sum of active orders:\s*(\d+)/i);if(o){let i=parseInt(o[1],10)/1e6,s=parseInt(o[2],10)/1e6,l=Math.max(0,i-s);return t("predict.trade.polymarket.insufficientBalance",{total:i.toFixed(2),active:s.toFixed(2),available:l.toFixed(2)})}return /not enough balance/i.test(e)?t("predict.trade.insufficientShares"):/max accuracy of/i.test(e)?t("predict.trade.polymarket.decimalAccuracy"):/tick size/i.test(e)?t("predict.trade.polymarket.tickSizeError"):e.replace(/order\s+0x[a-f0-9]+\s+is invalid\.\s*/i,"")||e}function Vt(){let e={startVelocity:30,spread:360,ticks:60,zIndex:9999};Hn({...e,particleCount:80,origin:{x:.5,y:.4}}),setTimeout(()=>{Hn({...e,particleCount:40,origin:{x:.3,y:.6}});},150),setTimeout(()=>{Hn({...e,particleCount:40,origin:{x:.7,y:.6}});},300);}function Xo({market:e,initialOutcome:t="yes"}){let{t:r}=useTranslation(),{status:o}=useAuth(),n=useWallets(),i=useSwitchChain(),s=usePredictClient(),l=useContext(PolymarketContext),a=useQueryClient(),c=e.source,u=c==="polymarket",d=n.find(D=>D.chainNamespace===ChainNamespace.SOLANA&&D.isConnected),m=n.find(D=>D.chainNamespace===ChainNamespace.EVM&&D.isConnected&&"switchChain"in D),p=o==="authenticated",f=d?.address,g=m?.address,v=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:x}=useTickSize(v),S=x?.minimum_tick_size?String(x.minimum_tick_size):"0.01",[k,M]=useState(t),[h,L]=useState("market"),[b,K]=useState(NaN),[I,J]=useState(NaN),[fe,N]=useState(false),[z,F]=useState(null),[ne,E]=useState(false),[y,_]=useState(false),[U,ee]=useState("1h"),[q,ae]=useState(30),[ye,Ye]=useState("minutes"),ge=null,Ge=false,it=null,qe;try{let D=vr();ge={kalshiUsdcBalance:D.kalshiUsdcBalance,polymarketUsdcBalance:D.polymarketUsdcBalance,isLoading:D.isLoading},Ge=D.kalshiKycVerified,it=D.kalshiKycUrl,qe=D.polymarketSafeAddress;}catch{}let O=useMemo(()=>{let D=k==="yes"?0:1,Ne=e.outcomes[D];return Ne?.best_ask??Ne?.price??.5},[e.outcomes,k]),Me=useCallback(D=>{L(D);},[]),Oe=useCallback(D=>{M(D),J(NaN);},[]);useEffect(()=>{h==="limit"&&isNaN(I)&&J(Math.round(O*100)/100);},[h,I,O]);let Mt=useMemo(()=>isNaN(b)||b<=0?0:O>0?b/O:0,[b,O]),R=useMemo(()=>isNaN(b)||b<=0?"0":String(Math.round(b*1e6)),[b]),Pe=e.provider_meta?.["dflow.yesMint"]??"",Et=e.provider_meta?.["dflow.noMint"]??"",Ln=SOLANA_TOKENS.stablecoins.USDC.address,_n=k==="yes"?Pe:Et,at=Ln,$t=_n,rr=c==="kalshi"?f??"":g??"",{data:Wt,isLoading:Tt}=usePositions({source:c,user:rr},{enabled:!!rr}),Xe=c==="kalshi"&&!!at&&!!$t&&!!f&&R!=="0",{refetch:Ar}=useDFlowQuote({inputMint:at,outputMint:$t,amount:R,userPublicKey:f??"",slippageBps:100},{enabled:Xe}),nr=useMemo(()=>ge?c==="kalshi"?ge.kalshiUsdcBalance:ge.polymarketUsdcBalance:Wt&&Wt.positions.reduce((Ne,Je)=>Je.side==="USDC"||Je.side==="collateral"?Ne+(Je.current_value??0):Ne,0)||null,[ge,Wt,c]),Rn=ge?ge.isLoading:Tt,st=useMemo(()=>h==="limit"&&u&&!isNaN(I)?I:O,[h,u,I,O]),Fr=useMemo(()=>isNaN(b)||b<=0?0:b,[b]),Br=useMemo(()=>isNaN(b)||b<=0?0:st>0?b/st*1:0,[b,st]),Io=Br-Fr,Hr=useCallback(D=>{if(isNaN(D)){K(NaN);return}K(Math.round(Math.max(0,D)*100)/100);},[]),In=useCallback(D=>{if(isNaN(D)){J(NaN);return}let Ne=Math.max(.01,Math.min(.99,D));J(Math.round(Ne*100)/100);},[]),lt=useCallback(()=>{K(NaN),J(NaN),L("market"),_(false),ee("1h"),ae(30),Ye("minutes");},[]),mt=useMemo(()=>{let D=[];return isNaN(b)||b<=0?D.push(r("predict.trade.minAmountUsd",{amount:Jr})):b<Jr&&D.push(r("predict.trade.minAmountUsd",{amount:Jr})),e.status!=="open"&&D.push(r("predict.trade.marketNotActive")),nr!=null&&!isNaN(b)&&b>0&&b>nr&&D.push(r("predict.trade.insufficientBalance")),h==="limit"&&u&&(isNaN(I)||I<.01||I>.99)&&D.push(r("predict.trade.limitPriceRange")),h==="limit"&&u&&y&&U==="custom"&&(isNaN(q)||q<=0)&&D.push(r("predict.trade.expiration.invalidDate")),{isValid:D.length===0,errors:D}},[b,e.status,nr,h,u,I,y,U,q,r]),{mutateAsync:Lt}=useDFlowSubmit(),{data:_t}=useOrder({id:z??"",source:c},{enabled:!!z});useEffect(()=>{if(!_t||!z)return;let{status:D}=_t;D==="closed"?(F(null),N(false),toast.success(r("predict.trade.submitSuccess")),Vt(),lt(),a.invalidateQueries({queryKey:["predict","positions"]})):(D==="failed"||D==="expired")&&(N(false),F(null),toast.error(r("predict.trade.submitError")));},[_t,z,a,lt,r]);let zr=useCallback(async()=>{if(!f||!d)return;if(!at||!$t){toast.error("Missing token mint addresses"),N(false);return}if(!Ge){E(true),N(false);return}let or=(await Ar()).data?.transaction;if(!or){toast.error(r("predict.trade.submitError")),N(false);return}let Rt=Uint8Array.from(atob(or),It=>It.charCodeAt(0)),ft=await d.signTransaction(Rt),gt=await Lt({signedTransaction:btoa(String.fromCharCode(...ft)),orderContext:{user_public_key:f,input_mint:at,output_mint:$t,amount:R,price:String(O),side:"BUY",outcome:k==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});F(gt.signature);},[f,d,Ar,Lt,at,$t,R,O,k,e.slug,r,Ge]),gr=useCallback(async()=>{if(!m||!l)return;let D=m.chain,Ne=D!==Chain.POLYGON;Ne&&await i(Chain.POLYGON);try{let Je=await m.getEip1193Provider();if(!Je){toast.error(r("predict.trade.submitError")),N(!1);return}let or=!!qe,Rt={address:m.address,signatureType:or?2:0,signTypedData:async(pe,Ot,Vr,Dn)=>{let Dt=[];"name"in pe&&Dt.push({name:"name",type:"string"}),"version"in pe&&Dt.push({name:"version",type:"string"}),"chainId"in pe&&Dt.push({name:"chainId",type:"uint256"}),"verifyingContract"in pe&&Dt.push({name:"verifyingContract",type:"address"}),"salt"in pe&&Dt.push({name:"salt",type:"bytes32"});let Oo={EIP712Domain:Dt,...Ot};return await Je.request({method:"eth_signTypedData_v4",params:[m.address,JSON.stringify({domain:pe,types:Oo,primaryType:Vr,message:Dn})]})}},ft=l.credentials??await l.authenticate(Rt),gt=k==="yes"?0:1,It="",ht=e.provider_meta?.["polymarket.clobTokenIds"];ht&&(It=(typeof ht=="string"?JSON.parse(ht):ht)[gt]??"");let ir=e.provider_meta?.["polymarket.negRisk"]??!1,$r=h==="limit"&&!isNaN(I)?I:O,vt=en($r,S),Wr=h==="limit"?y?"GTD":"GTC":"FOK",Ur=h==="market"?b:vt>0?b/vt:0,Kr={tokenId:It,price:vt,size:Ur,side:"BUY",orderType:Wr,tickSize:S,negRisk:ir,...qe&&{funderAddress:qe},...h==="limit"&&y&&{expiration:Zr(U,q,ye)}},P=buildCtfExchangeDomain(ir),he=buildOrderMessage({...Kr,signerAddress:Rt.address,signatureType:Rt.signatureType}),Fe=await Rt.signTypedData(P,CTF_ORDER_TYPES,"Order",he),Le=buildSignedOrder(he,Fe,Kr.orderType),Qe=buildClobPayload(Le,ft.apiKey),De=JSON.stringify(Qe),xt=await buildPolymarketL2Headers(ft.address,{apiKey:ft.apiKey,secret:ft.secret,passphrase:ft.passphrase,method:"POST",requestPath:"/order",body:De});await s.createPolymarketOrder(Qe,xt),a.invalidateQueries({queryKey:["predict","orders"]}),a.invalidateQueries({queryKey:["predict","positions"]}),toast.success(r("predict.trade.submitSuccess")),Vt(),lt(),N(!1);}finally{Ne&&D&&i(D).catch(()=>{});}},[m,l,i,k,e.provider_meta,h,I,O,b,s,a,y,U,q,ye,lt,r,S,qe]),On=useCallback(async()=>{if(!(!mt.isValid||!p)){N(true),F(null),E(false);try{c==="kalshi"?await zr():await gr();}catch(D){let Ne=D instanceof Error?D.message:"",Je=c==="polymarket"&&Ne?tn(Ne,r):Ne||void 0;toast.error(Je||r("predict.trade.submitError")),N(false);}}},[mt.isValid,p,c,zr,gr,r]);return {outcome:k,orderType:h,quantity:b,limitPrice:I,shares:Mt,estimatedCost:Fr,potentialPayout:Br,potentialProfit:Io,usdcBalance:nr,isBalanceLoading:Rn,isSubmitting:fe,validation:mt,supportsLimitOrder:u,kycRequired:ne,kycUrl:it,expirationEnabled:y,expirationPreset:U,customDuration:q,customDurationUnit:ye,setOutcome:Oe,setOrderType:Me,setQuantity:Hr,setLimitPrice:In,setExpirationEnabled:_,setExpirationPreset:ee,setCustomDuration:ae,setCustomDurationUnit:Ye,submit:On}}function rn({isOpen:e,onClose:t,kycUrl:r}){let{t:o}=useTranslation();return jsx(StyledModal,{isOpen:e,onOpenChange:n=>{n||t();},size:"md",classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{children:[jsxs("div",{className:"flex items-center justify-between px-5 pt-5 pb-4",children:[jsx("h3",{className:"text-base font-semibold text-white",children:o("predict.trade.kycModalTitle")}),jsx("button",{type:"button",onClick:t,className:"p-1 rounded-[10px] hover:bg-[rgba(39,39,42,0.5)] text-zinc-400 hover:text-white transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),jsxs("div",{className:"px-5 pb-5",children:[jsx("p",{className:"text-[13px] text-zinc-400 mb-4 text-left",children:o("predict.trade.kycModalDescription")}),jsx("div",{className:"flex flex-col gap-2 mb-4",children:["predict.trade.kycModalBullet1","predict.trade.kycModalBullet2","predict.trade.kycModalBullet3"].map(n=>jsxs("div",{className:"flex items-center gap-2.5 text-[13px] text-zinc-300",children:[jsx("svg",{width:14,height:14,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2.5,strokeLinecap:"round",strokeLinejoin:"round",className:"text-[#c7ff2e] shrink-0",children:jsx("polyline",{points:"20 6 9 17 4 12"})}),jsx("span",{children:o(n)})]},n))}),r&&jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[13px] text-[#c7ff2e]/70 hover:text-[#c7ff2e] transition-colors mb-3",children:[o("predict.trade.goToKYC")," \u2192"]}),jsx("p",{className:"text-[11px] text-zinc-500 mb-5",children:o("predict.trade.kycModalNote")}),jsx("button",{type:"button",onClick:t,className:"w-full py-2.5 rounded-[10px] bg-[#c7ff2e] text-zinc-900 text-sm font-semibold hover:bg-[#c7ff2e]/90 transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:o("common.ok")})]})]})})})}var tc=`https://s1.chainstream.io/chains/sol/tokens/${SOLANA_TOKENS.stablecoins.USDC.address}/image.png`,rc=["5m","1h","12h","24h","eod","custom"],nc={"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"},oc=["minutes","hours","days"],ic={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"};function oi({event:e,market:t,variant:r="bordered",outcome:o,orderType:n,quantity:i,limitPrice:s,shares:l,potentialProfit:a,potentialPayout:c,estimatedCost:u,usdcBalance:d,isBalanceLoading:m,isSubmitting:p,isValid:f,validationErrors:g,supportsLimitOrder:v,kycRequired:x,kycUrl:S,expirationEnabled:k,expirationPreset:M,customDuration:h,customDurationUnit:L,onOutcomeChange:b,onOrderTypeChange:K,onQuantityChange:I,onLimitPriceChange:J,onExpirationEnabledChange:fe,onExpirationPresetChange:N,onCustomDurationChange:z,onCustomDurationUnitChange:F,onSubmit:ne}){let{t:E}=useTranslation(),[y,_]=useState(false),U=useDisclosure(),[ee,q]=useState(""),ae=useRef(false);useEffect(()=>{ae.current||q(isNaN(i)?"":String(i));},[i]);let ye=useCallback(R=>{if(R!==""&&!/^\d*\.?\d{0,2}$/.test(R))return;if(q(R),Oe(false),R===""||R==="."){I(NaN);return}let Et=parseFloat(R);isNaN(Et)||I(Et);},[I]);useEffect(()=>{x&&!U.isOpen&&U.onOpen();},[x]);let Ye=useMemo(()=>{let R=o==="yes"?t.yesAsk:t.noAsk;return R!=null?parseFloat((Number(R)*100).toFixed(2)):null},[o,t]),ge=!isNaN(i)&&i>0,Ge=useMemo(()=>{if(m)return E("predict.trade.loadingBalance");if(p)return E("predict.trade.submitting");if(x)return E("predict.trade.kycRequired");if(!ge)return E("predict.trade.enterAmount");let R=E(o==="yes"?"predict.trade.yes":"predict.trade.no"),Pe=a>0?` \u2192 Win $${a.toFixed(2)}`:"";return `${E("predict.trade.buy")} ${R}${Pe}`},[m,p,x,ge,o,a,E]),it=useMemo(()=>o==="yes"?"primary":"secondary",[o]),qe=()=>{I(Math.floor((d??0)/2*100)/100);},O=()=>{I(d??0);},[Me,Oe]=useState(false),Mt=()=>{if(x){U.onOpen();return}if(!f){Oe(true);return}Oe(false),ne();};return jsxs(Fragment,{children:[jsxs("div",{className:"flex w-full flex-col gap-y-4 p-4",style:r==="bordered"?{borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",transition:"border-color 0.2s"}:void 0,onMouseEnter:R=>{r==="bordered"&&(R.currentTarget.style.borderColor="rgba(63,63,70,0.8)");},onMouseLeave:R=>{r==="bordered"&&(R.currentTarget.style.borderColor="rgba(39,39,42,0.6)");},children:[e&&jsxs("div",{className:"flex items-center gap-x-3",children:[e.imageUrl&&jsx("img",{src:e.imageUrl,alt:e.title,className:"h-10 w-10 shrink-0 rounded-lg object-cover"}),jsxs("div",{className:"flex min-w-0 flex-col gap-y-0.5",children:[jsx("span",{className:"text-sm text-neutral-500 leading-tight line-clamp-1",children:e.title}),jsxs("span",{className:"text-base font-semibold leading-tight line-clamp-1",children:[jsxs("span",{className:o==="yes"?"text-bullish":"text-bearish",children:[E("predict.trade.buy")," ",E(o==="yes"?"predict.trade.yes":"predict.trade.no")]}),jsxs("span",{className:"text-foreground",children:[" \xB7 ",t.yesSubTitle]})]})]})]}),jsxs("div",{className:"flex items-center justify-between",children:[v?jsxs(Tabs,{variant:"underlined",selectedKey:n,onSelectionChange:R=>K(R),classNames:{tabList:"gap-x-4",tab:"px-0"},children:[jsx(Tab,{title:E("predict.trade.market")},"market"),jsx(Tab,{title:E("predict.trade.limit")},"limit")]}):jsx("span",{className:"text-sm font-medium text-foreground",children:E("predict.trade.market")}),n==="limit"&&v?jsx(StyledNumberInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",value:isNaN(s)?void 0:parseFloat((s*100).toFixed(2)),onValueChange:R=>J(R/100),minValue:1,maxValue:99,step:1,formatOptions:{maximumFractionDigits: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"}}):Ye!=null&&jsxs("span",{className:"text-xl font-bold tabular-nums",children:[Ye," \xA2"]})]}),jsx("div",{className:"flex gap-x-2",children:["yes","no"].map(R=>{let Pe=R==="yes"?t.yesAsk:t.noAsk;return jsx("div",{className:"flex flex-1 flex-col gap-y-1",children:jsxs("button",{type:"button",onClick:()=>b(R),className:`w-full rounded-lg border py-2 text-sm font-medium transition-colors cursor-pointer ${o===R?R==="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:E(R==="yes"?"predict.trade.yes":"predict.trade.no")}),Pe!=null&&jsxs("span",{className:"ml-1 opacity-70",children:[parseFloat((Number(Pe)*100).toFixed(2)),"\xA2"]})]})},R)})}),jsxs("div",{className:"flex flex-col gap-y-1.5",children:[jsxs("div",{className:"flex items-center justify-between text-xs text-neutral-500",children:[jsx("span",{className:"text-sm font-medium text-foreground",children:E("predict.trade.youArePaying")}),jsxs("div",{className:"flex items-center gap-x-2",children:[jsx("img",{src:tc,alt:"USDC",className:"h-3.5 w-3.5 rounded-full object-cover"}),jsx("span",{className:"font-medium text-foreground tabular-nums",children:d!=null?`${d.toFixed(2)} USDC`:"\u2013"}),jsx("button",{type:"button",onClick:qe,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:E("predict.trade.half")}),jsx("button",{type:"button",onClick:O,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:E("predict.trade.max")})]})]}),jsx(StyledInput,{"aria-label":"Trade amount",fullWidth:true,placeholder:"0",radius:"lg",size:"lg",inputMode:"decimal",value:ee,onChange:R=>ye(R.target.value),onFocus:()=>{ae.current=true;},onBlur:()=>{ae.current=false,q(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"}}),Me&&g.length>0&&jsx("div",{className:"flex flex-col gap-y-0.5",children:g.map(R=>jsx("span",{className:"text-xs text-danger",children:R},R))})]}),n==="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:E("predict.trade.setExpiration")}),jsx(StyledSwitch,{size:"sm",color:"primary",isSelected:k,onValueChange:fe,"aria-label":E("predict.trade.setExpiration")})]}),k&&jsxs(Fragment,{children:[jsx(Select,{"aria-label":E("predict.trade.setExpiration"),selectedKeys:[M],onSelectionChange:R=>{let Pe=Array.from(R)[0];Pe&&N(Pe);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:rc.map(R=>jsx(SelectItem,{children:E(nc[R])},R))}),M==="custom"&&jsxs("div",{className:"flex gap-x-2",children:[jsx(StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(h)?void 0:h,onValueChange:z,minValue:1,step:1,formatOptions:{maximumFractionDigits:0},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:[L],onSelectionChange:R=>{let Pe=Array.from(R)[0];Pe&&F(Pe);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:oc.map(R=>jsx(SelectItem,{children:E(ic[R])},R))})]})]})]}),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:()=>_(R=>!R),className:"flex items-center gap-x-1 text-neutral-500 hover:text-foreground cursor-pointer transition-colors",children:[jsx("span",{children:E("predict.trade.odds")}),jsx(ChevronDownIcon,{className:cn("h-3.5 w-3.5 transition-transform",y&&"rotate-180")})]}),Ye!=null&&jsx("span",{className:"text-foreground font-medium tabular-nums",children:E("predict.trade.chance",{percent:Ye})})]}),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:E("predict.trade.totalSize")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${u.toFixed(2)}`:"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:E("predict.trade.numContracts")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(l)&&l>0?parseFloat(l.toFixed(2)):"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:E("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:E("predict.trade.estProfit")}),jsx("span",{className:"tabular-nums text-bullish",children:!isNaN(i)&&i>0&&a>0?`+$${a.toFixed(2)}`:"\u2013"})]})]})]}),jsx(Button,{color:it,fullWidth:true,radius:"lg",size:"lg",isDisabled:m||!ge||p,isLoading:p||m,spinner:jsx(Spinner,{size:"sm",color:"current"}),onPress:Mt,children:Ge})]}),jsx(rn,{isOpen:U.isOpen,onClose:U.onClose,kycUrl:S})]})}function nn({event:e,market:t,variant:r,initialOutcome:o,chain:n}){let{outcome:i,orderType:s,quantity:l,limitPrice:a,shares:c,estimatedCost:u,potentialPayout:d,potentialProfit:m,usdcBalance:p,isBalanceLoading:f,isSubmitting:g,validation:v,supportsLimitOrder:x,kycRequired:S,kycUrl:k,expirationEnabled:M,expirationPreset:h,customDuration:L,customDurationUnit:b,setOutcome:K,setOrderType:I,setQuantity:J,setLimitPrice:fe,setExpirationEnabled:N,setExpirationPreset:z,setCustomDuration:F,setCustomDurationUnit:ne,submit:E}=Xo({market:t,initialOutcome:o}),y=useAuthCallback(E),_=useMemo(()=>e?Yr(e):void 0,[e]),U=useMemo(()=>Gr(t),[t]);return jsx(oi,{event:_,market:U,variant:r,outcome:i,orderType:s,quantity:l,limitPrice:a,shares:c,estimatedCost:u,potentialPayout:d,potentialProfit:m,usdcBalance:p,isBalanceLoading:f,isSubmitting:g,isValid:v.isValid,validationErrors:v.errors,supportsLimitOrder:x,kycRequired:S,kycUrl:k,expirationEnabled:M,expirationPreset:h,customDuration:L,customDurationUnit:b,onOutcomeChange:K,onOrderTypeChange:I,onQuantityChange:J,onLimitPriceChange:fe,onExpirationEnabledChange:N,onExpirationPresetChange:z,onCustomDurationChange:F,onCustomDurationUnitChange:ne,onSubmit:y})}var xr="predict-trade";function on({id:e=xr}){return jsx(AsyncModal,{id:e,children:t=>jsx(mc,{...t})})}function mc({params:e,isOpen:t,onOpenChange:r}){let{t:o}=useTranslation(),{isMobile:n}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:n?"lg":"md",backdrop:"blur",hideCloseButton:true,classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{className:n?"":"p-2",children:[jsx(nn,{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:o("common.cancel")})})]})})}):null}var Un={sortPreset:"volume",sortAsc:false,source:void 0,timeRemaining:void 0,minVolume:void 0,minLiquidity:void 0};function Kn(e){let t=0;return e.source&&t++,e.timeRemaining&&t++,e.minVolume&&t++,e.minLiquidity&&t++,t}function ai({isOpen:e,onClose:t,value:r,onChange:o}){let{t:n}=useTranslation(),[i,s]=useState(r),l=useCallback(v=>{v?s(r):t();},[r,t]),a=useCallback(()=>{s(Un);},[]),c=useCallback(()=>{o(i),t();},[i,o,t]),u=useCallback((v,x)=>{s(S=>({...S,[v]:x}));},[]),d=useMemo(()=>Kn(i),[i]),m=useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"polymarket",label:n("predict.platform.polymarket")},{value:"kalshi",label:n("predict.platform.kalshi")}],[n]),p=useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"1d",label:n("predict.filter.lessThanDay")},{value:"7d",label:n("predict.filter.lessThanWeek")},{value:"30d",label:n("predict.filter.lessThanMonth")}],[n]),f=useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[n]),g=useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[n]);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:n("predict.filter.title")}),jsx(bc,{onClick:()=>l(false)})]}),jsxs("div",{style:{padding:"0 20px 16px",display:"flex",flexDirection:"column",gap:20},children:[jsx(sn,{label:n("predict.filter.platform"),children:jsx(ln,{options:m,selected:i.source,onSelect:v=>u("source",v)})}),jsx(sn,{label:n("predict.filter.timeRemaining"),children:jsx(ln,{options:p,selected:i.timeRemaining,onSelect:v=>u("timeRemaining",v)})}),jsx(sn,{label:n("predict.filter.minVolume"),children:jsx(ln,{options:f,selected:i.minVolume,onSelect:v=>u("minVolume",v)})}),jsx(sn,{label:n("predict.filter.minLiquidity"),children:jsx(ln,{options:g,selected:i.minLiquidity,onSelect:v=>u("minLiquidity",v)})})]}),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:n("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:[n("predict.filter.showResults"),d>0&&jsxs("span",{style:{opacity:.7},children:["(",d,")"]})]})]})]})})})}function sn({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 ln({options:e,selected:t,onSelect:r,allowDeselect:o=true}){return jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:e.map(n=>{let i=t===n.value;return jsx("button",{type:"button",onClick:()=>{r(i&&o?void 0:n.value);},style:{flexShrink:0,borderRadius:10,padding:"6px 14px",fontSize:13,fontWeight:500,cursor:"pointer",transition:"all 0.15s",border:i?"1px solid rgba(199,255,46,0.3)":"1px solid rgba(63,63,70,0.5)",background:i?"rgba(199,255,46,0.08)":"rgba(39,39,42,0.4)",color:i?"#c7ff2e":"#a1a1aa"},onMouseEnter:s=>{i||(s.currentTarget.style.background="rgba(39,39,42,0.8)",s.currentTarget.style.color="#fff");},onMouseLeave:s=>{i||(s.currentTarget.style.background="rgba(39,39,42,0.4)",s.currentTarget.style.color="#a1a1aa");},children:n.label},n.value??"__all")})})}function si(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 kc=[{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:si,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:si,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 li({stats:e}){let{t}=useTranslation();return jsxs(Fragment,{children:[jsx("style",{children:`
|
|
1
|
+
import {createContext,memo,useRef,forwardRef,useState,useImperativeHandle,useMemo,useEffect,useCallback,useContext,Fragment as Fragment$1,startTransition,Component}from'react';import {ChartRange,useInfiniteMatchMarkets,useBalance,useDFlowKYC,usePolymarketSetup,usePredictClient,PolymarketContext,useTickSize,usePositions,useDFlowQuote,useDFlowSubmit,useOrder,buildCtfExchangeDomain,buildOrderMessage,CTF_ORDER_TYPES,buildSignedOrder,buildClobPayload,buildPolymarketL2Headers,resolveEventsParams,useInfiniteEvents,useEventStats,useAvailableShares,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 {PolymarketIcon,KalshiIcon,cn as cn$1,Skeleton,toast,StyledModal,ModalContent,useDisclosure,Tabs,Tab,StyledNumberInput,StyledInput,StyledSwitch,Select,SelectItem,ChevronDownIcon,Button,Spinner,useScreen,TimerIcon,DropletIcon,ChartLineIcon,CalendarIcon,Linkable,Avatar,ChevronUpIcon,OrderbookTableIcon,OrderbookDepthIcon,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 {ChainNamespace,Chain}from'@liberfi.io/types';import {SOLANA_TOKENS,debounce}from'@liberfi.io/utils';import $n 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.131");var nl="0.1.131";var ol={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},Ho=["Politics","Sports","Crypto","Economics","Financials","Elections","Entertainment","Companies","Science and Technology","Climate and Weather","Mentions","Social","World"],Bn=(()=>{let e=t=>{let r=Ho.indexOf(t);return r===-1?Ho.length:r};return Object.entries(ol).map(([t,r])=>({slug:t,label:t,tags:(r??[]).map(o=>({slug:o,label:o}))})).sort((t,r)=>e(t.slug)-e(r.slug))})();function Wo({categories:e,selectedCategory:t,selectedTag:r,activeTags:o,onCategorySelect:n,onTagSelect:i,trailing:s,pulsingTab:l="Trending",className:a}){let{t:c}=useTranslation(),u=useCallback(()=>{n(null);},[n]),d=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:[jsxs("div",{className:"flex w-full items-center gap-2",children:[jsx("div",{className:"hideScrollbar min-w-0 flex-1 overflow-x-auto overflow-y-hidden",children:jsxs("div",{className:"flex min-h-9 items-stretch gap-x-3 lg:min-h-10",children:[jsx(zo,{label:d,isSelected:t===null,onPress:u,showPulse:d===l}),jsx(ll,{}),e.map(m=>jsx(zo,{label:m.category,isSelected:t===m.category,onPress:()=>n(m.category),badge:m.badge,showPulse:m.category===l},m.category))]})}),s&&jsx("div",{className:"flex-shrink-0",children:s})]}),t&&o.length>0&&jsx("div",{className:"hideScrollbar overflow-x-auto overflow-y-hidden flex items-center",children:jsxs("div",{className:"flex gap-x-1.5 pl-1 lg:w-full lg:gap-x-2",children:[jsx($o,{label:c("predict.categories.allMarkets"),isSelected:r===null,onPress:()=>i(null)}),o.map(m=>jsx($o,{label:m.label,icon:m.icon,isSelected:r===m.label,onPress:()=>i(m.label)},m.label))]})})]})}function zo({label:e,isSelected:t,onPress:r,badge:o,showPulse:n}){return jsxs("button",{type:"button",onClick:r,className:cn$1("relative shrink-0 cursor-pointer whitespace-nowrap border-b px-2.5 py-1.5 text-sm font-medium capitalize transition-colors",t?"border-primary/50 text-primary":"border-transparent text-neutral-500 hover:text-neutral-300"),children:[n?jsxs("span",{className:"flex items-center gap-x-1.5",children:[jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-[rgb(240,68,56)]"}),jsx("span",{children:e})]}):e,o&&jsx("span",{className:"absolute -right-1 top-0 rounded bg-primary px-0.5 py-px text-[0.625rem] font-semibold leading-none text-neutral-950",children:o})]})}function ll(){return jsx("span",{className:"flex items-center text-neutral-600","aria-hidden":"true",children:"|"})}function $o({label:e,icon:t,isSelected:r,onPress:o}){return jsxs("button",{type:"button",onClick:o,className:cn$1("flex shrink-0 items-center justify-center gap-x-1 min-w-14 rounded-2xl border px-3 py-1.5 text-sm font-medium uppercase transition-colors cursor-pointer",r?"border-primary/40 bg-primary/15 text-primary":"border-border/80 text-neutral-500 hover:bg-primary/10 hover:text-primary"),children:[t&&jsx("span",{className:cn$1("iconify size-4",t)}),e]})}function qg({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 cl(e){return e.map(t=>({category:t.label,tags:t.tags.map(r=>r.label)}))}function dl(e){return e?e.tags.map(t=>({label:t.label,icon:t.icon})):[]}function Vo({onSelect:e,trailing:t,className:r}){let[o,n]=useState(null),[i,s]=useState(null),l=useCallback(m=>{n(m),s(null),e?.({categorySlug:m,tagSlug:null});},[e]),a=useCallback(m=>{s(m),e?.({categorySlug:o,tagSlug:m});},[o,e]),c=cl(Bn),u=Bn.find(m=>m.slug===o),d=dl(u);return jsx(Wo,{categories:c,selectedCategory:o,selectedTag:i,activeTags:d,onCategorySelect:l,onTagSelect:a,trailing:t,className:r})}function qr(e){return {title:e.title,imageUrl:e.image_url}}function Qr(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 vr=24,Hn=4,Xr={ONE_MINUTE:1,ONE_HOUR:60,ONE_DAY:1440},He={ONE_DAY:"1d",ONE_WEEK:"1w",ONE_MONTH:"1m",ALL:"all"},Jr=He.ALL,o0={[He.ONE_DAY]:Xr.ONE_MINUTE,[He.ONE_WEEK]:Xr.ONE_HOUR,[He.ONE_MONTH]:Xr.ONE_HOUR,[He.ALL]:Xr.ONE_DAY},i0={[He.ONE_DAY]:300,[He.ONE_WEEK]:3600,[He.ONE_MONTH]:10800,[He.ALL]:1440*60},a0={[He.ONE_DAY]:1440*60,[He.ONE_WEEK]:10080*60,[He.ONE_MONTH]:720*60*60,[He.ALL]:null},Zr=1,en=1,s0=1,l0=1,c0=99,lr={ONE_HOUR:"1h",SIX_HOURS:"6h",ONE_DAY:"1d",ONE_WEEK:"1w",MAX:"max"},d0=lr.ONE_WEEK,p0={[lr.ONE_HOUR]:60,[lr.SIX_HOURS]:60,[lr.ONE_DAY]:300,[lr.ONE_WEEK]:1800,[lr.MAX]:1800};var Go=createContext(null);function xr(){let e=useContext(Go);if(!e)throw new Error("usePredictWallet must be used within a PredictWalletProvider");return e}var vl=1e4;function xl({pollingInterval:e=vl,enabled:t=true,children:r}){let o=useWallets(),n=useMemo(()=>o.find(h=>h.chainNamespace===ChainNamespace.SOLANA&&h.isConnected)?.address,[o]),i=useMemo(()=>o.find(h=>h.chainNamespace===ChainNamespace.EVM&&h.isConnected)?.address,[o]),{data:s,isLoading:l,isFetching:a,error:c}=useBalance({source:"kalshi",user:n??""},{enabled:t&&!!n,refetchInterval:e}),{data:u,isLoading:d}=useDFlowKYC(n,{enabled:t&&!!n,refetchInterval:3e4}),{data:m,isLoading:p}=usePolymarketSetup(i,{enabled:t&&!!i,refetchInterval:3e4}),f=m?.safe_address,g=m?.verified??false,{data:v,isLoading:x,isFetching:S,error:k}=useBalance({source:"polymarket",user:i??""},{enabled:t&&g&&!!i,refetchInterval:e}),M=useMemo(()=>({solanaAddress:n,evmAddress:i,polymarketSafeAddress:f,kalshiUsdcBalance:s?Number(s.balance):null,polymarketUsdcBalance:g&&v?Number(v.balance):null,kalshiKycVerified:u?.verified??false,kalshiKycUrl:u?.kyc_url??null,kalshiKycLoading:d,polymarketSetupVerified:g,polymarketSafeDeployed:m?.safe_deployed??false,polymarketTokenApproved:m?.token_approved??false,polymarketSetupLoading:p,isLoading:l||x,isFetching:a||S,error:c??k??null}),[n,i,f,s,v,g,u,d,m,p,l,x,a,S,c,k]);return jsx(Go.Provider,{value:M,children:r})}var yl={minutes:60,hours:3600,days:86400};function tn(e,t,r){let o=Math.floor(Date.now()/1e3);switch(e){case "5m":return o+300;case "1h":return o+3600;case "12h":return o+720*60;case "24h":return o+1440*60;case "eod":{let n=new Date;return n.setUTCHours(23,59,59,0),Math.floor(n.getTime()/1e3)}case "custom":return o+t*yl[r]}}function rn(e,t){let r=parseFloat(t);return !r||r<=0?e:Math.round(e/r)*r}function Ze(e,t){let r=Math.pow(10,t);return Math.floor(e*r)/r}function nn(e,t){let r=e.match(/Size\s*\(([\d.]+)\)\s*lower than the minimum:\s*([\d.]+)/i);if(r)return t("predict.trade.polymarket.minOrderSize",{current:r[1],min:r[2]});let o=e.match(/balance:\s*(\d+),\s*sum of active orders:\s*(\d+)/i);if(o){let i=parseInt(o[1],10)/1e6,s=parseInt(o[2],10)/1e6,l=Math.max(0,i-s);return t("predict.trade.polymarket.insufficientBalance",{total:i.toFixed(2),active:s.toFixed(2),available:l.toFixed(2)})}return /not enough balance/i.test(e)?t("predict.trade.insufficientShares"):/max accuracy of/i.test(e)?t("predict.trade.polymarket.decimalAccuracy"):/tick size/i.test(e)?t("predict.trade.polymarket.tickSizeError"):e.replace(/order\s+0x[a-f0-9]+\s+is invalid\.\s*/i,"")||e}function br(e,t=4){return parseFloat(Ze(e,t).toFixed(t)).toString()}function jt(){let e={startVelocity:30,spread:360,ticks:60,zIndex:9999};$n({...e,particleCount:80,origin:{x:.5,y:.4}}),setTimeout(()=>{$n({...e,particleCount:40,origin:{x:.3,y:.6}});},150),setTimeout(()=>{$n({...e,particleCount:40,origin:{x:.7,y:.6}});},300);}function Jo({market:e,initialOutcome:t="yes"}){let{t:r}=useTranslation(),{status:o}=useAuth(),n=useWallets(),i=useSwitchChain(),s=usePredictClient(),l=useContext(PolymarketContext),a=useQueryClient(),c=e.source,u=c==="polymarket",d=n.find(D=>D.chainNamespace===ChainNamespace.SOLANA&&D.isConnected),m=n.find(D=>D.chainNamespace===ChainNamespace.EVM&&D.isConnected&&"switchChain"in D),p=o==="authenticated",f=d?.address,g=m?.address,v=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:x}=useTickSize(v),S=x?.minimum_tick_size?String(x.minimum_tick_size):"0.01",[k,M]=useState(t),[h,L]=useState("market"),[b,K]=useState(NaN),[I,J]=useState(NaN),[fe,N]=useState(false),[z,F]=useState(null),[ne,E]=useState(false),[y,_]=useState(false),[U,ee]=useState("1h"),[q,ae]=useState(30),[ye,Ge]=useState("minutes"),ge=null,qe=false,at=null,Qe;try{let D=xr();ge={kalshiUsdcBalance:D.kalshiUsdcBalance,polymarketUsdcBalance:D.polymarketUsdcBalance,isLoading:D.isLoading},qe=D.kalshiKycVerified,at=D.kalshiKycUrl,Qe=D.polymarketSafeAddress;}catch{}let O=useMemo(()=>{let D=k==="yes"?0:1,Ne=e.outcomes[D];return Ne?.best_ask??Ne?.price??.5},[e.outcomes,k]),Me=useCallback(D=>{L(D);},[]),Oe=useCallback(D=>{M(D),J(NaN);},[]);useEffect(()=>{h==="limit"&&isNaN(I)&&J(Math.round(O*100)/100);},[h,I,O]);let Et=useMemo(()=>isNaN(b)||b<=0?0:O>0?b/O:0,[b,O]),R=useMemo(()=>isNaN(b)||b<=0?"0":String(Math.round(b*1e6)),[b]),Pe=e.provider_meta?.["dflow.yesMint"]??"",Tt=e.provider_meta?.["dflow.noMint"]??"",Rn=SOLANA_TOKENS.stablecoins.USDC.address,In=k==="yes"?Pe:Tt,st=Rn,Wt=In,nr=c==="kalshi"?f??"":g??"",{data:Ut,isLoading:Lt}=usePositions({source:c,user:nr},{enabled:!!nr}),De=c==="kalshi"&&!!st&&!!Wt&&!!f&&R!=="0",{refetch:Br}=useDFlowQuote({inputMint:st,outputMint:Wt,amount:R,userPublicKey:f??"",slippageBps:100},{enabled:De}),or=useMemo(()=>ge?c==="kalshi"?ge.kalshiUsdcBalance:ge.polymarketUsdcBalance:Ut&&Ut.positions.reduce((Ne,Je)=>Je.side==="USDC"||Je.side==="collateral"?Ne+(Je.current_value??0):Ne,0)||null,[ge,Ut,c]),On=ge?ge.isLoading:Lt,lt=useMemo(()=>h==="limit"&&u&&!isNaN(I)?I:O,[h,u,I,O]),Hr=useMemo(()=>isNaN(b)||b<=0?0:b,[b]),zr=useMemo(()=>isNaN(b)||b<=0?0:lt>0?b/lt*1:0,[b,lt]),Oo=zr-Hr,$r=useCallback(D=>{if(isNaN(D)){K(NaN);return}K(Math.round(Math.max(0,D)*100)/100);},[]),Dn=useCallback(D=>{if(isNaN(D)){J(NaN);return}let Ne=Math.max(.01,Math.min(.99,D));J(Math.round(Ne*100)/100);},[]),ct=useCallback(()=>{K(NaN),J(NaN),L("market"),_(false),ee("1h"),ae(30),Ge("minutes");},[]),ft=useMemo(()=>{let D=[];return isNaN(b)||b<=0?D.push(r("predict.trade.minAmountUsd",{amount:en})):b<en&&D.push(r("predict.trade.minAmountUsd",{amount:en})),e.status!=="open"&&D.push(r("predict.trade.marketNotActive")),or!=null&&!isNaN(b)&&b>0&&b>or&&D.push(r("predict.trade.insufficientBalance")),h==="limit"&&u&&(isNaN(I)||I<.01||I>.99)&&D.push(r("predict.trade.limitPriceRange")),h==="limit"&&u&&y&&U==="custom"&&(isNaN(q)||q<=0)&&D.push(r("predict.trade.expiration.invalidDate")),{isValid:D.length===0,errors:D}},[b,e.status,or,h,u,I,y,U,q,r]),{mutateAsync:_t}=useDFlowSubmit(),{data:Rt}=useOrder({id:z??"",source:c},{enabled:!!z});useEffect(()=>{if(!Rt||!z)return;let{status:D}=Rt;D==="closed"?(F(null),N(false),toast.success(r("predict.trade.submitSuccess")),jt(),ct(),a.invalidateQueries({queryKey:["predict","positions"]})):(D==="failed"||D==="expired")&&(N(false),F(null),toast.error(r("predict.trade.submitError")));},[Rt,z,a,ct,r]);let Wr=useCallback(async()=>{if(!f||!d)return;if(!st||!Wt){toast.error("Missing token mint addresses"),N(false);return}if(!qe){E(true),N(false);return}let ir=(await Br()).data?.transaction;if(!ir){toast.error(r("predict.trade.submitError")),N(false);return}let It=Uint8Array.from(atob(ir),Ot=>Ot.charCodeAt(0)),gt=await d.signTransaction(It),ht=await _t({signedTransaction:btoa(String.fromCharCode(...gt)),orderContext:{user_public_key:f,input_mint:st,output_mint:Wt,amount:R,price:String(O),side:"BUY",outcome:k==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});F(ht.signature);},[f,d,Br,_t,st,Wt,R,O,k,e.slug,r,qe]),hr=useCallback(async()=>{if(!m||!l)return;let D=m.chain,Ne=D!==Chain.POLYGON;Ne&&await i(Chain.POLYGON);try{let Je=await m.getEip1193Provider();if(!Je){toast.error(r("predict.trade.submitError")),N(!1);return}let ir=!!Qe,It={address:m.address,signatureType:ir?2:0,signTypedData:async(pe,Dt,Yr,Fn)=>{let At=[];"name"in pe&&At.push({name:"name",type:"string"}),"version"in pe&&At.push({name:"version",type:"string"}),"chainId"in pe&&At.push({name:"chainId",type:"uint256"}),"verifyingContract"in pe&&At.push({name:"verifyingContract",type:"address"}),"salt"in pe&&At.push({name:"salt",type:"bytes32"});let Do={EIP712Domain:At,...Dt};return await Je.request({method:"eth_signTypedData_v4",params:[m.address,JSON.stringify({domain:pe,types:Do,primaryType:Yr,message:Fn})]})}},gt=l.credentials??await l.authenticate(It),ht=k==="yes"?0:1,Ot="",vt=e.provider_meta?.["polymarket.clobTokenIds"];vt&&(Ot=(typeof vt=="string"?JSON.parse(vt):vt)[ht]??"");let ar=e.provider_meta?.["polymarket.negRisk"]??!1,Ur=h==="limit"&&!isNaN(I)?I:O,xt=rn(Ur,S),Kr=h==="limit"?y?"GTD":"GTC":"FOK",Vr=h==="market"?b:xt>0?b/xt:0,jr={tokenId:Ot,price:xt,size:Vr,side:"BUY",orderType:Kr,tickSize:S,negRisk:ar,...Qe&&{funderAddress:Qe},...h==="limit"&&y&&{expiration:tn(U,q,ye)}},P=buildCtfExchangeDomain(ar),he=buildOrderMessage({...jr,signerAddress:It.address,signatureType:It.signatureType}),Be=await It.signTypedData(P,CTF_ORDER_TYPES,"Order",he),Le=buildSignedOrder(he,Be,jr.orderType),Xe=buildClobPayload(Le,gt.apiKey),Ae=JSON.stringify(Xe),bt=await buildPolymarketL2Headers(gt.address,{apiKey:gt.apiKey,secret:gt.secret,passphrase:gt.passphrase,method:"POST",requestPath:"/order",body:Ae});await s.createPolymarketOrder(Xe,bt),a.invalidateQueries({queryKey:["predict","orders"]}),a.invalidateQueries({queryKey:["predict","positions"]}),toast.success(r("predict.trade.submitSuccess")),jt(),ct(),N(!1);}finally{Ne&&D&&i(D).catch(()=>{});}},[m,l,i,k,e.provider_meta,h,I,O,b,s,a,y,U,q,ye,ct,r,S,Qe]),An=useCallback(async()=>{if(!(!ft.isValid||!p)){N(true),F(null),E(false);try{c==="kalshi"?await Wr():await hr();}catch(D){let Ne=D instanceof Error?D.message:"",Je=c==="polymarket"&&Ne?nn(Ne,r):Ne||void 0;toast.error(Je||r("predict.trade.submitError")),N(false);}}},[ft.isValid,p,c,Wr,hr,r]);return {outcome:k,orderType:h,quantity:b,limitPrice:I,shares:Et,estimatedCost:Hr,potentialPayout:zr,potentialProfit:Oo,usdcBalance:or,isBalanceLoading:On,isSubmitting:fe,validation:ft,supportsLimitOrder:u,kycRequired:ne,kycUrl:at,expirationEnabled:y,expirationPreset:U,customDuration:q,customDurationUnit:ye,setOutcome:Oe,setOrderType:Me,setQuantity:$r,setLimitPrice:Dn,setExpirationEnabled:_,setExpirationPreset:ee,setCustomDuration:ae,setCustomDurationUnit:Ge,submit:An}}function on({isOpen:e,onClose:t,kycUrl:r}){let{t:o}=useTranslation();return jsx(StyledModal,{isOpen:e,onOpenChange:n=>{n||t();},size:"md",classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{children:[jsxs("div",{className:"flex items-center justify-between px-5 pt-5 pb-4",children:[jsx("h3",{className:"text-base font-semibold text-white",children:o("predict.trade.kycModalTitle")}),jsx("button",{type:"button",onClick:t,className:"p-1 rounded-[10px] hover:bg-[rgba(39,39,42,0.5)] text-zinc-400 hover:text-white transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),jsxs("div",{className:"px-5 pb-5",children:[jsx("p",{className:"text-[13px] text-zinc-400 mb-4 text-left",children:o("predict.trade.kycModalDescription")}),jsx("div",{className:"flex flex-col gap-2 mb-4",children:["predict.trade.kycModalBullet1","predict.trade.kycModalBullet2","predict.trade.kycModalBullet3"].map(n=>jsxs("div",{className:"flex items-center gap-2.5 text-[13px] text-zinc-300",children:[jsx("svg",{width:14,height:14,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2.5,strokeLinecap:"round",strokeLinejoin:"round",className:"text-[#c7ff2e] shrink-0",children:jsx("polyline",{points:"20 6 9 17 4 12"})}),jsx("span",{children:o(n)})]},n))}),r&&jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[13px] text-[#c7ff2e]/70 hover:text-[#c7ff2e] transition-colors mb-3",children:[o("predict.trade.goToKYC")," \u2192"]}),jsx("p",{className:"text-[11px] text-zinc-500 mb-5",children:o("predict.trade.kycModalNote")}),jsx("button",{type:"button",onClick:t,className:"w-full py-2.5 rounded-[10px] bg-[#c7ff2e] text-zinc-900 text-sm font-semibold hover:bg-[#c7ff2e]/90 transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:o("common.ok")})]})]})})})}var rc=`https://s1.chainstream.io/chains/sol/tokens/${SOLANA_TOKENS.stablecoins.USDC.address}/image.png`,nc=["5m","1h","12h","24h","eod","custom"],oc={"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"},ic=["minutes","hours","days"],ac={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"};function ii({event:e,market:t,variant:r="bordered",outcome:o,orderType:n,quantity:i,limitPrice:s,shares:l,potentialProfit:a,potentialPayout:c,estimatedCost:u,usdcBalance:d,isBalanceLoading:m,isSubmitting:p,isValid:f,validationErrors:g,supportsLimitOrder:v,kycRequired:x,kycUrl:S,expirationEnabled:k,expirationPreset:M,customDuration:h,customDurationUnit:L,onOutcomeChange:b,onOrderTypeChange:K,onQuantityChange:I,onLimitPriceChange:J,onExpirationEnabledChange:fe,onExpirationPresetChange:N,onCustomDurationChange:z,onCustomDurationUnitChange:F,onSubmit:ne}){let{t:E}=useTranslation(),[y,_]=useState(false),U=useDisclosure(),[ee,q]=useState(""),ae=useRef(false);useEffect(()=>{ae.current||q(isNaN(i)?"":String(i));},[i]);let ye=useCallback(R=>{if(R!==""&&!/^\d*\.?\d{0,2}$/.test(R))return;if(q(R),Oe(false),R===""||R==="."){I(NaN);return}let Tt=parseFloat(R);isNaN(Tt)||I(Tt);},[I]);useEffect(()=>{x&&!U.isOpen&&U.onOpen();},[x]);let Ge=useMemo(()=>{let R=o==="yes"?t.yesAsk:t.noAsk;return R!=null?parseFloat((Number(R)*100).toFixed(2)):null},[o,t]),ge=!isNaN(i)&&i>0,qe=useMemo(()=>{if(m)return E("predict.trade.loadingBalance");if(p)return E("predict.trade.submitting");if(x)return E("predict.trade.kycRequired");if(!ge)return E("predict.trade.enterAmount");let R=E(o==="yes"?"predict.trade.yes":"predict.trade.no"),Pe=a>0?` \u2192 Win $${a.toFixed(2)}`:"";return `${E("predict.trade.buy")} ${R}${Pe}`},[m,p,x,ge,o,a,E]),at=useMemo(()=>o==="yes"?"primary":"secondary",[o]),Qe=()=>{I(Math.floor((d??0)/2*100)/100);},O=()=>{I(d??0);},[Me,Oe]=useState(false),Et=()=>{if(x){U.onOpen();return}if(!f){Oe(true);return}Oe(false),ne();};return jsxs(Fragment,{children:[jsxs("div",{className:"flex w-full flex-col gap-y-4 p-4",style:r==="bordered"?{borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",transition:"border-color 0.2s"}:void 0,onMouseEnter:R=>{r==="bordered"&&(R.currentTarget.style.borderColor="rgba(63,63,70,0.8)");},onMouseLeave:R=>{r==="bordered"&&(R.currentTarget.style.borderColor="rgba(39,39,42,0.6)");},children:[e&&jsxs("div",{className:"flex items-center gap-x-3",children:[e.imageUrl&&jsx("img",{src:e.imageUrl,alt:e.title,className:"h-10 w-10 shrink-0 rounded-lg object-cover"}),jsxs("div",{className:"flex min-w-0 flex-col gap-y-0.5",children:[jsx("span",{className:"text-sm text-neutral-500 leading-tight line-clamp-1",children:e.title}),jsxs("span",{className:"text-base font-semibold leading-tight line-clamp-1",children:[jsxs("span",{className:o==="yes"?"text-bullish":"text-bearish",children:[E("predict.trade.buy")," ",E(o==="yes"?"predict.trade.yes":"predict.trade.no")]}),jsxs("span",{className:"text-foreground",children:[" \xB7 ",t.yesSubTitle]})]})]})]}),jsxs("div",{className:"flex items-center justify-between",children:[v?jsxs(Tabs,{variant:"underlined",selectedKey:n,onSelectionChange:R=>K(R),classNames:{tabList:"gap-x-4",tab:"px-0"},children:[jsx(Tab,{title:E("predict.trade.market")},"market"),jsx(Tab,{title:E("predict.trade.limit")},"limit")]}):jsx("span",{className:"text-sm font-medium text-foreground",children:E("predict.trade.market")}),n==="limit"&&v?jsx(StyledNumberInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",value:isNaN(s)?void 0:parseFloat((s*100).toFixed(2)),onValueChange:R=>J(R/100),minValue:1,maxValue:99,step:1,formatOptions:{maximumFractionDigits: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"}}):Ge!=null&&jsxs("span",{className:"text-xl font-bold tabular-nums",children:[Ge," \xA2"]})]}),jsx("div",{className:"flex gap-x-2",children:["yes","no"].map(R=>{let Pe=R==="yes"?t.yesAsk:t.noAsk;return jsx("div",{className:"flex flex-1 flex-col gap-y-1",children:jsxs("button",{type:"button",onClick:()=>b(R),className:`w-full rounded-lg border py-2 text-sm font-medium transition-colors cursor-pointer ${o===R?R==="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:E(R==="yes"?"predict.trade.yes":"predict.trade.no")}),Pe!=null&&jsxs("span",{className:"ml-1 opacity-70",children:[parseFloat((Number(Pe)*100).toFixed(2)),"\xA2"]})]})},R)})}),jsxs("div",{className:"flex flex-col gap-y-1.5",children:[jsxs("div",{className:"flex items-center justify-between text-xs text-neutral-500",children:[jsx("span",{className:"text-sm font-medium text-foreground",children:E("predict.trade.youArePaying")}),jsxs("div",{className:"flex items-center gap-x-2",children:[jsx("img",{src:rc,alt:"USDC",className:"h-3.5 w-3.5 rounded-full object-cover"}),jsx("span",{className:"font-medium text-foreground tabular-nums",children:d!=null?`${d.toFixed(2)} USDC`:"\u2013"}),jsx("button",{type:"button",onClick:Qe,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:E("predict.trade.half")}),jsx("button",{type:"button",onClick:O,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:E("predict.trade.max")})]})]}),jsx(StyledInput,{"aria-label":"Trade amount",fullWidth:true,placeholder:"0",radius:"lg",size:"lg",inputMode:"decimal",value:ee,onChange:R=>ye(R.target.value),onFocus:()=>{ae.current=true;},onBlur:()=>{ae.current=false,q(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"}}),Me&&g.length>0&&jsx("div",{className:"flex flex-col gap-y-0.5",children:g.map(R=>jsx("span",{className:"text-xs text-danger",children:R},R))})]}),n==="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:E("predict.trade.setExpiration")}),jsx(StyledSwitch,{size:"sm",color:"primary",isSelected:k,onValueChange:fe,"aria-label":E("predict.trade.setExpiration")})]}),k&&jsxs(Fragment,{children:[jsx(Select,{"aria-label":E("predict.trade.setExpiration"),selectedKeys:[M],onSelectionChange:R=>{let Pe=Array.from(R)[0];Pe&&N(Pe);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:nc.map(R=>jsx(SelectItem,{children:E(oc[R])},R))}),M==="custom"&&jsxs("div",{className:"flex gap-x-2",children:[jsx(StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(h)?void 0:h,onValueChange:z,minValue:1,step:1,formatOptions:{maximumFractionDigits:0},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:[L],onSelectionChange:R=>{let Pe=Array.from(R)[0];Pe&&F(Pe);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:ic.map(R=>jsx(SelectItem,{children:E(ac[R])},R))})]})]})]}),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:()=>_(R=>!R),className:"flex items-center gap-x-1 text-neutral-500 hover:text-foreground cursor-pointer transition-colors",children:[jsx("span",{children:E("predict.trade.odds")}),jsx(ChevronDownIcon,{className:cn$1("h-3.5 w-3.5 transition-transform",y&&"rotate-180")})]}),Ge!=null&&jsx("span",{className:"text-foreground font-medium tabular-nums",children:E("predict.trade.chance",{percent:Ge})})]}),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:E("predict.trade.totalSize")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${u.toFixed(2)}`:"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:E("predict.trade.numContracts")}),jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(l)&&l>0?br(l):"\u2013"})]}),jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{children:E("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:E("predict.trade.estProfit")}),jsx("span",{className:"tabular-nums text-bullish",children:!isNaN(i)&&i>0&&a>0?`+$${a.toFixed(2)}`:"\u2013"})]})]})]}),jsx(Button,{color:at,fullWidth:true,radius:"lg",size:"lg",isDisabled:m||!ge||p,isLoading:p||m,spinner:jsx(Spinner,{size:"sm",color:"current"}),onPress:Et,children:qe})]}),jsx(on,{isOpen:U.isOpen,onClose:U.onClose,kycUrl:S})]})}function an({event:e,market:t,variant:r,initialOutcome:o,chain:n}){let{outcome:i,orderType:s,quantity:l,limitPrice:a,shares:c,estimatedCost:u,potentialPayout:d,potentialProfit:m,usdcBalance:p,isBalanceLoading:f,isSubmitting:g,validation:v,supportsLimitOrder:x,kycRequired:S,kycUrl:k,expirationEnabled:M,expirationPreset:h,customDuration:L,customDurationUnit:b,setOutcome:K,setOrderType:I,setQuantity:J,setLimitPrice:fe,setExpirationEnabled:N,setExpirationPreset:z,setCustomDuration:F,setCustomDurationUnit:ne,submit:E}=Jo({market:t,initialOutcome:o}),y=useAuthCallback(E),_=useMemo(()=>e?qr(e):void 0,[e]),U=useMemo(()=>Qr(t),[t]);return jsx(ii,{event:_,market:U,variant:r,outcome:i,orderType:s,quantity:l,limitPrice:a,shares:c,estimatedCost:u,potentialPayout:d,potentialProfit:m,usdcBalance:p,isBalanceLoading:f,isSubmitting:g,isValid:v.isValid,validationErrors:v.errors,supportsLimitOrder:x,kycRequired:S,kycUrl:k,expirationEnabled:M,expirationPreset:h,customDuration:L,customDurationUnit:b,onOutcomeChange:K,onOrderTypeChange:I,onQuantityChange:J,onLimitPriceChange:fe,onExpirationEnabledChange:N,onExpirationPresetChange:z,onCustomDurationChange:F,onCustomDurationUnitChange:ne,onSubmit:y})}var yr="predict-trade";function sn({id:e=yr}){return jsx(AsyncModal,{id:e,children:t=>jsx(fc,{...t})})}function fc({params:e,isOpen:t,onOpenChange:r}){let{t:o}=useTranslation(),{isMobile:n}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:n?"lg":"md",backdrop:"blur",hideCloseButton:true,classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{className:n?"":"p-2",children:[jsx(an,{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:o("common.cancel")})})]})})}):null}var Kn={sortPreset:"volume",sortAsc:false,source:void 0,timeRemaining:void 0,minVolume:void 0,minLiquidity:void 0};function Vn(e){let t=0;return e.source&&t++,e.timeRemaining&&t++,e.minVolume&&t++,e.minLiquidity&&t++,t}function si({isOpen:e,onClose:t,value:r,onChange:o}){let{t:n}=useTranslation(),[i,s]=useState(r),l=useCallback(v=>{v?s(r):t();},[r,t]),a=useCallback(()=>{s(Kn);},[]),c=useCallback(()=>{o(i),t();},[i,o,t]),u=useCallback((v,x)=>{s(S=>({...S,[v]:x}));},[]),d=useMemo(()=>Vn(i),[i]),m=useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"polymarket",label:n("predict.platform.polymarket")},{value:"kalshi",label:n("predict.platform.kalshi")}],[n]),p=useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"1d",label:n("predict.filter.lessThanDay")},{value:"7d",label:n("predict.filter.lessThanWeek")},{value:"30d",label:n("predict.filter.lessThanMonth")}],[n]),f=useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[n]),g=useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[n]);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:n("predict.filter.title")}),jsx(yc,{onClick:()=>l(false)})]}),jsxs("div",{style:{padding:"0 20px 16px",display:"flex",flexDirection:"column",gap:20},children:[jsx(cn,{label:n("predict.filter.platform"),children:jsx(dn,{options:m,selected:i.source,onSelect:v=>u("source",v)})}),jsx(cn,{label:n("predict.filter.timeRemaining"),children:jsx(dn,{options:p,selected:i.timeRemaining,onSelect:v=>u("timeRemaining",v)})}),jsx(cn,{label:n("predict.filter.minVolume"),children:jsx(dn,{options:f,selected:i.minVolume,onSelect:v=>u("minVolume",v)})}),jsx(cn,{label:n("predict.filter.minLiquidity"),children:jsx(dn,{options:g,selected:i.minLiquidity,onSelect:v=>u("minLiquidity",v)})})]}),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:n("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:[n("predict.filter.showResults"),d>0&&jsxs("span",{style:{opacity:.7},children:["(",d,")"]})]})]})]})})})}function cn({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 yc({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 dn({options:e,selected:t,onSelect:r,allowDeselect:o=true}){return jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:e.map(n=>{let i=t===n.value;return jsx("button",{type:"button",onClick:()=>{r(i&&o?void 0:n.value);},style:{flexShrink:0,borderRadius:10,padding:"6px 14px",fontSize:13,fontWeight:500,cursor:"pointer",transition:"all 0.15s",border:i?"1px solid rgba(199,255,46,0.3)":"1px solid rgba(63,63,70,0.5)",background:i?"rgba(199,255,46,0.08)":"rgba(39,39,42,0.4)",color:i?"#c7ff2e":"#a1a1aa"},onMouseEnter:s=>{i||(s.currentTarget.style.background="rgba(39,39,42,0.8)",s.currentTarget.style.color="#fff");},onMouseLeave:s=>{i||(s.currentTarget.style.background="rgba(39,39,42,0.4)",s.currentTarget.style.color="#a1a1aa");},children:n.label},n.value??"__all")})})}function li(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 Sc=[{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:li,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:li,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 ci({stats:e}){let{t}=useTranslation();return jsxs(Fragment,{children:[jsx("style",{children:`
|
|
2
2
|
@keyframes evt-live-ping{75%,100%{transform:scale(2.2);opacity:0}}
|
|
3
3
|
@keyframes evt-live-breathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}
|
|
4
4
|
@keyframes evtHeroTitleEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
|
|
@@ -36,7 +36,7 @@ import {createContext,memo,useRef,forwardRef,useState,useImperativeHandle,useMem
|
|
|
36
36
|
.evt-stat-label{font-size:11px;line-height:16px;min-height:16px;white-space:nowrap}
|
|
37
37
|
@media(min-width:640px){.evt-stat-label{font-size:12px;line-height:18px;min-height:18px}}
|
|
38
38
|
`}),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(`
|
|
39
|
-
`).map((r,o)=>jsxs("span",{children:[o>0&&jsx("br",{className:"hidden sm:block"}),r,o===0?" ":""]},o))})]}),jsx("div",{className:"evt-stat-grid",style:e?{animation:"evtStatsEnter 0.5s cubic-bezier(0.34,1.56,0.64,1) both",animationDelay:"0.1s"}:{},children:
|
|
39
|
+
`).map((r,o)=>jsxs("span",{children:[o>0&&jsx("br",{className:"hidden sm:block"}),r,o===0?" ":""]},o))})]}),jsx("div",{className:"evt-stat-grid",style:e?{animation:"evtStatsEnter 0.5s cubic-bezier(0.34,1.56,0.64,1) both",animationDelay:"0.1s"}:{},children:Sc.map((r,o)=>jsxs("div",{style:{padding:"14px 16px",background:e?`linear-gradient(to bottom, ${r.gradientFrom}, ${r.gradientTo})`:"rgba(255,255,255,0.02)",borderRight:o%2===0?"1px solid rgba(39,39,42,0.4)":"none",borderBottom:o<2?"1px solid rgba(39,39,42,0.4)":"none",...e?{animation:"evtStatCardEnter 0.45s cubic-bezier(0.34,1.56,0.64,1) both",animationDelay:`${150+o*60}ms`}:{}},children:[jsx("div",{className:"evt-stat-val",style:{fontWeight:700,fontVariantNumeric:"tabular-nums",color:e?r.valueColor:"transparent",display:"flex",alignItems:"center"},children:e?r.format(e[r.key]):jsx("div",{style:{height:16,width:56,borderRadius:4,background:"rgba(255,255,255,0.06)",animation:"evtStatCardEnter 0.6s ease-out both",animationDelay:`${o*80}ms`}})}),jsx("div",{className:"evt-stat-label",style:{fontWeight:500,color:e?"#71717a":"transparent",marginTop:2,display:"flex",alignItems:"center"},children:e?t(r.labelKey):jsx("div",{style:{height:10,width:64,borderRadius:4,background:"rgba(255,255,255,0.04)",animation:"evtStatCardEnter 0.6s ease-out both",animationDelay:`${50+o*80}ms`}})})]},r.key))})]})]})}var fi={start_time:{sort_by:"created_at"},volume:{sort_by:"volume"},liquidity:{sort_by:"liquidity"},ending_soon:{sort_by:"end_at"}},pi={start_time:"predict.sort.startTime",volume:"predict.sort.volume",liquidity:"predict.sort.liquidity",ending_soon:"predict.sort.endingSoon"},Rc=["start_time","volume","liquidity","ending_soon"],ui={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"},Ic={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 gi({sortPreset:e,onSortChange:t,sortAsc:r,onSortAscChange:o,onFilterPress:n,filterCount:i=0,className:s}){let{t:l}=useTranslation(),[a,c]=useState(false),u=useRef(null),d=useCallback(p=>{u.current&&!u.current.contains(p.target)&&c(false);},[]);useEffect(()=>(document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)),[d]),useEffect(()=>{if(!a)return;let p=f=>{f.key==="Escape"&&c(false);};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[a]);let m=mi[e];return jsxs("div",{className:s,style:{display:"flex",alignItems:"center",gap:8},children:[jsxs("div",{ref:u,style:{position:"relative"},children:[jsxs("button",{type:"button",style:ui,onMouseEnter:p=>{p.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:p=>{p.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>c(p=>!p),children:[jsx(Oc,{}),jsx(m,{className:"size-4 shrink-0",style:{color:"#a1a1aa"}}),jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:l(pi[e])}),jsx(Ac,{open:a})]}),a&&jsx("div",{style:{...Ic,width:224,padding:4},children:Rc.map(p=>{let f=mi[p],g=e===p;return jsxs("button",{type:"button",style:{display:"flex",width:"100%",alignItems:"center",gap:12,padding:"10px 12px",textAlign:"left",fontSize:14,border:"none",cursor:"pointer",transition:"all 0.15s",background:g?"rgba(199,255,46,0.08)":"transparent",color:g?"#c7ff2e":"#a1a1aa",borderRadius:10},onMouseEnter:v=>{g||(v.currentTarget.style.background="rgba(39,39,42,0.5)",v.currentTarget.style.color="#fff");},onMouseLeave:v=>{g||(v.currentTarget.style.background="transparent",v.currentTarget.style.color="#a1a1aa");},onClick:()=>{e===p?o(!r):t(p),c(false);},children:[jsx(f,{className:"size-4 shrink-0",style:{color:g?"#c7ff2e":"#71717a"}}),jsx("span",{style:{flex:1,fontWeight:500},children:l(pi[p])}),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"})})]},p)})})]}),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:p=>{p.currentTarget.style.background="rgba(39,39,42,1)",p.currentTarget.style.color="#fff";},onMouseLeave:p=>{p.currentTarget.style.background="rgba(39,39,42,0.6)",p.currentTarget.style.color="#a1a1aa";},onClick:()=>o(!r),children:r?"\u2191":"\u2193"}),jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxs("button",{type:"button",style:ui,onMouseEnter:p=>{p.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:p=>{p.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:n,children:[jsx(Dc,{}),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 mi={start_time:CalendarIcon,volume:ChartLineIcon,liquidity:DropletIcon,ending_soon:TimerIcon};function Oc(){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 Dc(){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 Ac({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 xi(e={}){let t=useMemo(()=>resolveEventsParams(e),[e.tagSlugSelection,e.limit,e.status,e.sort_by,e.sort_asc,e.source,e.with_markets,e.minVolume,e.minLiquidity,e.timeRemaining,e.markets_limit]),{data:r,isLoading:o,isFetching:n,isFetchingNextPage:i,isError:s,error:l,hasNextPage:a,fetchNextPage:c,refetch:u}=useInfiniteEvents(t),d=useMemo(()=>r?.pages.flatMap(f=>f.items).filter(f=>f!=null)??[],[r]),m=useCallback(()=>{c();},[c]),p=useCallback(()=>{u();},[u]);return {data:d,isLoading:o,isFetching:n&&!i,isFetchingMore:i,isError:s,error:l??null,hasMore:a??false,fetchMore:m,refetch:p}}var bi=`
|
|
40
40
|
@keyframes evtShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
|
|
41
41
|
@media(max-width:1279px){.evt-skel-grid{grid-template-columns:repeat(3,1fr)!important}}
|
|
42
42
|
@media(max-width:1023px){.evt-skel-grid{grid-template-columns:repeat(2,1fr)!important}.evt-skel-card{min-height:200px!important}}
|
|
@@ -52,7 +52,7 @@ import {createContext,memo,useRef,forwardRef,useState,useImperativeHandle,useMem
|
|
|
52
52
|
.evt-skel-hero-wrap{padding:40px 16px 32px}
|
|
53
53
|
@media(min-width:640px){.evt-skel-hero-wrap{padding:48px 24px 40px}}
|
|
54
54
|
@media(min-width:1024px){.evt-skel-hero-wrap{padding:52px 32px 44px}}
|
|
55
|
-
`,
|
|
55
|
+
`,yi={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 tt(e){return {...yi,animationDelay:`${e}ms`}}function jn({count:e=6}){return jsxs(Fragment,{children:[jsx("style",{children:bi}),jsx("div",{className:"evt-skel-grid",style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",width:"100%"},children:Array.from({length:e}).map((t,r)=>jsx(Hc,{index:r},r))})]})}function Hc({index:e}){let t=e*120,r={...yi,animationDelay:`${t}ms`},o=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:o}}),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(n=>jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[jsx("div",{style:{...r,height:11,width:n===0?"55%":n===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}})]})]},n))}),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 zc(){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:{...tt(0),width:120,height:28,borderRadius:9999}}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:{...tt(50),width:280,height:28,borderRadius:8}}),jsx("div",{style:{...tt(80),width:200,height:28,borderRadius:8}})]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[jsx("div",{style:{...tt(120),height:14,width:360,maxWidth:"100%"}}),jsx("div",{style:{...tt(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:{...tt(200+e*60),height:22,width:56,borderRadius:4}}),jsx("div",{style:{...tt(230+e*60),height:14,width:64,borderRadius:4,marginTop:4}})]},e))})]})})]})}function $c(){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:{...tt(t*50),height:28,width:e,borderRadius:6}},t))}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,flexShrink:0},children:[jsx("div",{style:{...tt(0),height:36,width:120,borderRadius:10}}),jsx("div",{style:{...tt(50),height:36,width:36,borderRadius:10}}),jsx("div",{style:{...tt(100),height:36,width:80,borderRadius:10}})]})]})}function wh({count:e=24}){return jsxs("div",{style:{minHeight:"100vh",position:"relative",width:"100%",maxWidth:1680,margin:"0 auto"},children:[jsx("style",{children:bi}),jsx(zc,{}),jsx($c,{}),jsx("div",{style:{padding:"12px 8px 80px"},children:jsx(jn,{count:e})})]})}var ki=3,Qc={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)"}},Xc={border:"hsl(var(--heroui-primary) / 0.4)",shadow:"0 2px 18px hsl(var(--heroui-primary) / 0.45)"},Gn={bg:"hsl(var(--heroui-primary) / 0.14)",text:"hsl(var(--heroui-primary))",shadow:"hsl(var(--heroui-primary) / 0.18)"},Ci={bg:"hsl(var(--heroui-secondary) / 0.14)",text:"hsl(var(--heroui-secondary))",shadow:"hsl(var(--heroui-secondary) / 0.18)"},Jc={bg:"rgba(239, 68, 68, 0.14)",text:"rgb(239, 68, 68)",shadow:"rgba(239, 68, 68, 0.18)"},Sr=[{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 Si(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 Zc(e){let t=e.outcomes?.map(s=>s.label?.toLowerCase().trim()??"")??[];if(t.some(s=>s==="up")&&t.some(s=>s==="down"))return [Gn,Jc];if(t.some(s=>s==="yes")&&t.some(s=>s==="no"))return [Gn,Ci];let r=t[0]??"",o=t[1]??"",n=Si(r)%Sr.length,i=Si(o)%Sr.length;return i===n&&(i=(i+1)%Sr.length),[Sr[n],Sr[i]]}function ed(e){let t=e.outcomes?.[0];return t?t.best_ask??t.price??null:null}function Mi(e){let t=ed(e);return t!=null?parseFloat((t*100).toFixed(2)):0}function Ei(e){return e<=1&&e>0?"< 1%":e>=99&&e<100?"> 99%":`${e}%`}function wi(e){let t=e.outcomes?.[0],r=t?.best_ask??t?.price??0;return parseFloat((r*100).toFixed(2)).toString()}function Pi(e){let t=e.outcomes?.[1];if(t){let n=t.best_ask??t.price??0;return parseFloat((n*100).toFixed(2)).toString()}let r=e.outcomes?.[0],o=r?.best_ask??r?.price??0;return parseFloat(((1-o)*100).toFixed(2)).toString()}function td(e){let t=new Date(e).getTime()-Date.now();if(t<=0)return null;let r=Math.floor(t/864e5),o=Math.floor(t%864e5/36e5),n=Math.floor(t%36e5/6e4),i=[];return r>0&&i.push(`${r}d`),o>0&&i.push(`${o}h`),i.push(`${n}m`),i.join(" ")}var rd=`
|
|
56
56
|
.badge-shine { position: relative; overflow: hidden; }
|
|
57
57
|
.badge-shine::after {
|
|
58
58
|
content: "";
|
|
@@ -76,21 +76,21 @@ import {createContext,memo,useRef,forwardRef,useState,useImperativeHandle,useMem
|
|
|
76
76
|
outline: 2px solid hsl(var(--heroui-primary) / 0.4);
|
|
77
77
|
outline-offset: 2px;
|
|
78
78
|
}
|
|
79
|
-
`;function Ei({event:e,href:t,LinkComponent:r,onSelect:o,onSelectOutcome:n,onHover:i}){let[s,l]=useState(null),a=e.markets??[],u=useMemo(()=>a.length>2?[...a].sort((h,L)=>(L.outcomes?.[0]?.price??0)-(h.outcomes?.[0]?.price??0)):a,[a]).filter(h=>h.status==="open"),d=u.length===1,m=u.slice(0,yi),p=u.length-yi,f=useMemo(()=>`$${Math.round(e.volume??0).toLocaleString("en-US")}`,[e.volume]),g=s?u.find(h=>h.slug===s)??null:null,v=!!g||d,x=()=>{v||o?.(e);},S=h=>{h.stopPropagation(),g&&(h.preventDefault(),l(null));},k=h=>{h.stopPropagation(),t||(h.preventDefault(),o?.(e));},M=d?jsx(md,{event:e,formattedVolume:f,href:t,LinkComponent:r,onSelect:o}):g?jsx(gd,{onCollapse:()=>l(null)}):jsx(cd,{moreCount:p,formattedVolume:f,source:e.source,href:t,LinkComponent:r,onShowMore:k});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:v?void 0:"pointer"},onMouseEnter:h=>{let L=h.currentTarget,b=qc[e.source]??Qc;L.style.borderColor=b.border,L.style.boxShadow=b.shadow,i?.(e);},onMouseLeave:h=>{let L=h.currentTarget;L.style.borderColor="rgba(39,39,42,0.6)",L.style.boxShadow="none";},onClick:x,children:[jsx("style",{children:td}),jsxs("div",{style:{display:"flex",flexDirection:"column",flex:1,padding:"14px 14px 12px",gap:8},children:[jsx(rd,{event:e,href:t,LinkComponent:r,onClick:S,isExpanded:v}),jsx("div",{style:{display:"flex",flexDirection:"column",flex:1},children:d?jsx(ud,{market:u[0],event:e,onSelectOutcome:n}):g?jsx(fd,{market:g,event:e,onCollapse:()=>l(null),onSelectOutcome:n}):jsx(ld,{displayedMarkets:m,onMarketClick:h=>l(h.slug)})})]}),jsx(dd,{children:M})]})}function rd({event:e,href:t,LinkComponent:r,onClick:o,isExpanded:n}){let i=e.start_at?ed(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:o,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("min-w-0 text-sm font-semibold leading-snug text-slate-200 line-clamp-2 lg:text-base",n&&"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(od,{event:e})]})}function nd(e){let t=[];if(e.status==="closed")return t.push({kind:"closed"}),t.slice(0,2);let r=e.tags?.some(n=>n.label?.toLowerCase()==="crypto"),o=e.tags?.some(n=>n.label?.toLowerCase()==="live");if(r&&e.end_at){let n=new Date(e.end_at).getTime()-Date.now(),i=300*1e3,s=900*1e3;if(n>0&&n<=s){let l=n<=i?"#ef4444":"#f59e0b";t.push({kind:"crypto-short",label:n<=i?"5m":"15m",color:l});}}return o&&t.push({kind:"live"}),t.slice(0,2)}function od({event:e}){let t=useMemo(()=>nd(e),[e]);return t.length===0?null:jsx("div",{className:"flex flex-shrink-0 flex-col items-end gap-1",children:t.map((r,o)=>{switch(r.kind){case "live":return jsx(id,{},o);case "crypto-short":return jsx(ad,{label:r.label,color:r.color},o);case "closed":return jsx(sd,{},o)}})})}function id(){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 ad({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 sd(){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 ld({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 o=Ci(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:n=>{n.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:Mi(o)}),jsx(pd,{})]})]},r.id??`${r.source}-${r.slug}`)})}):null}function cd({moreCount:e,formattedVolume:t,source:r,href:o,LinkComponent:n,onShowMore:i}){let{t:s}=useTranslation();return jsxs(Fragment,{children:[e>0?jsxs(Linkable,{href:o,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:i,children:[s("predict.event.showMore"),jsx(Li,{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(_i,{source:r})]})]})}function dd({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 Pi({bgColor:e,textColor:t,shadowColor:r,onClick:o,children:n}){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:o,children:n})}function Ti({market:e,event:t,onSelectOutcome:r,dynamicColors:o=false,labelFormat:n="action"}){let{t:i}=useTranslation(),[s,l]=o?Jc(e):[Yn,Ni],a=e.outcomes?.[0]?.label?.toLowerCase().trim()??"",c=e.outcomes?.[1]?.label?.toLowerCase().trim()??"",u=n==="label"&&a===c?"action":n,d=u==="label"?`${e.outcomes?.[0]?.label??"Yes"} ${Si(e)}\xA2`:i("predict.market.action.yes",{price:Si(e)}),m=u==="label"?`${e.outcomes?.[1]?.label??"No"} ${wi(e)}\xA2`:i("predict.market.action.no",{price:wi(e)});return jsxs("div",{className:"flex gap-2",children:[jsx(Pi,{bgColor:s.bg,textColor:s.text,shadowColor:s.shadow,onClick:p=>{p.stopPropagation(),r?.(t,e,"yes");},children:d}),jsx(Pi,{bgColor:l.bg,textColor:l.text,shadowColor:l.shadow,onClick:p=>{p.stopPropagation(),r?.(t,e,"no");},children:m})]})}function pd(){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 ud({market:e,event:t,onSelectOutcome:r}){return jsx("div",{style:{flex:1},children:jsx(Ti,{market:e,event:t,onSelectOutcome:r,dynamicColors:true,labelFormat:"label"})})}function md({event:e,formattedVolume:t,href:r,LinkComponent:o,onSelect:n}){let{t:i}=useTranslation();return jsxs(Fragment,{children:[jsxs(Linkable,{href:r,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:l=>{l.stopPropagation(),r||(l.preventDefault(),n?.(e));},children:[i("predict.event.viewEvent"),jsx(Li,{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(_i,{source:e.source})]})]})}function fd({market:e,event:t,onCollapse:r,onSelectOutcome:o}){let n=Ci(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:Mi(n)}),jsx(ChevronUpIcon,{className:"h-4 w-4 text-neutral-400"})]})]}),jsx("div",{style:{marginTop:12},children:jsx(Ti,{market:e,event:t,onSelectOutcome:o,labelFormat:"action"})})]})}function gd({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(hd,{className:"h-3 w-3"}),t("predict.event.back")]}),jsx("div",{})]})}function Li({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 hd({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 _i({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 yd=8;function Ii({events:e,hasMore:t=false,isFetchingMore:r=false,onFetchMore:o,onSelect:n,onSelectOutcome:i,getEventHref:s,LinkComponent:l,onHover:a}){let{t:c}=useTranslation(),u=useRef(null);useEffect(()=>{let p=u.current;if(!p)return;let f=new IntersectionObserver(g=>{g[0]?.isIntersecting&&t&&!r&&o?.();},{rootMargin:"300px"});return f.observe(p),()=>f.disconnect()},[t,r,o]);let d=useCallback(()=>{window.scrollTo({top:0,behavior:"smooth"});},[]),m=!t&&e.length>0;return jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[jsx("style",{children:`
|
|
79
|
+
`;function Ti({event:e,href:t,LinkComponent:r,onSelect:o,onSelectOutcome:n,onHover:i}){let[s,l]=useState(null),a=e.markets??[],u=useMemo(()=>a.length>2?[...a].sort((h,L)=>(L.outcomes?.[0]?.price??0)-(h.outcomes?.[0]?.price??0)):a,[a]).filter(h=>h.status==="open"),d=u.length===1,m=u.slice(0,ki),p=u.length-ki,f=useMemo(()=>`$${Math.round(e.volume??0).toLocaleString("en-US")}`,[e.volume]),g=s?u.find(h=>h.slug===s)??null:null,v=!!g||d,x=()=>{v||o?.(e);},S=h=>{h.stopPropagation(),g&&(h.preventDefault(),l(null));},k=h=>{h.stopPropagation(),t||(h.preventDefault(),o?.(e));},M=d?jsx(fd,{event:e,formattedVolume:f,href:t,LinkComponent:r,onSelect:o}):g?jsx(hd,{onCollapse:()=>l(null)}):jsx(dd,{moreCount:p,formattedVolume:f,source:e.source,href:t,LinkComponent:r,onShowMore:k});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:v?void 0:"pointer"},onMouseEnter:h=>{let L=h.currentTarget,b=Qc[e.source]??Xc;L.style.borderColor=b.border,L.style.boxShadow=b.shadow,i?.(e);},onMouseLeave:h=>{let L=h.currentTarget;L.style.borderColor="rgba(39,39,42,0.6)",L.style.boxShadow="none";},onClick:x,children:[jsx("style",{children:rd}),jsxs("div",{style:{display:"flex",flexDirection:"column",flex:1,padding:"14px 14px 12px",gap:8},children:[jsx(nd,{event:e,href:t,LinkComponent:r,onClick:S,isExpanded:v}),jsx("div",{style:{display:"flex",flexDirection:"column",flex:1},children:d?jsx(md,{market:u[0],event:e,onSelectOutcome:n}):g?jsx(gd,{market:g,event:e,onCollapse:()=>l(null),onSelectOutcome:n}):jsx(cd,{displayedMarkets:m,onMarketClick:h=>l(h.slug)})})]}),jsx(pd,{children:M})]})}function nd({event:e,href:t,LinkComponent:r,onClick:o,isExpanded:n}){let i=e.start_at?td(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:o,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",n&&"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(id,{event:e})]})}function od(e){let t=[];if(e.status==="closed")return t.push({kind:"closed"}),t.slice(0,2);let r=e.tags?.some(n=>n.label?.toLowerCase()==="crypto"),o=e.tags?.some(n=>n.label?.toLowerCase()==="live");if(r&&e.end_at){let n=new Date(e.end_at).getTime()-Date.now(),i=300*1e3,s=900*1e3;if(n>0&&n<=s){let l=n<=i?"#ef4444":"#f59e0b";t.push({kind:"crypto-short",label:n<=i?"5m":"15m",color:l});}}return o&&t.push({kind:"live"}),t.slice(0,2)}function id({event:e}){let t=useMemo(()=>od(e),[e]);return t.length===0?null:jsx("div",{className:"flex flex-shrink-0 flex-col items-end gap-1",children:t.map((r,o)=>{switch(r.kind){case "live":return jsx(ad,{},o);case "crypto-short":return jsx(sd,{label:r.label,color:r.color},o);case "closed":return jsx(ld,{},o)}})})}function ad(){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 ld(){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 cd({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 o=Mi(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:n=>{n.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:Ei(o)}),jsx(ud,{})]})]},r.id??`${r.source}-${r.slug}`)})}):null}function dd({moreCount:e,formattedVolume:t,source:r,href:o,LinkComponent:n,onShowMore:i}){let{t:s}=useTranslation();return jsxs(Fragment,{children:[e>0?jsxs(Linkable,{href:o,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:i,children:[s("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," ",s("predict.event.volume"),jsx(Ri,{source:r})]})]})}function pd({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 Ni({bgColor:e,textColor:t,shadowColor:r,onClick:o,children:n}){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:o,children:n})}function Li({market:e,event:t,onSelectOutcome:r,dynamicColors:o=false,labelFormat:n="action"}){let{t:i}=useTranslation(),[s,l]=o?Zc(e):[Gn,Ci],a=e.outcomes?.[0]?.label?.toLowerCase().trim()??"",c=e.outcomes?.[1]?.label?.toLowerCase().trim()??"",u=n==="label"&&a===c?"action":n,d=u==="label"?`${e.outcomes?.[0]?.label??"Yes"} ${wi(e)}\xA2`:i("predict.market.action.yes",{price:wi(e)}),m=u==="label"?`${e.outcomes?.[1]?.label??"No"} ${Pi(e)}\xA2`:i("predict.market.action.no",{price:Pi(e)});return jsxs("div",{className:"flex gap-2",children:[jsx(Ni,{bgColor:s.bg,textColor:s.text,shadowColor:s.shadow,onClick:p=>{p.stopPropagation(),r?.(t,e,"yes");},children:d}),jsx(Ni,{bgColor:l.bg,textColor:l.text,shadowColor:l.shadow,onClick:p=>{p.stopPropagation(),r?.(t,e,"no");},children:m})]})}function ud(){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 md({market:e,event:t,onSelectOutcome:r}){return jsx("div",{style:{flex:1},children:jsx(Li,{market:e,event:t,onSelectOutcome:r,dynamicColors:true,labelFormat:"label"})})}function fd({event:e,formattedVolume:t,href:r,LinkComponent:o,onSelect:n}){let{t:i}=useTranslation();return jsxs(Fragment,{children:[jsxs(Linkable,{href:r,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:l=>{l.stopPropagation(),r||(l.preventDefault(),n?.(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(Ri,{source:e.source})]})]})}function gd({market:e,event:t,onCollapse:r,onSelectOutcome:o}){let n=Mi(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:Ei(n)}),jsx(ChevronUpIcon,{className:"h-4 w-4 text-neutral-400"})]})]}),jsx("div",{style:{marginTop:12},children:jsx(Li,{market:e,event:t,onSelectOutcome:o,labelFormat:"action"})})]})}function hd({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(vd,{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 vd({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 Ri({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 kd=8;function Oi({events:e,hasMore:t=false,isFetchingMore:r=false,onFetchMore:o,onSelect:n,onSelectOutcome:i,getEventHref:s,LinkComponent:l,onHover:a}){let{t:c}=useTranslation(),u=useRef(null);useEffect(()=>{let p=u.current;if(!p)return;let f=new IntersectionObserver(g=>{g[0]?.isIntersecting&&t&&!r&&o?.();},{rootMargin:"300px"});return f.observe(p),()=>f.disconnect()},[t,r,o]);let d=useCallback(()=>{window.scrollTo({top:0,behavior:"smooth"});},[]),m=!t&&e.length>0;return jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[jsx("style",{children:`
|
|
80
80
|
@keyframes eventCardEnter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
|
|
81
81
|
@keyframes evt-load-spin{to{transform:rotate(360deg)}}
|
|
82
82
|
@media(max-width:767px){.evt-card-grid{grid-template-columns:1fr!important}}
|
|
83
83
|
@media(min-width:768px) and (max-width:1023px){.evt-card-grid{grid-template-columns:repeat(2,1fr)!important}}
|
|
84
84
|
@media(min-width:1024px) and (max-width:1279px){.evt-card-grid{grid-template-columns:repeat(3,1fr)!important}}
|
|
85
|
-
`}),jsx("div",{className:"evt-card-grid",style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)"},children:e.map((p,f)=>p==null?null:jsx("div",{style:{padding:yd,animation:`eventCardEnter 0.45s cubic-bezier(0.34,1.56,0.64,1) ${f%4*35}ms both`},children:jsx(Ei,{event:p,href:s?.(p),LinkComponent:l,onSelect:n,onSelectOutcome:i,onHover:a})},`${p.source}-${p.slug}`))}),jsx("div",{ref:u,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")]})}),m&&jsx(kd,{onScrollToTop:d})]})}function kd({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 Di({tagSlugSelection:e,limit:t=24,status:r,sort_by:o,sort_asc:n,source:i,with_markets:s,timeRemaining:l,minVolume:a,minLiquidity:c,markets_limit:u,onSelect:d,onSelectOutcome:m,getEventHref:p,LinkComponent:f,onHover:g}){let{data:v,hasMore:x,fetchMore:S,isFetching:k,isFetchingMore:M}=vi({tagSlugSelection:e,limit:t,status:r,sort_by:o,sort_asc:n,source:i,with_markets:s,timeRemaining:l,minVolume:a,minLiquidity:c,markets_limit:u});return k?jsx(Vn,{count:24}):jsx(Ii,{events:v,hasMore:x,isFetchingMore:M,onFetchMore:S,onSelect:d,onSelectOutcome:m,getEventHref:p,LinkComponent:f,onHover:g})}function Qh({onSelect:e,onSelectOutcome:t,getEventHref:r,LinkComponent:o,onHover:n,bgImageSrc:i}){let[s,l]=useState({categorySlug:null,tagSlug:null}),[a,c]=useState(Un),{data:u}=useEventStats(),{isOpen:d,onOpen:m,onClose:p}=useDisclosure(),{onOpen:f}=useAsyncModal(xr),g=useCallback((b,K,I)=>{t?.(b,K,I),f({params:{event:b,market:K,initialOutcome:I}});},[t,f]),v=useCallback(b=>{l(b);},[]),x=useCallback(b=>{c(K=>({...K,sortPreset:b}));},[]),S=useCallback(b=>{c(K=>({...K,sortAsc:b}));},[]),k=useCallback(b=>{c(b);},[]),M=useMemo(()=>mi[a.sortPreset].sort_by,[a.sortPreset]),h=useMemo(()=>Kn(a),[a]),L=useMemo(()=>jsx(fi,{sortPreset:a.sortPreset,onSortChange:x,sortAsc:a.sortAsc,onSortAscChange:S,onFilterPress:m,filterCount:h}),[a.sortPreset,a.sortAsc,h,x,S,m]);return jsxs("div",{style:{minHeight:"100vh",position:"relative",width:"100%",maxWidth:1680,margin:"0 auto"},children:[jsxs("div",{style:{position:"relative",overflow:"hidden",borderBottom:"1px solid rgba(39,39,42,0.5)",width:"100vw",marginLeft:"calc(-50vw + 50%)"},children:[jsxs("div",{style:{position:"absolute",inset:0,pointerEvents:"none",zIndex:0,overflow:"hidden"},children:[i&&jsx("img",{src:i,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:".evt-hero-wrap{padding:40px 16px 32px}@media(min-width:640px){.evt-hero-wrap{padding:48px 24px 40px}}@media(min-width:1024px){.evt-hero-wrap{padding:52px 32px 44px}}"}),jsx("div",{className:"evt-hero-wrap",style:{position:"relative",zIndex:2,maxWidth:1152,margin:"0 auto"},children:jsx(li,{stats:u})})]}),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(Ko,{onSelect:v,trailing:L})}),jsxs("div",{style:{padding:"12px 8px 80px"},children:[jsx(ai,{isOpen:d,onClose:p,value:a,onChange:k}),jsx(Di,{tagSlugSelection:s,sort_by:M,sort_asc:a.sortAsc,source:a.source,timeRemaining:a.timeRemaining,minVolume:a.minVolume,minLiquidity:a.minLiquidity,onSelect:e,onSelectOutcome:g,getEventHref:r,LinkComponent:o,onHover:n})]}),jsx(on,{})]})}function $i({market:e,initialOutcome:t="yes"}){let{t:r}=useTranslation(),{status:o}=useAuth(),n=useWallets(),i=useSwitchChain(),s=usePredictClient(),l=useContext(PolymarketContext),a=useQueryClient(),c=e.source,u=c==="polymarket",d=n.find(P=>P.chainNamespace===ChainNamespace.SOLANA&&P.isConnected),m=n.find(P=>P.chainNamespace===ChainNamespace.EVM&&P.isConnected&&"switchChain"in P),p=o==="authenticated",f=d?.address,g=m?.address,v=useMemo(()=>{if(c!=="polymarket")return;let P=e.provider_meta?.["polymarket.clobTokenIds"];return P?(typeof P=="string"?JSON.parse(P):P)[0]:void 0},[c,e.provider_meta]),{data:x}=useTickSize(v),S=x?.minimum_tick_size?String(x.minimum_tick_size):"0.01",[k,M]=useState(t),[h,L]=useState("market"),[b,K]=useState(NaN),[I,J]=useState(NaN),[fe,N]=useState(false),[z,F]=useState(false),[ne,E]=useState(null),[y,_]=useState(null),[U,ee]=useState(false),[q,ae]=useState(false),[ye,Ye]=useState("1h"),[ge,Ge]=useState(30),[it,qe]=useState("minutes"),O=false,Me=null,Oe;try{let P=vr();O=P.kalshiKycVerified,Me=P.kalshiKycUrl,Oe=P.polymarketSafeAddress;}catch{}let Mt=useCallback(async()=>{if(!m||!l)return null;let P=await m.getEip1193Provider();if(!P)return null;let he=!!Oe,Fe={address:m.address,signatureType:he?2:0,signTypedData:async(Le,Qe,De,xt)=>{let pe=[];"name"in Le&&pe.push({name:"name",type:"string"}),"version"in Le&&pe.push({name:"version",type:"string"}),"chainId"in Le&&pe.push({name:"chainId",type:"uint256"}),"verifyingContract"in Le&&pe.push({name:"verifyingContract",type:"address"}),"salt"in Le&&pe.push({name:"salt",type:"bytes32"});let Ot={EIP712Domain:pe,...Qe};return await P.request({method:"eth_signTypedData_v4",params:[m.address,JSON.stringify({domain:Le,types:Ot,primaryType:De,message:xt})]})}};return l.credentials??await l.authenticate(Fe)},[Oe,m,l]),R=useMemo(()=>{let P=k==="yes"?0:1,he=e.outcomes[P];return he?.best_bid??he?.price??.5},[e.outcomes,k]),Pe=c==="kalshi"?f??"":g??"",{data:Et,isLoading:Ln}=usePositions({source:c,user:Pe},{enabled:!!Pe,refetchInterval:3e4}),_n=useCallback(async()=>{let P=await Mt();return P?await buildPolymarketL2Headers(P.address,{apiKey:P.apiKey,secret:P.secret,passphrase:P.passphrase,method:"GET",requestPath:"/data/orders",body:""}):{}},[Mt]),{data:at,isLoading:$t}=useAvailableShares({source:c,user:Pe,market:e.slug,side:k},c==="polymarket"?{getHeaders:_n}:void 0,{enabled:!!Pe&&!!e.slug,refetchOnMount:"always"}),rr=at?.total_shares??0,Wt=at?.active_order_shares??0,Tt=at?.available_shares??0,Xe=at?.precision??(c==="polymarket"?4:0),Ar=$t||Ln,nr=e.provider_meta?.["dflow.yesMint"]??"",Rn=e.provider_meta?.["dflow.noMint"]??"",st=SOLANA_TOKENS.stablecoins.USDC.address,Fr=e.provider_meta?.["dflow.collateralMint"]||"",Br=k==="yes"?nr:Rn,Hr=useMemo(()=>Et?Et.positions.find(P=>P.side?.toLowerCase()===k&&P.market?.slug===e.slug)??null:null,[Et,e.slug,k])?.market?.provider_meta,In=Hr?.["dflow.outcomeMint"]||Br,lt=Hr?.["dflow.collateralMint"]||Fr,mt=In,Lt=lt||st,_t=useMemo(()=>isNaN(b)||b<=0?"0":String(Math.round(b*1e6)),[b]),zr=c==="kalshi"&&!!mt&&!!Lt&&!!f&&_t!=="0",{refetch:gr}=useDFlowQuote({inputMint:mt,outputMint:Lt,amount:_t,userPublicKey:f??"",slippageBps:100},{enabled:zr}),On=useMemo(()=>isNaN(b)||b<=0?0:b,[b]),D=useMemo(()=>{if(isNaN(b)||b<=0)return 0;let P=h==="limit"&&u&&!isNaN(I)?I:R;return b*P},[b,h,u,I,R]),Ne=useCallback(P=>{M(P),J(NaN),K(NaN),F(false);},[]),Je=useCallback(P=>{L(P);},[]);useEffect(()=>{h==="limit"&&J(Math.round(R*100)/100);},[h,k]);let or=useCallback(P=>{if(F(false),isNaN(P)){K(NaN);return}K(zn(Math.max(0,P),Xe));},[Xe]),Rt=useCallback(()=>{F(true),K(zn(Tt,Xe));},[Tt,Xe]),ft=useCallback(P=>{if(isNaN(P)){J(NaN);return}let he=Math.max(.01,Math.min(.99,P));J(Math.round(he*100)/100);},[]),gt=useCallback(()=>{K(NaN),J(NaN),L("market"),F(false),ae(false),Ye("1h"),Ge(30),qe("minutes");},[]),It=useMemo(()=>{let P=[];return isNaN(b)||b<=0?P.push(r("predict.trade.minQuantity",{amount:Xr})):b<Xr&&P.push(r("predict.trade.minQuantity",{amount:Xr})),e.status!=="open"&&P.push(r("predict.trade.marketNotActive")),!isNaN(b)&&b>0&&!z&&b>Tt&&P.push(r("predict.trade.insufficientSharesDetail",{total:rr.toFixed(Xe),active:Wt.toFixed(Xe),available:Tt.toFixed(Xe)})),h==="limit"&&u&&(isNaN(I)||I<.01||I>.99)&&P.push(r("predict.trade.limitPriceRange")),h==="limit"&&u&&q&&ye==="custom"&&(isNaN(ge)||ge<=0)&&P.push(r("predict.trade.expiration.invalidDate")),{isValid:P.length===0,errors:P}},[b,e.status,Tt,rr,Wt,z,h,u,I,q,ye,ge,Xe,r]),{mutateAsync:ht}=useDFlowSubmit(),{data:ir}=useOrder({id:ne??"",source:c},{enabled:!!ne}),$r=useCallback(async()=>{if(!y||!f||!d)return;let{cashAmount:P,collateral:he}=y;_(null);try{let Le=(await s.createDFlowQuote({inputMint:he,outputMint:st,amount:P,userPublicKey:f,slippageBps:100}))?.transaction;if(!Le)return;let Qe=Uint8Array.from(atob(Le),xt=>xt.charCodeAt(0)),De=await d.signTransaction(Qe);await ht({signedTransaction:btoa(String.fromCharCode(...De)),orderContext:{user_public_key:f,input_mint:he,output_mint:st,amount:P,price:"1",side:"SELL",outcome:"",market_slug:"",slippage_bps:100}});}catch{}},[y,f,d,s,ht,st]),vt=useCallback(()=>{a.invalidateQueries({queryKey:["predict","positions"]}),a.invalidateQueries({queryKey:["predict","orders"]}),a.invalidateQueries({queryKey:["predict","available-shares"]});},[a]);useEffect(()=>{if(!ir||!ne)return;let{status:P}=ir;P==="closed"?(E(null),y?$r().finally(()=>{N(false),toast.success(r("predict.trade.submitSuccess")),Vt(),vt(),gt();}):(N(false),toast.success(r("predict.trade.submitSuccess")),Vt(),vt(),gt())):(P==="failed"||P==="expired")&&(N(false),E(null),_(null),toast.error(r("predict.trade.submitError")));},[ir,ne,y,$r,vt,gt,r]);let Wr=useCallback(async()=>{if(!f||!d)return;if(!mt||!Lt){toast.error("Missing token mint addresses"),N(false);return}if(!O){ee(true),N(false);return}let Fe=(await gr()).data,Le=Fe?.transaction;if(!Le){toast.error(r("predict.trade.submitError")),N(false);return}if(lt&<!==st){let pe=String(Fe?.outAmount??"");pe&&pe!=="0"&&_({cashAmount:pe,collateral:lt});}let Qe=Uint8Array.from(atob(Le),pe=>pe.charCodeAt(0)),De=await d.signTransaction(Qe),xt=await ht({signedTransaction:btoa(String.fromCharCode(...De)),orderContext:{user_public_key:f,input_mint:mt,output_mint:Lt,amount:_t,price:String(R),side:"SELL",outcome:k==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});E(xt.signature);},[f,d,gr,ht,mt,Lt,_t,R,k,e.slug,lt,st,r,O]),Ur=useCallback(async()=>{if(!m||!l)return;let P=m.chain,he=P!==Chain.POLYGON;he&&await i(Chain.POLYGON);try{let Fe=await m.getEip1193Provider();if(!Fe){toast.error(r("predict.trade.submitError")),N(!1);return}let Le=!!Oe,Qe={address:m.address,signatureType:Le?2:0,signTypedData:async(Ut,Js,Zs,el)=>{let ar=[];"name"in Ut&&ar.push({name:"name",type:"string"}),"version"in Ut&&ar.push({name:"version",type:"string"}),"chainId"in Ut&&ar.push({name:"chainId",type:"uint256"}),"verifyingContract"in Ut&&ar.push({name:"verifyingContract",type:"address"}),"salt"in Ut&&ar.push({name:"salt",type:"bytes32"});let tl={EIP712Domain:ar,...Js};return await Fe.request({method:"eth_signTypedData_v4",params:[m.address,JSON.stringify({domain:Ut,types:tl,primaryType:Zs,message:el})]})}},De=await Mt();if(!De){toast.error(r("predict.trade.submitError")),N(!1);return}let xt=k==="yes"?0:1,pe="",Ot=e.provider_meta?.["polymarket.clobTokenIds"];Ot&&(pe=(typeof Ot=="string"?JSON.parse(Ot):Ot)[xt]??"");let Vr=e.provider_meta?.["polymarket.negRisk"]??!1,Dn=h==="limit"&&!isNaN(I)?I:R,Dt=en(Dn,S),Do={tokenId:pe,price:Dt,size:b,side:"SELL",orderType:h==="limit"?q?"GTD":"GTC":"FOK",tickSize:S,negRisk:Vr,...Oe&&{funderAddress:Oe},...h==="limit"&&q&&{expiration:Zr(ye,ge,it)}},Ys=buildCtfExchangeDomain(Vr),Ao=buildOrderMessage({...Do,signerAddress:Qe.address,signatureType:Qe.signatureType}),Gs=await Qe.signTypedData(Ys,CTF_ORDER_TYPES,"Order",Ao),qs=buildSignedOrder(Ao,Gs,Do.orderType),Fo=buildClobPayload(qs,De.apiKey),Qs=JSON.stringify(Fo),Xs=await buildPolymarketL2Headers(De.address,{apiKey:De.apiKey,secret:De.secret,passphrase:De.passphrase,method:"POST",requestPath:"/order",body:Qs});await s.createPolymarketOrder(Fo,Xs),vt(),toast.success(r("predict.trade.submitSuccess")),Vt(),gt(),N(!1);}finally{he&&P&&i(P).catch(()=>{});}},[m,l,Mt,i,k,e.provider_meta,h,I,R,b,s,vt,q,ye,ge,it,gt,r,S,e.slug]),Kr=useCallback(async()=>{if(!(!It.isValid||!p)){N(true),E(null),ee(false);try{c==="kalshi"?await Wr():await Ur();}catch(P){let he=P instanceof Error?P.message:"",Fe=c==="polymarket"&&he?tn(he,r):he||void 0;toast.error(Fe||r("predict.trade.submitError")),N(false);}}},[It.isValid,p,c,Wr,Ur,r]);return {outcome:k,orderType:h,quantity:b,limitPrice:I,shares:On,estimatedReturn:D,isSubmitting:fe,validation:It,supportsLimitOrder:u,kycRequired:U,kycUrl:Me,totalShares:rr,activeOrderShares:Wt,availableShares:Tt,isAvailableLoading:Ar,isSellAll:z,precision:Xe,expirationEnabled:q,expirationPreset:ye,customDuration:ge,customDurationUnit:it,setOutcome:Ne,setOrderType:Je,setQuantity:or,setLimitPrice:ft,setSellAll:Rt,setExpirationEnabled:ae,setExpirationPreset:Ye,setCustomDuration:Ge,setCustomDurationUnit:qe,submit:Kr}}var ep=["5m","1h","12h","24h","eod","custom"],tp={"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"},rp=["minutes","hours","days"],np={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"};function Qi({event:e,market:t,variant:r="bordered",outcome:o,orderType:n,quantity:i,limitPrice:s,estimatedReturn:l,isSubmitting:a,isValid:c,validationErrors:u,supportsLimitOrder:d,kycRequired:m,kycUrl:p,totalShares:f,activeOrderShares:g,availableShares:v,isAvailableLoading:x,precision:S,expirationEnabled:k,expirationPreset:M,customDuration:h,customDurationUnit:L,onOutcomeChange:b,onOrderTypeChange:K,onQuantityChange:I,onLimitPriceChange:J,onSellAll:fe,onExpirationEnabledChange:N,onExpirationPresetChange:z,onCustomDurationChange:F,onCustomDurationUnitChange:ne,onSubmit:E}){let{t:y}=useTranslation(),[_,U]=useState(false),ee=useDisclosure(),[q,ae]=useState(""),ye=useRef(false);useEffect(()=>{ye.current||ae(isNaN(i)?"":String(i));},[i]);let Ye=useCallback(O=>{let Me=new RegExp(`^\\d*\\.?\\d{0,${S}}$`);if(O!==""&&!Me.test(O))return;if(ae(O),U(false),O===""||O==="."){I(NaN);return}let Oe=parseFloat(O);isNaN(Oe)||I(Oe);},[I,S]);useEffect(()=>{m&&!ee.isOpen&&ee.onOpen();},[m]);let ge=useMemo(()=>{let O=o==="yes"?t.yesBid:t.noBid;return O!=null?parseFloat((Number(O)*100).toFixed(2)):null},[o,t]),Ge=!isNaN(i)&&i>0,it=useMemo(()=>{if(x)return y("predict.trade.loadingBalance");if(a)return y("predict.trade.submitting");if(m)return y("predict.trade.kycRequired");if(!Ge)return y("predict.trade.enterAmount");let O=y(o==="yes"?"predict.trade.yes":"predict.trade.no");return `${y("predict.trade.sell")} ${O}`},[x,a,m,Ge,o,y]),qe=()=>{if(m){ee.onOpen();return}if(!c){U(true);return}U(false),E();};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:O=>{r==="bordered"&&(O.currentTarget.style.borderColor="rgba(63,63,70,0.8)");},onMouseLeave:O=>{r==="bordered"&&(O.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(o==="yes"?"predict.trade.yes":"predict.trade.no")]}),jsxs("span",{className:"text-foreground",children:[" \xB7 ",t.yesSubTitle]})]})]})]}),jsxs("div",{className:"flex items-center justify-between",children:[d?jsxs(Tabs,{variant:"underlined",selectedKey:n,onSelectionChange:O=>K(O),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")}),n==="limit"&&d?jsx(StyledNumberInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",value:isNaN(s)?void 0:parseFloat((s*100).toFixed(2)),onValueChange:O=>J(O/100),minValue:1,maxValue:99,step:1,formatOptions:{maximumFractionDigits: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"}}):ge!=null&&jsxs("span",{className:"text-xl font-bold tabular-nums",children:[ge," \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(O=>{let Me=Math.pow(10,S);return jsxs("button",{type:"button",onClick:()=>{I(Math.floor(v*O/100*Me)/Me);},className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:[O,"%"]},O)}),jsx("button",{type:"button",onClick:fe,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:q,onChange:O=>Ye(O.target.value),onFocus:()=>{ye.current=true;},onBlur:()=>{ye.current=false,ae(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"}}),_&&u.length>0&&jsx("div",{className:"flex flex-col gap-y-0.5",children:u.map(O=>jsx("span",{className:"text-xs text-danger",children:O},O))})]}),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:x?"\u2013":`${f.toFixed(S)}${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:x?"\u2013":g>0?`-${g.toFixed(S)}${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:x?"\u2013":`${v.toFixed(S)}${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"})]})]}),n==="limit"&&d&&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:k,onValueChange:N,"aria-label":y("predict.trade.setExpiration")})]}),k&&jsxs(Fragment,{children:[jsx(Select,{"aria-label":y("predict.trade.setExpiration"),selectedKeys:[M],onSelectionChange:O=>{let Me=Array.from(O)[0];Me&&z(Me);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:ep.map(O=>jsx(SelectItem,{children:y(tp[O])},O))}),M==="custom"&&jsxs("div",{className:"flex gap-x-2",children:[jsx(StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(h)?void 0:h,onValueChange:F,minValue:1,step:1,formatOptions:{maximumFractionDigits:0},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:[L],onSelectionChange:O=>{let Me=Array.from(O)[0];Me&&ne(Me);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:rp.map(O=>jsx(SelectItem,{children:y(np[O])},O))})]})]})]}),jsx(Button,{color:"secondary",fullWidth:true,radius:"lg",size:"lg",isDisabled:x||!Ge||a,isLoading:a||x,spinner:jsx(Spinner,{size:"sm",color:"current"}),onPress:qe,children:it})]}),jsx(rn,{isOpen:ee.isOpen,onClose:ee.onClose,kycUrl:p})]})}function dn({event:e,market:t,variant:r,initialOutcome:o,chain:n}){let{outcome:i,orderType:s,quantity:l,limitPrice:a,estimatedReturn:c,isSubmitting:u,validation:d,supportsLimitOrder:m,kycRequired:p,kycUrl:f,totalShares:g,activeOrderShares:v,availableShares:x,isAvailableLoading:S,precision:k,expirationEnabled:M,expirationPreset:h,customDuration:L,customDurationUnit:b,setOutcome:K,setOrderType:I,setQuantity:J,setLimitPrice:fe,setSellAll:N,setExpirationEnabled:z,setExpirationPreset:F,setCustomDuration:ne,setCustomDurationUnit:E,submit:y}=$i({market:t,initialOutcome:o}),_=useAuthCallback(y),U=useMemo(()=>e?Yr(e):void 0,[e]),ee=useMemo(()=>Gr(t),[t]);return jsx(Qi,{event:U,market:ee,variant:r,outcome:i,orderType:s,quantity:l,limitPrice:a,estimatedReturn:c,isSubmitting:u,isValid:d.isValid,validationErrors:d.errors,supportsLimitOrder:m,kycRequired:p,kycUrl:f,totalShares:g,activeOrderShares:v,availableShares:x,isAvailableLoading:S,precision:k,expirationEnabled:M,expirationPreset:h,customDuration:L,customDurationUnit:b,onOutcomeChange:K,onOrderTypeChange:I,onQuantityChange:J,onLimitPriceChange:fe,onSellAll:N,onExpirationEnabledChange:z,onExpirationPresetChange:F,onCustomDurationChange:ne,onCustomDurationUnitChange:E,onSubmit:_})}var Xn="predict-sell";function Ji({id:e=Xn}){return jsx(AsyncModal,{id:e,children:t=>jsx(pp,{...t})})}function pp({params:e,isOpen:t,onOpenChange:r}){let{t:o}=useTranslation(),{isMobile:n}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:n?"lg":"md",backdrop:"blur",hideCloseButton:true,classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{className:n?"":"p-2",children:[jsx(dn,{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:o("common.cancel")})})]})})}):null}var eo=40,mn=36,Nr=480,to=Nr-mn;function ta({event:e,walletAddress:t,onCancelOrder:r}){let{t:o}=useTranslation(),[n,i]=useState("positions"),s=useMemo(()=>e.markets?.map(d=>d.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(d=>d.market&&s.includes(d.market.slug)).length,[l?.positions,s,t]),u=[{key:"positions",label:a>0?`${o("predict.positions.title")} (${a})`:o("predict.positions.title")},{key:"orders",label:o("predict.openOrders.title")},{key:"trades",label:o("predict.tradeHistory.title")}];return jsxs("div",{className:"flex flex-col gap-y-2 mt-6 px-1 lg:px-4",children:[jsx("div",{className:"flex items-center gap-x-1 border-b border-border",children:u.map(d=>jsx("button",{type:"button",onClick:()=>i(d.key),className:cn("px-3 py-2 text-sm font-medium transition-colors cursor-pointer",n===d.key?"text-foreground border-b-2 border-primary":"text-neutral hover:text-foreground"),children:d.label},d.key))}),t?jsxs("div",{style:{height:Nr},children:[n==="positions"&&jsx(xp,{source:e.source,walletAddress:t,marketSlugs:s}),n==="orders"&&jsx(yp,{source:e.source,walletAddress:t,marketSlugs:s,onCancelOrder:r}),n==="trades"&&jsx(wp,{source:e.source,walletAddress:t})]}):jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:Nr},children:o("predict.trade.connectWallet")})]})}function xp({source:e,walletAddress:t,marketSlugs:r}){let{t:o}=useTranslation(),{data:n,isLoading:i}=usePositions({source:e,user:t}),s=useMemo(()=>n?.positions?r.length===0?n.positions:n.positions.filter(l=>l.market&&r.includes(l.market.slug)):[],[n?.positions,r]);return i?jsx(no,{}):s.length===0?jsx(ro,{message:o("predict.positions.empty")}):jsxs("div",{className:"flex flex-col h-full",children:[jsxs("div",{className:"flex items-center text-neutral text-xs lg:text-sm font-normal shrink-0",style:{height:mn},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2 whitespace-nowrap",children:o("predict.positions.event")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.totalSize")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.value")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.avgPrice")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.markPrice")}),jsx("div",{className:"flex-[1.5] pr-2 text-right whitespace-nowrap",children:o("predict.positions.pnl")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.payoutIfRight")}),jsx("div",{className:"flex-[1.5] pr-2 text-right whitespace-nowrap",children:o("predict.positions.estSettlement")}),jsx("div",{className:"w-16 shrink-0"})]}),jsx(List,{style:{height:to},rowComponent:bp,rowCount:s.length,rowHeight:eo,rowProps:{positions:s,closeLabel:o("predict.positions.close")}})]})}function bp({index:e,style:t,positions:r,closeLabel:o}){let n=r[e];if(!n)return null;let i=n.pnl??0,s=n.pnl_percent??0,l=n.avg_price??0,a=n.current_price??0,c=i>0?"text-success":i<0?"text-danger":"text-foreground",u=i>0?"+":"",d=n.market?.outcomes?.[0]?.label??n.market?.question??"\u2014",m=n.side,p=n.size,f=n.size*a,g=n.market?.end_at?Cp(n.market.end_at):"\u2014";return jsxs("div",{style:t,className:"flex items-center border-b border-border/50 hover:bg-content2/40 transition-colors text-xs lg:text-sm",children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:jsxs("div",{className:"flex flex-col gap-y-0.5",children:[jsx("span",{className:"text-foreground truncate font-medium",children:d}),jsx("span",{className:cn("text-[10px] font-medium",m.toLowerCase()==="yes"?"text-primary":"text-secondary"),children:m})]})}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:n.size}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:["$",f.toFixed(2)]}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:pn(l)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:pn(a)}),jsxs("div",{className:cn("flex-[1.5] pr-2 text-right font-mono whitespace-nowrap",c),children:[u,"$",Math.abs(i).toFixed(2),jsxs("span",{className:"text-[10px] ml-0.5 opacity-70",children:["(",u,s.toFixed(1),"%)"]})]}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:["$",p.toFixed(2)]}),jsx("div",{className:"flex-[1.5] pr-2 text-right text-neutral whitespace-nowrap",children:g}),jsx("div",{className:"w-16 shrink-0 text-right",children:jsx("button",{type:"button",className:"text-xs text-neutral hover:text-foreground cursor-pointer transition-colors rounded px-2 py-0.5 border border-border hover:border-foreground/40",children:o})})]})}function yp({source:e,walletAddress:t,marketSlugs:r,onCancelOrder:o}){let{t:n}=useTranslation(),{data:i,isLoading:s,fetchNextPage:l,hasNextPage:a}=useInfiniteOrders({source:e,wallet_address:t}),c=useCancelOrder(),u=useMemo(()=>{let x=i?.pages?.flatMap(M=>M.items)??[],S=new Set(["live","open","submitted","pending"]),k=x.filter(M=>S.has(M.status));return r.length>0&&(k=k.filter(M=>M.market_id&&r.includes(M.market_id))),k},[i?.pages,r]),d=useCallback(x=>{o?o(x.id):c.mutate({source:x.source,id:x.id});},[o,c]),m=u.length,p=m+(a?1:0),f=useCallback(x=>x<m,[m]),g=useCallback(async()=>{await l();},[l]),v=useInfiniteLoader({isRowLoaded:f,loadMoreRows:g,rowCount:p,threshold:5});return s?jsx(no,{}):u.length===0&&!a?jsx(ro,{message:n("predict.openOrders.empty")}):jsxs("div",{className:"flex flex-col h-full",children:[jsxs("div",{className:"flex items-center text-neutral text-xs lg:text-sm font-normal shrink-0",style:{height:mn},children:[jsx("div",{className:"w-16 shrink-0 pr-2",children:n("predict.openOrders.side")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.openOrders.outcome")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.openOrders.type")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.openOrders.price")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.openOrders.filled")}),jsx("div",{className:"w-20 shrink-0 pr-2",children:n("predict.openOrders.status")}),jsx("div",{className:"w-16 shrink-0"})]}),jsx(List,{style:{height:to},onRowsRendered:v,rowComponent:kp,rowCount:p,rowHeight:eo,rowProps:{orders:u,itemCount:m,onCancel:d,isCancelling:c.isPending,cancelLabel:n("predict.openOrders.cancel")}})]})}function kp({index:e,style:t,orders:r,itemCount:o,onCancel:n,isCancelling:i,cancelLabel:s}){if(e>=o)return jsx("div",{style:t,className:"flex justify-center items-center",children:jsx(Spinner,{size:"sm"})});let 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("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?pn(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(Sp,{status:l.status})}),jsx("div",{className:"w-16 shrink-0 text-right",children:jsx("button",{type:"button",onClick:()=>n(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 Sp({status:e}){return jsx("span",{className:cn("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 wp({source:e,walletAddress:t}){let{t:r}=useTranslation(),{data:o,isLoading:n,fetchNextPage:i,hasNextPage:s}=useInfiniteTrades({source:e,wallet:t,limit:50}),l=useMemo(()=>o?.pages?.flatMap(p=>p.items)??[],[o?.pages]),a=l.length,c=a+(s?1:0),u=useCallback(p=>p<a,[a]),d=useCallback(async()=>{await i();},[i]),m=useInfiniteLoader({isRowLoaded:u,loadMoreRows:d,rowCount:c,threshold:5});return n?jsx(no,{}):l.length===0&&!s?jsx(ro,{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:mn},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:to},onRowsRendered:m,rowComponent:Pp,rowCount:c,rowHeight:eo,rowProps:{trades:l,itemCount:a}})]})}function Pp({index:e,style:t,trades:r,itemCount:o}){if(e>=o)return jsx("div",{style:t,className:"flex justify-center items-center",children:jsx(Spinner,{size:"sm"})});let n=r[e];if(!n)return null;let i=n.side?.toUpperCase()==="BUY",s=Np(n.timestamp),l=n.price??0,a=n.usd_size??0;return jsxs("div",{style:t,className:"flex items-center border-b border-border/50 text-xs lg:text-sm",children:[jsx("div",{className:"w-16 shrink-0 pr-2",children:jsx("span",{className:cn("inline-block rounded px-1.5 py-0.5 text-[10px] font-medium",i?"bg-primary/10 text-primary":"bg-danger/10 text-danger"),children:n.side})}),jsx("div",{className:"flex-1 pr-2 text-foreground capitalize",children:n.outcome??"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:pn(l)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:n.size}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:["$",a.toFixed(2)]}),jsx("div",{className:"flex-[1.5] pr-2 text-right text-neutral whitespace-nowrap",children:s})]})}function ro({message:e}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:Nr},children:e})}function no(){return jsx("div",{className:"flex flex-col gap-y-2 py-3 animate-pulse",style:{height:Nr},children:Array.from({length:6}).map((e,t)=>jsx(Skeleton,{className:"h-8 w-full rounded-md"},t))})}function pn(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(1)}\xA2`}function Np(e){let t=new Date(e*1e3),r=(t.getMonth()+1).toString().padStart(2,"0"),o=t.getDate().toString().padStart(2,"0"),n=t.getHours().toString().padStart(2,"0"),i=t.getMinutes().toString().padStart(2,"0");return `${r}/${o} ${n}:${i}`}function Cp(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}catch{return "\u2014"}}var ra=`
|
|
85
|
+
`}),jsx("div",{className:"evt-card-grid",style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)"},children:e.map((p,f)=>p==null?null:jsx("div",{style:{padding:kd,animation:`eventCardEnter 0.45s cubic-bezier(0.34,1.56,0.64,1) ${f%4*35}ms both`},children:jsx(Ti,{event:p,href:s?.(p),LinkComponent:l,onSelect:n,onSelectOutcome:i,onHover:a})},`${p.source}-${p.slug}`))}),jsx("div",{ref:u,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")]})}),m&&jsx(Sd,{onScrollToTop:d})]})}function Sd({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 Ai({tagSlugSelection:e,limit:t=24,status:r,sort_by:o,sort_asc:n,source:i,with_markets:s,timeRemaining:l,minVolume:a,minLiquidity:c,markets_limit:u,onSelect:d,onSelectOutcome:m,getEventHref:p,LinkComponent:f,onHover:g}){let{data:v,hasMore:x,fetchMore:S,isFetching:k,isFetchingMore:M}=xi({tagSlugSelection:e,limit:t,status:r,sort_by:o,sort_asc:n,source:i,with_markets:s,timeRemaining:l,minVolume:a,minLiquidity:c,markets_limit:u});return k?jsx(jn,{count:24}):jsx(Oi,{events:v,hasMore:x,isFetchingMore:M,onFetchMore:S,onSelect:d,onSelectOutcome:m,getEventHref:p,LinkComponent:f,onHover:g})}function Jh({onSelect:e,onSelectOutcome:t,getEventHref:r,LinkComponent:o,onHover:n,bgImageSrc:i}){let[s,l]=useState({categorySlug:null,tagSlug:null}),[a,c]=useState(Kn),{data:u}=useEventStats(),{isOpen:d,onOpen:m,onClose:p}=useDisclosure(),{onOpen:f}=useAsyncModal(yr),g=useCallback((b,K,I)=>{t?.(b,K,I),f({params:{event:b,market:K,initialOutcome:I}});},[t,f]),v=useCallback(b=>{l(b);},[]),x=useCallback(b=>{c(K=>({...K,sortPreset:b}));},[]),S=useCallback(b=>{c(K=>({...K,sortAsc:b}));},[]),k=useCallback(b=>{c(b);},[]),M=useMemo(()=>fi[a.sortPreset].sort_by,[a.sortPreset]),h=useMemo(()=>Vn(a),[a]),L=useMemo(()=>jsx(gi,{sortPreset:a.sortPreset,onSortChange:x,sortAsc:a.sortAsc,onSortAscChange:S,onFilterPress:m,filterCount:h}),[a.sortPreset,a.sortAsc,h,x,S,m]);return jsxs("div",{style:{minHeight:"100vh",position:"relative",width:"100%",maxWidth:1680,margin:"0 auto"},children:[jsxs("div",{style:{position:"relative",overflow:"hidden",borderBottom:"1px solid rgba(39,39,42,0.5)",width:"100vw",marginLeft:"calc(-50vw + 50%)"},children:[jsxs("div",{style:{position:"absolute",inset:0,pointerEvents:"none",zIndex:0,overflow:"hidden"},children:[i&&jsx("img",{src:i,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:".evt-hero-wrap{padding:40px 16px 32px}@media(min-width:640px){.evt-hero-wrap{padding:48px 24px 40px}}@media(min-width:1024px){.evt-hero-wrap{padding:52px 32px 44px}}"}),jsx("div",{className:"evt-hero-wrap",style:{position:"relative",zIndex:2,maxWidth:1152,margin:"0 auto"},children:jsx(ci,{stats:u})})]}),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(Vo,{onSelect:v,trailing:L})}),jsxs("div",{style:{padding:"12px 8px 80px"},children:[jsx(si,{isOpen:d,onClose:p,value:a,onChange:k}),jsx(Ai,{tagSlugSelection:s,sort_by:M,sort_asc:a.sortAsc,source:a.source,timeRemaining:a.timeRemaining,minVolume:a.minVolume,minLiquidity:a.minLiquidity,onSelect:e,onSelectOutcome:g,getEventHref:r,LinkComponent:o,onHover:n})]}),jsx(sn,{})]})}function Wi({market:e,initialOutcome:t="yes"}){let{t:r}=useTranslation(),{status:o}=useAuth(),n=useWallets(),i=useSwitchChain(),s=usePredictClient(),l=useContext(PolymarketContext),a=useQueryClient(),c=e.source,u=c==="polymarket",d=n.find(P=>P.chainNamespace===ChainNamespace.SOLANA&&P.isConnected),m=n.find(P=>P.chainNamespace===ChainNamespace.EVM&&P.isConnected&&"switchChain"in P),p=o==="authenticated",f=d?.address,g=m?.address,v=useMemo(()=>{if(c!=="polymarket")return;let P=e.provider_meta?.["polymarket.clobTokenIds"];return P?(typeof P=="string"?JSON.parse(P):P)[0]:void 0},[c,e.provider_meta]),{data:x}=useTickSize(v),S=x?.minimum_tick_size?String(x.minimum_tick_size):"0.01",[k,M]=useState(t),[h,L]=useState("market"),[b,K]=useState(NaN),[I,J]=useState(NaN),[fe,N]=useState(false),[z,F]=useState(false),[ne,E]=useState(null),[y,_]=useState(null),[U,ee]=useState(false),[q,ae]=useState(false),[ye,Ge]=useState("1h"),[ge,qe]=useState(30),[at,Qe]=useState("minutes"),O=false,Me=null,Oe;try{let P=xr();O=P.kalshiKycVerified,Me=P.kalshiKycUrl,Oe=P.polymarketSafeAddress;}catch{}let Et=useCallback(async()=>{if(!m||!l)return null;let P=await m.getEip1193Provider();if(!P)return null;let he=!!Oe,Be={address:m.address,signatureType:he?2:0,signTypedData:async(Le,Xe,Ae,bt)=>{let pe=[];"name"in Le&&pe.push({name:"name",type:"string"}),"version"in Le&&pe.push({name:"version",type:"string"}),"chainId"in Le&&pe.push({name:"chainId",type:"uint256"}),"verifyingContract"in Le&&pe.push({name:"verifyingContract",type:"address"}),"salt"in Le&&pe.push({name:"salt",type:"bytes32"});let Dt={EIP712Domain:pe,...Xe};return await P.request({method:"eth_signTypedData_v4",params:[m.address,JSON.stringify({domain:Le,types:Dt,primaryType:Ae,message:bt})]})}};return l.credentials??await l.authenticate(Be)},[Oe,m,l]),R=useMemo(()=>{let P=k==="yes"?0:1,he=e.outcomes[P];return he?.best_bid??he?.price??.5},[e.outcomes,k]),Pe=c==="kalshi"?f??"":g??"",{data:Tt,isLoading:Rn}=usePositions({source:c,user:Pe},{enabled:!!Pe,refetchInterval:3e4}),In=useCallback(async()=>{let P=await Et();return P?await buildPolymarketL2Headers(P.address,{apiKey:P.apiKey,secret:P.secret,passphrase:P.passphrase,method:"GET",requestPath:"/data/orders",body:""}):{}},[Et]),{data:st,isLoading:Wt}=useAvailableShares({source:c,user:Pe,market:e.slug,side:k},c==="polymarket"?{getHeaders:In}:void 0,{enabled:!!Pe&&!!e.slug,refetchOnMount:"always"}),nr=st?.total_shares??0,Ut=st?.active_order_shares??0,Lt=st?.available_shares??0,De=st?.precision??(c==="polymarket"?4:0),Br=Wt||Rn,or=e.provider_meta?.["dflow.yesMint"]??"",On=e.provider_meta?.["dflow.noMint"]??"",lt=SOLANA_TOKENS.stablecoins.USDC.address,Hr=e.provider_meta?.["dflow.collateralMint"]||"",zr=k==="yes"?or:On,$r=useMemo(()=>Tt?Tt.positions.find(P=>P.side?.toLowerCase()===k&&P.market?.slug===e.slug)??null:null,[Tt,e.slug,k])?.market?.provider_meta,Dn=$r?.["dflow.outcomeMint"]||zr,ct=$r?.["dflow.collateralMint"]||Hr,ft=Dn,_t=ct||lt,Rt=useMemo(()=>isNaN(b)||b<=0?"0":String(Math.round(b*1e6)),[b]),Wr=c==="kalshi"&&!!ft&&!!_t&&!!f&&Rt!=="0",{refetch:hr}=useDFlowQuote({inputMint:ft,outputMint:_t,amount:Rt,userPublicKey:f??"",slippageBps:100},{enabled:Wr}),An=useMemo(()=>isNaN(b)||b<=0?0:b,[b]),D=useMemo(()=>{if(isNaN(b)||b<=0)return 0;let P=h==="limit"&&u&&!isNaN(I)?I:R;return b*P},[b,h,u,I,R]),Ne=useCallback(P=>{M(P),J(NaN),K(NaN),F(false);},[]),Je=useCallback(P=>{L(P);},[]);useEffect(()=>{h==="limit"&&J(Math.round(R*100)/100);},[h,k]);let ir=useCallback(P=>{if(F(false),isNaN(P)){K(NaN);return}K(Ze(Math.max(0,P),De));},[De]),It=useCallback(()=>{F(true),K(Ze(Lt,De));},[Lt,De]),gt=useCallback(P=>{if(isNaN(P)){J(NaN);return}let he=Math.max(.01,Math.min(.99,P));J(Math.round(he*100)/100);},[]),ht=useCallback(()=>{K(NaN),J(NaN),L("market"),F(false),ae(false),Ge("1h"),qe(30),Qe("minutes");},[]),Ot=useMemo(()=>{let P=[];return isNaN(b)||b<=0?P.push(r("predict.trade.minQuantity",{amount:Zr})):b<Zr&&P.push(r("predict.trade.minQuantity",{amount:Zr})),e.status!=="open"&&P.push(r("predict.trade.marketNotActive")),!isNaN(b)&&b>0&&!z&&b>Lt&&P.push(r("predict.trade.insufficientSharesDetail",{total:Ze(nr,De).toFixed(De),active:Ze(Ut,De).toFixed(De),available:Ze(Lt,De).toFixed(De)})),h==="limit"&&u&&(isNaN(I)||I<.01||I>.99)&&P.push(r("predict.trade.limitPriceRange")),h==="limit"&&u&&q&&ye==="custom"&&(isNaN(ge)||ge<=0)&&P.push(r("predict.trade.expiration.invalidDate")),{isValid:P.length===0,errors:P}},[b,e.status,Lt,nr,Ut,z,h,u,I,q,ye,ge,De,r]),{mutateAsync:vt}=useDFlowSubmit(),{data:ar}=useOrder({id:ne??"",source:c},{enabled:!!ne}),Ur=useCallback(async()=>{if(!y||!f||!d)return;let{cashAmount:P,collateral:he}=y;_(null);try{let Le=(await s.createDFlowQuote({inputMint:he,outputMint:lt,amount:P,userPublicKey:f,slippageBps:100}))?.transaction;if(!Le)return;let Xe=Uint8Array.from(atob(Le),bt=>bt.charCodeAt(0)),Ae=await d.signTransaction(Xe);await vt({signedTransaction:btoa(String.fromCharCode(...Ae)),orderContext:{user_public_key:f,input_mint:he,output_mint:lt,amount:P,price:"1",side:"SELL",outcome:"",market_slug:"",slippage_bps:100}});}catch{}},[y,f,d,s,vt,lt]),xt=useCallback(()=>{a.invalidateQueries({queryKey:["predict","positions"]}),a.invalidateQueries({queryKey:["predict","orders"]}),a.invalidateQueries({queryKey:["predict","available-shares"]});},[a]);useEffect(()=>{if(!ar||!ne)return;let{status:P}=ar;P==="closed"?(E(null),y?Ur().finally(()=>{N(false),toast.success(r("predict.trade.submitSuccess")),jt(),xt(),ht();}):(N(false),toast.success(r("predict.trade.submitSuccess")),jt(),xt(),ht())):(P==="failed"||P==="expired")&&(N(false),E(null),_(null),toast.error(r("predict.trade.submitError")));},[ar,ne,y,Ur,xt,ht,r]);let Kr=useCallback(async()=>{if(!f||!d)return;if(!ft||!_t){toast.error("Missing token mint addresses"),N(false);return}if(!O){ee(true),N(false);return}let Be=(await hr()).data,Le=Be?.transaction;if(!Le){toast.error(r("predict.trade.submitError")),N(false);return}if(ct&&ct!==lt){let pe=String(Be?.outAmount??"");pe&&pe!=="0"&&_({cashAmount:pe,collateral:ct});}let Xe=Uint8Array.from(atob(Le),pe=>pe.charCodeAt(0)),Ae=await d.signTransaction(Xe),bt=await vt({signedTransaction:btoa(String.fromCharCode(...Ae)),orderContext:{user_public_key:f,input_mint:ft,output_mint:_t,amount:Rt,price:String(R),side:"SELL",outcome:k==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});E(bt.signature);},[f,d,hr,vt,ft,_t,Rt,R,k,e.slug,ct,lt,r,O]),Vr=useCallback(async()=>{if(!m||!l)return;let P=m.chain,he=P!==Chain.POLYGON;he&&await i(Chain.POLYGON);try{let Be=await m.getEip1193Provider();if(!Be){toast.error(r("predict.trade.submitError")),N(!1);return}let Le=!!Oe,Xe={address:m.address,signatureType:Le?2:0,signTypedData:async(Kt,Zs,el,tl)=>{let sr=[];"name"in Kt&&sr.push({name:"name",type:"string"}),"version"in Kt&&sr.push({name:"version",type:"string"}),"chainId"in Kt&&sr.push({name:"chainId",type:"uint256"}),"verifyingContract"in Kt&&sr.push({name:"verifyingContract",type:"address"}),"salt"in Kt&&sr.push({name:"salt",type:"bytes32"});let rl={EIP712Domain:sr,...Zs};return await Be.request({method:"eth_signTypedData_v4",params:[m.address,JSON.stringify({domain:Kt,types:rl,primaryType:el,message:tl})]})}},Ae=await Et();if(!Ae){toast.error(r("predict.trade.submitError")),N(!1);return}let bt=k==="yes"?0:1,pe="",Dt=e.provider_meta?.["polymarket.clobTokenIds"];Dt&&(pe=(typeof Dt=="string"?JSON.parse(Dt):Dt)[bt]??"");let Yr=e.provider_meta?.["polymarket.negRisk"]??!1,Fn=h==="limit"&&!isNaN(I)?I:R,At=rn(Fn,S),Ao={tokenId:pe,price:At,size:b,side:"SELL",orderType:h==="limit"?q?"GTD":"GTC":"FOK",tickSize:S,negRisk:Yr,...Oe&&{funderAddress:Oe},...h==="limit"&&q&&{expiration:tn(ye,ge,at)}},Gs=buildCtfExchangeDomain(Yr),Fo=buildOrderMessage({...Ao,signerAddress:Xe.address,signatureType:Xe.signatureType}),qs=await Xe.signTypedData(Gs,CTF_ORDER_TYPES,"Order",Fo),Qs=buildSignedOrder(Fo,qs,Ao.orderType),Bo=buildClobPayload(Qs,Ae.apiKey),Xs=JSON.stringify(Bo),Js=await buildPolymarketL2Headers(Ae.address,{apiKey:Ae.apiKey,secret:Ae.secret,passphrase:Ae.passphrase,method:"POST",requestPath:"/order",body:Xs});await s.createPolymarketOrder(Bo,Js),xt(),toast.success(r("predict.trade.submitSuccess")),jt(),ht(),N(!1);}finally{he&&P&&i(P).catch(()=>{});}},[m,l,Et,i,k,e.provider_meta,h,I,R,b,s,xt,q,ye,ge,at,ht,r,S,e.slug]),jr=useCallback(async()=>{if(!(!Ot.isValid||!p)){N(true),E(null),ee(false);try{c==="kalshi"?await Kr():await Vr();}catch(P){let he=P instanceof Error?P.message:"",Be=c==="polymarket"&&he?nn(he,r):he||void 0;toast.error(Be||r("predict.trade.submitError")),N(false);}}},[Ot.isValid,p,c,Kr,Vr,r]);return {outcome:k,orderType:h,quantity:b,limitPrice:I,shares:An,estimatedReturn:D,isSubmitting:fe,validation:Ot,supportsLimitOrder:u,kycRequired:U,kycUrl:Me,totalShares:nr,activeOrderShares:Ut,availableShares:Lt,isAvailableLoading:Br,isSellAll:z,precision:De,expirationEnabled:q,expirationPreset:ye,customDuration:ge,customDurationUnit:at,setOutcome:Ne,setOrderType:Je,setQuantity:ir,setLimitPrice:gt,setSellAll:It,setExpirationEnabled:ae,setExpirationPreset:Ge,setCustomDuration:qe,setCustomDurationUnit:Qe,submit:jr}}var tp=["5m","1h","12h","24h","eod","custom"],rp={"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"},np=["minutes","hours","days"],op={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"};function Xi({event:e,market:t,variant:r="bordered",outcome:o,orderType:n,quantity:i,limitPrice:s,estimatedReturn:l,isSubmitting:a,isValid:c,validationErrors:u,supportsLimitOrder:d,kycRequired:m,kycUrl:p,totalShares:f,activeOrderShares:g,availableShares:v,isAvailableLoading:x,precision:S,expirationEnabled:k,expirationPreset:M,customDuration:h,customDurationUnit:L,onOutcomeChange:b,onOrderTypeChange:K,onQuantityChange:I,onLimitPriceChange:J,onSellAll:fe,onExpirationEnabledChange:N,onExpirationPresetChange:z,onCustomDurationChange:F,onCustomDurationUnitChange:ne,onSubmit:E}){let{t:y}=useTranslation(),[_,U]=useState(false),ee=useDisclosure(),[q,ae]=useState(""),ye=useRef(false);useEffect(()=>{ye.current||ae(isNaN(i)?"":String(i));},[i]);let Ge=useCallback(O=>{let Me=new RegExp(`^\\d*\\.?\\d{0,${S}}$`);if(O!==""&&!Me.test(O))return;if(ae(O),U(false),O===""||O==="."){I(NaN);return}let Oe=parseFloat(O);isNaN(Oe)||I(Oe);},[I,S]);useEffect(()=>{m&&!ee.isOpen&&ee.onOpen();},[m]);let ge=useMemo(()=>{let O=o==="yes"?t.yesBid:t.noBid;return O!=null?parseFloat((Number(O)*100).toFixed(2)):null},[o,t]),qe=!isNaN(i)&&i>0,at=useMemo(()=>{if(x)return y("predict.trade.loadingBalance");if(a)return y("predict.trade.submitting");if(m)return y("predict.trade.kycRequired");if(!qe)return y("predict.trade.enterAmount");let O=y(o==="yes"?"predict.trade.yes":"predict.trade.no");return `${y("predict.trade.sell")} ${O}`},[x,a,m,qe,o,y]),Qe=()=>{if(m){ee.onOpen();return}if(!c){U(true);return}U(false),E();};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:O=>{r==="bordered"&&(O.currentTarget.style.borderColor="rgba(63,63,70,0.8)");},onMouseLeave:O=>{r==="bordered"&&(O.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(o==="yes"?"predict.trade.yes":"predict.trade.no")]}),jsxs("span",{className:"text-foreground",children:[" \xB7 ",t.yesSubTitle]})]})]})]}),jsxs("div",{className:"flex items-center justify-between",children:[d?jsxs(Tabs,{variant:"underlined",selectedKey:n,onSelectionChange:O=>K(O),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")}),n==="limit"&&d?jsx(StyledNumberInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",value:isNaN(s)?void 0:parseFloat((s*100).toFixed(2)),onValueChange:O=>J(O/100),minValue:1,maxValue:99,step:1,formatOptions:{maximumFractionDigits: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"}}):ge!=null&&jsxs("span",{className:"text-xl font-bold tabular-nums",children:[ge," \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(O=>{let Me=Math.pow(10,S);return jsxs("button",{type:"button",onClick:()=>{I(Math.floor(v*O/100*Me)/Me);},className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:[O,"%"]},O)}),jsx("button",{type:"button",onClick:fe,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:q,onChange:O=>Ge(O.target.value),onFocus:()=>{ye.current=true;},onBlur:()=>{ye.current=false,ae(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"}}),_&&u.length>0&&jsx("div",{className:"flex flex-col gap-y-0.5",children:u.map(O=>jsx("span",{className:"text-xs text-danger",children:O},O))})]}),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:x?"\u2013":`${Ze(f,S).toFixed(S)}${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:x?"\u2013":g>0?`-${Ze(g,S).toFixed(S)}${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:x?"\u2013":`${Ze(v,S).toFixed(S)}${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"})]})]}),n==="limit"&&d&&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:k,onValueChange:N,"aria-label":y("predict.trade.setExpiration")})]}),k&&jsxs(Fragment,{children:[jsx(Select,{"aria-label":y("predict.trade.setExpiration"),selectedKeys:[M],onSelectionChange:O=>{let Me=Array.from(O)[0];Me&&z(Me);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:tp.map(O=>jsx(SelectItem,{children:y(rp[O])},O))}),M==="custom"&&jsxs("div",{className:"flex gap-x-2",children:[jsx(StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(h)?void 0:h,onValueChange:F,minValue:1,step:1,formatOptions:{maximumFractionDigits:0},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:[L],onSelectionChange:O=>{let Me=Array.from(O)[0];Me&&ne(Me);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:np.map(O=>jsx(SelectItem,{children:y(op[O])},O))})]})]})]}),jsx(Button,{color:"secondary",fullWidth:true,radius:"lg",size:"lg",isDisabled:x||!qe||a,isLoading:a||x,spinner:jsx(Spinner,{size:"sm",color:"current"}),onPress:Qe,children:at})]}),jsx(on,{isOpen:ee.isOpen,onClose:ee.onClose,kycUrl:p})]})}function un({event:e,market:t,variant:r,initialOutcome:o,chain:n}){let{outcome:i,orderType:s,quantity:l,limitPrice:a,estimatedReturn:c,isSubmitting:u,validation:d,supportsLimitOrder:m,kycRequired:p,kycUrl:f,totalShares:g,activeOrderShares:v,availableShares:x,isAvailableLoading:S,precision:k,expirationEnabled:M,expirationPreset:h,customDuration:L,customDurationUnit:b,setOutcome:K,setOrderType:I,setQuantity:J,setLimitPrice:fe,setSellAll:N,setExpirationEnabled:z,setExpirationPreset:F,setCustomDuration:ne,setCustomDurationUnit:E,submit:y}=Wi({market:t,initialOutcome:o}),_=useAuthCallback(y),U=useMemo(()=>e?qr(e):void 0,[e]),ee=useMemo(()=>Qr(t),[t]);return jsx(Xi,{event:U,market:ee,variant:r,outcome:i,orderType:s,quantity:l,limitPrice:a,estimatedReturn:c,isSubmitting:u,isValid:d.isValid,validationErrors:d.errors,supportsLimitOrder:m,kycRequired:p,kycUrl:f,totalShares:g,activeOrderShares:v,availableShares:x,isAvailableLoading:S,precision:k,expirationEnabled:M,expirationPreset:h,customDuration:L,customDurationUnit:b,onOutcomeChange:K,onOrderTypeChange:I,onQuantityChange:J,onLimitPriceChange:fe,onSellAll:N,onExpirationEnabledChange:z,onExpirationPresetChange:F,onCustomDurationChange:ne,onCustomDurationUnitChange:E,onSubmit:_})}var Jn="predict-sell";function Zi({id:e=Jn}){return jsx(AsyncModal,{id:e,children:t=>jsx(up,{...t})})}function up({params:e,isOpen:t,onOpenChange:r}){let{t:o}=useTranslation(),{isMobile:n}=useScreen();return e?jsx(StyledModal,{isOpen:t,onOpenChange:r,size:n?"lg":"md",backdrop:"blur",hideCloseButton:true,classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsx(ModalContent,{children:jsxs("div",{className:n?"":"p-2",children:[jsx(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:o("common.cancel")})})]})})}):null}var to=40,gn=36,Mr=480,ro=Mr-gn;function ra({event:e,walletAddress:t,onCancelOrder:r}){let{t:o}=useTranslation(),[n,i]=useState("positions"),s=useMemo(()=>e.markets?.map(d=>d.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(d=>d.market&&s.includes(d.market.slug)).length,[l?.positions,s,t]),u=[{key:"positions",label:a>0?`${o("predict.positions.title")} (${a})`:o("predict.positions.title")},{key:"orders",label:o("predict.openOrders.title")},{key:"trades",label:o("predict.tradeHistory.title")}];return jsxs("div",{className:"flex flex-col gap-y-2 mt-6 px-1 lg:px-4",children:[jsx("div",{className:"flex items-center gap-x-1 border-b border-border",children:u.map(d=>jsx("button",{type:"button",onClick:()=>i(d.key),className:cn$1("px-3 py-2 text-sm font-medium transition-colors cursor-pointer",n===d.key?"text-foreground border-b-2 border-primary":"text-neutral hover:text-foreground"),children:d.label},d.key))}),t?jsxs("div",{style:{height:Mr},children:[n==="positions"&&jsx(bp,{source:e.source,walletAddress:t,marketSlugs:s}),n==="orders"&&jsx(kp,{source:e.source,walletAddress:t,marketSlugs:s,onCancelOrder:r}),n==="trades"&&jsx(Pp,{source:e.source,walletAddress:t})]}):jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:Mr},children:o("predict.trade.connectWallet")})]})}function bp({source:e,walletAddress:t,marketSlugs:r}){let{t:o}=useTranslation(),{data:n,isLoading:i}=usePositions({source:e,user:t}),s=useMemo(()=>n?.positions?r.length===0?n.positions:n.positions.filter(l=>l.market&&r.includes(l.market.slug)):[],[n?.positions,r]);return i?jsx(oo,{}):s.length===0?jsx(no,{message:o("predict.positions.empty")}):jsxs("div",{className:"flex flex-col h-full",children:[jsxs("div",{className:"flex items-center text-neutral text-xs lg:text-sm font-normal shrink-0",style:{height:gn},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2 whitespace-nowrap",children:o("predict.positions.event")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.totalSize")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.value")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.avgPrice")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.markPrice")}),jsx("div",{className:"flex-[1.5] pr-2 text-right whitespace-nowrap",children:o("predict.positions.pnl")}),jsx("div",{className:"flex-1 pr-2 text-right whitespace-nowrap",children:o("predict.positions.payoutIfRight")}),jsx("div",{className:"flex-[1.5] pr-2 text-right whitespace-nowrap",children:o("predict.positions.estSettlement")}),jsx("div",{className:"w-16 shrink-0"})]}),jsx(List,{style:{height:ro},rowComponent:yp,rowCount:s.length,rowHeight:to,rowProps:{positions:s,closeLabel:o("predict.positions.close")}})]})}function yp({index:e,style:t,positions:r,closeLabel:o}){let n=r[e];if(!n)return null;let i=n.pnl??0,s=n.pnl_percent??0,l=n.avg_price??0,a=n.current_price??0,c=i>0?"text-success":i<0?"text-danger":"text-foreground",u=i>0?"+":"",d=n.market?.outcomes?.[0]?.label??n.market?.question??"\u2014",m=n.side,p=n.size,f=n.size*a,g=n.market?.end_at?Mp(n.market.end_at):"\u2014";return jsxs("div",{style:t,className:"flex items-center border-b border-border/50 hover:bg-content2/40 transition-colors text-xs lg:text-sm",children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:jsxs("div",{className:"flex flex-col gap-y-0.5",children:[jsx("span",{className:"text-foreground truncate font-medium",children:d}),jsx("span",{className:cn$1("text-[10px] font-medium",m.toLowerCase()==="yes"?"text-primary":"text-secondary"),children:m})]})}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:n.size}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:["$",f.toFixed(2)]}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:mn(l)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:mn(a)}),jsxs("div",{className:cn$1("flex-[1.5] pr-2 text-right font-mono whitespace-nowrap",c),children:[u,"$",Math.abs(i).toFixed(2),jsxs("span",{className:"text-[10px] ml-0.5 opacity-70",children:["(",u,s.toFixed(1),"%)"]})]}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground whitespace-nowrap",children:["$",p.toFixed(2)]}),jsx("div",{className:"flex-[1.5] pr-2 text-right text-neutral whitespace-nowrap",children:g}),jsx("div",{className:"w-16 shrink-0 text-right",children:jsx("button",{type:"button",className:"text-xs text-neutral hover:text-foreground cursor-pointer transition-colors rounded px-2 py-0.5 border border-border hover:border-foreground/40",children:o})})]})}function kp({source:e,walletAddress:t,marketSlugs:r,onCancelOrder:o}){let{t:n}=useTranslation(),{data:i,isLoading:s,fetchNextPage:l,hasNextPage:a}=useInfiniteOrders({source:e,wallet_address:t}),c=useCancelOrder(),u=useMemo(()=>{let x=i?.pages?.flatMap(M=>M.items)??[],S=new Set(["live","open","submitted","pending"]),k=x.filter(M=>S.has(M.status));return r.length>0&&(k=k.filter(M=>M.market_id&&r.includes(M.market_id))),k},[i?.pages,r]),d=useCallback(x=>{o?o(x.id):c.mutate({source:x.source,id:x.id});},[o,c]),m=u.length,p=m+(a?1:0),f=useCallback(x=>x<m,[m]),g=useCallback(async()=>{await l();},[l]),v=useInfiniteLoader({isRowLoaded:f,loadMoreRows:g,rowCount:p,threshold:5});return s?jsx(oo,{}):u.length===0&&!a?jsx(no,{message:n("predict.openOrders.empty")}):jsxs("div",{className:"flex flex-col h-full",children:[jsxs("div",{className:"flex items-center text-neutral text-xs lg:text-sm font-normal shrink-0",style:{height:gn},children:[jsx("div",{className:"w-16 shrink-0 pr-2",children:n("predict.openOrders.side")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.openOrders.outcome")}),jsx("div",{className:"flex-1 pr-2",children:n("predict.openOrders.type")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.openOrders.price")}),jsx("div",{className:"flex-1 pr-2 text-right",children:n("predict.openOrders.filled")}),jsx("div",{className:"w-20 shrink-0 pr-2",children:n("predict.openOrders.status")}),jsx("div",{className:"w-16 shrink-0"})]}),jsx(List,{style:{height:ro},onRowsRendered:v,rowComponent:Sp,rowCount:p,rowHeight:to,rowProps:{orders:u,itemCount:m,onCancel:d,isCancelling:c.isPending,cancelLabel:n("predict.openOrders.cancel")}})]})}function Sp({index:e,style:t,orders:r,itemCount:o,onCancel:n,isCancelling:i,cancelLabel:s}){if(e>=o)return jsx("div",{style:t,className:"flex justify-center items-center",children:jsx(Spinner,{size:"sm"})});let 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?mn(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(wp,{status:l.status})}),jsx("div",{className:"w-16 shrink-0 text-right",children:jsx("button",{type:"button",onClick:()=>n(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 wp({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 Pp({source:e,walletAddress:t}){let{t:r}=useTranslation(),{data:o,isLoading:n,fetchNextPage:i,hasNextPage:s}=useInfiniteTrades({source:e,wallet:t,limit:50}),l=useMemo(()=>o?.pages?.flatMap(p=>p.items)??[],[o?.pages]),a=l.length,c=a+(s?1:0),u=useCallback(p=>p<a,[a]),d=useCallback(async()=>{await i();},[i]),m=useInfiniteLoader({isRowLoaded:u,loadMoreRows:d,rowCount:c,threshold:5});return n?jsx(oo,{}):l.length===0&&!s?jsx(no,{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:gn},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:ro},onRowsRendered:m,rowComponent:Np,rowCount:c,rowHeight:to,rowProps:{trades:l,itemCount:a}})]})}function Np({index:e,style:t,trades:r,itemCount:o}){if(e>=o)return jsx("div",{style:t,className:"flex justify-center items-center",children:jsx(Spinner,{size:"sm"})});let n=r[e];if(!n)return null;let i=n.side?.toUpperCase()==="BUY",s=Cp(n.timestamp),l=n.price??0,a=n.usd_size??0;return jsxs("div",{style:t,className:"flex items-center border-b border-border/50 text-xs lg:text-sm",children:[jsx("div",{className:"w-16 shrink-0 pr-2",children:jsx("span",{className:cn$1("inline-block rounded px-1.5 py-0.5 text-[10px] font-medium",i?"bg-primary/10 text-primary":"bg-danger/10 text-danger"),children:n.side})}),jsx("div",{className:"flex-1 pr-2 text-foreground capitalize",children:n.outcome??"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:mn(l)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:n.size}),jsxs("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:["$",a.toFixed(2)]}),jsx("div",{className:"flex-[1.5] pr-2 text-right text-neutral whitespace-nowrap",children:s})]})}function no({message:e}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:Mr},children:e})}function oo(){return jsx("div",{className:"flex flex-col gap-y-2 py-3 animate-pulse",style:{height:Mr},children:Array.from({length:6}).map((e,t)=>jsx(Skeleton,{className:"h-8 w-full rounded-md"},t))})}function mn(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(1)}\xA2`}function Cp(e){let t=new Date(e*1e3),r=(t.getMonth()+1).toString().padStart(2,"0"),o=t.getDate().toString().padStart(2,"0"),n=t.getHours().toString().padStart(2,"0"),i=t.getMinutes().toString().padStart(2,"0");return `${r}/${o} ${n}:${i}`}function Mp(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}catch{return "\u2014"}}var na=`
|
|
86
86
|
@keyframes detailShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
|
|
87
|
-
`,na={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 {...na,animationDelay:`${e}ms`}}function Cr({marketCount:e=4,showBack:t}){return jsxs(Fragment,{children:[jsx("style",{children:ra}),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:{...na,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,o)=>jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 0",borderBottom:"1px solid rgba(39,39,42,0.5)"},children:[jsx("div",{style:{...se(260+o*40),width:28,height:28,borderRadius:8,flexShrink:0}}),jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:4},children:[jsx("div",{style:{...se(280+o*40),height:14,width:o%2===0?192:160}}),jsx("div",{style:{...se(300+o*40),height:10,width:64}})]}),jsx("div",{style:{...se(320+o*40),height:16,width:40}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[jsx("div",{style:{...se(340+o*40),height:32,width:80,borderRadius:8}}),jsx("div",{style:{...se(360+o*40),height:32,width:80,borderRadius:8}})]})]},o))]}),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 oa(){return jsxs(Fragment,{children:[jsx("style",{children:ra}),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 ca="var(--color-bullish)",da="var(--color-bearish)";function Mr(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 Tp(e,t){return e<=0||t<=0?0:Math.pow(e/t,.3)}function Lp(e,t){let r=new Float64Array(101),o=new Float64Array(101);for(let p of e){let f=Math.round(p.price*100);f>=0&&f<=100&&(r[f]+=p.quantity);}for(let p of t){let f=Math.round(p.price*100);f>=0&&f<=100&&(o[f]+=p.quantity);}let n=0,i=0,s=new Float64Array(101),l=new Float64Array(101);for(let p=100;p>=0;p--)n+=r[p],i+=r[p]*p/100,s[p]=n,l[p]=i;let a=0,c=0,u=new Float64Array(101),d=new Float64Array(101);for(let p=0;p<=100;p++)a+=o[p],c+=o[p]*p/100,u[p]=a,d[p]=c;let m=Math.max(s[0]??0,u[100]??0);return Array.from({length:101},(p,f)=>{let g=s[f]>0,v=u[f]>0,x=s[f]||u[f],S=r[f]>0||o[f]>0;return {priceCents:f,displayHeight:Tp(x,m),opacity:x>0?S?1:.5:0,isBid:g,isAsk:v,bidCumTotal:s[f],askCumTotal:u[f],bidCumCost:l[f],askCumCost:d[f]}})}function _p({info:e}){let{t}=useTranslation(),r=e.isBid?ca:da,o=e.leftPct>65?void 0:`${e.leftPct}%`,n=e.leftPct>65?`${100-e.leftPct}%`:void 0;return jsxs("div",{style:{position:"absolute",top:8,left:o,right:n,zIndex:10,background:"rgba(17,24,39,0.95)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:8,padding:"8px 12px",fontSize:12,color:"#f9fafb",minWidth:140,pointerEvents:"none"},children:[jsx("div",{style:{marginBottom:4,fontWeight:600},children:t("predict.orderBook.depthToPrice",{price:e.priceCents})}),jsx("div",{style:{color:r},children:t("predict.orderBook.depthContracts",{amount:Mr(Math.round(e.cumTotal))})}),jsxs("div",{style:{color:r},children:["$",Mr(Math.round(e.cumCost))]})]})}var Rp=memo(function({slot:t,onEnter:r,onLeave:o}){let n=useRef(null),i=t.isBid||t.isAsk,s=t.isBid?ca:t.isAsk?da:void 0;return jsx("div",{style:{position:"absolute",left:`${t.priceCents}%`,width:"1%",height:"100%",boxSizing:"border-box",borderRight:t.priceCents<100?"1px solid transparent":"none",cursor:i?"crosshair":"default"},onMouseEnter:()=>r(t,n.current),onMouseLeave:o,children:i&&jsx("div",{ref:n,style:{position:"absolute",bottom:0,left:0,width:"100%",height:`${t.displayHeight*100}%`,backgroundColor:s,opacity:t.opacity}})})}),Ip=[0,10,20,30,40,50,60,70,80,90,100];function Op(){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:Ip.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 pa({bids:e,asks:t}){let{t:r}=useTranslation(),o=useMemo(()=>Lp(e,t),[e,t]),n=useMemo(()=>{let d=e.length>0?Math.max(...e.map(p=>p.price)):0,m=t.length>0?Math.min(...t.map(p=>p.price)):1;return Math.round((d+m)/2*100)},[e,t]),i=useMemo(()=>o.some(d=>d.isBid||d.isAsk),[o]),[s,l]=useState(null),a=useRef(null),c=useCallback((d,m)=>{a.current&&(a.current.style.filter=""),m?(m.style.filter="brightness(1.5)",a.current=m):a.current=null,d.isBid||d.isAsk?l({priceCents:d.priceCents,isBid:d.isBid,cumTotal:d.isBid?d.bidCumTotal:d.askCumTotal,cumCost:d.isBid?d.bidCumCost:d.askCumCost,leftPct:d.priceCents}):l(null);},[]),u=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:[n>0&&jsx("div",{style:{position:"absolute",left:`${n}%`,top:0,bottom:0,width:1,backgroundImage:"repeating-linear-gradient(to bottom, #6b7280 0, #6b7280 4px, transparent 4px, transparent 8px)",zIndex:1,pointerEvents:"none"}}),s&&jsx(_p,{info:s}),o.map(d=>jsx(Rp,{slot:d,onEnter:c,onLeave:u},d.priceCents))]}),jsx(Op,{})]}):jsx("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#6b7280",fontSize:13},children:r("predict.orderBook.noData")})}function io(e){let t=e*100,r=Math.round(t*10)/10;return Number.isInteger(r)?`${r}\xA2`:`${r.toFixed(1)}\xA2`}function ua(){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 ha({market:e,outcome:t="yes",onTradeAction:r}){let{t:o}=useTranslation(),[n,i]=useState("depth"),s=t==="no",l=e.source,{data:a,isLoading:c}=useOrderbook({slug:e.slug,source:l}),u=useMemo(()=>((s?a?.asks:a?.bids)??[]).map(v=>({price:s?1-v.price:v.price,quantity:v.size})),[a?.bids,a?.asks,s]),d=useMemo(()=>((s?a?.bids:a?.asks)??[]).map(v=>({price:s?1-v.price:v.price,quantity:v.size})),[a?.bids,a?.asks,s]),m=useMemo(()=>u.length>0?Math.max(...u.map(g=>g.price)):null,[u]),p=useMemo(()=>d.length>0?Math.min(...d.map(g=>g.price)):null,[d]),f=useMemo(()=>{if(m==null||p==null)return null;let g=(p-m)*100;return Math.round(g*10)/10},[m,p]);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:f!=null?`${o("predict.orderBook.spread")}: ${Number.isInteger(f)?`${f}\xA2`:`${f.toFixed(1)}\xA2`}`:null}),jsxs("span",{className:"flex flex-1 items-center justify-center gap-x-1 whitespace-nowrap",children:[m!=null&&jsxs("span",{style:{color:"var(--color-bullish)"},children:[o("predict.trade.bestBid"),": ",io(m)]}),m!=null&&p!=null&&jsx("span",{className:"text-neutral",children:"|"}),p!=null&&jsxs("span",{style:{color:"var(--color-bearish)"},children:[o("predict.trade.bestAsk"),": ",io(p)]})]}),jsx("div",{className:"flex flex-1 justify-end",children:jsx("button",{type:"button",title:n==="depth"?"Orderbook":"Depth chart",onClick:()=>i(g=>g==="depth"?"table":"depth"),className:"flex items-center text-neutral transition-colors cursor-pointer hover:text-foreground",children:n==="depth"?jsx(OrderbookTableIcon,{className:"h-4 w-4"}):jsx(OrderbookDepthIcon,{className:"h-4 w-4"})})})]}),jsxs("div",{className:"flex-1 min-h-0 overflow-hidden",children:[n==="depth"&&jsx(Fragment,{children:c?jsx(ua,{}):jsx(pa,{bids:u,asks:d})}),n==="table"&&jsx(Fragment,{children:c?jsx(ua,{}):jsx(zp,{bids:u,asks:d,bestBid:m??void 0,bestAsk:p??void 0,spread:f??void 0})})]})]})}var ma=8;function zp({bids:e,asks:t,spread:r}){let{t:o}=useTranslation(),n=useMemo(()=>[...t].sort((a,c)=>a.price-c.price).slice(0,ma).reverse(),[t]),i=useMemo(()=>[...e].sort((a,c)=>c.price-a.price).slice(0,ma),[e]),s=useMemo(()=>{let a=[...n,...i].map(c=>c.quantity);return Math.max(...a,1)},[n,i]);return n.length===0&&i.length===0?jsx("div",{className:"flex items-center justify-center h-full text-xs text-neutral",children:o("predict.orderBook.empty")}):jsxs("div",{className:"flex flex-col h-full overflow-y-auto text-xs font-mono select-none",children:[n.map(a=>jsx(fa,{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:[o("predict.orderBook.spread"),":"," ",Number.isInteger(r)?`${r}\xA2`:`${r.toFixed(1)}\xA2`]})}),i.map(a=>jsx(fa,{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:o("predict.orderBook.price")}),jsx("span",{className:"text-center",children:o("predict.orderBook.contracts")}),jsx("span",{className:"text-right",children:o("predict.orderBook.total")})]})]})}function fa({price:e,quantity:t,side:r,maxQty:o}){let n=r==="ask",i=Math.min(t/o*100,100),s=n?"bg-bearish/10":"bg-bullish/10",l=n?"text-bearish":"text-bullish",a=Mr(Math.round(t)),c=Math.round(t*e),u=`$${Mr(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:io(e)}),jsx("span",{className:"relative z-10 text-foreground text-center",children:a}),jsx("span",{className:"relative z-10 text-foreground text-right",children:u})]})}var lo=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}},hn=4,va=["#22d3ee","#a3e635","#f97316","#f472b6","#a78bfa"];function Jp(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 Zp(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 xa(e){return `${(e*100).toFixed(2)}%`}var eu=[{range:ChartRange.ONE_DAY,label:"1D"},{range:ChartRange.ONE_WEEK,label:"1W"},{range:ChartRange.ONE_MONTH,label:"1M"},{range:ChartRange.ALL,label:"ALL"}];function tu({value:e,onChange:t}){return jsx("div",{style:{display:"flex",alignItems:"center",gap:2},children:eu.map(({range:r,label:o})=>{let n=r===e;return jsx("button",{onClick:()=>t(r),style:{padding:"2px 8px",border:"none",background:"transparent",color:n?"#f9fafb":"#6b7280",fontWeight:n?700:400,fontSize:12,cursor:"pointer",borderRadius:4,letterSpacing:"0.02em",transition:"color 0.15s",userSelect:"none"},children:o},r)})})}function ru(){let e=useRef(null),t=useRef(null),r=useCallback(n=>{let i=e.current,s=t.current;if(!i||!s)return;let l=i.getBoundingClientRect(),a=(n.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";},[]),o=useCallback(()=>{t.current&&(t.current.style.opacity="0");},[]);return {wrapperRef:e,overlayRef:t,onMouseMove:r,onMouseLeave:o}}function nu({active:e,payload:t,label:r,labelMap:o,allSeries:n,range:i}){if(!e||!n?.length)return null;let s=new Map;t?.forEach(a=>s.set(a.dataKey,a));let l=n.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"?Zp(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:o.get(a.dataKey)??a.dataKey}),jsx("span",{style:{color:"#f9fafb",fontWeight:700,fontVariantNumeric:"tabular-nums"},children:a.value!=null?xa(a.value):"--"})]},a.dataKey))]})}function ou({markets:e,selectedSlugs:t,colorMap:r,onToggle:o}){let[n,i]=useState(false),s=useRef(null);useEffect(()=>{if(!n)return;function c(u){s.current&&!s.current.contains(u.target)&&i(false);}return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[n]);let l=t.length>=hn,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(u=>u.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:n?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.15s",color:"#6b7280"},children:jsx("path",{d:"M2 4l4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]}),n&&jsxs("div",{style:{position:"absolute",top:"calc(100% + 4px)",left:0,zIndex:50,background:"#111827",border:"1px solid rgba(255,255,255,0.1)",borderRadius:10,boxShadow:"0 8px 24px rgba(0,0,0,0.5)",minWidth:260,maxWidth:360,maxHeight:320,overflowY:"auto",padding:"6px 0"},children:[jsxs("div",{style:{padding:"4px 12px 8px",fontSize:11,color:"#6b7280",borderBottom:"1px solid rgba(255,255,255,0.06)",marginBottom:4},children:["Select up to ",hn," markets"]}),e.map((c,u)=>{let d=t.includes(c.slug),m=!d&&l,p=d&&t.length===1,f=r.get(c.slug)??"#6b7280",g=c.outcomes.find(x=>x.label.toLowerCase()==="yes")??c.outcomes[0],v=g?.price!=null?`${Math.round(g.price*100)}%`:null;return jsxs("button",{onClick:()=>{p||m||o(c.slug);},style:{display:"flex",alignItems:"center",gap:10,width:"100%",padding:"7px 12px",border:"none",background:d?"rgba(255,255,255,0.05)":"transparent",cursor:m||p?"not-allowed":"pointer",opacity:m?.35:1,textAlign:"left",transition:"background 0.1s"},onMouseEnter:x=>{!m&&!p&&(x.currentTarget.style.background="rgba(255,255,255,0.07)");},onMouseLeave:x=>{x.currentTarget.style.background=d?"rgba(255,255,255,0.05)":"transparent";},children:[jsx("span",{style:{width:16,height:16,borderRadius:4,border:d?`2px solid ${f}`:"2px solid rgba(255,255,255,0.2)",background:d?`${f}30`:"transparent",flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center"},children:d&&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:d?"#f9fafb":"#9ca3af",fontSize:12,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c.outcomes?.[0]?.label??c.question}),v&&jsx("span",{style:{color:f,fontWeight:700,fontSize:12,flexShrink:0},children:v})]},c.id??`${u}-${c.slug}`)})]})]})}function iu({series:e,colorMap:t,displayValues:r}){return jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:"6px 24px",padding:"0 2px"},children:e.map(o=>{let n=t.get(o.marketSlug)??"#6b7280",i=r.get(o.marketSlug);return jsxs("div",{style:{display:"inline-flex",alignItems:"flex-start",gap:6},children:[jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:n,flexShrink:0,marginTop:3}}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:1},children:[jsx("span",{style:{color:"#9ca3af",fontSize:12,lineHeight:"17px",whiteSpace:"nowrap"},children:o.label}),jsx("span",{style:{color:"#f9fafb",fontSize:14,fontWeight:700,lineHeight:"20px",fontVariantNumeric:"tabular-nums"},children:i!=null?xa(i):"--"})]})]},o.marketSlug)})})}function au(e){let t=Math.floor(e.length/2);return e.length%2===1?e[t]:(e[t-1]+e[t])/2}function su(e,t){if(e.length<=t)return e;let r=[],o=e.length/t;for(let n=0;n<t;n++){let i=Math.floor(n*o),s=Math.min(Math.floor((n+1)*o),e.length),l=e.slice(i,s),a=l.map(c=>c.price).sort((c,u)=>c-u);r.push({timestamp:l[l.length-1].timestamp,price:au(a)});}return r}function lu(e,t=200){if(e.length===0)return [];let r=e.map(l=>({...l,data:su(l.data,t)})),o=new Set;r.forEach(l=>l.data.forEach(a=>o.add(a.timestamp)));let n=Array.from(o).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 n.map(l=>{let a={timestamp:l};return i.forEach(({slug:c,map:u})=>{let d=u.get(l);if(d!==void 0)s.set(c,d),a[c]=d;else {let m=s.get(c);m!==void 0&&(a[c]=m);}}),a})}function ba(e){return jsx(lo,{children:jsx(cu,{...e})})}function cu({event:e,isLoading:t,className:r,volume:o}){let n=useMemo(()=>{let y=new Set;return (e.markets??[]).filter(_=>_.status!=="open"||y.has(_.slug)?false:(y.add(_.slug),true))},[e.markets]),i=useMemo(()=>[...n].sort((y,_)=>{let U=ee=>(ee.outcomes.find(q=>q.label.toLowerCase()==="yes")??ee.outcomes[0])?.price??0;return U(_)-U(y)}),[n]),[s,l]=useState(()=>i.slice(0,hn).map(y=>y.slug)),[a,c]=useState(Qr),u=useMemo(()=>{let y=new Map;return s.forEach((_,U)=>{y.set(_,va[U%va.length]);}),y},[s]),d=useMemo(()=>n.filter(y=>s.includes(y.slug)),[n,s]),{series:m,isLoading:p}=useMarketHistory(d,a),f=t||p,g=useMemo(()=>{if(m.length>0&&m.some(U=>U.data.length>0))return m;let y=Date.now(),_=864e5;return d.map(U=>{let q=(U.outcomes?.find(ae=>ae.label.toLowerCase()==="yes")??U.outcomes?.[0])?.price??.5;return {marketSlug:U.slug,label:U.outcomes?.[0]?.label??U.question,data:[{timestamp:y-7*_,price:q},{timestamp:y,price:q}]}})},[m,d]),v=useMemo(()=>a===ChartRange.ONE_DAY?96:a===ChartRange.ONE_WEEK?168:a===ChartRange.ONE_MONTH?180:300,[a]),x=useMemo(()=>lu(g,v),[g,v]),S=useMemo(()=>{if(x.length===0)return [0,1];let y=1/0,_=-1/0;if(s.forEach(ee=>{x.forEach(q=>{let ae=q[ee];ae!=null&&(ae<y&&(y=ae),ae>_&&(_=ae));});}),!isFinite(y))return [0,1];let U=Math.max((_-y)*.15,.05);return [Math.max(0,y-U),Math.min(1,_+U)]},[x,s]),k=useMemo(()=>{let y=new Map;return g.forEach(_=>{_.data.length>0&&y.set(_.marketSlug,_.data[_.data.length-1].price);}),y},[g]),M=useMemo(()=>{let y=new Map;return g.forEach(_=>y.set(_.marketSlug,_.label)),y},[g]),h=useMemo(()=>g.map(y=>({slug:y.marketSlug,color:u.get(y.marketSlug)??"#6b7280"})),[g,u]),{wrapperRef:L,overlayRef:b,onMouseMove:K,onMouseLeave:I}=ru(),J=useCallback(y=>{l(_=>_.includes(y)?_.length<=1?_:_.filter(U=>U!==y):_.length>=hn?_:[..._,y]);},[]),[fe,N]=useState(null),z=useRef(null),F=useRef(""),ne=useRef(0),E=!f&&x.length>0;return jsxs("div",{className:r,style:{display:"flex",flexDirection:"column",gap:12},children:[jsx(iu,{series:g,colorMap:u,displayValues:fe??k}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[jsx("div",{ref:L,style:{height:300,width:"100%",userSelect:"none",position:"relative"},onMouseMove:E?y=>{K(y),cancelAnimationFrame(ne.current),ne.current=requestAnimationFrame(()=>{N(z.current);});}:void 0,onMouseLeave:E?()=>{I(),cancelAnimationFrame(ne.current),F.current="",z.current=null,N(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"}})}):x.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:b,style:{position:"absolute",inset:0,opacity:0,pointerEvents:"none",zIndex:1}}),jsx(ResponsiveContainer,{width:"100%",height:"100%",children:jsxs(LineChart,{data:x,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:y=>Jp(y,a),axisLine:false,tickLine:false,tick:{fill:"#6b7280",fontSize:11},minTickGap:70}),jsx(YAxis,{domain:S,tickFormatter:y=>`${Math.round(y*100)}%`,axisLine:false,tickLine:false,tick:{fill:"#6b7280",fontSize:11},width:40,tickCount:6}),jsx(Tooltip,{content:y=>{let _=y;if(_.active&&_.payload?.length){let U=_.payload.map(ee=>`${ee.dataKey}:${ee.value}`).join(",");if(U!==F.current){F.current=U;let ee=new Map;_.payload.forEach(q=>{q.value!=null&&ee.set(q.dataKey,q.value);}),z.current=ee;}}return jsx(nu,{..._,labelMap:M,allSeries:h,range:a})},cursor:{stroke:"#4b5563",strokeWidth:1,strokeDasharray:"4 4"},wrapperStyle:{zIndex:2},isAnimationActive:false}),g.map(y=>{let _=u.get(y.marketSlug)??"#6b7280";return jsx(Line,{type:"linear",dataKey:y.marketSlug,stroke:_,strokeWidth:2,strokeLinejoin:"round",strokeLinecap:"round",dot:false,activeDot:{r:4.5,strokeWidth:2,stroke:"rgba(10,10,10,0.8)",fill:_},connectNulls:true,isAnimationActive:false},y.marketSlug)}),fe==null&&x.length>0&&g.map(y=>{let _=x[x.length-1],U=_[y.marketSlug];if(U==null)return null;let ee=u.get(y.marketSlug)??"#6b7280";return jsx(ReferenceDot,{x:_.timestamp,y:U,ifOverflow:"extendDomain",shape:q=>{let{cx:ae,cy:ye}=q;return ae==null||ye==null?jsx("g",{}):jsxs("g",{children:[jsxs("circle",{cx:ae,cy:ye,r:6,fill:ee,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:ae,cy:ye,r:3.5,fill:ee})]})}},`pulse-${y.marketSlug}`)})]})})]})}),jsxs("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"6px 8px",marginTop:6},children:[o!=null&&o>0&&jsxs("span",{style:{color:"#6b7280",fontSize:12},children:["$",Math.round(o).toLocaleString()," vol"]}),jsx("div",{style:{flex:1,minWidth:0}}),jsx(tu,{value:a,onChange:c}),i.length>1&&jsx("div",{style:{width:"100%",display:"flex",alignItems:"center"},children:jsx(ou,{markets:i,selectedSlugs:s,colorMap:u,onToggle:J})})]})]})]})}function Tr(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function Su(e){return `${parseFloat((e*100).toFixed(2))}%`}function ya(e){let t=e*100;return t<1&&t>0?"< 1":parseFloat(t.toFixed(2)).toString()}function vn(e){return e.outcomes?.[0]?.label??e.question}function wu(e){switch(e){case "polymarket":return "Polymarket";case "kalshi":return "Kalshi";default:return e}}function Er(e){if(!e)return "\u2014";let t=new Date(e);if(isNaN(t.getTime()))return "\u2014";let r=t.toLocaleString("default",{month:"short"}),o=t.getDate(),n=t.getFullYear(),i=t.getHours().toString().padStart(2,"0"),s=t.getMinutes().toString().padStart(2,"0");return `${r} ${o}, ${n} ${i}:${s}`}function ka(e){let[t,r]=useState(0);if(useEffect(()=>{if(!e)return;r(Date.now());let u=setInterval(()=>r(Date.now()),1e3);return ()=>clearInterval(u)},[e]),!e||t===0)return null;let o=new Date(e).getTime();if(isNaN(o))return null;let n=o-t;if(n<=0)return null;let i=Math.floor(n/864e5),s=Math.floor(n%864e5/36e5),l=Math.floor(n%36e5/6e4),a=Math.floor(n%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 Sa(e){if(!e)return null;let t=new Date(e);if(isNaN(t.getTime()))return null;let r=t.getHours().toString().padStart(2,"0"),o=t.getMinutes().toString().padStart(2,"0"),n=(t.getMonth()+1).toString().padStart(2,"0"),i=t.getDate().toString().padStart(2,"0"),s=t.getFullYear(),l=-t.getTimezoneOffset(),a=l>=0?"+":"-",c=String(Math.abs(Math.floor(l/60))).padStart(2,"0");return `${r}:${o} ${n}/${i}/${s} (${a}${c})`}function Ca({event:e,onTradeAction:t}){let{t:r}=useTranslation(),{ref:o,isCollapsed:n}=useScrollCollapse(),i=useMemo(()=>{let d=[...e.markets||[]],m=d.filter(f=>f.status==="open").sort((f,g)=>Tr(g)-Tr(f)),p=d.filter(f=>f.status!=="open").sort((f,g)=>Tr(g)-Tr(f));return [...m,...p]},[e.markets]),s=e.status==="closed"||e.status==="voided",l=ka(s?void 0:e.start_at),a=ka(s?void 0:e.end_at),c=Sa(e.start_at),u=Sa(e.end_at);return jsxs("div",{className:"w-full flex flex-col gap-y-4 lg:gap-y-6",children:[jsxs("div",{ref:o,className:`sticky top-0 z-30 flex items-center backdrop-blur-md transition-all duration-300 ${n?"h-14 lg:h-16 gap-x-2 py-2 px-1 lg:px-4 -mx-1 lg:-mx-4 shadow-sm":"h-16 lg:h-20 gap-x-2 lg:gap-x-4"}`,children:[jsx(Avatar,{src:e.image_url||void 0,name:e.title||"Event",radius:"lg",classNames:{base:"bg-transparent"},className:`flex-shrink-0 transition-all duration-300 ${n?"!h-10 !w-10 lg:!h-12 lg:!w-12":"!h-16 !w-16 lg:!h-20 lg:!w-20"}`}),jsxs("div",{className:"flex flex-col gap-0.5 min-w-0 flex-1",children:[!n&&jsxs("div",{className:"flex items-center gap-1.5",children:[e.tags?.slice(0,3).map((d,m)=>jsxs(Fragment$1,{children:[m>0&&jsx("span",{className:"text-sm text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-sm text-neutral truncate",children:d.label})]},d.slug)),jsx(Mu,{source:e.source})]}),jsx("span",{className:`font-semibold truncate transition-all duration-300 ${n?"text-sm lg:text-base":"text-lg lg:text-xl"}`,children:e.title})]})]}),(l||a||s)&&jsx("div",{className:"flex items-center gap-x-2 text-xs lg:text-sm font-mono",children:s?u&&jsx("span",{className:"text-neutral",children:r("predict.event.endedAt",{time:u})}):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})}),u&&jsxs(Fragment,{children:[jsx("span",{className:"text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-neutral",children:u})]})]}):null}),jsx(ba,{event:e,volume:e.volume??void 0}),jsx(Pu,{markets:i,onTradeAction:t}),jsx(Cu,{markets:i,event:e})]})}var wa=5;function Pu({markets:e,onTradeAction:t}){let{t:r}=useTranslation(),{isMobile:o}=useScreen(),[n,i]=useState(false),[s,l]=useState(null),a=useMemo(()=>{let v=new Set;return e.filter(x=>v.has(x.slug)?false:(v.add(x.slug),true))},[e]),c=a.find(v=>v.status==="open")?.slug,[u,d]=useState(c?`${c}:yes`:null);if(a.length===0)return null;let m=a.length>wa,p=n?a:a.slice(0,wa),f=v=>{l(x=>x===v?null:v);},g=(v,x,S)=>{d(`${v.slug}:${x}`),o||l(v.slug),t?.(v,x,S);};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:p.map((v,x)=>{let S=Tr(v),k=v.outcomes[1]?.best_ask??v.outcomes[1]?.price,M=s===v.slug;return jsx(Nu,{market:v,yesPrice:S,noPrice:k??void 0,activeYes:u===`${v.slug}:yes`,activeNo:u===`${v.slug}:no`,isExpanded:M,onToggleExpand:()=>f(v.slug),onTradeAction:g},v.id??`${x}-${v.slug}`)})})]}),m&&jsxs("button",{type:"button",onClick:()=>i(v=>!v),className:"flex w-full items-center justify-start gap-x-2 py-2 pl-1 text-xs text-neutral lg:pl-2 lg:text-sm cursor-pointer hover:text-foreground transition-colors",children:[jsx("span",{children:r(n?"predict.event.rules.collapse":"predict.event.moreMarketsLabel")}),jsx(ChevronDownIcon,{className:cn("h-4 w-4 transition-transform",n&&"rotate-180")})]})]})}function Nu({market:e,yesPrice:t,noPrice:r,activeYes:o,activeNo:n,isExpanded:i,onToggleExpand:s,onTradeAction:l}){let{t:a}=useTranslation(),c=e.status==="open",u=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:d=>{(d.key==="Enter"||d.key===" ")&&(d.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:vn(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:vn(e)}),u&&jsx("span",{className:"text-[8px] text-neutral lg:text-xxs",children:u})]})]})}),jsx("td",{className:"py-2 text-left text-foreground lg:text-center",children:Su(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("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-primary text-primary-foreground":"bg-primary/10 text-primary"),onClick:d=>{d.stopPropagation(),l?.(e,"yes","buy");},children:a("predict.market.action.yes",{price:ya(t)})}),jsx("button",{type:"button",className:cn("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-secondary text-secondary-foreground":"bg-secondary/10 text-secondary"),onClick:d=>{d.stopPropagation(),l?.(e,"no","buy");},children:r!=null?a("predict.market.action.no",{price:ya(r)}):a("predict.market.no")})]}):jsx("div",{className:"flex items-center justify-end",children:jsx("span",{className:cn("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(ha,{market:e,outcome:n?"no":"yes",onTradeAction:l})})})})]})}function Cu({markets:e,event:t}){let{t:r}=useTranslation(),[o,n]=useState(false),[i,s]=useState(false),[l,a]=useState(0),c=e.filter(p=>p.rules&&p.rules.length>0||p.description);if(c.length===0)return null;let u=c[l]??c[0],d=u.rules&&u.rules.length>0?u.rules.join(`
|
|
87
|
+
`,oa={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 {...oa,animationDelay:`${e}ms`}}function Er({marketCount:e=4,showBack:t}){return jsxs(Fragment,{children:[jsx("style",{children:na}),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:{...oa,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,o)=>jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 0",borderBottom:"1px solid rgba(39,39,42,0.5)"},children:[jsx("div",{style:{...se(260+o*40),width:28,height:28,borderRadius:8,flexShrink:0}}),jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:4},children:[jsx("div",{style:{...se(280+o*40),height:14,width:o%2===0?192:160}}),jsx("div",{style:{...se(300+o*40),height:10,width:64}})]}),jsx("div",{style:{...se(320+o*40),height:16,width:40}}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[jsx("div",{style:{...se(340+o*40),height:32,width:80,borderRadius:8}}),jsx("div",{style:{...se(360+o*40),height:32,width:80,borderRadius:8}})]})]},o))]}),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 ia(){return jsxs(Fragment,{children:[jsx("style",{children:na}),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 da="var(--color-bullish)",pa="var(--color-bearish)";function Tr(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 Lp(e,t){return e<=0||t<=0?0:Math.pow(e/t,.3)}function _p(e,t){let r=new Float64Array(101),o=new Float64Array(101);for(let p of e){let f=Math.round(p.price*100);f>=0&&f<=100&&(r[f]+=p.quantity);}for(let p of t){let f=Math.round(p.price*100);f>=0&&f<=100&&(o[f]+=p.quantity);}let n=0,i=0,s=new Float64Array(101),l=new Float64Array(101);for(let p=100;p>=0;p--)n+=r[p],i+=r[p]*p/100,s[p]=n,l[p]=i;let a=0,c=0,u=new Float64Array(101),d=new Float64Array(101);for(let p=0;p<=100;p++)a+=o[p],c+=o[p]*p/100,u[p]=a,d[p]=c;let m=Math.max(s[0]??0,u[100]??0);return Array.from({length:101},(p,f)=>{let g=s[f]>0,v=u[f]>0,x=s[f]||u[f],S=r[f]>0||o[f]>0;return {priceCents:f,displayHeight:Lp(x,m),opacity:x>0?S?1:.5:0,isBid:g,isAsk:v,bidCumTotal:s[f],askCumTotal:u[f],bidCumCost:l[f],askCumCost:d[f]}})}function Rp({info:e}){let{t}=useTranslation(),r=e.isBid?da:pa,o=e.leftPct>65?void 0:`${e.leftPct}%`,n=e.leftPct>65?`${100-e.leftPct}%`:void 0;return jsxs("div",{style:{position:"absolute",top:8,left:o,right:n,zIndex:10,background:"rgba(17,24,39,0.95)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:8,padding:"8px 12px",fontSize:12,color:"#f9fafb",minWidth:140,pointerEvents:"none"},children:[jsx("div",{style:{marginBottom:4,fontWeight:600},children:t("predict.orderBook.depthToPrice",{price:e.priceCents})}),jsx("div",{style:{color:r},children:t("predict.orderBook.depthContracts",{amount:Tr(Math.round(e.cumTotal))})}),jsxs("div",{style:{color:r},children:["$",Tr(Math.round(e.cumCost))]})]})}var Ip=memo(function({slot:t,onEnter:r,onLeave:o}){let n=useRef(null),i=t.isBid||t.isAsk,s=t.isBid?da:t.isAsk?pa:void 0;return jsx("div",{style:{position:"absolute",left:`${t.priceCents}%`,width:"1%",height:"100%",boxSizing:"border-box",borderRight:t.priceCents<100?"1px solid transparent":"none",cursor:i?"crosshair":"default"},onMouseEnter:()=>r(t,n.current),onMouseLeave:o,children:i&&jsx("div",{ref:n,style:{position:"absolute",bottom:0,left:0,width:"100%",height:`${t.displayHeight*100}%`,backgroundColor:s,opacity:t.opacity}})})}),Op=[0,10,20,30,40,50,60,70,80,90,100];function Dp(){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:Op.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 ua({bids:e,asks:t}){let{t:r}=useTranslation(),o=useMemo(()=>_p(e,t),[e,t]),n=useMemo(()=>{let d=e.length>0?Math.max(...e.map(p=>p.price)):0,m=t.length>0?Math.min(...t.map(p=>p.price)):1;return Math.round((d+m)/2*100)},[e,t]),i=useMemo(()=>o.some(d=>d.isBid||d.isAsk),[o]),[s,l]=useState(null),a=useRef(null),c=useCallback((d,m)=>{a.current&&(a.current.style.filter=""),m?(m.style.filter="brightness(1.5)",a.current=m):a.current=null,d.isBid||d.isAsk?l({priceCents:d.priceCents,isBid:d.isBid,cumTotal:d.isBid?d.bidCumTotal:d.askCumTotal,cumCost:d.isBid?d.bidCumCost:d.askCumCost,leftPct:d.priceCents}):l(null);},[]),u=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:[n>0&&jsx("div",{style:{position:"absolute",left:`${n}%`,top:0,bottom:0,width:1,backgroundImage:"repeating-linear-gradient(to bottom, #6b7280 0, #6b7280 4px, transparent 4px, transparent 8px)",zIndex:1,pointerEvents:"none"}}),s&&jsx(Rp,{info:s}),o.map(d=>jsx(Ip,{slot:d,onEnter:c,onLeave:u},d.priceCents))]}),jsx(Dp,{})]}):jsx("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#6b7280",fontSize:13},children:r("predict.orderBook.noData")})}function ao(e){let t=e*100,r=Math.round(t*10)/10;return Number.isInteger(r)?`${r}\xA2`:`${r.toFixed(1)}\xA2`}function ma(){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 va({market:e,outcome:t="yes",onTradeAction:r}){let{t:o}=useTranslation(),[n,i]=useState("depth"),s=t==="no",l=e.source,{data:a,isLoading:c}=useOrderbook({slug:e.slug,source:l}),u=useMemo(()=>((s?a?.asks:a?.bids)??[]).map(v=>({price:s?1-v.price:v.price,quantity:v.size})),[a?.bids,a?.asks,s]),d=useMemo(()=>((s?a?.bids:a?.asks)??[]).map(v=>({price:s?1-v.price:v.price,quantity:v.size})),[a?.bids,a?.asks,s]),m=useMemo(()=>u.length>0?Math.max(...u.map(g=>g.price)):null,[u]),p=useMemo(()=>d.length>0?Math.min(...d.map(g=>g.price)):null,[d]),f=useMemo(()=>{if(m==null||p==null)return null;let g=(p-m)*100;return Math.round(g*10)/10},[m,p]);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:f!=null?`${o("predict.orderBook.spread")}: ${Number.isInteger(f)?`${f}\xA2`:`${f.toFixed(1)}\xA2`}`:null}),jsxs("span",{className:"flex flex-1 items-center justify-center gap-x-1 whitespace-nowrap",children:[m!=null&&jsxs("span",{style:{color:"var(--color-bullish)"},children:[o("predict.trade.bestBid"),": ",ao(m)]}),m!=null&&p!=null&&jsx("span",{className:"text-neutral",children:"|"}),p!=null&&jsxs("span",{style:{color:"var(--color-bearish)"},children:[o("predict.trade.bestAsk"),": ",ao(p)]})]}),jsx("div",{className:"flex flex-1 justify-end",children:jsx("button",{type:"button",title:n==="depth"?"Orderbook":"Depth chart",onClick:()=>i(g=>g==="depth"?"table":"depth"),className:"flex items-center text-neutral transition-colors cursor-pointer hover:text-foreground",children:n==="depth"?jsx(OrderbookTableIcon,{className:"h-4 w-4"}):jsx(OrderbookDepthIcon,{className:"h-4 w-4"})})})]}),jsxs("div",{className:"flex-1 min-h-0 overflow-hidden",children:[n==="depth"&&jsx(Fragment,{children:c?jsx(ma,{}):jsx(ua,{bids:u,asks:d})}),n==="table"&&jsx(Fragment,{children:c?jsx(ma,{}):jsx($p,{bids:u,asks:d,bestBid:m??void 0,bestAsk:p??void 0,spread:f??void 0})})]})]})}var fa=8;function $p({bids:e,asks:t,spread:r}){let{t:o}=useTranslation(),n=useMemo(()=>[...t].sort((a,c)=>a.price-c.price).slice(0,fa).reverse(),[t]),i=useMemo(()=>[...e].sort((a,c)=>c.price-a.price).slice(0,fa),[e]),s=useMemo(()=>{let a=[...n,...i].map(c=>c.quantity);return Math.max(...a,1)},[n,i]);return n.length===0&&i.length===0?jsx("div",{className:"flex items-center justify-center h-full text-xs text-neutral",children:o("predict.orderBook.empty")}):jsxs("div",{className:"flex flex-col h-full overflow-y-auto text-xs font-mono select-none",children:[n.map(a=>jsx(ga,{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:[o("predict.orderBook.spread"),":"," ",Number.isInteger(r)?`${r}\xA2`:`${r.toFixed(1)}\xA2`]})}),i.map(a=>jsx(ga,{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:o("predict.orderBook.price")}),jsx("span",{className:"text-center",children:o("predict.orderBook.contracts")}),jsx("span",{className:"text-right",children:o("predict.orderBook.total")})]})]})}function ga({price:e,quantity:t,side:r,maxQty:o}){let n=r==="ask",i=Math.min(t/o*100,100),s=n?"bg-bearish/10":"bg-bullish/10",l=n?"text-bearish":"text-bullish",a=Tr(Math.round(t)),c=Math.round(t*e),u=`$${Tr(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:ao(e)}),jsx("span",{className:"relative z-10 text-foreground text-center",children:a}),jsx("span",{className:"relative z-10 text-foreground text-right",children:u})]})}var co=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}},xn=4,xa=["#22d3ee","#a3e635","#f97316","#f472b6","#a78bfa"];function Zp(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 eu(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 ba(e){return `${(e*100).toFixed(2)}%`}var tu=[{range:ChartRange.ONE_DAY,label:"1D"},{range:ChartRange.ONE_WEEK,label:"1W"},{range:ChartRange.ONE_MONTH,label:"1M"},{range:ChartRange.ALL,label:"ALL"}];function ru({value:e,onChange:t}){return jsx("div",{style:{display:"flex",alignItems:"center",gap:2},children:tu.map(({range:r,label:o})=>{let n=r===e;return jsx("button",{onClick:()=>t(r),style:{padding:"2px 8px",border:"none",background:"transparent",color:n?"#f9fafb":"#6b7280",fontWeight:n?700:400,fontSize:12,cursor:"pointer",borderRadius:4,letterSpacing:"0.02em",transition:"color 0.15s",userSelect:"none"},children:o},r)})})}function nu(){let e=useRef(null),t=useRef(null),r=useCallback(n=>{let i=e.current,s=t.current;if(!i||!s)return;let l=i.getBoundingClientRect(),a=(n.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";},[]),o=useCallback(()=>{t.current&&(t.current.style.opacity="0");},[]);return {wrapperRef:e,overlayRef:t,onMouseMove:r,onMouseLeave:o}}function ou({active:e,payload:t,label:r,labelMap:o,allSeries:n,range:i}){if(!e||!n?.length)return null;let s=new Map;t?.forEach(a=>s.set(a.dataKey,a));let l=n.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"?eu(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:o.get(a.dataKey)??a.dataKey}),jsx("span",{style:{color:"#f9fafb",fontWeight:700,fontVariantNumeric:"tabular-nums"},children:a.value!=null?ba(a.value):"--"})]},a.dataKey))]})}function iu({markets:e,selectedSlugs:t,colorMap:r,onToggle:o}){let[n,i]=useState(false),s=useRef(null);useEffect(()=>{if(!n)return;function c(u){s.current&&!s.current.contains(u.target)&&i(false);}return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[n]);let l=t.length>=xn,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(u=>u.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:n?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.15s",color:"#6b7280"},children:jsx("path",{d:"M2 4l4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]}),n&&jsxs("div",{style:{position:"absolute",top:"calc(100% + 4px)",left:0,zIndex:50,background:"#111827",border:"1px solid rgba(255,255,255,0.1)",borderRadius:10,boxShadow:"0 8px 24px rgba(0,0,0,0.5)",minWidth:260,maxWidth:360,maxHeight:320,overflowY:"auto",padding:"6px 0"},children:[jsxs("div",{style:{padding:"4px 12px 8px",fontSize:11,color:"#6b7280",borderBottom:"1px solid rgba(255,255,255,0.06)",marginBottom:4},children:["Select up to ",xn," markets"]}),e.map((c,u)=>{let d=t.includes(c.slug),m=!d&&l,p=d&&t.length===1,f=r.get(c.slug)??"#6b7280",g=c.outcomes.find(x=>x.label.toLowerCase()==="yes")??c.outcomes[0],v=g?.price!=null?`${Math.round(g.price*100)}%`:null;return jsxs("button",{onClick:()=>{p||m||o(c.slug);},style:{display:"flex",alignItems:"center",gap:10,width:"100%",padding:"7px 12px",border:"none",background:d?"rgba(255,255,255,0.05)":"transparent",cursor:m||p?"not-allowed":"pointer",opacity:m?.35:1,textAlign:"left",transition:"background 0.1s"},onMouseEnter:x=>{!m&&!p&&(x.currentTarget.style.background="rgba(255,255,255,0.07)");},onMouseLeave:x=>{x.currentTarget.style.background=d?"rgba(255,255,255,0.05)":"transparent";},children:[jsx("span",{style:{width:16,height:16,borderRadius:4,border:d?`2px solid ${f}`:"2px solid rgba(255,255,255,0.2)",background:d?`${f}30`:"transparent",flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center"},children:d&&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:d?"#f9fafb":"#9ca3af",fontSize:12,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c.outcomes?.[0]?.label??c.question}),v&&jsx("span",{style:{color:f,fontWeight:700,fontSize:12,flexShrink:0},children:v})]},c.id??`${u}-${c.slug}`)})]})]})}function au({series:e,colorMap:t,displayValues:r}){return jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:"6px 24px",padding:"0 2px"},children:e.map(o=>{let n=t.get(o.marketSlug)??"#6b7280",i=r.get(o.marketSlug);return jsxs("div",{style:{display:"inline-flex",alignItems:"flex-start",gap:6},children:[jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:n,flexShrink:0,marginTop:3}}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:1},children:[jsx("span",{style:{color:"#9ca3af",fontSize:12,lineHeight:"17px",whiteSpace:"nowrap"},children:o.label}),jsx("span",{style:{color:"#f9fafb",fontSize:14,fontWeight:700,lineHeight:"20px",fontVariantNumeric:"tabular-nums"},children:i!=null?ba(i):"--"})]})]},o.marketSlug)})})}function su(e){let t=Math.floor(e.length/2);return e.length%2===1?e[t]:(e[t-1]+e[t])/2}function lu(e,t){if(e.length<=t)return e;let r=[],o=e.length/t;for(let n=0;n<t;n++){let i=Math.floor(n*o),s=Math.min(Math.floor((n+1)*o),e.length),l=e.slice(i,s),a=l.map(c=>c.price).sort((c,u)=>c-u);r.push({timestamp:l[l.length-1].timestamp,price:su(a)});}return r}function cu(e,t=200){if(e.length===0)return [];let r=e.map(l=>({...l,data:lu(l.data,t)})),o=new Set;r.forEach(l=>l.data.forEach(a=>o.add(a.timestamp)));let n=Array.from(o).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 n.map(l=>{let a={timestamp:l};return i.forEach(({slug:c,map:u})=>{let d=u.get(l);if(d!==void 0)s.set(c,d),a[c]=d;else {let m=s.get(c);m!==void 0&&(a[c]=m);}}),a})}function ya(e){return jsx(co,{children:jsx(du,{...e})})}function du({event:e,isLoading:t,className:r,volume:o}){let n=useMemo(()=>{let y=new Set;return (e.markets??[]).filter(_=>_.status!=="open"||y.has(_.slug)?false:(y.add(_.slug),true))},[e.markets]),i=useMemo(()=>[...n].sort((y,_)=>{let U=ee=>(ee.outcomes.find(q=>q.label.toLowerCase()==="yes")??ee.outcomes[0])?.price??0;return U(_)-U(y)}),[n]),[s,l]=useState(()=>i.slice(0,xn).map(y=>y.slug)),[a,c]=useState(Jr),u=useMemo(()=>{let y=new Map;return s.forEach((_,U)=>{y.set(_,xa[U%xa.length]);}),y},[s]),d=useMemo(()=>n.filter(y=>s.includes(y.slug)),[n,s]),{series:m,isLoading:p}=useMarketHistory(d,a),f=t||p,g=useMemo(()=>{if(m.length>0&&m.some(U=>U.data.length>0))return m;let y=Date.now(),_=864e5;return d.map(U=>{let q=(U.outcomes?.find(ae=>ae.label.toLowerCase()==="yes")??U.outcomes?.[0])?.price??.5;return {marketSlug:U.slug,label:U.outcomes?.[0]?.label??U.question,data:[{timestamp:y-7*_,price:q},{timestamp:y,price:q}]}})},[m,d]),v=useMemo(()=>a===ChartRange.ONE_DAY?96:a===ChartRange.ONE_WEEK?168:a===ChartRange.ONE_MONTH?180:300,[a]),x=useMemo(()=>cu(g,v),[g,v]),S=useMemo(()=>{if(x.length===0)return [0,1];let y=1/0,_=-1/0;if(s.forEach(ee=>{x.forEach(q=>{let ae=q[ee];ae!=null&&(ae<y&&(y=ae),ae>_&&(_=ae));});}),!isFinite(y))return [0,1];let U=Math.max((_-y)*.15,.05);return [Math.max(0,y-U),Math.min(1,_+U)]},[x,s]),k=useMemo(()=>{let y=new Map;return g.forEach(_=>{_.data.length>0&&y.set(_.marketSlug,_.data[_.data.length-1].price);}),y},[g]),M=useMemo(()=>{let y=new Map;return g.forEach(_=>y.set(_.marketSlug,_.label)),y},[g]),h=useMemo(()=>g.map(y=>({slug:y.marketSlug,color:u.get(y.marketSlug)??"#6b7280"})),[g,u]),{wrapperRef:L,overlayRef:b,onMouseMove:K,onMouseLeave:I}=nu(),J=useCallback(y=>{l(_=>_.includes(y)?_.length<=1?_:_.filter(U=>U!==y):_.length>=xn?_:[..._,y]);},[]),[fe,N]=useState(null),z=useRef(null),F=useRef(""),ne=useRef(0),E=!f&&x.length>0;return jsxs("div",{className:r,style:{display:"flex",flexDirection:"column",gap:12},children:[jsx(au,{series:g,colorMap:u,displayValues:fe??k}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[jsx("div",{ref:L,style:{height:300,width:"100%",userSelect:"none",position:"relative"},onMouseMove:E?y=>{K(y),cancelAnimationFrame(ne.current),ne.current=requestAnimationFrame(()=>{N(z.current);});}:void 0,onMouseLeave:E?()=>{I(),cancelAnimationFrame(ne.current),F.current="",z.current=null,N(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"}})}):x.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:b,style:{position:"absolute",inset:0,opacity:0,pointerEvents:"none",zIndex:1}}),jsx(ResponsiveContainer,{width:"100%",height:"100%",children:jsxs(LineChart,{data:x,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:y=>Zp(y,a),axisLine:false,tickLine:false,tick:{fill:"#6b7280",fontSize:11},minTickGap:70}),jsx(YAxis,{domain:S,tickFormatter:y=>`${Math.round(y*100)}%`,axisLine:false,tickLine:false,tick:{fill:"#6b7280",fontSize:11},width:40,tickCount:6}),jsx(Tooltip,{content:y=>{let _=y;if(_.active&&_.payload?.length){let U=_.payload.map(ee=>`${ee.dataKey}:${ee.value}`).join(",");if(U!==F.current){F.current=U;let ee=new Map;_.payload.forEach(q=>{q.value!=null&&ee.set(q.dataKey,q.value);}),z.current=ee;}}return jsx(ou,{..._,labelMap:M,allSeries:h,range:a})},cursor:{stroke:"#4b5563",strokeWidth:1,strokeDasharray:"4 4"},wrapperStyle:{zIndex:2},isAnimationActive:false}),g.map(y=>{let _=u.get(y.marketSlug)??"#6b7280";return jsx(Line,{type:"linear",dataKey:y.marketSlug,stroke:_,strokeWidth:2,strokeLinejoin:"round",strokeLinecap:"round",dot:false,activeDot:{r:4.5,strokeWidth:2,stroke:"rgba(10,10,10,0.8)",fill:_},connectNulls:true,isAnimationActive:false},y.marketSlug)}),fe==null&&x.length>0&&g.map(y=>{let _=x[x.length-1],U=_[y.marketSlug];if(U==null)return null;let ee=u.get(y.marketSlug)??"#6b7280";return jsx(ReferenceDot,{x:_.timestamp,y:U,ifOverflow:"extendDomain",shape:q=>{let{cx:ae,cy:ye}=q;return ae==null||ye==null?jsx("g",{}):jsxs("g",{children:[jsxs("circle",{cx:ae,cy:ye,r:6,fill:ee,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:ae,cy:ye,r:3.5,fill:ee})]})}},`pulse-${y.marketSlug}`)})]})})]})}),jsxs("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"6px 8px",marginTop:6},children:[o!=null&&o>0&&jsxs("span",{style:{color:"#6b7280",fontSize:12},children:["$",Math.round(o).toLocaleString()," vol"]}),jsx("div",{style:{flex:1,minWidth:0}}),jsx(ru,{value:a,onChange:c}),i.length>1&&jsx("div",{style:{width:"100%",display:"flex",alignItems:"center"},children:jsx(iu,{markets:i,selectedSlugs:s,colorMap:u,onToggle:J})})]})]})]})}function _r(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function wu(e){return `${parseFloat((e*100).toFixed(2))}%`}function ka(e){let t=e*100;return t<1&&t>0?"< 1":parseFloat(t.toFixed(2)).toString()}function bn(e){return e.outcomes?.[0]?.label??e.question}function Pu(e){switch(e){case "polymarket":return "Polymarket";case "kalshi":return "Kalshi";default:return e}}function Lr(e){if(!e)return "\u2014";let t=new Date(e);if(isNaN(t.getTime()))return "\u2014";let r=t.toLocaleString("default",{month:"short"}),o=t.getDate(),n=t.getFullYear(),i=t.getHours().toString().padStart(2,"0"),s=t.getMinutes().toString().padStart(2,"0");return `${r} ${o}, ${n} ${i}:${s}`}function Sa(e){let[t,r]=useState(0);if(useEffect(()=>{if(!e)return;r(Date.now());let u=setInterval(()=>r(Date.now()),1e3);return ()=>clearInterval(u)},[e]),!e||t===0)return null;let o=new Date(e).getTime();if(isNaN(o))return null;let n=o-t;if(n<=0)return null;let i=Math.floor(n/864e5),s=Math.floor(n%864e5/36e5),l=Math.floor(n%36e5/6e4),a=Math.floor(n%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 wa(e){if(!e)return null;let t=new Date(e);if(isNaN(t.getTime()))return null;let r=t.getHours().toString().padStart(2,"0"),o=t.getMinutes().toString().padStart(2,"0"),n=(t.getMonth()+1).toString().padStart(2,"0"),i=t.getDate().toString().padStart(2,"0"),s=t.getFullYear(),l=-t.getTimezoneOffset(),a=l>=0?"+":"-",c=String(Math.abs(Math.floor(l/60))).padStart(2,"0");return `${r}:${o} ${n}/${i}/${s} (${a}${c})`}function Ma({event:e,onTradeAction:t}){let{t:r}=useTranslation(),{ref:o,isCollapsed:n}=useScrollCollapse(),i=useMemo(()=>{let d=[...e.markets||[]],m=d.filter(f=>f.status==="open").sort((f,g)=>_r(g)-_r(f)),p=d.filter(f=>f.status!=="open").sort((f,g)=>_r(g)-_r(f));return [...m,...p]},[e.markets]),s=e.status==="closed"||e.status==="voided",l=Sa(s?void 0:e.start_at),a=Sa(s?void 0:e.end_at),c=wa(e.start_at),u=wa(e.end_at);return jsxs("div",{className:"w-full flex flex-col gap-y-4 lg:gap-y-6",children:[jsxs("div",{ref:o,className:`sticky top-0 z-30 flex items-center backdrop-blur-md transition-all duration-300 ${n?"h-14 lg:h-16 gap-x-2 py-2 px-1 lg:px-4 -mx-1 lg:-mx-4 shadow-sm":"h-16 lg:h-20 gap-x-2 lg:gap-x-4"}`,children:[jsx(Avatar,{src:e.image_url||void 0,name:e.title||"Event",radius:"lg",classNames:{base:"bg-transparent"},className:`flex-shrink-0 transition-all duration-300 ${n?"!h-10 !w-10 lg:!h-12 lg:!w-12":"!h-16 !w-16 lg:!h-20 lg:!w-20"}`}),jsxs("div",{className:"flex flex-col gap-0.5 min-w-0 flex-1",children:[!n&&jsxs("div",{className:"flex items-center gap-1.5",children:[e.tags?.slice(0,3).map((d,m)=>jsxs(Fragment$1,{children:[m>0&&jsx("span",{className:"text-sm text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-sm text-neutral truncate",children:d.label})]},d.slug)),jsx(Eu,{source:e.source})]}),jsx("span",{className:`font-semibold truncate transition-all duration-300 ${n?"text-sm lg:text-base":"text-lg lg:text-xl"}`,children:e.title})]})]}),(l||a||s)&&jsx("div",{className:"flex items-center gap-x-2 text-xs lg:text-sm font-mono",children:s?u&&jsx("span",{className:"text-neutral",children:r("predict.event.endedAt",{time:u})}):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})}),u&&jsxs(Fragment,{children:[jsx("span",{className:"text-neutral/50",children:"\xB7"}),jsx("span",{className:"text-neutral",children:u})]})]}):null}),jsx(ya,{event:e,volume:e.volume??void 0}),jsx(Nu,{markets:i,onTradeAction:t}),jsx(Mu,{markets:i,event:e})]})}var Pa=5;function Nu({markets:e,onTradeAction:t}){let{t:r}=useTranslation(),{isMobile:o}=useScreen(),[n,i]=useState(false),[s,l]=useState(null),a=useMemo(()=>{let v=new Set;return e.filter(x=>v.has(x.slug)?false:(v.add(x.slug),true))},[e]),c=a.find(v=>v.status==="open")?.slug,[u,d]=useState(c?`${c}:yes`:null);if(a.length===0)return null;let m=a.length>Pa,p=n?a:a.slice(0,Pa),f=v=>{l(x=>x===v?null:v);},g=(v,x,S)=>{d(`${v.slug}:${x}`),o||l(v.slug),t?.(v,x,S);};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:p.map((v,x)=>{let S=_r(v),k=v.outcomes[1]?.best_ask??v.outcomes[1]?.price,M=s===v.slug;return jsx(Cu,{market:v,yesPrice:S,noPrice:k??void 0,activeYes:u===`${v.slug}:yes`,activeNo:u===`${v.slug}:no`,isExpanded:M,onToggleExpand:()=>f(v.slug),onTradeAction:g},v.id??`${x}-${v.slug}`)})})]}),m&&jsxs("button",{type:"button",onClick:()=>i(v=>!v),className:"flex w-full items-center justify-start gap-x-2 py-2 pl-1 text-xs text-neutral lg:pl-2 lg:text-sm cursor-pointer hover:text-foreground transition-colors",children:[jsx("span",{children:r(n?"predict.event.rules.collapse":"predict.event.moreMarketsLabel")}),jsx(ChevronDownIcon,{className:cn$1("h-4 w-4 transition-transform",n&&"rotate-180")})]})]})}function Cu({market:e,yesPrice:t,noPrice:r,activeYes:o,activeNo:n,isExpanded:i,onToggleExpand:s,onTradeAction:l}){let{t:a}=useTranslation(),c=e.status==="open",u=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:d=>{(d.key==="Enter"||d.key===" ")&&(d.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:bn(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:bn(e)}),u&&jsx("span",{className:"text-[8px] text-neutral lg:text-xxs",children:u})]})]})}),jsx("td",{className:"py-2 text-left text-foreground lg:text-center",children:wu(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",o?"bg-primary text-primary-foreground":"bg-primary/10 text-primary"),onClick:d=>{d.stopPropagation(),l?.(e,"yes","buy");},children:a("predict.market.action.yes",{price:ka(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",n?"bg-secondary text-secondary-foreground":"bg-secondary/10 text-secondary"),onClick:d=>{d.stopPropagation(),l?.(e,"no","buy");},children:r!=null?a("predict.market.action.no",{price:ka(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(va,{market:e,outcome:n?"no":"yes",onTradeAction:l})})})})]})}function Mu({markets:e,event:t}){let{t:r}=useTranslation(),[o,n]=useState(false),[i,s]=useState(false),[l,a]=useState(0),c=e.filter(p=>p.rules&&p.rules.length>0||p.description);if(c.length===0)return null;let u=c[l]??c[0],d=u.rules&&u.rules.length>0?u.rules.join(`
|
|
88
88
|
|
|
89
|
-
`):u.description??"";if(!d)return null;let m=d.length>200&&!o?d.slice(0,200)+"...":d;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:vn(u)})}),jsx(DropdownMenu,{"aria-label":"Select market rules",selectionMode:"single",selectedKeys:[String(l)],onAction:p=>{a(Number(p)),n(false);},classNames:{list:"gap-1"},itemClasses:{base:"rounded-md px-3 h-8"},children:c.map((p,f)=>jsx(DropdownItem,{className:cn(f===l?"bg-content2 text-foreground":"text-neutral","data-[hover=true]:bg-content2 data-[hover=true]:text-foreground"),children:vn(p)},String(f)))})]})]}),jsx("div",{className:"text-xs text-foreground/80 lg:text-sm whitespace-pre-wrap",children:m}),d.length>200&&jsx("button",{type:"button",onClick:()=>n(p=>!p),className:"text-xs text-neutral hover:text-foreground cursor-pointer transition-colors self-start",children:r(o?"predict.event.rules.collapse":"predict.event.showMore")}),jsxs("button",{type:"button",onClick:()=>s(p=>!p),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("h-4 w-4 transition-transform",i&&"rotate-180")})]}),i&&jsxs(Fragment,{children:[jsx("div",{className:"flex flex-col",children:(()=>{let p=u.status,f=[];return u.created_at&&f.push({label:r("predict.event.timeline.created"),value:Er(u.created_at),isActive:true}),f.push({label:r("predict.event.timeline.open"),value:Er(u.start_at),isActive:p!=="pending"}),p==="voided"?f.push({label:r("predict.event.timeline.voided"),value:Er(u.closed_at??u.end_at),isActive:true}):p==="closed"?f.push({label:r("predict.event.timeline.closed"),value:Er(u.closed_at??u.end_at),isActive:true}):f.push({label:r("predict.event.timeline.close"),value:Er(u.end_at),isActive:false}),f})().map((p,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 ${p.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:p.label}),jsx("span",{className:"text-xs text-neutral lg:text-sm",children:p.value})]})]},p.label))}),jsxs("div",{className:"flex flex-wrap items-center gap-x-3 text-xxs text-neutral mt-2 lg:text-xs",children:[jsxs("span",{children:[jsxs("span",{className:"text-neutral",children:[r("predict.event.id.event"),":"]})," ",jsx("span",{className:"text-foreground",children:t.slug})]}),jsxs("span",{children:[jsxs("span",{className:"text-neutral",children:[r("predict.event.id.market"),":"]})," ",jsx("span",{className:"text-foreground",children:u.slug})]}),jsxs("span",{children:[jsxs("span",{className:"text-neutral",children:[r("predict.event.id.source"),":"]})," ",jsx("span",{className:"text-foreground",children:wu(u.source)})]})]})]})]})}function Mu({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 Ma({eventSlug:e,source:t,onTradeAction:r}){let{data:o,isLoading:n,error:i}=useEvent({slug:e,source:t});return n?jsx(Cr,{}):i||!o?jsx("div",{className:"flex w-full items-center justify-center py-20 text-danger",children:i?.message||"Event not found"}):jsx(Ca,{event:o,onTradeAction:r})}var Ru={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}},Iu={label:"Unknown",color:"rgb(156, 163, 175)",bgColor:"rgba(156, 163, 175, 0.12)",icon:null};function dt(e){return Ru[e]??Iu}function Tx({source:e,className:t}){let r=dt(e);return jsxs("span",{className:cn("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 Ta="rgba(39,39,42,0.6)",Hu="rgba(63,63,70,0.8)";function zu(e){return e==null?"-":e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e.toFixed(0)}`}function _a({eventSlug:e,source:t,limit:r=4,onEventClick:o,onEventHover:n}){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($u,{event:a,onClick:o,onHover:n},`${a.source}-${a.slug}`))})]})}function $u({event:e,onClick:t,onHover:r}){let{t:o}=useTranslation(),n=dt(e.source),i=useMemo(()=>zu(e.volume),[e.volume]),s=e.tags?.[0];return jsxs("button",{type:"button",onClick:()=>t?.(e),onMouseEnter:l=>{l.currentTarget.style.borderColor=Hu,r?.(e);},onMouseLeave:l=>{l.currentTarget.style.borderColor=Ta;},style:{display:"flex",alignItems:"center",gap:10,padding:"10px 12px",borderRadius:14,border:`1px solid ${Ta}`,background:"rgba(24,24,27,0.4)",cursor:"pointer",textAlign:"left",width:"100%",transition:"border-color 0.2s"},className:"group",children:[jsx(Avatar,{src:e.image_url||void 0,name:e.title?.[0]||"?",radius:"full",className:"size-9 shrink-0 bg-transparent",imgProps:{className:"object-cover"}}),jsxs("div",{style:{display:"flex",flexDirection:"column",minWidth:0,flex:1,gap:2},children:[jsx("span",{style:{fontSize:13,fontWeight:500,color:"#f4f4f5",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.title}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:10,color:"#71717a"},children:[jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:3,color:n.color,flexShrink:0},children:[n.icon,jsx("span",{style:{fontSize:10,fontWeight:600,letterSpacing:"0.04em",textTransform:"uppercase"},children:n.label})]}),jsx("span",{style:{color:"#52525b"},children:"\xB7"}),jsxs("span",{style:{color:"#a1a1aa"},children:[i," ",o("predict.event.volume")]}),s&&jsxs(Fragment,{children:[jsx("span",{style:{color:"#52525b"},children:"\xB7"}),jsx("span",{style:{color:"#71717a"},children:s.label})]})]})]}),jsx(ChevronRightIcon,{width:14,height:14,className:"shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",style:{color:"#71717a"}})]})}function Ia(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function Jx({eventSlug:e,source:t,chain:r,walletAddress:o,onSimilarEventClick:n,onSimilarEventHover:i,onBack:s}){let{t:l}=useTranslation(),{isMobile:a}=useScreen(),{onOpen:c}=useAsyncModal(xr),{onOpen:u}=useAsyncModal(Xn),{data:d,isLoading:m}=useEvent({slug:e,source:t}),p=useMemo(()=>[...d?.markets||[]].sort((M,h)=>Ia(h)-Ia(M)),[d?.markets]),[f,g]=useState(null),v=useCallback((M,h,L)=>{g(b=>({market:M,outcome:h,side:L,version:(b?.version??0)+1})),a&&d&&(L==="sell"?u({params:{event:d,market:M,initialOutcome:h,chain:r}}):c({params:{event:d,market:M,initialOutcome:h,chain:r}}));},[a,d,r,c,u]),x=f?.market??p[0];if(m){let M=!!s;return a?jsx(Cr,{showBack:M}):jsxs("div",{className:"flex w-full max-w-6xl mx-auto gap-x-4 lg:gap-x-6",children:[jsx("div",{className:"min-w-0 flex-1 max-w-3xl",children:jsx(Cr,{showBack:M})}),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(oa,{})})})]})}let S=f?`${f.market.slug}-${f.version}`:x?.slug??"default",k=f?.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:l("common.back")})}),jsx(Ma,{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:[x&&(k?jsx(dn,{event:d,market:x,initialOutcome:f?.outcome,chain:r},S):jsx(nn,{event:d,market:x,initialOutcome:f?.outcome,chain:r},S)),d&&jsx(_a,{eventSlug:e,source:d.source,onEventClick:n,onEventHover:i})]})]}),d&&jsx("div",{className:"flex w-full flex-col",children:jsx(ta,{event:d,walletAddress:o})}),jsx(on,{}),jsx(Ji,{})]})}function Oa(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function tm(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 ib=e=>{let{candlestickMarketSlugs:t,chartRange:r=Qr,source:o}=e,n=usePredictClient(),i=useMemo(()=>tm(r),[r]),{data:s,isLoading:l,error:a}=useEvent({slug:e.eventSlug,source:o}),c=useMemo(()=>{if(!s?.markets)return [];let f=new Set,g=s.markets.filter(x=>f.has(x.slug)?false:(f.add(x.slug),true));return (t&&t.length>0?t.slice(0,4).map(x=>g.find(S=>S.slug===x)).filter(x=>x!==void 0):[...g].sort((x,S)=>Oa(S)-Oa(x)).slice(0,4)).map(x=>x.slug)},[t,s?.markets]),u=useQueries({queries:c.map(f=>({queryKey:candlesticksQueryKey(f,i),queryFn:()=>n.listCandlesticks(f,i),enabled:c.length>0}))}),d=u.some(f=>f.isLoading),m=useMemo(()=>{let f=new Map;return c.forEach((g,v)=>{let x=u[v]?.error;x&&f.set(g,x);}),f},[c,u]),p=useMemo(()=>{let f=new Map;return c.forEach((g,v)=>{let x=u[v]?.data;x&&f.set(g,x);}),f},[c,u]);return {event:s,isEventLoading:l,eventError:a,candlestickParams:i,candlesticks:p,isCandlesticksLoading:d,candlestickErrors:m}};var om=10,im=atomWithStorage("liberfi:predict_search_histories",[],void 0,{getOnInit:true});function kn(){let[e,t]=useAtom(im),r=useCallback(n=>{let i=n.trim();i&&t(s=>{let l=s.filter(a=>a!==i);return [i,...l].slice(0,om)});},[t]),o=useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:r,clearHistories:o}}function Ba({histories:e,onSelect:t,onClear:r,className:o}){let{t:n}=useTranslation();return e.length===0?null:jsxs("div",{className:cn("px-4 pb-4",o),children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium",children:n("predict.search.history")}),jsx(Button,{isIconOnly:true,size:"sm",className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:r,children:jsx(TrashIcon,{width:20,height:20})})]}),jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map(i=>jsx(Chip,{size:"sm",variant:"bordered",className:cn("text-neutral","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(i),children:i},i))})]})}function Ha({onSelect:e,className:t}){let{histories:r,clearHistories:o}=kn();return jsx(Ba,{className:cn(t),histories:r,onSelect:e,onClear:o})}function za({value:e,onValueChange:t,onClear:r,onEscape:o,className:n}){let{t:i}=useTranslation();return jsx("div",{className:n,children:jsx(StyledInput,{autoFocus:true,variant:"bordered",radius:"lg",value:e,onValueChange:t,placeholder:i("predict.search.placeholder"),classNames:{inputWrapper:["!bg-[rgba(39,39,42,0.6)]","!border-[rgba(63,63,70,0.5)]","data-[hover=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!border-[rgba(63,63,70,0.8)]"].join(" ")},startContent:jsx(SearchIcon,{width:20,height:20,className:"text-neutral"}),endContent:e?jsx(Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:r,children:jsx(XCloseIcon,{width:20,height:20})}):jsx(Kbd,{className:"min-w-8 justify-center text-xs text-neutral bg-transparent border border-[rgba(63,63,70,0.5)] rounded-lg cursor-pointer select-none",onMouseDown:s=>{s.preventDefault(),o?.();},children:"Esc"})})})}function Pm(e){return e==null?"-":e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e.toFixed(0)}`}function $a({event:e,href:t,LinkComponent:r,onSelect:o,onHover:n,className:i}){let{t:s}=useTranslation(),l=e.tags?.[0],a=dt(e.source),c=useMemo(()=>Pm(e.volume),[e.volume]);return jsxs(Linkable,{href:t,LinkComponent:r,className:cn("group w-full h-full px-3 flex items-center gap-3","hover:cursor-pointer hover:bg-content2 rounded-lg","transition-colors duration-150",i),onClick:u=>{t&&o&&u.preventDefault(),o?.(e);},onMouseEnter:()=>n?.(e),children:[jsx(Avatar,{src:e.image_url||void 0,name:e.title||"Event",radius:"full",className:"h-10 w-10 flex-shrink-0"}),jsxs("div",{className:"flex-1 min-w-0 flex flex-col justify-center gap-y-0.5",children:[jsx("span",{className:"min-w-0 text-sm font-medium line-clamp-2 group-hover:text-primary transition-colors",children:e.title}),jsxs("div",{className:"flex items-center gap-x-2 text-[10px] font-normal text-neutral-500 lg:text-xs",children:[jsxs("span",{className:"inline-flex items-center gap-x-1 shrink-0",style:{color: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 Wa({keyword:e="",limit:t,source:r}){let{data:o,isLoading:n,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(()=>o?.pages.flatMap(c=>c.items).filter(c=>c!=null)??[],[o]),isLoading:n,isFetchingNextPage:i,hasNextPage:s??false,fetchNextPage:l}}var Om=64;function ja({onSelect:e,getEventHref:t,LinkComponent:r,onHover:o,className:n,...i}){let{events:s,isLoading:l,isFetchingNextPage:a,hasNextPage:c,fetchNextPage:u}=Wa(i),d=useRef(null),{height:m}=useResizeObserver({ref:d}),p=useCallback(x=>x<s.length,[s]),f=useCallback(async()=>{c&&!a&&await u();},[c,a,u]),g=useMemo(()=>c?s.length+1:s.length,[s,c]),v=useInfiniteLoader({isRowLoaded:p,loadMoreRows:f,rowCount:g,threshold:5});return l?jsx(Am,{className:n}):s.length===0?jsx(Fm,{className:n}):jsx("div",{className:cn("w-full h-full flex flex-col",n),children:jsx("div",{className:"flex-auto min-h-0",ref:d,children:jsx(List,{className:"no-scrollbar",style:{height:m},onRowsRendered:v,rowComponent:Dm,rowCount:g,rowHeight:Om,rowProps:{events:s,onSelect:e,getEventHref:t,LinkComponent:r,onHover:o},overscanCount:5})})})}function Dm({index:e,style:t,events:r,onSelect:o,getEventHref:n,LinkComponent:i,onHover:s}){let l=r[e];return l?jsx("div",{style:t,children:jsx($a,{event:l,href:n?.(l),LinkComponent:i,onSelect:o,onHover:s})}):jsx("div",{style:t,className:"flex items-center justify-center",children:jsx(Spinner,{size:"sm"})})}function Am({className:e}){let{t}=useTranslation();return jsxs("div",{className:cn("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 Fm({className:e}){let{t}=useTranslation();return jsxs("div",{className:cn("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 Qa({onKeywordChange:e}){let[t,r]=useState(""),[o,n]=useState(""),{addHistory:i}=kn(),s=useCallbackRef(e),l=useCallbackRef(i),a=useMemo(()=>debounce(m=>{n(m),s(m),m&&l(m);},500),[s,l]),c=useCallback(m=>{r(m),a(m);},[a]),u=useCallback(m=>{a.cancel(),r(m),n(m),s(m),m&&l(m);},[a,s,l]),d=useCallback(()=>u(""),[u]);return {text:t,keyword:o,setText:c,setKeyword:u,clearKeyword:d}}function Xa({onKeywordChange:e,onSelectEvent:t,getEventHref:r,LinkComponent:o,onHover:n,onEscape:i,source:s}){let{text:l,keyword:a,setText:c,setKeyword:u,clearKeyword:d}=Qa({onKeywordChange:e});return jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsx(za,{value:l,onValueChange:c,onClear:d,onEscape:i}),!a&&jsx(Ha,{onSelect:u}),jsx(ja,{className:"flex-auto min-h-0",keyword:a,onSelect:t,getEventHref:r,LinkComponent:o,onHover:n,source:s})]})}var go="predict-search";function _1({id:e=go}){return jsx(AsyncModal,{id:e,children:t=>jsx(Qm,{...t})})}function Qm({params:e,isOpen:t,onOpenChange:r,onResult:o}){let{t:n}=useTranslation(),{isMobile:i}=useScreen(),s=useCallback(a=>{o(a);},[o]),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:n("predict.search.title")}),jsx(Button,{isIconOnly:true,onPress:()=>r(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsx(XCloseIcon,{width:20,height:20})})]}),jsx(ModalBody,{className:"p-4",children:jsx(Xa,{getEventHref:e?.getEventHref,LinkComponent:e?.LinkComponent,onHover:e?.onHover,source:e?.source,onSelectEvent:s,onEscape:l})})]})})}function z1({onSelectEvent:e,modalParams:t,className:r}){let{t:o}=useTranslation(),{isDesktop:n,isMobile:i}=useScreen(),{onOpen:s,onClose:l}=useAsyncModal(go),a=useCallbackRef(e),c=useCallbackRef(async()=>{let d=await s({params:t});d&&a(d);}),u=useCallbackRef(()=>{l();});return useEffect(()=>{let d=m=>{let p=document.activeElement,f=!!p&&(p.tagName==="INPUT"||p.tagName==="TEXTAREA"||p.getAttribute("contenteditable")==="true");m.key==="/"&&!f&&(m.preventDefault(),c()),m.key==="Escape"&&(m.preventDefault(),u());};return window.addEventListener("keydown",d),()=>{window.removeEventListener("keydown",d);}},[c,u]),jsx(Button,{size:"sm",radius:"full",isIconOnly:!n,onPress:c,variant:i?"flat":"bordered",startContent:n?jsx(SearchIcon,{className:"text-neutral"}):void 0,endContent:n?jsx(Kbd,{className:"ml-auto min-w-6 justify-center text-xs bg-transparent border border-border rounded-full",children:"/"}):void 0,className:cn(n&&"min-w-56 justify-start pl-3 pr-1.5 text-neutral",r),children:n?o("predict.search.placeholder"):jsx(SearchIcon,{className:"text-neutral"})})}var vo=[{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"}],as=[{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}],ns={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"},os={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 sf(e,t){if(!e)return "$5K+";let r=as.find(o=>o.value===e);return r?r.labelKey?t(r.labelKey):r.label:`$${e}`}function ss({sortBy:e,onSortChange:t,sortAsc:r,onSortAscChange:o,minVolume:n,onMinVolumeChange:i,onRefresh:s}){let{t:l}=useTranslation(),[a,c]=useState(false),[u,d]=useState(false),[m,p]=useState(false),[f,g]=useState(false),v=useRef(null),x=useRef(null),S=vo.find(h=>h.value===e)??vo[0],k=useCallback(h=>{v.current&&!v.current.contains(h.target)&&c(false),x.current&&!x.current.contains(h.target)&&d(false);},[]);useEffect(()=>(document.addEventListener("mousedown",k),()=>document.removeEventListener("mousedown",k)),[k]);let M=useCallback(()=>{s?.(),g(true),setTimeout(()=>g(false),700);},[s]);return jsxs(Fragment,{children:[jsx("style",{children:`
|
|
89
|
+
`):u.description??"";if(!d)return null;let m=d.length>200&&!o?d.slice(0,200)+"...":d;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:bn(u)})}),jsx(DropdownMenu,{"aria-label":"Select market rules",selectionMode:"single",selectedKeys:[String(l)],onAction:p=>{a(Number(p)),n(false);},classNames:{list:"gap-1"},itemClasses:{base:"rounded-md px-3 h-8"},children:c.map((p,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:bn(p)},String(f)))})]})]}),jsx("div",{className:"text-xs text-foreground/80 lg:text-sm whitespace-pre-wrap",children:m}),d.length>200&&jsx("button",{type:"button",onClick:()=>n(p=>!p),className:"text-xs text-neutral hover:text-foreground cursor-pointer transition-colors self-start",children:r(o?"predict.event.rules.collapse":"predict.event.showMore")}),jsxs("button",{type:"button",onClick:()=>s(p=>!p),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 p=u.status,f=[];return u.created_at&&f.push({label:r("predict.event.timeline.created"),value:Lr(u.created_at),isActive:true}),f.push({label:r("predict.event.timeline.open"),value:Lr(u.start_at),isActive:p!=="pending"}),p==="voided"?f.push({label:r("predict.event.timeline.voided"),value:Lr(u.closed_at??u.end_at),isActive:true}):p==="closed"?f.push({label:r("predict.event.timeline.closed"),value:Lr(u.closed_at??u.end_at),isActive:true}):f.push({label:r("predict.event.timeline.close"),value:Lr(u.end_at),isActive:false}),f})().map((p,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 ${p.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:p.label}),jsx("span",{className:"text-xs text-neutral lg:text-sm",children:p.value})]})]},p.label))}),jsxs("div",{className:"flex flex-wrap items-center gap-x-3 text-xxs text-neutral mt-2 lg:text-xs",children:[jsxs("span",{children:[jsxs("span",{className:"text-neutral",children:[r("predict.event.id.event"),":"]})," ",jsx("span",{className:"text-foreground",children:t.slug})]}),jsxs("span",{children:[jsxs("span",{className:"text-neutral",children:[r("predict.event.id.market"),":"]})," ",jsx("span",{className:"text-foreground",children:u.slug})]}),jsxs("span",{children:[jsxs("span",{className:"text-neutral",children:[r("predict.event.id.source"),":"]})," ",jsx("span",{className:"text-foreground",children:Pu(u.source)})]})]})]})]})}function Eu({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 Ea({eventSlug:e,source:t,onTradeAction:r}){let{data:o,isLoading:n,error:i}=useEvent({slug:e,source:t});return n?jsx(Er,{}):i||!o?jsx("div",{className:"flex w-full items-center justify-center py-20 text-danger",children:i?.message||"Event not found"}):jsx(Ma,{event:o,onTradeAction:r})}var Iu={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}},Ou={label:"Unknown",color:"rgb(156, 163, 175)",bgColor:"rgba(156, 163, 175, 0.12)",icon:null};function pt(e){return Iu[e]??Ou}function Rx({source:e,className:t}){let r=pt(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 La="rgba(39,39,42,0.6)",zu="rgba(63,63,70,0.8)";function $u(e){return e==null?"-":e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e.toFixed(0)}`}function Ra({eventSlug:e,source:t,limit:r=4,onEventClick:o,onEventHover:n}){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(Wu,{event:a,onClick:o,onHover:n},`${a.source}-${a.slug}`))})]})}function Wu({event:e,onClick:t,onHover:r}){let{t:o}=useTranslation(),n=pt(e.source),i=useMemo(()=>$u(e.volume),[e.volume]),s=e.tags?.[0];return jsxs("button",{type:"button",onClick:()=>t?.(e),onMouseEnter:l=>{l.currentTarget.style.borderColor=zu,r?.(e);},onMouseLeave:l=>{l.currentTarget.style.borderColor=La;},style:{display:"flex",alignItems:"center",gap:10,padding:"10px 12px",borderRadius:14,border:`1px solid ${La}`,background:"rgba(24,24,27,0.4)",cursor:"pointer",textAlign:"left",width:"100%",transition:"border-color 0.2s"},className:"group",children:[jsx(Avatar,{src:e.image_url||void 0,name:e.title?.[0]||"?",radius:"full",className:"size-9 shrink-0 bg-transparent",imgProps:{className:"object-cover"}}),jsxs("div",{style:{display:"flex",flexDirection:"column",minWidth:0,flex:1,gap:2},children:[jsx("span",{style:{fontSize:13,fontWeight:500,color:"#f4f4f5",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.title}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:10,color:"#71717a"},children:[jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:3,color:n.color,flexShrink:0},children:[n.icon,jsx("span",{style:{fontSize:10,fontWeight:600,letterSpacing:"0.04em",textTransform:"uppercase"},children:n.label})]}),jsx("span",{style:{color:"#52525b"},children:"\xB7"}),jsxs("span",{style:{color:"#a1a1aa"},children:[i," ",o("predict.event.volume")]}),s&&jsxs(Fragment,{children:[jsx("span",{style:{color:"#52525b"},children:"\xB7"}),jsx("span",{style:{color:"#71717a"},children:s.label})]})]})]}),jsx(ChevronRightIcon,{width:14,height:14,className:"shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",style:{color:"#71717a"}})]})}function Oa(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function tb({eventSlug:e,source:t,chain:r,walletAddress:o,onSimilarEventClick:n,onSimilarEventHover:i,onBack:s}){let{t:l}=useTranslation(),{isMobile:a}=useScreen(),{onOpen:c}=useAsyncModal(yr),{onOpen:u}=useAsyncModal(Jn),{data:d,isLoading:m}=useEvent({slug:e,source:t}),p=useMemo(()=>[...d?.markets||[]].sort((M,h)=>Oa(h)-Oa(M)),[d?.markets]),[f,g]=useState(null),v=useCallback((M,h,L)=>{g(b=>({market:M,outcome:h,side:L,version:(b?.version??0)+1})),a&&d&&(L==="sell"?u({params:{event:d,market:M,initialOutcome:h,chain:r}}):c({params:{event:d,market:M,initialOutcome:h,chain:r}}));},[a,d,r,c,u]),x=f?.market??p[0];if(m){let M=!!s;return a?jsx(Er,{showBack:M}):jsxs("div",{className:"flex w-full max-w-6xl mx-auto gap-x-4 lg:gap-x-6",children:[jsx("div",{className:"min-w-0 flex-1 max-w-3xl",children:jsx(Er,{showBack:M})}),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(ia,{})})})]})}let S=f?`${f.market.slug}-${f.version}`:x?.slug??"default",k=f?.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:l("common.back")})}),jsx(Ea,{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:[x&&(k?jsx(un,{event:d,market:x,initialOutcome:f?.outcome,chain:r},S):jsx(an,{event:d,market:x,initialOutcome:f?.outcome,chain:r},S)),d&&jsx(Ra,{eventSlug:e,source:d.source,onEventClick:n,onEventHover:i})]})]}),d&&jsx("div",{className:"flex w-full flex-col",children:jsx(ra,{event:d,walletAddress:o})}),jsx(sn,{}),jsx(Zi,{})]})}function Da(e){return e.outcomes[0]?.best_ask??e.outcomes[0]?.price??0}function rm(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 lb=e=>{let{candlestickMarketSlugs:t,chartRange:r=Jr,source:o}=e,n=usePredictClient(),i=useMemo(()=>rm(r),[r]),{data:s,isLoading:l,error:a}=useEvent({slug:e.eventSlug,source:o}),c=useMemo(()=>{if(!s?.markets)return [];let f=new Set,g=s.markets.filter(x=>f.has(x.slug)?false:(f.add(x.slug),true));return (t&&t.length>0?t.slice(0,4).map(x=>g.find(S=>S.slug===x)).filter(x=>x!==void 0):[...g].sort((x,S)=>Da(S)-Da(x)).slice(0,4)).map(x=>x.slug)},[t,s?.markets]),u=useQueries({queries:c.map(f=>({queryKey:candlesticksQueryKey(f,i),queryFn:()=>n.listCandlesticks(f,i),enabled:c.length>0}))}),d=u.some(f=>f.isLoading),m=useMemo(()=>{let f=new Map;return c.forEach((g,v)=>{let x=u[v]?.error;x&&f.set(g,x);}),f},[c,u]),p=useMemo(()=>{let f=new Map;return c.forEach((g,v)=>{let x=u[v]?.data;x&&f.set(g,x);}),f},[c,u]);return {event:s,isEventLoading:l,eventError:a,candlestickParams:i,candlesticks:p,isCandlesticksLoading:d,candlestickErrors:m}};var im=10,am=atomWithStorage("liberfi:predict_search_histories",[],void 0,{getOnInit:true});function wn(){let[e,t]=useAtom(am),r=useCallback(n=>{let i=n.trim();i&&t(s=>{let l=s.filter(a=>a!==i);return [i,...l].slice(0,im)});},[t]),o=useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:r,clearHistories:o}}function Ha({histories:e,onSelect:t,onClear:r,className:o}){let{t:n}=useTranslation();return e.length===0?null:jsxs("div",{className:cn$1("px-4 pb-4",o),children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium",children:n("predict.search.history")}),jsx(Button,{isIconOnly:true,size:"sm",className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:r,children:jsx(TrashIcon,{width:20,height:20})})]}),jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map(i=>jsx(Chip,{size:"sm",variant:"bordered",className:cn$1("text-neutral","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(i),children:i},i))})]})}function za({onSelect:e,className:t}){let{histories:r,clearHistories:o}=wn();return jsx(Ha,{className:cn$1(t),histories:r,onSelect:e,onClear:o})}function $a({value:e,onValueChange:t,onClear:r,onEscape:o,className:n}){let{t:i}=useTranslation();return jsx("div",{className:n,children:jsx(StyledInput,{autoFocus:true,variant:"bordered",radius:"lg",value:e,onValueChange:t,placeholder:i("predict.search.placeholder"),classNames:{inputWrapper:["!bg-[rgba(39,39,42,0.6)]","!border-[rgba(63,63,70,0.5)]","data-[hover=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!border-[rgba(63,63,70,0.8)]"].join(" ")},startContent:jsx(SearchIcon,{width:20,height:20,className:"text-neutral"}),endContent:e?jsx(Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:r,children:jsx(XCloseIcon,{width:20,height:20})}):jsx(Kbd,{className:"min-w-8 justify-center text-xs text-neutral bg-transparent border border-[rgba(63,63,70,0.5)] rounded-lg cursor-pointer select-none",onMouseDown:s=>{s.preventDefault(),o?.();},children:"Esc"})})})}function Nm(e){return e==null?"-":e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e.toFixed(0)}`}function Wa({event:e,href:t,LinkComponent:r,onSelect:o,onHover:n,className:i}){let{t:s}=useTranslation(),l=e.tags?.[0],a=pt(e.source),c=useMemo(()=>Nm(e.volume),[e.volume]);return jsxs(Linkable,{href:t,LinkComponent:r,className:cn$1("group w-full h-full px-3 flex items-center gap-3","hover:cursor-pointer hover:bg-content2 rounded-lg","transition-colors duration-150",i),onClick:u=>{t&&o&&u.preventDefault(),o?.(e);},onMouseEnter:()=>n?.(e),children:[jsx(Avatar,{src:e.image_url||void 0,name:e.title||"Event",radius:"full",className:"h-10 w-10 flex-shrink-0"}),jsxs("div",{className:"flex-1 min-w-0 flex flex-col justify-center gap-y-0.5",children:[jsx("span",{className:"min-w-0 text-sm font-medium line-clamp-2 group-hover:text-primary transition-colors",children:e.title}),jsxs("div",{className:"flex items-center gap-x-2 text-[10px] font-normal text-neutral-500 lg:text-xs",children:[jsxs("span",{className:"inline-flex items-center gap-x-1 shrink-0",style:{color: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 Ua({keyword:e="",limit:t,source:r}){let{data:o,isLoading:n,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(()=>o?.pages.flatMap(c=>c.items).filter(c=>c!=null)??[],[o]),isLoading:n,isFetchingNextPage:i,hasNextPage:s??false,fetchNextPage:l}}var Dm=64;function Ya({onSelect:e,getEventHref:t,LinkComponent:r,onHover:o,className:n,...i}){let{events:s,isLoading:l,isFetchingNextPage:a,hasNextPage:c,fetchNextPage:u}=Ua(i),d=useRef(null),{height:m}=useResizeObserver({ref:d}),p=useCallback(x=>x<s.length,[s]),f=useCallback(async()=>{c&&!a&&await u();},[c,a,u]),g=useMemo(()=>c?s.length+1:s.length,[s,c]),v=useInfiniteLoader({isRowLoaded:p,loadMoreRows:f,rowCount:g,threshold:5});return l?jsx(Fm,{className:n}):s.length===0?jsx(Bm,{className:n}):jsx("div",{className:cn$1("w-full h-full flex flex-col",n),children:jsx("div",{className:"flex-auto min-h-0",ref:d,children:jsx(List,{className:"no-scrollbar",style:{height:m},onRowsRendered:v,rowComponent:Am,rowCount:g,rowHeight:Dm,rowProps:{events:s,onSelect:e,getEventHref:t,LinkComponent:r,onHover:o},overscanCount:5})})})}function Am({index:e,style:t,events:r,onSelect:o,getEventHref:n,LinkComponent:i,onHover:s}){let l=r[e];return l?jsx("div",{style:t,children:jsx(Wa,{event:l,href:n?.(l),LinkComponent:i,onSelect:o,onHover:s})}):jsx("div",{style:t,className:"flex items-center justify-center",children:jsx(Spinner,{size:"sm"})})}function Fm({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 Bm({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 Xa({onKeywordChange:e}){let[t,r]=useState(""),[o,n]=useState(""),{addHistory:i}=wn(),s=useCallbackRef(e),l=useCallbackRef(i),a=useMemo(()=>debounce(m=>{n(m),s(m),m&&l(m);},500),[s,l]),c=useCallback(m=>{r(m),a(m);},[a]),u=useCallback(m=>{a.cancel(),r(m),n(m),s(m),m&&l(m);},[a,s,l]),d=useCallback(()=>u(""),[u]);return {text:t,keyword:o,setText:c,setKeyword:u,clearKeyword:d}}function Ja({onKeywordChange:e,onSelectEvent:t,getEventHref:r,LinkComponent:o,onHover:n,onEscape:i,source:s}){let{text:l,keyword:a,setText:c,setKeyword:u,clearKeyword:d}=Xa({onKeywordChange:e});return jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsx($a,{value:l,onValueChange:c,onClear:d,onEscape:i}),!a&&jsx(za,{onSelect:u}),jsx(Ya,{className:"flex-auto min-h-0",keyword:a,onSelect:t,getEventHref:r,LinkComponent:o,onHover:n,source:s})]})}var ho="predict-search";function O1({id:e=ho}){return jsx(AsyncModal,{id:e,children:t=>jsx(Xm,{...t})})}function Xm({params:e,isOpen:t,onOpenChange:r,onResult:o}){let{t:n}=useTranslation(),{isMobile:i}=useScreen(),s=useCallback(a=>{o(a);},[o]),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:n("predict.search.title")}),jsx(Button,{isIconOnly:true,onPress:()=>r(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsx(XCloseIcon,{width:20,height:20})})]}),jsx(ModalBody,{className:"p-4",children:jsx(Ja,{getEventHref:e?.getEventHref,LinkComponent:e?.LinkComponent,onHover:e?.onHover,source:e?.source,onSelectEvent:s,onEscape:l})})]})})}function U1({onSelectEvent:e,modalParams:t,className:r}){let{t:o}=useTranslation(),{isDesktop:n,isMobile:i}=useScreen(),{onOpen:s,onClose:l}=useAsyncModal(ho),a=useCallbackRef(e),c=useCallbackRef(async()=>{let d=await s({params:t});d&&a(d);}),u=useCallbackRef(()=>{l();});return useEffect(()=>{let d=m=>{let p=document.activeElement,f=!!p&&(p.tagName==="INPUT"||p.tagName==="TEXTAREA"||p.getAttribute("contenteditable")==="true");m.key==="/"&&!f&&(m.preventDefault(),c()),m.key==="Escape"&&(m.preventDefault(),u());};return window.addEventListener("keydown",d),()=>{window.removeEventListener("keydown",d);}},[c,u]),jsx(Button,{size:"sm",radius:"full",isIconOnly:!n,onPress:c,variant:i?"flat":"bordered",startContent:n?jsx(SearchIcon,{className:"text-neutral"}):void 0,endContent:n?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(n&&"min-w-56 justify-start pl-3 pr-1.5 text-neutral",r),children:n?o("predict.search.placeholder"):jsx(SearchIcon,{className:"text-neutral"})})}var xo=[{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"}],ss=[{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}],os={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"},is={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 lf(e,t){if(!e)return "$5K+";let r=ss.find(o=>o.value===e);return r?r.labelKey?t(r.labelKey):r.label:`$${e}`}function ls({sortBy:e,onSortChange:t,sortAsc:r,onSortAscChange:o,minVolume:n,onMinVolumeChange:i,onRefresh:s}){let{t:l}=useTranslation(),[a,c]=useState(false),[u,d]=useState(false),[m,p]=useState(false),[f,g]=useState(false),v=useRef(null),x=useRef(null),S=xo.find(h=>h.value===e)??xo[0],k=useCallback(h=>{v.current&&!v.current.contains(h.target)&&c(false),x.current&&!x.current.contains(h.target)&&d(false);},[]);useEffect(()=>(document.addEventListener("mousedown",k),()=>document.removeEventListener("mousedown",k)),[k]);let M=useCallback(()=>{s?.(),g(true),setTimeout(()=>g(false),700);},[s]);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:v,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:v,style:{position:"relative"},children:[jsxs("button",{type:"button",className:"match-btn",style:os,onMouseEnter:h=>{h.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:h=>{h.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>{c(h=>!h),d(false);},children:[jsx(cf,{}),jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:l(S.labelKey)}),jsx(as,{open:a})]}),a&&jsx("div",{style:{...is,width:224,padding:4},children:xo.map(h=>{let L=e===h.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:L?"rgba(199,255,46,0.08)":"transparent",color:L?"#c7ff2e":"#a1a1aa",borderRadius:10},onMouseEnter:b=>{L||(b.currentTarget.style.background="rgba(39,39,42,0.5)",b.currentTarget.style.color="#fff");},onMouseLeave:b=>{L||(b.currentTarget.style.background="transparent",b.currentTarget.style.color="#a1a1aa");},onClick:()=>{e===h.value?o(!r):t(h.value),c(false);},children:[jsx("div",{style:{color:L?"#c7ff2e":"#71717a"},children:jsx(df,{type:h.icon})}),jsxs("div",{style:{flex:1,textAlign:"left"},children:[jsx("div",{style:{fontWeight:500},children:l(h.labelKey)}),jsx("div",{style:{fontSize:11,color:"#71717a",marginTop:1},children:l(h.descKey)})]}),L&&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"})})]},h.value)})})]}),i&&jsxs("div",{ref:x,style:{position:"relative"},children:[jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxs("button",{type:"button",className:"match-btn",style:os,onMouseEnter:h=>{h.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:h=>{h.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>{d(h=>!h),c(false);},children:[jsx(pf,{}),jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:lf(n,l)}),jsx(uf,{onMouseEnter:()=>p(true),onMouseLeave:()=>p(false)}),jsx(as,{open:u})]}),m&&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")})]})]})]}),u&&jsxs("div",{style:{...is,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:ss.map(h=>{let L=h.value===0?!n:n===h.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:L?"rgba(199,255,46,0.08)":"transparent",color:L?"#c7ff2e":"#a1a1aa",borderRadius:10,transition:"all 0.15s"},onMouseEnter:b=>{L||(b.currentTarget.style.background="rgba(39,39,42,0.5)",b.currentTarget.style.color="#fff");},onMouseLeave:b=>{L||(b.currentTarget.style.background="transparent",b.currentTarget.style.color="#a1a1aa");},onClick:()=>{i?.(h.value===0?void 0:h.value),d(false);},children:[jsx("span",{children:h.labelKey?l(h.labelKey):h.label}),L&&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"})})]},h.value)})})]})]}),s&&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:h=>{h.currentTarget.style.background="rgba(39,39,42,1)",h.currentTarget.style.color="#fff";},onMouseLeave:h=>{h.currentTarget.style.background="rgba(39,39,42,0.6)",h.currentTarget.style.color="#a1a1aa";},onClick:M,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 cf(){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 df({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 pf(){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 uf({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 as({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 gf(e){return e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${(e/1e3).toFixed(0)}K`:`$${e.toFixed(0)}`}var hf=[{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:gf,valueColor:"#f5a524",gradientFrom:"rgba(245,165,36,0.18)",gradientTo:"rgba(245,165,36,0.04)",borderColor:"rgba(245,165,36,0.18)"}];function cs({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,o)=>jsxs("span",{children:[o>0&&jsx("br",{className:"hidden sm:block"}),r,o===0?" ":""]},o))})]}),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,o)=>jsxs("span",{children:[o>0&&jsx("br",{className:"hidden sm:block"}),r,o===0?" ":""]},o))})]}),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:hf.map((r,o)=>jsxs("div",{style:{padding:"16px 20px",background:e?`linear-gradient(to bottom, ${r.gradientFrom}, ${r.gradientTo})`:"rgba(255,255,255,0.02)",borderRight:o%2===0?"1px solid rgba(39,39,42,0.4)":"none",borderBottom:o<2?"1px solid rgba(39,39,42,0.4)":"none",...e?{animation:"matchStatCardEnter 0.45s cubic-bezier(0.34,1.56,0.64,1) both",animationDelay:`${150+o*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:`${o*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+o*80}ms`}})})]},r.key))})]})]})}function bo(e){return e==null?"-":e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e.toFixed(0)}`}function yo(e){let t=e.outcomes?.[0];return t?.best_ask??t?.price??null}function xf(e){return e.outcomes?.[0]?.label||null}function bf(e){return e==null?"low":e>=3?"high":e>=2?"medium":"low"}var ms={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)"}},yf={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)"}},ds={high:{dot:"#17c964",label:"predict.matches.confidenceHigh"},medium:{dot:"#f5a524",label:"predict.matches.confidenceMed"},low:{dot:"#71717a",label:"predict.matches.confidenceLow"}};function kf(e,t){return e||(t==null?"low":t>=.9?"high":t>=.7?"medium":"low")}function Sf({tier:e}){let t=ms[e],r=e==="high"?5:e==="medium"?3:1;return jsx("div",{style:{display:"flex",gap:2,alignItems:"center"},children:Array.from({length:5},(o,n)=>jsx("div",{style:{width:6,height:10,borderRadius:1.5,background:n<r?t.gaugeActive:t.gaugeInactive,transition:"background 0.2s"}},n))})}var wf={polymarket:{text:"#50a2ff",icon:"#50a2ff"},kalshi:{text:"#00d492",icon:"#00d492"}},Pf={text:"#9ca3af",icon:"#9ca3af"};function Nf(e){return wf[e]??Pf}var Cf=`
|
|
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 fs({match:e,onSelect:t,onHover:r,getMarketHref:o,LinkComponent:n}){let{t:i}=useTranslation(),s=yo(e.market_a),l=yo(e.market_b),a=e.spread_percent!=null?e.spread_percent:e.spread!=null?e.spread*100:null,c=bf(a),u=ms[c],d=s!=null&&l!=null?s<=l?e.source_a:e.source_b:null,m=e.event_a_title||e.event_b_title,p=kf(e.confidence_tier,e.similarity_score),f=ds[p]??ds.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:v=>{let x=v.currentTarget,S=yf[c];x.style.borderColor=S.border,x.style.boxShadow=S.shadow,r?.(e);},onMouseLeave:v=>{let x=v.currentTarget;x.style.borderColor="rgba(39,39,42,0.6)",x.style.boxShadow="none";},children:[jsx("style",{children:Cf}),a!=null&&jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"8px 14px",background:`linear-gradient(90deg, ${u.bandFrom}, ${u.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:u.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:u.color},children:[a.toFixed(1),"%"]}),jsx("span",{style:{fontSize:10,fontWeight:500,color:"rgba(161,161,170,0.7)",textTransform:"uppercase",letterSpacing:"0.06em"},children:"SPREAD"})]}),jsx(Sf,{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:m}),jsxs("div",{style:{borderRadius:10,border:"1px solid rgba(39,39,42,0.4)",overflow:"hidden"},children:[jsx(ps,{source:e.source_a,market:e.market_a,isCheaper:d===e.source_a,onClick:()=>t?.(e,e.source_a),href:o?.(e,e.source_a),LinkComponent:n}),jsx("div",{style:{height:1,background:"rgba(39,39,42,0.3)"}}),jsx(ps,{source:e.source_b,market:e.market_b,isCheaper:d===e.source_b,onClick:()=>t?.(e,e.source_b),href:o?.(e,e.source_b),LinkComponent:n})]}),d&&a!=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:v=>{let x=v.currentTarget;x.style.background=g==="orange"?"rgba(247,104,22,0.14)":"rgba(199,255,46,0.10)";},onMouseLeave:v=>{let x=v.currentTarget;x.style.background=g==="orange"?"rgba(247,104,22,0.08)":"rgba(199,255,46,0.06)";},onClick:()=>t?.(e,d),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:d.charAt(0).toUpperCase()+d.slice(1),spread:a.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"})]}),bo(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"})}),bo(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 ps({source:e,market:t,isCheaper:r,onClick:o,href:n,LinkComponent:i}){let{t:s}=useTranslation(),l=pt(e),a=Nf(e),c=yo(t),u=xf(t),d=t.volume,m=jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"10px 12px",cursor:n||o?"pointer":void 0,transition:"background 0.15s",background:r?"rgba(199,255,46,0.03)":"transparent"},onMouseEnter:p=>{p.currentTarget.style.background=r?"rgba(199,255,46,0.06)":"rgba(255,255,255,0.02)";},onMouseLeave:p=>{p.currentTarget.style.background=r?"rgba(199,255,46,0.03)":"transparent";},onClick:o,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:a.text,textTransform:"uppercase"},children:l.label})]}),jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:1},children:[u&&jsx("span",{style:{fontSize:10,color:"#71717a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:u}),jsxs("span",{style:{fontSize:9,color:"#52525b"},children:[bo(d)," ",s("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:s("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 n&&i?jsx(i,{href:n,className:"block",children:m}):m}var xs=forwardRef(function({sortBy:t,sortAsc:r,minVolume:o,onSelect:n,onHover:i,getMarketHref:s,LinkComponent:l,onStatsChange:a},c){let{t:u}=useTranslation(),{data:d,hasNextPage:m,fetchNextPage:p,isFetchingNextPage:f,isLoading:g,isPlaceholderData:v,refetch:x}=useInfiniteMatchMarkets({sort_by:t,sort_asc:r,min_volume:o,status:"active",limit:20},{placeholderData:keepPreviousData}),[S,k]=useState(0),[M,h]=useState(false);M&&!v?(h(false),k(N=>N+1)):v&&!M&&h(true),useImperativeHandle(c,()=>({refetch:()=>{x();}}),[x]);let L=useMemo(()=>d?.pages.flatMap(N=>N.items??[])??[],[d]),b=d?.pages[0]?.total,K=useMemo(()=>{let N=0,z=0,F=0;for(let ne of L){let E=ne.spread??0;E>N&&(N=E),E>=.03&&F++,ne.combined_volume!=null&&(z+=ne.combined_volume);}return {activePairs:b??L.length,maxSpread:N,highSpreadCount:F,totalVolume:z}},[L,b]);useEffect(()=>{K.activePairs>0&&a?.(K);},[K,a]);let I=useRef(null),J=useCallback(()=>{window.scrollTo({top:0,behavior:"smooth"});},[]);if(useEffect(()=>{let N=I.current;if(!N)return;let z=new IntersectionObserver(F=>{F[0]?.isIntersecting&&m&&!f&&p();},{rootMargin:"200px"});return z.observe(N),()=>z.disconnect()},[m,f,p]),useEffect(()=>{if(m)return document.documentElement.style.overscrollBehaviorY="none",()=>{document.documentElement.style.overscrollBehaviorY="";}},[m]),g)return jsx(Of,{});if(L.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:u("predict.matches.empty")})});let fe=!m&&L.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:d?.pages.map(N=>N.items?.map((z,F)=>jsx("div",{style:{animation:`matchCardEnter 0.45s cubic-bezier(0.34,1.56,0.64,1) ${F*35}ms both`},children:jsx(ms,{match:z,onSelect:n,onHover:i,getMarketHref:s,LinkComponent:l})},`${S}-${z.match_id}-${z.source_a}-${z.market_a?.slug??F}`)))}),jsxs("div",{ref:I,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"})}),u("predict.matches.loadMore")]})]}),fe&&jsx(Rf,{onScrollToTop:J})]})});function Rf({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 If(){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(Of,{index:t},t))})]})}function Of({index:e}){let r={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:`shimmer 1.8s ease-in-out infinite ${e*150}ms`,borderRadius:6};return jsxs("div",{style:{borderRadius:16,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",overflow:"hidden"},children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:"16px 16px 12px"},children:[jsx("div",{style:{...r,height:14,width:e%2===0?"75%":"60%"}}),jsx("div",{style:{...r,height:24,width:64,borderRadius:10,flexShrink:0,marginLeft:12}})]}),jsx("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:16,padding:"0 16px"},children:[0,1].map(o=>jsxs("div",{style:{borderRadius:12,border:"1px solid rgba(255,255,255,0.04)",background:"rgba(255,255,255,0.02)",padding:12,display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:{...r,height:10,width:72}}),jsx("div",{style:{...r,height:10,width:48}}),jsx("div",{style:{...r,height:20,width:56}}),jsx("div",{style:{...r,height:10,width:60,marginTop:4}})]},o))}),jsx("div",{style:{padding:"12px 16px"},children:jsx("div",{style:{...r,height:36,borderRadius:10,width:"100%"}})}),jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",borderTop:"1px solid rgba(39,39,42,0.5)",padding:"10px 16px"},children:[jsxs("div",{style:{display:"flex",gap:12},children:[jsx("div",{style:{...r,height:10,width:40}}),jsx("div",{style:{...r,height:10,width:50}})]}),jsx("div",{style:{...r,height:10,width:56}})]})]})}var Hf={spread:"predict.matches.topOpportunities",volume:"predict.matches.highestVolume",confidence:"predict.matches.trendingToday"};function zf(){let[e,t]=useState("");return useEffect(()=>{let r=()=>{let n=new Date;return `${String(n.getHours()).padStart(2,"0")}:${String(n.getMinutes()).padStart(2,"0")}`};t(r());let o=setInterval(()=>t(r()),1e4);return ()=>clearInterval(o)},[]),jsx("span",{children:e})}function $f({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(zf,{})]})]})]})]})}function Py({onSelect:e,onHover:t,getMarketHref:r,LinkComponent:o,bgImageSrc:n}){let{t:i}=useTranslation(),[s,l]=useState("spread"),[a,c]=useState(false),[u,d]=useState(5e3),[m,p]=useState(),f=useRef(null),g=useCallback(k=>{l(k);},[]),v=useCallback(k=>{c(k);},[]),x=useCallback(k=>{startTransition(()=>{p(k);});},[]),S=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:d?.pages.map(N=>N.items?.map((z,F)=>jsx("div",{style:{animation:`matchCardEnter 0.45s cubic-bezier(0.34,1.56,0.64,1) ${F*35}ms both`},children:jsx(fs,{match:z,onSelect:n,onHover:i,getMarketHref:s,LinkComponent:l})},`${S}-${z.match_id}-${z.source_a}-${z.market_a?.slug??F}`)))}),jsxs("div",{ref:I,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"})}),u("predict.matches.loadMore")]})]}),fe&&jsx(If,{onScrollToTop:J})]})});function If({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 Of(){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(Df,{index:t},t))})]})}function Df({index:e}){let r={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:`shimmer 1.8s ease-in-out infinite ${e*150}ms`,borderRadius:6};return jsxs("div",{style:{borderRadius:16,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",overflow:"hidden"},children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:"16px 16px 12px"},children:[jsx("div",{style:{...r,height:14,width:e%2===0?"75%":"60%"}}),jsx("div",{style:{...r,height:24,width:64,borderRadius:10,flexShrink:0,marginLeft:12}})]}),jsx("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:16,padding:"0 16px"},children:[0,1].map(o=>jsxs("div",{style:{borderRadius:12,border:"1px solid rgba(255,255,255,0.04)",background:"rgba(255,255,255,0.02)",padding:12,display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:{...r,height:10,width:72}}),jsx("div",{style:{...r,height:10,width:48}}),jsx("div",{style:{...r,height:20,width:56}}),jsx("div",{style:{...r,height:10,width:60,marginTop:4}})]},o))}),jsx("div",{style:{padding:"12px 16px"},children:jsx("div",{style:{...r,height:36,borderRadius:10,width:"100%"}})}),jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",borderTop:"1px solid rgba(39,39,42,0.5)",padding:"10px 16px"},children:[jsxs("div",{style:{display:"flex",gap:12},children:[jsx("div",{style:{...r,height:10,width:40}}),jsx("div",{style:{...r,height:10,width:50}})]}),jsx("div",{style:{...r,height:10,width:56}})]})]})}var zf={spread:"predict.matches.topOpportunities",volume:"predict.matches.highestVolume",confidence:"predict.matches.trendingToday"};function $f(){let[e,t]=useState("");return useEffect(()=>{let r=()=>{let n=new Date;return `${String(n.getHours()).padStart(2,"0")}:${String(n.getMinutes()).padStart(2,"0")}`};t(r());let o=setInterval(()=>t(r()),1e4);return ()=>clearInterval(o)},[]),jsx("span",{children:e})}function Wf({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($f,{})]})]})]})]})}function My({onSelect:e,onHover:t,getMarketHref:r,LinkComponent:o,bgImageSrc:n}){let{t:i}=useTranslation(),[s,l]=useState("spread"),[a,c]=useState(false),[u,d]=useState(5e3),[m,p]=useState(),f=useRef(null),g=useCallback(k=>{l(k);},[]),v=useCallback(k=>{c(k);},[]),x=useCallback(k=>{startTransition(()=>{p(k);});},[]),S=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:[n&&jsx("img",{src:n,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(ls,{stats:m})})]}),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(Hf[s])}),m&&m.activePairs>0&&jsx("p",{className:"hidden sm:block",style:{fontSize:11,color:"#71717a",margin:0},children:i("predict.matches.pairsFound",{count:m.activePairs})})]})]}),jsx(ss,{sortBy:s,onSortChange:g,sortAsc:a,onSortAscChange:v,minVolume:u,onMinVolumeChange:d,onRefresh:S})]})]}),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(vs,{ref:f,sortBy:s,sortAsc:a,minVolume:u,onSelect:e,onHover:t,getMarketHref:r,LinkComponent:o,onStatsChange:x})]}),jsx($f,{stats:m})]})}function ko(e){return e==null?"-":e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e.toFixed(0)}`}var Uf={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"}},Kf={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 Vf(e){return Uf[e]??Kf}function jf(e){if(!e.matched_markets?.length)return null;let t=null,r=-1;for(let o of e.matched_markets){let n=o.spread??0;n>r&&(r=n,t=o);}return t}function Yf(e,t){let r=e.entries.find(l=>l.source===(t?.source_a??e.entries[0]?.source)),o=e.entries.find(l=>l.source===(t?.source_b??e.entries[1]?.source)),n=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=n(t?.market_a),s=n(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??o?.source??"unknown",outcomeName:s.name,yesPrice:s.price,volume:o?.event?.volume??null,event:o?.event}]}function Ly({group:e,onSelectEntry:t,getEventHref:r,LinkComponent:o}){let {t:n}=useTranslation(),i=useMemo(()=>jf(e),[e]),s=e.max_spread!=null?e.max_spread*100:null,[l,a]=useMemo(()=>Yf(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 d=l.yesPrice!=null&&a.yesPrice!=null?l.yesPrice<=a.yesPrice?l:a:null,m=d?dt(d.source):null,p=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(ys,{data:l,isCheaper:d===l,onSelect:t,getEventHref:r,LinkComponent:o}),jsx(ys,{data:a,isCheaper:d===a,onSelect:t,getEventHref:r,LinkComponent:o})]}),d&&m&&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 ${p==="amber"?"rgba(255,185,0,0.15)":"rgba(166,132,255,0.15)"}`,background:p==="amber"?"rgba(255,185,0,0.05)":"rgba(166,132,255,0.05)"},onClick:()=>d.event&&t?.(d.event),children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,flexShrink:0,color:p==="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:p==="amber"?"rgba(255,185,0,0.9)":"rgba(166,132,255,0.9)"},children:n("predict.matches.buyEdge",{platform:d.source.charAt(0).toUpperCase()+d.source.slice(1),spread:s.toFixed(1)})}),jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12,marginLeft:"auto",color:p==="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"})]}),ko(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"})}),ko(e.combined_volume_24h)," ",n("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),"%"," ",n("predict.matches.match")]})]})]})}function ys({data:e,isCheaper:t,onSelect:r,getEventHref:o,LinkComponent:n}){let{t:i}=useTranslation(),s=dt(e.source),l=Vf(e.source),a=e.event?o?.(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:u=>{u.currentTarget.style.borderColor=l.hoverBorder;},onMouseLeave:u=>{u.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:[ko(e.volume)," ",i("predict.matches.volume")]})]});return a&&n?jsx(n,{href:a,className:"block",children:c}):c}function Qf(e){return e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${(e/1e3).toFixed(1)}K`:`$${e.toFixed(0)}`}function Dy({matches:e,total:t}){let{t:r}=useTranslation(),o=useMemo(()=>{let n=0,i=0,s=new Set;for(let l of e){l.max_spread!=null&&l.max_spread>n&&(n=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:n,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(Nn,{label:r("predict.matches.stats.matchedMarkets"),value:o.count.toLocaleString()}),jsx(So,{}),jsx(Nn,{label:r("predict.matches.stats.totalVolume"),value:Qf(o.totalVolume)}),jsx(So,{}),jsx(Nn,{label:r("predict.matches.stats.highestSpread"),value:`${(o.maxSpread*100).toFixed(1)}\xA2`,valueClassName:"text-green-400"}),jsx(So,{}),jsx(Nn,{label:r("predict.matches.stats.platforms"),value:String(o.platformCount)})]})}function Nn({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 So(){return jsx("span",{className:"hidden text-neutral-700 sm:inline",children:"|"})}function ws(e){return `${(e*100).toFixed(1)}\xA2`}function Xf(e){return e>=.05?"text-green-400":e>=.02?"text-yellow-400":"text-neutral-400"}function Hy({spread:e,arbProfit:t,className:r}){if(e==null)return null;let o=t!=null&&t>0;return jsxs("div",{className:cn("flex items-center gap-x-2",r),children:[jsx("span",{className:cn("text-sm font-semibold",Xf(e)),children:ws(e)}),o&&jsxs("span",{className:"text-xs text-green-500/80",children:["+",ws(t)]})]})}var Ir=10,ng=64,Ms=40,Cn=48;function Es({solanaAddress:e,evmAddress:t,listHeight:r}){let{t:o}=useTranslation(),[n,i]=useState(1),{data:s,isLoading:l,fetchNextPage:a,hasNextPage:c,isFetchingNextPage:u}=useInfiniteTrades({source:"kalshi",wallet:e??"",limit:50}),{data:d,isLoading:m,fetchNextPage:p,hasNextPage:f,isFetchingNextPage:g}=useInfiniteTrades({source:"polymarket",wallet:t??"",limit:50}),v=l||m,x=u||g,S=c||f,k=useMemo(()=>{let N=[];return s?.pages&&N.push(...s.pages.flatMap(z=>z.items)),d?.pages&&N.push(...d.pages.flatMap(z=>z.items)),N.sort((z,F)=>(F.timestamp??0)-(z.timestamp??0)),N},[s,d]),M=Math.max(1,Math.ceil(k.length/Ir)+(S?1:0)),h=(n-1)*Ir,L=k.slice(h,h+Ir),b=useCallback(()=>{i(N=>Math.max(1,N-1));},[]),K=useCallback(async()=>{n*Ir>=k.length&&S&&(c&&await a(),f&&await p()),i(z=>z+1);},[n,k.length,S,c,f,a,p]),I=n>1,J=n*Ir<k.length||S;if(v)return jsx(cg,{height:r});if(k.length===0&&!S)return jsx(lg,{message:o("predict.profile.noHistory"),height:r});let fe=r-Ms-Cn;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:Ms},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:o("predict.profile.event")}),jsx("div",{className:"flex-1 pr-2",children:o("predict.profile.action")}),jsx("div",{className:"flex-1 pr-2",children:o("predict.profile.status")}),jsx("div",{className:"flex-1 pr-2 text-right",children:o("predict.profile.price")}),jsx("div",{className:"flex-[1.5] pr-2 text-right",children:o("predict.profile.depositWithdraw")}),jsx("div",{className:"flex-1 pr-2 text-right",children:o("predict.profile.pnl")}),jsx("div",{className:"flex-1 pr-2 text-right",children:o("predict.profile.fee")}),jsx("div",{className:"w-10 shrink-0"})]}),jsxs("div",{className:"hidden lg:block overflow-y-auto",style:{height:fe},children:[L.map((N,z)=>jsx(og,{trade:N},N.id??`${h+z}`)),x&&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:Cn},children:[jsxs("button",{type:"button",disabled:!I,onClick:b,className:cn("text-sm transition-colors cursor-pointer flex items-center gap-1",I?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:["\u2190 ",o("predict.profile.previous")]}),Array.from({length:Math.min(M,5)},(N,z)=>{let F=z+1;return jsx("button",{type:"button",onClick:()=>i(F),className:cn("w-8 h-8 rounded text-sm transition-colors cursor-pointer",F===n?"bg-foreground/10 text-foreground font-medium":"text-neutral hover:text-foreground"),children:F},F)}),jsxs("button",{type:"button",disabled:!J,onClick:K,className:cn("text-sm transition-colors cursor-pointer flex items-center gap-1",J?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:[o("predict.profile.next")," \u2192"]})]}),jsx("div",{className:"lg:hidden flex flex-col gap-2 overflow-y-auto py-2",style:{height:r-Cn},children:L.map((N,z)=>jsx(ig,{trade:N},N.id??`m-${h+z}`))}),jsxs("div",{className:"lg:hidden flex items-center justify-center gap-3 shrink-0",style:{height:Cn},children:[jsx("button",{type:"button",disabled:!I,onClick:b,className:cn("text-sm cursor-pointer",I?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2190"}),jsx("span",{className:"text-sm text-foreground tabular-nums",children:n}),jsx("button",{type:"button",disabled:!J,onClick:K,className:cn("text-sm cursor-pointer",J?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2192"})]})]})}function og({trade:e}){let{t}=useTranslation(),r=e.side?.toUpperCase()==="BUY",o=e.price??0,n=e.usd_size??0,i=Ts(e.type,t),s=r,l=s?"+":"-",a=s?"text-success":"text-foreground",c=e.event?.title??e.market?.question??"\u2014",u=e.event?.image_url,d=e.outcome??"",m=Is(e.timestamp),p=Ls(e),f=ag(e),g=sg(e);return jsxs("div",{className:"flex items-center border-b border-border/50 hover:bg-content2/40 transition-colors text-sm",style:{height:ng},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:c}),jsxs("span",{className:"text-[11px] text-neutral",children:[d&&jsx("span",{className:"mr-1",children:d}),jsx("span",{children:m})]})]})]})}),jsx("div",{className:"flex-1 pr-2",children:jsx("span",{className:cn("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:Rs(o)}),jsx("div",{className:cn("flex-[1.5] pr-2 text-right font-mono",a),children:n>0?jsxs(Fragment,{children:[l,"$",n.toFixed(2)]}):"\u2014"}),jsx("div",{className:cn("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:p&&jsx("a",{href:p,target:"_blank",rel:"noopener noreferrer",className:"text-neutral hover:text-foreground transition-colors","aria-label":"View transaction",children:jsx(_s,{})})})]})}function ig({trade:e}){let{t}=useTranslation(),r=e.side?.toUpperCase()==="BUY",o=e.price??0,n=e.usd_size??0,i=Ts(e.type,t),s=e.event?.title??e.market?.question??"\u2014",l=Is(e.timestamp),a=Ls(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("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:Rs(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:n>0?`$${n.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(_s,{})})]})]})}function Ts(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 Ls(e){if(e.tx_hash)return e.source==="polymarket"?`https://polygonscan.com/tx/${e.tx_hash}`:`https://solscan.io/tx/${e.tx_hash}`}function ag(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 o=parseFloat(r);if(!Number.isNaN(o))return o}}return e.type==="REDEEM"&&e.usd_size!=null?e.usd_size:null}function sg(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 o=parseFloat(r);if(!Number.isNaN(o))return o}}return null}function _s(){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 lg({message:e,height:t}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:t},children:e})}function cg({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 Rs(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(t%1===0?0:1)}\xA2`}function Is(e){let t=new Date(e*1e3),r=t.getHours().toString().padStart(2,"0"),o=t.getMinutes().toString().padStart(2,"0"),n=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}:${o} ${n}/${i}/${s} (${a}${c})`}var Or=10,hg=64,Ds=40,Mn=48;function Fs({solanaAddress:e,evmAddress:t,listHeight:r}){let{t:o}=useTranslation(),n=useCancelOrder(),[i,s]=useState(1),{data:l,isLoading:a,fetchNextPage:c,hasNextPage:u,isFetchingNextPage:d}=useInfiniteOrders({source:"kalshi",wallet_address:e??""}),{data:m,isLoading:p,fetchNextPage:f,hasNextPage:g,isFetchingNextPage:v}=useInfiniteOrders({source:"polymarket",wallet_address:t??""}),x=a||p,S=d||v,k=u||g,M=useMemo(()=>{let F=[],ne=new Set(["live","open","submitted","pending"]);return l?.pages&&F.push(...l.pages.flatMap(E=>E.items).filter(E=>ne.has(E.status))),m?.pages&&F.push(...m.pages.flatMap(E=>E.items).filter(E=>ne.has(E.status))),F},[l,m]),h=useCallback(F=>{n.mutate({source:F.source,id:F.id});},[n]),L=Math.max(1,Math.ceil(M.length/Or)+(k?1:0)),b=(i-1)*Or,K=M.slice(b,b+Or),I=useCallback(()=>{s(F=>Math.max(1,F-1));},[]),J=useCallback(async()=>{i*Or>=M.length&&k&&(u&&await c(),g&&await f()),s(ne=>ne+1);},[i,M.length,k,u,g,c,f]),fe=i>1,N=i*Or<M.length||k;if(x)return jsx(yg,{height:r});if(M.length===0&&!k)return jsx(bg,{message:o("predict.profile.noOrders"),height:r});let z=r-Ds-Mn;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:o("predict.profile.event")}),jsx("div",{className:"flex-1 pr-2",children:o("predict.profile.action")}),jsx("div",{className:"flex-1 pr-2",children:o("predict.profile.type")}),jsx("div",{className:"flex-1 pr-2 text-right",children:o("predict.profile.fillPrice")}),jsx("div",{className:"flex-1 pr-2 text-right",children:o("predict.profile.cost")})]}),jsxs("div",{className:"hidden lg:block overflow-y-auto",style:{height:z},children:[K.map(F=>jsx(vg,{order:F,onCancel:h},F.id)),S&&jsx("div",{className:"flex justify-center items-center py-4",children:jsx(Spinner,{size:"sm"})})]}),jsx(As,{className:"hidden lg:flex",currentPage:i,totalPages:L,canGoPrev:fe,canGoNext:N,onPrev:I,onNext:J,onPage:s,t:o}),jsx("div",{className:"lg:hidden flex flex-col gap-2 overflow-y-auto py-2",style:{height:r-Mn},children:K.map(F=>jsx(xg,{order:F,onCancel:h},F.id))}),jsx(As,{className:"lg:hidden",currentPage:i,totalPages:L,canGoPrev:fe,canGoNext:N,onPrev:I,onNext:J,onPage:s,t:o,compact:true})]})}function vg({order:e,onCancel:t}){let{t:r}=useTranslation(),o=e.side==="BUY",n=e.price?parseFloat(e.price):0,i=e.in_amount?parseFloat(e.in_amount):n*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:hg},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("text-sm font-medium",o?"text-success":"text-danger"),children:r(o?"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:n>0?Bs(n):"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:i>0?`$${i.toFixed(2)}`:"\u2014"})]})}function xg({order:e,onCancel:t}){let{t:r}=useTranslation(),o=e.side==="BUY",n=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("text-xs font-medium px-1.5 py-0.5 rounded",o?"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:n>0?Bs(n):"\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 As({className:e,currentPage:t,totalPages:r,canGoPrev:o,canGoNext:n,onPrev:i,onNext:s,onPage:l,t:a,compact:c}){return c?jsxs("div",{className:cn("flex items-center justify-center gap-3 shrink-0",e),style:{height:Mn},children:[jsx("button",{type:"button",disabled:!o,onClick:i,className:cn("text-sm cursor-pointer",o?"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:!n,onClick:s,className:cn("text-sm cursor-pointer",n?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2192"})]}):jsxs("div",{className:cn("flex items-center justify-center gap-2 shrink-0",e),style:{height:Mn},children:[jsxs("button",{type:"button",disabled:!o,onClick:i,className:cn("text-sm transition-colors cursor-pointer flex items-center gap-1",o?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:["\u2190 ",a("predict.profile.previous")]}),Array.from({length:Math.min(r,5)},(u,d)=>{let m=d+1;return jsx("button",{type:"button",onClick:()=>l(m),className:cn("w-8 h-8 rounded text-sm transition-colors cursor-pointer",m===t?"bg-foreground/10 text-foreground font-medium":"text-neutral hover:text-foreground"),children:m},m)}),jsxs("button",{type:"button",disabled:!n,onClick:s,className:cn("text-sm transition-colors cursor-pointer flex items-center gap-1",n?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:[a("predict.profile.next")," \u2192"]})]})}function bg({message:e,height:t}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:t},children:e})}function yg({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 Bs(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(t%1===0?0:1)}\xA2`}var Mo=10,Pg=64,Hs=40,En=48;function zs({positions:e,isLoading:t,listHeight:r,onClosePosition:o,onEventClick:n}){let{t:i}=useTranslation(),[s,l]=useState(1),a=useCallback(()=>{for(let g of e)o?.(g);},[e,o]);if(t)return jsx(Eg,{height:r});if(e.length===0)return jsx(Mg,{message:i("predict.profile.noPositions"),height:r});let c=Math.max(1,Math.ceil(e.length/Mo)),u=(s-1)*Mo,d=e.slice(u,u+Mo),m=s>1,p=s<c,f=r-Hs-En;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:Hs},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:o&&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:d.map((g,v)=>jsx(Ng,{position:g,onClosePosition:o,onEventClick:n},`${g.source}-${g.market?.slug??u+v}`))}),jsxs("div",{className:"hidden lg:flex items-center justify-center gap-2 shrink-0",style:{height:En},children:[jsxs("button",{type:"button",disabled:!m,onClick:()=>l(g=>Math.max(1,g-1)),className:cn("text-sm transition-colors cursor-pointer flex items-center gap-1",m?"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,v)=>{let x=v+1;return jsx("button",{type:"button",onClick:()=>l(x),className:cn("w-8 h-8 rounded text-sm transition-colors cursor-pointer",x===s?"bg-foreground/10 text-foreground font-medium":"text-neutral hover:text-foreground"),children:x},x)}),jsxs("button",{type:"button",disabled:!p,onClick:()=>l(g=>g+1),className:cn("text-sm transition-colors cursor-pointer flex items-center gap-1",p?"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-En},children:d.map((g,v)=>jsx(Cg,{position:g,onClose:o,onEventClick:n},`${g.source}-${g.market?.slug??`m-${u+v}`}`))}),jsxs("div",{className:"lg:hidden flex items-center justify-center gap-3 shrink-0",style:{height:En},children:[jsx("button",{type:"button",disabled:!m,onClick:()=>l(g=>Math.max(1,g-1)),className:cn("text-sm cursor-pointer",m?"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:!p,onClick:()=>l(g=>g+1),className:cn("text-sm cursor-pointer",p?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2192"})]})]})}function Ng({position:e,onClosePosition:t,onEventClick:r}){let{t:o}=useTranslation(),n=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,u=n>0?"text-success":n<0?"text-danger":"text-foreground",d=n>0?"+":"",m=e.event?.title??e.market?.question??"\u2014",p=e.event?.image_url,f=e.side,g=e.market?.outcomes?.[0]?.label??"",v=e.market?.end_at?Tg(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:Pg},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:[p&&jsx("img",{src:p,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:[jsx("span",{className:cn("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:o("predict.profile.contracts",{count: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:Eo(s)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:Eo(l)}),jsxs("div",{className:cn("flex-[1.5] pr-2 text-right font-mono",u),children:[jsxs("span",{children:[d,"$",Math.abs(n).toFixed(2)]}),jsxs("span",{className:"text-[10px] ml-0.5 opacity-70",children:["(",d,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:v}),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"}),o("predict.profile.close")]})})]})}function Cg({position:e,onClose:t,onEventClick:r}){let{t:o}=useTranslation(),n=e.pnl??0,i=e.pnl_percent??0,s=e.current_price??0,l=n>0?"text-success":n<0?"text-danger":"text-foreground",a=n>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("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(Tn,{label:o("predict.profile.totalSize"),value:`${e.size}`}),jsx(Tn,{label:o("predict.profile.markPrice"),value:Eo(s)}),jsx(Tn,{label:o("predict.profile.pnl"),value:`${a}$${Math.abs(n).toFixed(2)} (${a}${i.toFixed(1)}%)`,className:l}),jsx(Tn,{label:o("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:o("predict.profile.close")})})]})}function Tn({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("font-mono text-foreground",r),children:t})]})}function Mg({message:e,height:t}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:t},children:e})}function Eg({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 Eo(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(t%1===0?0:1)}\xA2`}function Tg(e){try{let t=new Date(e),r=t.getHours().toString().padStart(2,"0"),o=t.getMinutes().toString().padStart(2,"0"),n=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}:${o} ${n}/${i}/${s} (${a}${c})`}catch{return "\u2014"}}function Ws({positions:e,trades:t,isLoading:r}){let{t:o}=useTranslation(),n=useMemo(()=>{let l=0,a=0;for(let p of e)l+=p.realized_pnl??0,a+=p.current_value??p.size*(p.current_price??0);let c=0,u=0,d=0;for(let p of t)c+=p.usd_size??0,p.type==="REDEEM"&&(d++,(p.usd_size??0)>0&&u++);let m=d>0?`${u} / ${d}`:"0 / 0";return {realizedPnl:l,positionsValue:a,volume:c,winRateStr:m}},[e,t]),i=n.realizedPnl>0?"text-success":n.realizedPnl<0?"text-danger":"text-foreground",s=n.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:o("predict.profile.realizedPnl")}),r?jsx(Skeleton,{className:"h-14 w-48 rounded-md"}):jsxs("span",{className:cn("text-5xl font-bold tabular-nums",i),children:[s,"$",Math.abs(n.realizedPnl).toFixed(2)]})]}),jsxs("div",{className:"flex items-end gap-8 sm:gap-10",children:[jsx(Lo,{label:o("predict.profile.winRate"),value:n.winRateStr,isLoading:r}),jsx(Lo,{label:o("predict.profile.positions"),value:`$${n.positionsValue.toFixed(2)}`,isLoading:r}),jsx(Lo,{label:o("predict.profile.volume"),value:`$${n.volume.toFixed(2)}`,isLoading:r})]})]})}function Lo({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 _o=600;function Fg({solanaAddress:e,evmAddress:t,onClosePosition:r,onEventClick:o}){let{t:n}=useTranslation(),[i,s]=useState("positions"),l=!!(e||t),{data:a,isLoading:c}=usePositions({source:"kalshi",user:e??""}),{data:u,isLoading:d}=usePositions({source:"polymarket",user:t??""}),m=useMemo(()=>{let b=[];return a?.positions&&b.push(...a.positions),u?.positions&&b.push(...u.positions),b},[a,u]),p=c||d,{data:f,isLoading:g}=useInfiniteTrades({source:"kalshi",wallet:e??"",limit:100}),{data:v,isLoading:x}=useInfiniteTrades({source:"polymarket",wallet:t??"",limit:100}),S=useMemo(()=>[...f?.pages?.flatMap(K=>K.items)??[],...v?.pages?.flatMap(K=>K.items)??[]],[f,v]),k=p||g||x,M=m.length,L=[{key:"positions",label:M>0?`${n("predict.profile.positionsTab")} (${M})`:n("predict.profile.positionsTab")},{key:"orders",label:n("predict.profile.openOrdersTab")},{key:"history",label:n("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(Ws,{positions:m,trades:S,isLoading:k}),jsx("div",{className:"flex items-center gap-1 border-b border-border",children:L.map(b=>jsx("button",{type:"button",onClick:()=>s(b.key),className:cn("px-3 py-3 text-base font-normal transition-colors cursor-pointer whitespace-nowrap",i===b.key?"text-foreground border-b-2 border-foreground":"text-neutral hover:text-foreground"),children:b.label},b.key))}),jsxs("div",{className:"py-2",children:[i==="positions"&&jsx(zs,{positions:m,isLoading:p,listHeight:_o,onClosePosition:r,onEventClick:o}),i==="orders"&&jsx(Fs,{solanaAddress:e,evmAddress:t,listHeight:_o}),i==="history"&&jsx(Es,{solanaAddress:e,evmAddress:t,listHeight:_o})]})]}):jsx("div",{className:"flex items-center justify-center text-sm text-neutral py-24 px-4",children:n("predict.profile.connectWallet")})}function D2({isOpen:e,onClose:t,safeDeployed:r,tokenApproved:o,onDeployAndApprove:n}){let{t:i}=useTranslation(),[s,l]=useState(false),[a,c]=useState(null),[u,d]=useState(false),m=r||u,p=o||u,f=m?"done":s?"running":"pending",g=p?"done":m&&s?"running":"pending",v=m&&p,x=useCallback(async()=>{c(null),d(false),l(true);try{await n(),d(!0);}catch(h){c(h instanceof Error?h.message:String(h));}finally{l(false);}},[n]),S=[{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}],k=()=>{v?t():x();},M=i(v?"predict.setup.done":"predict.setup.setupButton");return jsx(StyledModal,{isOpen:e,onOpenChange:h=>{h||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:S.map((h,L)=>jsxs("div",{className:"flex gap-3 rounded-[10px] border border-zinc-700/50 bg-zinc-800/50 px-3 py-3",children:[jsx(Wg,{index:L+1,status:h.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:h.label}),jsx("span",{className:`text-[11px] leading-none ${h.status==="done"?"text-[#c7ff2e]":h.status==="running"?"text-[#c7ff2e]/70":"text-zinc-500"}`,children:h.status==="done"?i("predict.setup.stepComplete"):h.status==="running"?i("predict.setup.stepRunning"):i("predict.setup.stepPending")})]}),jsx("p",{className:"text-xs text-zinc-500 mt-1",children:h.desc})]})]},h.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:k,disabled:s,className:v?"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")]}):M}),!v&&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 Wg({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:[n&&jsx("img",{src:n,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(cs,{stats:m})})]}),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(zf[s])}),m&&m.activePairs>0&&jsx("p",{className:"hidden sm:block",style:{fontSize:11,color:"#71717a",margin:0},children:i("predict.matches.pairsFound",{count:m.activePairs})})]})]}),jsx(ls,{sortBy:s,onSortChange:g,sortAsc:a,onSortAscChange:v,minVolume:u,onMinVolumeChange:d,onRefresh:S})]})]}),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(xs,{ref:f,sortBy:s,sortAsc:a,minVolume:u,onSelect:e,onHover:t,getMarketHref:r,LinkComponent:o,onStatsChange:x})]}),jsx(Wf,{stats:m})]})}function So(e){return e==null?"-":e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e.toFixed(0)}`}var Kf={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"}},Vf={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 jf(e){return Kf[e]??Vf}function Yf(e){if(!e.matched_markets?.length)return null;let t=null,r=-1;for(let o of e.matched_markets){let n=o.spread??0;n>r&&(r=n,t=o);}return t}function Gf(e,t){let r=e.entries.find(l=>l.source===(t?.source_a??e.entries[0]?.source)),o=e.entries.find(l=>l.source===(t?.source_b??e.entries[1]?.source)),n=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=n(t?.market_a),s=n(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??o?.source??"unknown",outcomeName:s.name,yesPrice:s.price,volume:o?.event?.volume??null,event:o?.event}]}function Iy({group:e,onSelectEntry:t,getEventHref:r,LinkComponent:o}){let {t:n}=useTranslation(),i=useMemo(()=>Yf(e),[e]),s=e.max_spread!=null?e.max_spread*100:null,[l,a]=useMemo(()=>Gf(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 d=l.yesPrice!=null&&a.yesPrice!=null?l.yesPrice<=a.yesPrice?l:a:null,m=d?pt(d.source):null,p=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(ks,{data:l,isCheaper:d===l,onSelect:t,getEventHref:r,LinkComponent:o}),jsx(ks,{data:a,isCheaper:d===a,onSelect:t,getEventHref:r,LinkComponent:o})]}),d&&m&&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 ${p==="amber"?"rgba(255,185,0,0.15)":"rgba(166,132,255,0.15)"}`,background:p==="amber"?"rgba(255,185,0,0.05)":"rgba(166,132,255,0.05)"},onClick:()=>d.event&&t?.(d.event),children:[jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,flexShrink:0,color:p==="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:p==="amber"?"rgba(255,185,0,0.9)":"rgba(166,132,255,0.9)"},children:n("predict.matches.buyEdge",{platform:d.source.charAt(0).toUpperCase()+d.source.slice(1),spread:s.toFixed(1)})}),jsxs("svg",{viewBox:"0 0 24 24",style:{width:12,height:12,marginLeft:"auto",color:p==="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"})]}),So(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"})}),So(e.combined_volume_24h)," ",n("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),"%"," ",n("predict.matches.match")]})]})]})}function ks({data:e,isCheaper:t,onSelect:r,getEventHref:o,LinkComponent:n}){let{t:i}=useTranslation(),s=pt(e.source),l=jf(e.source),a=e.event?o?.(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:u=>{u.currentTarget.style.borderColor=l.hoverBorder;},onMouseLeave:u=>{u.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:[So(e.volume)," ",i("predict.matches.volume")]})]});return a&&n?jsx(n,{href:a,className:"block",children:c}):c}function Xf(e){return e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${(e/1e3).toFixed(1)}K`:`$${e.toFixed(0)}`}function By({matches:e,total:t}){let{t:r}=useTranslation(),o=useMemo(()=>{let n=0,i=0,s=new Set;for(let l of e){l.max_spread!=null&&l.max_spread>n&&(n=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:n,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(Mn,{label:r("predict.matches.stats.matchedMarkets"),value:o.count.toLocaleString()}),jsx(wo,{}),jsx(Mn,{label:r("predict.matches.stats.totalVolume"),value:Xf(o.totalVolume)}),jsx(wo,{}),jsx(Mn,{label:r("predict.matches.stats.highestSpread"),value:`${(o.maxSpread*100).toFixed(1)}\xA2`,valueClassName:"text-green-400"}),jsx(wo,{}),jsx(Mn,{label:r("predict.matches.stats.platforms"),value:String(o.platformCount)})]})}function Mn({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 wo(){return jsx("span",{className:"hidden text-neutral-700 sm:inline",children:"|"})}function Ps(e){return `${(e*100).toFixed(1)}\xA2`}function Jf(e){return e>=.05?"text-green-400":e>=.02?"text-yellow-400":"text-neutral-400"}function Wy({spread:e,arbProfit:t,className:r}){if(e==null)return null;let o=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",Jf(e)),children:Ps(e)}),o&&jsxs("span",{className:"text-xs text-green-500/80",children:["+",Ps(t)]})]})}var Dr=10,og=64,Es=40,En=48;function Ts({solanaAddress:e,evmAddress:t,listHeight:r}){let{t:o}=useTranslation(),[n,i]=useState(1),{data:s,isLoading:l,fetchNextPage:a,hasNextPage:c,isFetchingNextPage:u}=useInfiniteTrades({source:"kalshi",wallet:e??"",limit:50}),{data:d,isLoading:m,fetchNextPage:p,hasNextPage:f,isFetchingNextPage:g}=useInfiniteTrades({source:"polymarket",wallet:t??"",limit:50}),v=l||m,x=u||g,S=c||f,k=useMemo(()=>{let N=[];return s?.pages&&N.push(...s.pages.flatMap(z=>z.items)),d?.pages&&N.push(...d.pages.flatMap(z=>z.items)),N.sort((z,F)=>(F.timestamp??0)-(z.timestamp??0)),N},[s,d]),M=Math.max(1,Math.ceil(k.length/Dr)+(S?1:0)),h=(n-1)*Dr,L=k.slice(h,h+Dr),b=useCallback(()=>{i(N=>Math.max(1,N-1));},[]),K=useCallback(async()=>{n*Dr>=k.length&&S&&(c&&await a(),f&&await p()),i(z=>z+1);},[n,k.length,S,c,f,a,p]),I=n>1,J=n*Dr<k.length||S;if(v)return jsx(dg,{height:r});if(k.length===0&&!S)return jsx(cg,{message:o("predict.profile.noHistory"),height:r});let fe=r-Es-En;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:Es},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:o("predict.profile.event")}),jsx("div",{className:"flex-1 pr-2",children:o("predict.profile.action")}),jsx("div",{className:"flex-1 pr-2",children:o("predict.profile.status")}),jsx("div",{className:"flex-1 pr-2 text-right",children:o("predict.profile.price")}),jsx("div",{className:"flex-[1.5] pr-2 text-right",children:o("predict.profile.depositWithdraw")}),jsx("div",{className:"flex-1 pr-2 text-right",children:o("predict.profile.pnl")}),jsx("div",{className:"flex-1 pr-2 text-right",children:o("predict.profile.fee")}),jsx("div",{className:"w-10 shrink-0"})]}),jsxs("div",{className:"hidden lg:block overflow-y-auto",style:{height:fe},children:[L.map((N,z)=>jsx(ig,{trade:N},N.id??`${h+z}`)),x&&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:En},children:[jsxs("button",{type:"button",disabled:!I,onClick:b,className:cn$1("text-sm transition-colors cursor-pointer flex items-center gap-1",I?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:["\u2190 ",o("predict.profile.previous")]}),Array.from({length:Math.min(M,5)},(N,z)=>{let F=z+1;return jsx("button",{type:"button",onClick:()=>i(F),className:cn$1("w-8 h-8 rounded text-sm transition-colors cursor-pointer",F===n?"bg-foreground/10 text-foreground font-medium":"text-neutral hover:text-foreground"),children:F},F)}),jsxs("button",{type:"button",disabled:!J,onClick:K,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:[o("predict.profile.next")," \u2192"]})]}),jsx("div",{className:"lg:hidden flex flex-col gap-2 overflow-y-auto py-2",style:{height:r-En},children:L.map((N,z)=>jsx(ag,{trade:N},N.id??`m-${h+z}`))}),jsxs("div",{className:"lg:hidden flex items-center justify-center gap-3 shrink-0",style:{height:En},children:[jsx("button",{type:"button",disabled:!I,onClick:b,className:cn$1("text-sm cursor-pointer",I?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2190"}),jsx("span",{className:"text-sm text-foreground tabular-nums",children:n}),jsx("button",{type:"button",disabled:!J,onClick:K,className:cn$1("text-sm cursor-pointer",J?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2192"})]})]})}function ig({trade:e}){let{t}=useTranslation(),r=e.side?.toUpperCase()==="BUY",o=e.price??0,n=e.usd_size??0,i=Ls(e.type,t),s=r,l=s?"+":"-",a=s?"text-success":"text-foreground",c=e.event?.title??e.market?.question??"\u2014",u=e.event?.image_url,d=e.outcome??"",m=Os(e.timestamp),p=_s(e),f=sg(e),g=lg(e);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("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:c}),jsxs("span",{className:"text-[11px] text-neutral",children:[d&&jsx("span",{className:"mr-1",children:d}),jsx("span",{children:m})]})]})]})}),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:Is(o)}),jsx("div",{className:cn$1("flex-[1.5] pr-2 text-right font-mono",a),children:n>0?jsxs(Fragment,{children:[l,"$",n.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:p&&jsx("a",{href:p,target:"_blank",rel:"noopener noreferrer",className:"text-neutral hover:text-foreground transition-colors","aria-label":"View transaction",children:jsx(Rs,{})})})]})}function ag({trade:e}){let{t}=useTranslation(),r=e.side?.toUpperCase()==="BUY",o=e.price??0,n=e.usd_size??0,i=Ls(e.type,t),s=e.event?.title??e.market?.question??"\u2014",l=Os(e.timestamp),a=_s(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:Is(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:n>0?`$${n.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(Rs,{})})]})]})}function Ls(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 _s(e){if(e.tx_hash)return e.source==="polymarket"?`https://polygonscan.com/tx/${e.tx_hash}`:`https://solscan.io/tx/${e.tx_hash}`}function sg(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 o=parseFloat(r);if(!Number.isNaN(o))return o}}return e.type==="REDEEM"&&e.usd_size!=null?e.usd_size:null}function lg(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 o=parseFloat(r);if(!Number.isNaN(o))return o}}return null}function Rs(){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 cg({message:e,height:t}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:t},children:e})}function dg({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 Is(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(t%1===0?0:1)}\xA2`}function Os(e){let t=new Date(e*1e3),r=t.getHours().toString().padStart(2,"0"),o=t.getMinutes().toString().padStart(2,"0"),n=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}:${o} ${n}/${i}/${s} (${a}${c})`}var Ar=10,vg=64,As=40,Tn=48;function Bs({solanaAddress:e,evmAddress:t,listHeight:r}){let{t:o}=useTranslation(),n=useCancelOrder(),[i,s]=useState(1),{data:l,isLoading:a,fetchNextPage:c,hasNextPage:u,isFetchingNextPage:d}=useInfiniteOrders({source:"kalshi",wallet_address:e??""}),{data:m,isLoading:p,fetchNextPage:f,hasNextPage:g,isFetchingNextPage:v}=useInfiniteOrders({source:"polymarket",wallet_address:t??""}),x=a||p,S=d||v,k=u||g,M=useMemo(()=>{let F=[],ne=new Set(["live","open","submitted","pending"]);return l?.pages&&F.push(...l.pages.flatMap(E=>E.items).filter(E=>ne.has(E.status))),m?.pages&&F.push(...m.pages.flatMap(E=>E.items).filter(E=>ne.has(E.status))),F},[l,m]),h=useCallback(F=>{n.mutate({source:F.source,id:F.id});},[n]),L=Math.max(1,Math.ceil(M.length/Ar)+(k?1:0)),b=(i-1)*Ar,K=M.slice(b,b+Ar),I=useCallback(()=>{s(F=>Math.max(1,F-1));},[]),J=useCallback(async()=>{i*Ar>=M.length&&k&&(u&&await c(),g&&await f()),s(ne=>ne+1);},[i,M.length,k,u,g,c,f]),fe=i>1,N=i*Ar<M.length||k;if(x)return jsx(kg,{height:r});if(M.length===0&&!k)return jsx(yg,{message:o("predict.profile.noOrders"),height:r});let z=r-As-Tn;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:As},children:[jsx("div",{className:"flex-[3] min-w-0 pr-2",children:o("predict.profile.event")}),jsx("div",{className:"flex-1 pr-2",children:o("predict.profile.action")}),jsx("div",{className:"flex-1 pr-2",children:o("predict.profile.type")}),jsx("div",{className:"flex-1 pr-2 text-right",children:o("predict.profile.fillPrice")}),jsx("div",{className:"flex-1 pr-2 text-right",children:o("predict.profile.cost")})]}),jsxs("div",{className:"hidden lg:block overflow-y-auto",style:{height:z},children:[K.map(F=>jsx(xg,{order:F,onCancel:h},F.id)),S&&jsx("div",{className:"flex justify-center items-center py-4",children:jsx(Spinner,{size:"sm"})})]}),jsx(Fs,{className:"hidden lg:flex",currentPage:i,totalPages:L,canGoPrev:fe,canGoNext:N,onPrev:I,onNext:J,onPage:s,t:o}),jsx("div",{className:"lg:hidden flex flex-col gap-2 overflow-y-auto py-2",style:{height:r-Tn},children:K.map(F=>jsx(bg,{order:F,onCancel:h},F.id))}),jsx(Fs,{className:"lg:hidden",currentPage:i,totalPages:L,canGoPrev:fe,canGoNext:N,onPrev:I,onNext:J,onPage:s,t:o,compact:true})]})}function xg({order:e,onCancel:t}){let{t:r}=useTranslation(),o=e.side==="BUY",n=e.price?parseFloat(e.price):0,i=e.in_amount?parseFloat(e.in_amount):n*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:vg},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",o?"text-success":"text-danger"),children:r(o?"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:n>0?Hs(n):"\u2014"}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:i>0?`$${i.toFixed(2)}`:"\u2014"})]})}function bg({order:e,onCancel:t}){let{t:r}=useTranslation(),o=e.side==="BUY",n=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",o?"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:n>0?Hs(n):"\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 Fs({className:e,currentPage:t,totalPages:r,canGoPrev:o,canGoNext:n,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:Tn},children:[jsx("button",{type:"button",disabled:!o,onClick:i,className:cn$1("text-sm cursor-pointer",o?"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:!n,onClick:s,className:cn$1("text-sm cursor-pointer",n?"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:Tn},children:[jsxs("button",{type:"button",disabled:!o,onClick:i,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:["\u2190 ",a("predict.profile.previous")]}),Array.from({length:Math.min(r,5)},(u,d)=>{let m=d+1;return jsx("button",{type:"button",onClick:()=>l(m),className:cn$1("w-8 h-8 rounded text-sm transition-colors cursor-pointer",m===t?"bg-foreground/10 text-foreground font-medium":"text-neutral hover:text-foreground"),children:m},m)}),jsxs("button",{type:"button",disabled:!n,onClick:s,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:[a("predict.profile.next")," \u2192"]})]})}function yg({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 Hs(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(t%1===0?0:1)}\xA2`}var Eo=10,Ng=64,zs=40,Ln=48;function $s({positions:e,isLoading:t,listHeight:r,onClosePosition:o,onEventClick:n}){let{t:i}=useTranslation(),[s,l]=useState(1),a=useCallback(()=>{for(let g of e)o?.(g);},[e,o]);if(t)return jsx(Tg,{height:r});if(e.length===0)return jsx(Eg,{message:i("predict.profile.noPositions"),height:r});let c=Math.max(1,Math.ceil(e.length/Eo)),u=(s-1)*Eo,d=e.slice(u,u+Eo),m=s>1,p=s<c,f=r-zs-Ln;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:zs},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:o&&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:d.map((g,v)=>jsx(Cg,{position:g,onClosePosition:o,onEventClick:n},`${g.source}-${g.market?.slug??u+v}`))}),jsxs("div",{className:"hidden lg:flex items-center justify-center gap-2 shrink-0",style:{height:Ln},children:[jsxs("button",{type:"button",disabled:!m,onClick:()=>l(g=>Math.max(1,g-1)),className:cn$1("text-sm transition-colors cursor-pointer flex items-center gap-1",m?"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,v)=>{let x=v+1;return jsx("button",{type:"button",onClick:()=>l(x),className:cn$1("w-8 h-8 rounded text-sm transition-colors cursor-pointer",x===s?"bg-foreground/10 text-foreground font-medium":"text-neutral hover:text-foreground"),children:x},x)}),jsxs("button",{type:"button",disabled:!p,onClick:()=>l(g=>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:[i("predict.profile.next")," \u2192"]})]}),jsx("div",{className:"lg:hidden flex flex-col gap-2 overflow-y-auto py-2",style:{height:r-Ln},children:d.map((g,v)=>jsx(Mg,{position:g,onClose:o,onEventClick:n},`${g.source}-${g.market?.slug??`m-${u+v}`}`))}),jsxs("div",{className:"lg:hidden flex items-center justify-center gap-3 shrink-0",style:{height:Ln},children:[jsx("button",{type:"button",disabled:!m,onClick:()=>l(g=>Math.max(1,g-1)),className:cn$1("text-sm cursor-pointer",m?"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:!p,onClick:()=>l(g=>g+1),className:cn$1("text-sm cursor-pointer",p?"text-neutral hover:text-foreground":"text-neutral/40 cursor-not-allowed"),children:"\u2192"})]})]})}function Cg({position:e,onClosePosition:t,onEventClick:r}){let{t:o}=useTranslation(),n=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,u=n>0?"text-success":n<0?"text-danger":"text-foreground",d=n>0?"+":"",m=e.event?.title??e.market?.question??"\u2014",p=e.event?.image_url,f=e.side,g=e.market?.outcomes?.[0]?.label??"",v=e.market?.end_at?Lg(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:Ng},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:[p&&jsx("img",{src:p,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:[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:o("predict.profile.contracts",{count:br(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:To(s)}),jsx("div",{className:"flex-1 pr-2 text-right font-mono text-foreground",children:To(l)}),jsxs("div",{className:cn$1("flex-[1.5] pr-2 text-right font-mono",u),children:[jsxs("span",{children:[d,"$",Math.abs(n).toFixed(2)]}),jsxs("span",{className:"text-[10px] ml-0.5 opacity-70",children:["(",d,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:v}),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"}),o("predict.profile.close")]})})]})}function Mg({position:e,onClose:t,onEventClick:r}){let{t:o}=useTranslation(),n=e.pnl??0,i=e.pnl_percent??0,s=e.current_price??0,l=n>0?"text-success":n<0?"text-danger":"text-foreground",a=n>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:o("predict.profile.totalSize"),value:br(e.size)}),jsx(_n,{label:o("predict.profile.markPrice"),value:To(s)}),jsx(_n,{label:o("predict.profile.pnl"),value:`${a}$${Math.abs(n).toFixed(2)} (${a}${i.toFixed(1)}%)`,className:l}),jsx(_n,{label:o("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:o("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 Eg({message:e,height:t}){return jsx("div",{className:"flex items-center justify-center text-sm text-neutral",style:{height:t},children:e})}function Tg({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 To(e){let t=e*100;return t<1&&t>0?"< 1\xA2":`${t.toFixed(t%1===0?0:1)}\xA2`}function Lg(e){try{let t=new Date(e),r=t.getHours().toString().padStart(2,"0"),o=t.getMinutes().toString().padStart(2,"0"),n=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}:${o} ${n}/${i}/${s} (${a}${c})`}catch{return "\u2014"}}function Us({positions:e,trades:t,isLoading:r}){let{t:o}=useTranslation(),n=useMemo(()=>{let l=0,a=0;for(let p of e)l+=p.realized_pnl??0,a+=p.current_value??p.size*(p.current_price??0);let c=0,u=0,d=0;for(let p of t)c+=p.usd_size??0,p.type==="REDEEM"&&(d++,(p.usd_size??0)>0&&u++);let m=d>0?`${u} / ${d}`:"0 / 0";return {realizedPnl:l,positionsValue:a,volume:c,winRateStr:m}},[e,t]),i=n.realizedPnl>0?"text-success":n.realizedPnl<0?"text-danger":"text-foreground",s=n.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:o("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(n.realizedPnl).toFixed(2)]})]}),jsxs("div",{className:"flex items-end gap-8 sm:gap-10",children:[jsx(_o,{label:o("predict.profile.winRate"),value:n.winRateStr,isLoading:r}),jsx(_o,{label:o("predict.profile.positions"),value:`$${n.positionsValue.toFixed(2)}`,isLoading:r}),jsx(_o,{label:o("predict.profile.volume"),value:`$${n.volume.toFixed(2)}`,isLoading:r})]})]})}function _o({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 Ro=600;function Bg({solanaAddress:e,evmAddress:t,onClosePosition:r,onEventClick:o}){let{t:n}=useTranslation(),[i,s]=useState("positions"),l=!!(e||t),{data:a,isLoading:c}=usePositions({source:"kalshi",user:e??""}),{data:u,isLoading:d}=usePositions({source:"polymarket",user:t??""}),m=useMemo(()=>{let b=[];return a?.positions&&b.push(...a.positions),u?.positions&&b.push(...u.positions),b},[a,u]),p=c||d,{data:f,isLoading:g}=useInfiniteTrades({source:"kalshi",wallet:e??"",limit:100}),{data:v,isLoading:x}=useInfiniteTrades({source:"polymarket",wallet:t??"",limit:100}),S=useMemo(()=>[...f?.pages?.flatMap(K=>K.items)??[],...v?.pages?.flatMap(K=>K.items)??[]],[f,v]),k=p||g||x,M=m.length,L=[{key:"positions",label:M>0?`${n("predict.profile.positionsTab")} (${M})`:n("predict.profile.positionsTab")},{key:"orders",label:n("predict.profile.openOrdersTab")},{key:"history",label:n("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(Us,{positions:m,trades:S,isLoading:k}),jsx("div",{className:"flex items-center gap-1 border-b border-border",children:L.map(b=>jsx("button",{type:"button",onClick:()=>s(b.key),className:cn$1("px-3 py-3 text-base font-normal transition-colors cursor-pointer whitespace-nowrap",i===b.key?"text-foreground border-b-2 border-foreground":"text-neutral hover:text-foreground"),children:b.label},b.key))}),jsxs("div",{className:"py-2",children:[i==="positions"&&jsx($s,{positions:m,isLoading:p,listHeight:Ro,onClosePosition:r,onEventClick:o}),i==="orders"&&jsx(Bs,{solanaAddress:e,evmAddress:t,listHeight:Ro}),i==="history"&&jsx(Ts,{solanaAddress:e,evmAddress:t,listHeight:Ro})]})]}):jsx("div",{className:"flex items-center justify-center text-sm text-neutral py-24 px-4",children:n("predict.profile.connectWallet")})}function H2({isOpen:e,onClose:t,safeDeployed:r,tokenApproved:o,onDeployAndApprove:n}){let{t:i}=useTranslation(),[s,l]=useState(false),[a,c]=useState(null),[u,d]=useState(false),m=r||u,p=o||u,f=m?"done":s?"running":"pending",g=p?"done":m&&s?"running":"pending",v=m&&p,x=useCallback(async()=>{c(null),d(false),l(true);try{await n(),d(!0);}catch(h){c(h instanceof Error?h.message:String(h));}finally{l(false);}},[n]),S=[{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}],k=()=>{v?t():x();},M=i(v?"predict.setup.done":"predict.setup.setupButton");return jsx(StyledModal,{isOpen:e,onOpenChange:h=>{h||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:S.map((h,L)=>jsxs("div",{className:"flex gap-3 rounded-[10px] border border-zinc-700/50 bg-zinc-800/50 px-3 py-3",children:[jsx(Ug,{index:L+1,status:h.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:h.label}),jsx("span",{className:`text-[11px] leading-none ${h.status==="done"?"text-[#c7ff2e]":h.status==="running"?"text-[#c7ff2e]/70":"text-zinc-500"}`,children:h.status==="done"?i("predict.setup.stepComplete"):h.status==="running"?i("predict.setup.stepRunning"):i("predict.setup.stepPending")})]}),jsx("p",{className:"text-xs text-zinc-500 mt-1",children:h.desc})]})]},h.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:k,disabled:s,className:v?"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")]}):M}),!v&&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 Ug({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{a0 as CHART_RANGE_DURATION,o0 as CHART_RANGE_PERIOD,i0 as CHART_RANGE_SAMPLE_INTERVAL,Xr as CandlestickPeriod,qg as CategoriesSkeleton,Wo as CategoriesUI,Vo as CategoriesWidget,He as ChartRange,Jr as DEFAULT_CHART_RANGE,Kn as DEFAULT_FILTER_STATE,vr as DEFAULT_PAGE_SIZE,d0 as DEFAULT_PRICE_HISTORY_INTERVAL,tb as EventDetailPage,Er as EventDetailSkeleton,Ma as EventDetailUI,Ea as EventDetailWidget,Ti as EventItem,ua as EventMarketDepthChartUI,va as EventMarketDetailWidget,ya as EventPriceChart,si as EventsFilterUI,ci as EventsHero,Jh as EventsPage,wh as EventsPageSkeleton,jn as EventsSkeleton,gi as EventsToolbarUI,Oi as EventsUI,Ai as EventsWidget,on as KycModal,Hn as MAX_PRICE_HISTORY_MARKETS,Iy as MatchGroupCard,fs as MatchMarketCard,ls as MatchesFilterBar,cs as MatchesHero,My as MatchesPage,By as MatchesStatsBar,xs as MatchesWidget,c0 as ORDER_MAX_PRICE,l0 as ORDER_MIN_PRICE,Zr as ORDER_MIN_QUANTITY,en as ORDER_MIN_USDC,s0 as ORDER_PRICE_STEP,ho as PREDICT_SEARCH_MODAL_ID,Jn as PREDICT_SELL_MODAL_ID,yr as PREDICT_TRADE_MODAL_ID,p0 as PRICE_HISTORY_SAMPLE_INTERVAL,O1 as PredictSearchModal,Zi as PredictSellModal,sn as PredictTradeModal,xl as PredictWalletProvider,lr as PriceHistoryInterval,Bg as ProfilePage,fi as SORT_PRESETS,Bn as STATIC_CATEGORIES,U1 as SearchEventsButton,Ha as SearchHistoryUI,za as SearchHistoryWidget,$a as SearchInputUI,Wa as SearchResultItemUI,Ya as SearchResultListWidget,Ja as SearchWidget,Xi as SellFormUI,un as SellFormWidget,H2 as SetupModal,Wu as SimilarEventCard,Ra as SimilarEventsSection,Rx as SourceBadge,Wy as SpreadIndicator,ia as TradeFormSkeleton,ii as TradeFormUI,an as TradeFormWidget,ra as UserActivitySection,Vn as countActiveFilters,jt as fireCelebration,Ze as floorToDecimals,Tr as formatKMB,br as formatShares,pt as getSourceMeta,nn as parsePolymarketError,tn as resolveExpiration,rn as roundToTickSize,lb as useEventDetail,xi as useEventsInfinite,wn as usePredictSearchHistory,xr as usePredictWallet,Ua as useSearchResultListScript,Xa as useSearchScript,Wi as useSellForm,Jo as useTradeForm,nl as version};//# sourceMappingURL=index.mjs.map
|
|
148
148
|
//# sourceMappingURL=index.mjs.map
|