@liberfi.io/ui-channels 0.1.3 → 0.1.5

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 CHANGED
@@ -14,7 +14,7 @@ declare global {
14
14
  };
15
15
  }
16
16
  }
17
- declare const _default: "0.1.0";
17
+ declare const _default: "0.1.5";
18
18
 
19
19
  declare const baseFormSchema: z.ZodObject<{
20
20
  name: z.ZodString;
package/dist/index.d.ts CHANGED
@@ -14,7 +14,7 @@ declare global {
14
14
  };
15
15
  }
16
16
  }
17
- declare const _default: "0.1.0";
17
+ declare const _default: "0.1.5";
18
18
 
19
19
  declare const baseFormSchema: z.ZodObject<{
20
20
  name: z.ZodString;
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';var i18n=require('@liberfi.io/i18n'),ui=require('@liberfi.io/ui'),reactQuery=require('@tanstack/react-query'),react=require('react'),utils=require('@liberfi.io/utils'),client=require('@liberfi.io/client'),jsxRuntime=require('react/jsx-runtime'),types=require('@liberfi.io/types'),walletConnector=require('@liberfi.io/wallet-connector'),hooks=require('@liberfi.io/hooks');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-channels"]="0.1.0");var Bt="0.1.0";var q=react.createContext({});function Ie(){let e=react.useContext(q);if(!e)throw new Error("useChannelsContext must be used within a ChannelsProvider");return e}function p(){let{client:e}=Ie();return e}function Kt(e,t){return ["channelEvents",e,t.limit?`${t.limit}`:"",t.timestamp?`${t.timestamp}`:"",t.next_page?`${t.next_page}`:""]}async function ie(e,t,n){return await e.getChannelEvents(t,n)}function Ue(e,t={},n={}){let a=p();return reactQuery.useQuery({queryKey:Kt(e,t),queryFn:async()=>ie(a,e,t),...n})}function Dt(e){return ["channelEvents","infinite",e]}function Ae(e,t={},n={}){let a=p();return reactQuery.useInfiniteQuery({queryKey:Dt(e),queryFn:async({pageParam:s})=>ie(a,e,s),initialPageParam:t,getNextPageParam:(s,r,o)=>s.has_more?{timestamp:s.next_timestamp,next_page:o.next_page,limit:o.limit}:void 0,...n})}function T(e){return ["channel",e]}async function $t(e,t){return await e.get(t)}function V(e,t={}){let n=p();return reactQuery.useQuery({queryKey:T(e),queryFn:async()=>$t(n,e),...t})}function Gt(e){return ["channels",e.chain??"",e.page?`${e.page}`:"",e.size?`${e.size}`:"",e.search??"",e.sort??"",e.order??""]}async function Jt(e,t){let n={...t,chain:t.chain?utils.chainSlug(t.chain):void 0};return await e.getChannels(n)}function Fe(e={},t={}){let n=p();return reactQuery.useQuery({queryKey:Gt(e),queryFn:async()=>Jt(n,e),...t})}function me(e){return ["channelSources",e]}async function jt(e,t){return await e.getSources(t)}function K(e,t={}){let n=p();return reactQuery.useQuery({queryKey:me(e),queryFn:async()=>jt(n,e),...t})}async function nn(e,t){let n=utils.chainSlug(t.chain);if(!n)throw new Error("Invalid chain");return e.create({...t,chain:n})}function Te(e={}){let t=p();return reactQuery.useMutation({mutationFn:async n=>nn(t,n),...e})}function on(e){return ["myChannels",e.chain??"",e.page?`${e.page}`:"",e.size?`${e.size}`:"",e.search??"",e.sort??"",e.order??""]}async function rn(e,t){let n={...t,chain:t.chain?utils.chainSlug(t.chain):void 0};return await e.getMyChannels(n)}function z(e={},t={}){let n=p();return reactQuery.useQuery({queryKey:on(e),queryFn:async()=>rn(n,e),...t})}async function cn(e,t){await e.subscribe(t);}function Ee(e={}){let t=reactQuery.useQueryClient(),n=p();return reactQuery.useMutation({mutationFn:async a=>cn(n,a),...e,onSuccess:(a,s,r,o)=>{t.invalidateQueries({queryKey:["subscribedChannels"]}),t.invalidateQueries({queryKey:T(s)}),e?.onSuccess?.(a,s,r,o);}})}function pn(e){return ["subscribedChannels",e.chain??"",e.page?`${e.page}`:"",e.size?`${e.size}`:"",e.search??"",e.sort??"",e.order??""]}async function hn(e,t){let n={...t,chain:t.chain?utils.chainSlug(t.chain):void 0};return await e.getSubscribedChannels(n)}function D(e={},t={}){let n=p();return reactQuery.useQuery({queryKey:pn(e),queryFn:async()=>hn(n,e),...t})}async function xn(e,t){await e.unsubscribe(t);}function Le(e={}){let t=p(),n=reactQuery.useQueryClient();return reactQuery.useMutation({mutationFn:async a=>xn(t,a),...e,onSuccess:(a,s,r,o)=>{n.invalidateQueries({queryKey:["subscribedChannels"]}),n.invalidateQueries({queryKey:T(s)}),e?.onSuccess?.(a,s,r,o);}})}async function bn(e,t){let n={...t};if(t.chain){let a=utils.chainSlug(t.chain);if(!a)throw new Error("Invalid chain");n.chain=a;}return e.update(n)}function Re(e={}){let t=p(),n=reactQuery.useQueryClient();return reactQuery.useMutation({mutationFn:async a=>bn(t,a),...e,onSuccess:(a,s,r,o)=>{n.invalidateQueries({queryKey:T(s.id)}),e?.onSuccess?.(a,s,r,o);}})}async function Nn(e,t){return e.updateSources(t)}function ke(e={}){let t=p(),n=reactQuery.useQueryClient();return reactQuery.useMutation({mutationFn:async a=>Nn(t,a),...e,onSuccess:(a,s,r,o)=>{n.invalidateQueries({queryKey:me(s.channel_id)}),e?.onSuccess?.(a,s,r,o);}})}var Me=()=>{let e=ui.usePinata(),{client:t}=client.useDexClient();return react.useCallback(async a=>{let s=await client.fetchPresignedUploadUrl(t),r=await e.upload.public.file(a).url(s);return e.gateways.public.convert(r.cid)},[e,t])};var Qe=ui.z.object({name:ui.z.string({error:"channels.forms.base.name.required"}).min(1,"channels.forms.base.name.min").max(24,"channels.forms.base.name.max"),description:ui.z.string().optional(),icon:ui.z.url({error:"channels.forms.base.icon.required"})}),Fn=ui.z.object({address:ui.z.string({error:"channels.forms.wallets.address.required"}),alias:ui.z.string().optional()}),We=ui.z.array(Fn).min(1,"channels.forms.wallets.required").max(500,"channels.forms.wallets.maxCount");function $({isSubmitting:e=false,onSubmit:t,defaultValues:n={name:"",description:"",icon:""},submitLabel:a}){let{t:s}=i18n.useTranslation(),r=ui.useForm({mode:"onChange",reValidateMode:"onBlur",resolver:ui.zodResolver(Qe),defaultValues:n}),o=Me();return jsxRuntime.jsxs(ui.RHForm,{methods:r,onSubmit:t,children:[jsxRuntime.jsx(ui.RHInput,{name:"name",label:s("channels.forms.base.name.label"),"aria-label":s("channels.forms.base.name.label"),placeholder:s("channels.forms.base.name.placeholder"),variant:"bordered",radius:"lg",size:"sm",fullWidth:true,labelPlacement:"outside-top"}),jsxRuntime.jsx(ui.RHTextArea,{name:"description",label:s("channels.forms.base.description.label"),"aria-label":s("channels.forms.base.description.label"),placeholder:s("channels.forms.base.description.placeholder"),variant:"bordered",radius:"lg",size:"sm",fullWidth:true,labelPlacement:"outside-top"}),jsxRuntime.jsx(ui.RHUpload,{name:"icon",upload:o,label:s("channels.forms.base.icon.label"),placeholder:s("channels.forms.base.icon.placeholder"),hint:s("channels.forms.base.icon.hint"),radius:"lg",classNames:{upload:"sm:max-w-80"}}),jsxRuntime.jsx(ui.Button,{color:"primary",fullWidth:true,type:"submit",radius:"lg",className:"mt-8",isLoading:e,children:a??s("channels.forms.base.submit")})]})}function bl({onSuccess:e,onError:t}){let{t:n}=i18n.useTranslation(),{mutateAsync:a,isPending:s}=Te(),r=walletConnector.useAuthCallback(async o=>{try{let l=await a({name:o.name,description:o.description,icon:o.icon,chain:types.Chain.SOLANA,privacy:"public"});ui.toast.success(n("channels.create.success")),e?.(l);}catch(l){ui.toast.error(n("channels.create.error")),t?.(l);}},[n,a,e,t]);return jsxRuntime.jsx($,{onSubmit:r,isSubmitting:s})}function _e(e){let{t}=i18n.useTranslation(),{data:n,isLoading:a}=V(e),{mutateAsync:s,isPending:r}=Re(),o=react.useMemo(()=>{if(n)return {name:n.name,description:n.description,icon:n.icon??""}},[n]),l=walletConnector.useAuthCallback(async m=>{try{await s({id:e,name:m.name,description:m.description,icon:m.icon}),ui.toast.success(t("channels.update.success"));}catch(i){console.error("Update channel base info error",i),ui.toast.error(t("channels.update.error"));}},[s,e]);return {channel:n,isLoading:a,isSubmitting:r,defaultValues:o,submit:l}}function Ve({sink:e,onSaveToken:t}){let{t:n}=i18n.useTranslation(),[a,s]=react.useState("");return react.useEffect(()=>{},[e]),jsxRuntime.jsxs("div",{className:"px-2 sm:px-4 space-y-4",children:[jsxRuntime.jsx("p",{className:"whitespace-pre-wrap text-sm p-2 sm:p-4 bg-content2 rounded-lg text-neutral leading-[2]",children:n("channels.forms.socials.telegram.guide")}),jsxRuntime.jsxs("div",{className:"flex gap-4 items-center",children:[jsxRuntime.jsx(ui.StyledInput,{fullWidth:true,placeholder:n("channels.forms.socials.telegram.placeholder"),radius:"lg",value:a,onValueChange:s}),jsxRuntime.jsx(ui.Button,{color:"primary",radius:"lg",size:"sm",className:"h-10 min-h-10",children:n("common.save")})]})]})}function ze({channel:e}){let[t,n]=react.useState("telegram");return jsxRuntime.jsxs("div",{className:"w-full space-y-4",children:[jsxRuntime.jsx(ui.StyledTabs,{variant:"underlined",selectedKey:t,onSelectionChange:n,disableAnimation:false,children:jsxRuntime.jsx(ui.Tab,{title:jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ui.TelegramIcon,{width:16,height:16}),jsxRuntime.jsx("h3",{children:"Telegram"})]})},"telegram")}),t==="telegram"&&jsxRuntime.jsx(Ve,{channel:e})]})}function De(e){return e.split(`
1
+ 'use strict';var i18n=require('@liberfi.io/i18n'),ui=require('@liberfi.io/ui'),reactQuery=require('@tanstack/react-query'),react=require('react'),utils=require('@liberfi.io/utils'),client=require('@liberfi.io/client'),jsxRuntime=require('react/jsx-runtime'),types=require('@liberfi.io/types'),walletConnector=require('@liberfi.io/wallet-connector'),hooks=require('@liberfi.io/hooks');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-channels"]="0.1.5");var Bt="0.1.5";var q=react.createContext({});function Ie(){let e=react.useContext(q);if(!e)throw new Error("useChannelsContext must be used within a ChannelsProvider");return e}function p(){let{client:e}=Ie();return e}function Kt(e,t){return ["channelEvents",e,t.limit?`${t.limit}`:"",t.timestamp?`${t.timestamp}`:"",t.next_page?`${t.next_page}`:""]}async function ie(e,t,n){return await e.getChannelEvents(t,n)}function Ue(e,t={},n={}){let a=p();return reactQuery.useQuery({queryKey:Kt(e,t),queryFn:async()=>ie(a,e,t),...n})}function Dt(e){return ["channelEvents","infinite",e]}function Ae(e,t={},n={}){let a=p();return reactQuery.useInfiniteQuery({queryKey:Dt(e),queryFn:async({pageParam:s})=>ie(a,e,s),initialPageParam:t,getNextPageParam:(s,r,o)=>s.has_more?{timestamp:s.next_timestamp,next_page:o.next_page,limit:o.limit}:void 0,...n})}function T(e){return ["channel",e]}async function $t(e,t){return await e.get(t)}function V(e,t={}){let n=p();return reactQuery.useQuery({queryKey:T(e),queryFn:async()=>$t(n,e),...t})}function Gt(e){return ["channels",e.chain??"",e.page?`${e.page}`:"",e.size?`${e.size}`:"",e.search??"",e.sort??"",e.order??""]}async function Jt(e,t){let n={...t,chain:t.chain?utils.chainSlug(t.chain):void 0};return await e.getChannels(n)}function Fe(e={},t={}){let n=p();return reactQuery.useQuery({queryKey:Gt(e),queryFn:async()=>Jt(n,e),...t})}function me(e){return ["channelSources",e]}async function jt(e,t){return await e.getSources(t)}function K(e,t={}){let n=p();return reactQuery.useQuery({queryKey:me(e),queryFn:async()=>jt(n,e),...t})}async function nn(e,t){let n=utils.chainSlug(t.chain);if(!n)throw new Error("Invalid chain");return e.create({...t,chain:n})}function Te(e={}){let t=p();return reactQuery.useMutation({mutationFn:async n=>nn(t,n),...e})}function on(e){return ["myChannels",e.chain??"",e.page?`${e.page}`:"",e.size?`${e.size}`:"",e.search??"",e.sort??"",e.order??""]}async function rn(e,t){let n={...t,chain:t.chain?utils.chainSlug(t.chain):void 0};return await e.getMyChannels(n)}function z(e={},t={}){let n=p();return reactQuery.useQuery({queryKey:on(e),queryFn:async()=>rn(n,e),...t})}async function cn(e,t){await e.subscribe(t);}function Ee(e={}){let t=reactQuery.useQueryClient(),n=p();return reactQuery.useMutation({mutationFn:async a=>cn(n,a),...e,onSuccess:(a,s,r,o)=>{t.invalidateQueries({queryKey:["subscribedChannels"]}),t.invalidateQueries({queryKey:T(s)}),e?.onSuccess?.(a,s,r,o);}})}function pn(e){return ["subscribedChannels",e.chain??"",e.page?`${e.page}`:"",e.size?`${e.size}`:"",e.search??"",e.sort??"",e.order??""]}async function hn(e,t){let n={...t,chain:t.chain?utils.chainSlug(t.chain):void 0};return await e.getSubscribedChannels(n)}function D(e={},t={}){let n=p();return reactQuery.useQuery({queryKey:pn(e),queryFn:async()=>hn(n,e),...t})}async function xn(e,t){await e.unsubscribe(t);}function Le(e={}){let t=p(),n=reactQuery.useQueryClient();return reactQuery.useMutation({mutationFn:async a=>xn(t,a),...e,onSuccess:(a,s,r,o)=>{n.invalidateQueries({queryKey:["subscribedChannels"]}),n.invalidateQueries({queryKey:T(s)}),e?.onSuccess?.(a,s,r,o);}})}async function bn(e,t){let n={...t};if(t.chain){let a=utils.chainSlug(t.chain);if(!a)throw new Error("Invalid chain");n.chain=a;}return e.update(n)}function Re(e={}){let t=p(),n=reactQuery.useQueryClient();return reactQuery.useMutation({mutationFn:async a=>bn(t,a),...e,onSuccess:(a,s,r,o)=>{n.invalidateQueries({queryKey:T(s.id)}),e?.onSuccess?.(a,s,r,o);}})}async function Nn(e,t){return e.updateSources(t)}function ke(e={}){let t=p(),n=reactQuery.useQueryClient();return reactQuery.useMutation({mutationFn:async a=>Nn(t,a),...e,onSuccess:(a,s,r,o)=>{n.invalidateQueries({queryKey:me(s.channel_id)}),e?.onSuccess?.(a,s,r,o);}})}var Me=()=>{let e=ui.usePinata(),{client:t}=client.useDexClient();return react.useCallback(async a=>{let s=await client.fetchPresignedUploadUrl(t),r=await e.upload.public.file(a).url(s);return e.gateways.public.convert(r.cid)},[e,t])};var Qe=ui.z.object({name:ui.z.string({error:"channels.forms.base.name.required"}).min(1,"channels.forms.base.name.min").max(24,"channels.forms.base.name.max"),description:ui.z.string().optional(),icon:ui.z.url({error:"channels.forms.base.icon.required"})}),Fn=ui.z.object({address:ui.z.string({error:"channels.forms.wallets.address.required"}),alias:ui.z.string().optional()}),We=ui.z.array(Fn).min(1,"channels.forms.wallets.required").max(500,"channels.forms.wallets.maxCount");function $({isSubmitting:e=false,onSubmit:t,defaultValues:n={name:"",description:"",icon:""},submitLabel:a}){let{t:s}=i18n.useTranslation(),r=ui.useForm({mode:"onChange",reValidateMode:"onBlur",resolver:ui.zodResolver(Qe),defaultValues:n}),o=Me();return jsxRuntime.jsxs(ui.RHForm,{methods:r,onSubmit:t,children:[jsxRuntime.jsx(ui.RHInput,{name:"name",label:s("channels.forms.base.name.label"),"aria-label":s("channels.forms.base.name.label"),placeholder:s("channels.forms.base.name.placeholder"),variant:"bordered",radius:"lg",size:"sm",fullWidth:true,labelPlacement:"outside-top"}),jsxRuntime.jsx(ui.RHTextArea,{name:"description",label:s("channels.forms.base.description.label"),"aria-label":s("channels.forms.base.description.label"),placeholder:s("channels.forms.base.description.placeholder"),variant:"bordered",radius:"lg",size:"sm",fullWidth:true,labelPlacement:"outside-top"}),jsxRuntime.jsx(ui.RHUpload,{name:"icon",upload:o,label:s("channels.forms.base.icon.label"),placeholder:s("channels.forms.base.icon.placeholder"),hint:s("channels.forms.base.icon.hint"),radius:"lg",classNames:{upload:"sm:max-w-80"}}),jsxRuntime.jsx(ui.Button,{color:"primary",fullWidth:true,type:"submit",radius:"lg",className:"mt-8",isLoading:e,children:a??s("channels.forms.base.submit")})]})}function bl({onSuccess:e,onError:t}){let{t:n}=i18n.useTranslation(),{mutateAsync:a,isPending:s}=Te(),r=walletConnector.useAuthCallback(async o=>{try{let l=await a({name:o.name,description:o.description,icon:o.icon,chain:types.Chain.SOLANA,privacy:"public"});ui.toast.success(n("channels.create.success")),e?.(l);}catch(l){ui.toast.error(n("channels.create.error")),t?.(l);}},[n,a,e,t]);return jsxRuntime.jsx($,{onSubmit:r,isSubmitting:s})}function _e(e){let{t}=i18n.useTranslation(),{data:n,isLoading:a}=V(e),{mutateAsync:s,isPending:r}=Re(),o=react.useMemo(()=>{if(n)return {name:n.name,description:n.description,icon:n.icon??""}},[n]),l=walletConnector.useAuthCallback(async m=>{try{await s({id:e,name:m.name,description:m.description,icon:m.icon}),ui.toast.success(t("channels.update.success"));}catch(i){console.error("Update channel base info error",i),ui.toast.error(t("channels.update.error"));}},[s,e]);return {channel:n,isLoading:a,isSubmitting:r,defaultValues:o,submit:l}}function Ve({sink:e,onSaveToken:t}){let{t:n}=i18n.useTranslation(),[a,s]=react.useState("");return react.useEffect(()=>{},[e]),jsxRuntime.jsxs("div",{className:"px-2 sm:px-4 space-y-4",children:[jsxRuntime.jsx("p",{className:"whitespace-pre-wrap text-sm p-2 sm:p-4 bg-content2 rounded-lg text-neutral leading-[2]",children:n("channels.forms.socials.telegram.guide")}),jsxRuntime.jsxs("div",{className:"flex gap-4 items-center",children:[jsxRuntime.jsx(ui.StyledInput,{fullWidth:true,placeholder:n("channels.forms.socials.telegram.placeholder"),radius:"lg",value:a,onValueChange:s}),jsxRuntime.jsx(ui.Button,{color:"primary",radius:"lg",size:"sm",className:"h-10 min-h-10",children:n("common.save")})]})]})}function ze({channel:e}){let[t,n]=react.useState("telegram");return jsxRuntime.jsxs("div",{className:"w-full space-y-4",children:[jsxRuntime.jsx(ui.StyledTabs,{variant:"underlined",selectedKey:t,onSelectionChange:n,disableAnimation:false,children:jsxRuntime.jsx(ui.Tab,{title:jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ui.TelegramIcon,{width:16,height:16}),jsxRuntime.jsx("h3",{children:"Telegram"})]})},"telegram")}),t==="telegram"&&jsxRuntime.jsx(Ve,{channel:e})]})}function De(e){return e.split(`
2
2
  `).map(n=>n.trim()).filter(n=>!!n).map(n=>{let[a,s]=n.split(",");return {address:a?a.trim():void 0,alias:s?s.trim():void 0}})}function Ye({wallets:e=[],onSubmit:t,isSubmitting:n}){let{t:a}=i18n.useTranslation(),s=ui.useCopyToClipboard(),r=walletConnector.useAuthCallback(u=>{let h=e.filter(v=>v.value!==u.value).map(v=>({address:v.value??"",alias:v.alias}));t?.(h);},[e,t]),[o,l]=react.useState(""),m=utils.debounce(l,200),i=react.useMemo(()=>e.filter(u=>u.alias?.toLowerCase()?.includes(o.toLowerCase())||u.value?.toLowerCase()?.includes(o.toLowerCase())),[o,e]);return jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("h2",{className:"text-sm font-medium",children:a("channels.forms.wallets.list.title")}),jsxRuntime.jsx(ui.StyledInput,{size:"sm",className:"max-w-50",radius:"full",startContent:jsxRuntime.jsx(ui.SearchIcon,{width:16,height:16,className:"text-neutral"}),placeholder:a("channels.forms.wallets.list.search.placeholder"),onValueChange:m})]}),jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:i.length>10||i.length===0,radius:"lg",classNames:{emptyWrapper:"pt-10"},maxTableHeight:500,rowHeight:52,"aria-label":a("channels.forms.wallets.list.title"),children:[jsxRuntime.jsxs(ui.TableHeader,{children:[jsxRuntime.jsx(ui.TableColumn,{textValue:a("channels.forms.wallets.list.header.address"),width:"60%",children:a("channels.forms.wallets.list.header.address")},"address"),jsxRuntime.jsx(ui.TableColumn,{textValue:a("channels.forms.wallets.list.header.actions"),width:"40%",align:"end",children:a("channels.forms.wallets.list.header.actions")},"actions")]}),jsxRuntime.jsx(ui.TableBody,{items:i,emptyContent:jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(ui.EmptyIcon,{className:"w-10 h-10 mx-auto text-neutral"}),jsxRuntime.jsx("p",{className:"text-xs text-neutral text-center",children:a("channels.forms.wallets.list.empty")})]}),children:u=>jsxRuntime.jsxs(ui.TableRow,{children:[jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 text-xs",children:[jsxRuntime.jsx("div",{children:u.alias}),jsxRuntime.jsxs("div",{className:"text-neutral flex items-center gap-1",onClick:()=>s(u.value??""),"aria-label":a("common.copy"),children:[jsxRuntime.jsx("div",{children:utils.shortAddress(u.value??"")}),jsxRuntime.jsx("div",{children:jsxRuntime.jsx(ui.CopyIcon,{width:12,height:12})})]})]})},"address"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ui.Button,{isIconOnly:true,size:"sm",radius:"full",className:"bg-transparent",disabled:n,onPress:()=>r(u),children:jsxRuntime.jsx(ui.TrashIcon,{className:"text-danger-500",width:18,height:18})})},"actions")]},u.value)})]})]})}var Es=ui.z.object({walletsText:ui.z.string({error:"channels.forms.wallets.required"}).min(1,"channels.forms.wallets.required")});function Ge({channel:e,wallets:t=[],onSubmit:n,isSubmitting:a=false}){let{t:s}=i18n.useTranslation(),r=ui.useForm({mode:"onChange",reValidateMode:"onBlur",resolver:ui.zodResolver(Es),defaultValues:{walletsText:""}}),o=react.useMemo(()=>t.map(d=>({address:d.value??"",alias:d.alias})),[t]),{setError:l,reset:m}=r,i=react.useCallback(d=>{try{let h=We.parse(De(d)),v=h.length-utils.uniqBy(h,"address").length;if(v!==0)throw new Error(s("channels.forms.wallets.address.duplicated",{count:v}));let Pe=utils.intersectionBy(h,o,"address").length;if(Pe>0)throw new Error(s("channels.forms.wallets.address.alreadyAdded",{count:Pe}));if(h.length+o.length>500)throw new Error(s("channels.forms.wallets.maxCount"));let le=0;for(let Ot of h)utils.isValidWalletAddress(e.chain,Ot.address)||le++;if(le>0)throw new Error(s("channels.forms.wallets.address.invalid",{count:le}));return h}catch(h){h instanceof ui.z.ZodError?l("walletsText",{message:h.issues[0].message,type:"manual"}):h instanceof Error?l("walletsText",{message:h.message,type:"manual"}):l("walletsText",{message:s("channels.forms.wallets.invalid"),type:"manual"});return}},[o,s,e.chain]),u=react.useCallback(async d=>{let h=i(d.walletsText);h&&h.length>0&&(await n?.([...o,...h]),m());},[i,n,o]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-6",children:[jsxRuntime.jsxs(ui.RHForm,{methods:r,onSubmit:u,className:"relative",children:[jsxRuntime.jsx(ui.RHTextArea,{name:"walletsText",label:s("channels.forms.wallets.label"),"aria-label":s("channels.forms.wallets.label"),placeholder:s("channels.forms.wallets.placeholder"),variant:"bordered",radius:"lg",size:"sm",fullWidth:true,minRows:10,maxRows:10,labelPlacement:"outside-top"}),jsxRuntime.jsxs("div",{className:"absolute right-0 top-0 text-xs flex gap-1 text-neutral",children:[jsxRuntime.jsxs("span",{className:"text-neutral",children:[s("channels.forms.wallets.addedCount"),":"]}),jsxRuntime.jsxs("span",{children:[o.length," / 500"]})]}),jsxRuntime.jsxs("div",{className:"w-full flex items-center gap-4",children:[jsxRuntime.jsx(ui.HorizontalScrollContainer,{className:"flex-auto min-w-0",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsxs("span",{className:"text-xs text-neutral flex-none",children:[s("channels.forms.wallets.supportedFormats"),":"]}),jsxRuntime.jsx(ui.StyledTooltip,{closeDelay:0,content:jsxRuntime.jsx("div",{className:"text-xs whitespace-pre-line",children:s("channels.forms.wallets.supportedFormats.text.hint")}),children:jsxRuntime.jsx(ui.Chip,{size:"sm",variant:"flat",children:s("channels.forms.wallets.supportedFormats.text")})})]})}),jsxRuntime.jsx("div",{className:"flex-none flex gap-4 items-center",children:jsxRuntime.jsx(ui.Button,{color:"primary",type:"submit",radius:"lg",isLoading:a,size:"sm",children:s("channels.forms.wallets.submit")})})]})]}),jsxRuntime.jsx(Ye,{wallets:t,onSubmit:n,isSubmitting:a})]})}function Xe({channel:e,type:t="base",baseFormDefaultValues:n,isSubmittingBaseForm:a=false,onSubmitBaseForm:s,baseFormSubmitLabel:r,wallets:o,isSubmittingWalletsForm:l=false,onSubmitWalletsForm:m,className:i}){let{t:u}=i18n.useTranslation(),[d,h]=react.useState(t),{isMobile:v}=ui.useScreen();return jsxRuntime.jsxs("div",{className:ui.clsx("w-full flex flex-col gap-4",i),children:[jsxRuntime.jsxs(ui.StyledTabs,{fullWidth:true,variant:"solid",size:v?"sm":void 0,selectedKey:d,onSelectionChange:h,children:[jsxRuntime.jsx(ui.Tab,{title:u("channels.forms.base.title")},"base"),jsxRuntime.jsx(ui.Tab,{title:u("channels.forms.wallets.title")},"wallets"),jsxRuntime.jsx(ui.Tab,{title:u("channels.forms.socials.title")},"social")]}),d==="base"&&jsxRuntime.jsx($,{defaultValues:n,isSubmitting:a,onSubmit:s,submitLabel:r}),d==="wallets"&&jsxRuntime.jsx(Ge,{channel:e,wallets:o,isSubmitting:l,onSubmit:m}),d==="social"&&jsxRuntime.jsx(ze,{channel:e})]})}function je({type:e="base",className:t}){let{t:n}=i18n.useTranslation(),[a,s]=react.useState(e),{isMobile:r}=ui.useScreen();return jsxRuntime.jsxs("div",{className:ui.clsx("w-full flex flex-col gap-4",t),children:[jsxRuntime.jsxs(ui.StyledTabs,{fullWidth:true,variant:"solid",size:r?"sm":void 0,selectedKey:a,onSelectionChange:s,children:[jsxRuntime.jsx(ui.Tab,{title:n("channels.forms.base.title")},"base"),jsxRuntime.jsx(ui.Tab,{title:n("channels.forms.wallets.title")},"wallets"),jsxRuntime.jsx(ui.Tab,{title:n("channels.forms.socials.title")},"social")]}),a==="base"&&jsxRuntime.jsx(fe,{}),a==="wallets"&&jsxRuntime.jsx(fe,{}),a==="social"&&jsxRuntime.jsx(fe,{})]})}function fe(){return jsxRuntime.jsxs("div",{className:"flex flex-col gap-4",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-10 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-10 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-40 rounded-md"})]})}function tt(e,t){let{t:n}=i18n.useTranslation(),{data:a,isLoading:s}=K(e),{mutateAsync:r,isPending:o}=ke(),l=walletConnector.useAuthCallback(async m=>{try{if(!t?.chain)throw new Error("Channel chain is not set");await r({channel_id:e,type:"wallet",sources:m.map(i=>({type:"wallet",value:i.address,alias:i.alias,configs:{chain:utils.chainSlug(t.chain)}}))}),ui.toast.success(n("channels.forms.wallets.update.success"));}catch(i){console.error("Update channel wallets error",i),ui.toast.error(n("channels.forms.wallets.update.error"));}},[r,e,t?.chain]);return {isLoading:s,isSubmitting:o,wallets:a,submit:l}}function Li({id:e,type:t="base"}){let{t:n}=i18n.useTranslation(),{channel:a,defaultValues:s,isLoading:r,isSubmitting:o,submit:l}=_e(e),{wallets:m,isLoading:i,isSubmitting:u,submit:d}=tt(e,a);return r||i||!a?jsxRuntime.jsx(je,{type:t}):jsxRuntime.jsx(Xe,{channel:a,type:t,baseFormDefaultValues:s,isSubmittingBaseForm:o,onSubmitBaseForm:l,baseFormSubmitLabel:n("channels.forms.base.update.submit"),wallets:m,isSubmittingWalletsForm:u,onSubmitWalletsForm:d})}function Z({channel:e}){let{t}=i18n.useTranslation(),n=hooks.useTickAge(new Date(e.updated_at));return jsxRuntime.jsx(ui.HorizontalScrollContainer,{classNames:{leftArrow:"from-content1/60 to-transparent",rightArrow:"from-content1/60 to-transparent"},children:jsxRuntime.jsxs("div",{className:"flex items-center gap-4",children:[jsxRuntime.jsx(ui.StyledTooltip,{content:t("channels.info.walletCount"),closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(ui.WalletIcon,{width:16,height:16}),jsxRuntime.jsx("p",{className:"text-xs",children:e.source_count||"-"})]})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("channels.info.subscribeCount"),closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(ui.PeopleIcon,{width:16,height:16}),jsxRuntime.jsx("p",{className:"text-xs",children:e.subscribe_count||"-"})]})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("channels.info.updatedAt"),closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(ui.TimerIcon,{width:16,height:16}),jsxRuntime.jsx("p",{className:"text-xs",children:utils.formatAge(n)})]})}),e.twitter&&jsxRuntime.jsx(ui.Link,{href:e.twitter,target:"_blank",className:"text-neutral",children:jsxRuntime.jsx(ui.TwitterIcon,{width:16,height:16})}),e.telegram&&jsxRuntime.jsx(ui.Link,{href:e.telegram,target:"_blank",className:"text-neutral",children:jsxRuntime.jsx(ui.TelegramIcon,{width:16,height:16})}),e.discord&&jsxRuntime.jsx(ui.Link,{href:e.discord,target:"_blank",className:"text-neutral",children:jsxRuntime.jsx(ui.DiscordIcon,{width:16,height:16})})]})})}function at({channel:e,customActions:t}){let n=react.useMemo(()=>e.chain?utils.chainIcon(e.chain):void 0,[e.chain]);return jsxRuntime.jsxs("div",{className:"flex gap-4",children:[jsxRuntime.jsx("div",{className:"flex-none flex flex-col",children:jsxRuntime.jsxs("div",{className:"relative",children:[jsxRuntime.jsx(ui.Avatar,{src:e.icon,alt:e.name,className:"w-18 h-18",radius:"md"}),n&&jsxRuntime.jsx(ui.Avatar,{radius:"full",src:n,className:"w-5 h-5 absolute -bottom-1 -right-1 border border-border shadow-sm"})]})}),jsxRuntime.jsxs("div",{className:"flex-auto min-w-0 flex flex-col gap-2 text-neutral",children:[jsxRuntime.jsxs("div",{className:"h-6 flex items-center gap-2",children:[jsxRuntime.jsx("p",{className:"flex-auto min-w-0 text-sm font-medium text-foreground truncate",children:e.name}),jsxRuntime.jsx("div",{className:"flex-none",children:t})]}),jsxRuntime.jsx(Z,{channel:e}),jsxRuntime.jsx("p",{className:"text-xs whitespace-pre-wrap line-clamp-1 h-4 overflow-hidden",children:e.description})]})]})}function om({channel:e,onEdit:t}){let{user:n}=walletConnector.useAuth(),a=walletConnector.useAuthCallback(()=>{t?.(e);},[e,t]);return n?.id!==e.owner_id?jsxRuntime.jsx(jsxRuntime.Fragment,{}):jsxRuntime.jsx(ui.StyledButton,{className:"bg-transparent",isIconOnly:true,size:"sm",onPress:a,children:jsxRuntime.jsx(ui.EditIcon,{width:16,height:16,className:"text-neutral"})})}function X({channel:e}){let{t}=i18n.useTranslation();return jsxRuntime.jsx(ui.HorizontalScrollContainer,{classNames:{leftArrow:"from-content1/60 to-transparent",rightArrow:"from-content1/60 to-transparent"},children:jsxRuntime.jsxs("div",{className:"flex items-center gap-4 text-xs",children:[jsxRuntime.jsx(ui.StyledTooltip,{content:t("channels.stats.7dTxs.hint"),closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex-none flex flex-col gap-1 items-center",children:[jsxRuntime.jsx("p",{className:"text-neutral font-medium",children:t("channels.stats.7dTxs.title")}),jsxRuntime.jsx("p",{className:"text-foreground font-semibold",children:"--"})]})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("channels.stats.7dPnl.hint"),closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex-none flex flex-col gap-1 items-center",children:[jsxRuntime.jsx("p",{className:"text-neutral font-medium",children:t("channels.stats.7dPnl.title")}),jsxRuntime.jsx("p",{className:"text-bullish font-semibold",children:"--"})]})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("channels.stats.7dWr.hint"),closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex-none flex flex-col gap-1 items-center",children:[jsxRuntime.jsx("p",{className:"text-neutral font-medium",children:t("channels.stats.7dWr.title")}),jsxRuntime.jsx("p",{className:"text-bullish font-semibold",children:"--%"})]})})]})})}function xm({channel:e,onSubscribeSuccess:t,onUnsubscribeSuccess:n,onSubscribeError:a,onUnsubscribeError:s}){let{t:r}=i18n.useTranslation(),[o,l]=react.useState(e.is_subscribed);react.useEffect(()=>{l(e.is_subscribed);},[e.is_subscribed]);let{mutateAsync:m,isPending:i}=Ee(),{mutateAsync:u,isPending:d}=Le(),h=walletConnector.useAuthCallback(async()=>{try{o?(await u(e.id),l(!1),ui.toast.success(r("channels.unsubscribe.success")),n?.(e)):(await m(e.id),l(!0),ui.toast.success(r("channels.subscribe.success")),t?.(e));}catch(v){console.error("Subscribe / Unsubscribe channel error",v),o?(ui.toast.error(r("channels.unsubscribe.error")),s?.(e,v)):(ui.toast.error(r("channels.subscribe.error")),a?.(e,v));}},[r,o,e,m,u,t,n,a,s]);return jsxRuntime.jsx(ui.StyledButton,{color:o?"default":"primary",size:"sm",radius:"lg",onPress:h,isLoading:i||d,variant:o?"bordered":"flat",className:ui.clsx("gap-1",o&&"text-neutral"),startContent:o?!i&&!d?jsxRuntime.jsx(ui.CheckIcon,{width:16,height:16}):void 0:!i&&!d?jsxRuntime.jsx(ui.PlusIcon,{width:16,height:16}):void 0,children:r(o?"channels.unsubscribe.submit":"channels.subscribe.submit")})}function rt({channel:e,onSelect:t,headerActions:n,footerActions:a}){let s=react.useCallback(()=>{t?.(e);},[e,t]);return jsxRuntime.jsxs("div",{className:ui.clsx("bg-content1 hover:bg-content2 border border-border rounded-lg w-full h-full p-2.5","flex flex-col gap-2.5",t&&"cursor-pointer"),onClick:s,children:[jsxRuntime.jsx(at,{channel:e,customActions:n}),jsxRuntime.jsxs("div",{className:"flex items-center gap-4",children:[jsxRuntime.jsx("div",{className:"flex-auto min-w-0",children:jsxRuntime.jsx(X,{channel:e})}),jsxRuntime.jsx("div",{className:"flex-none",children:a})]})]})}function R({channels:e,onSelect:t,customHeaderActions:n,customFooterActions:a}){return jsxRuntime.jsx("div",{className:"w-full grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:e.map(s=>jsxRuntime.jsx(rt,{channel:s,onSelect:t,headerActions:n?.(s),footerActions:a?.(s)},s.id))})}function M({count:e}){return jsxRuntime.jsx("div",{className:"w-full grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:Array.from({length:e}).map((t,n)=>jsxRuntime.jsxs("div",{className:"bg-content1 hover:bg-content2 border border-border rounded-lg w-full h-35 p-2.5 flex flex-col gap-2.5",children:[jsxRuntime.jsxs("div",{className:"flex gap-4",children:[jsxRuntime.jsx("div",{className:"flex-none flex flex-col",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-18 h-18 flex-none rounded-md"})}),jsxRuntime.jsxs("div",{className:"flex-auto min-w-0 flex flex-col gap-2 justify-center text-neutral",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-24 h-4 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-48 h-4 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-48 h-4 rounded-md"})]})]}),jsxRuntime.jsxs("div",{className:"w-full flex justify-between gap-4",children:[jsxRuntime.jsx(ui.Skeleton,{className:"flex-auto min-w-0 h-6 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-24 h-6 rounded-md"})]})]},n))})}function Q({message:e}){let{t}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"pt-24 mx-auto",children:[jsxRuntime.jsx(ui.EmptyIcon,{width:28,height:28,className:"text-neutral mx-auto"}),jsxRuntime.jsx("p",{className:"pt-2 text-sm text-neutral text-center",children:e||t("common.empty")})]})}var mt=()=>{let{status:e}=walletConnector.useAuth(),t=Fe(),{refetch:n}=t;return react.useEffect(()=>{e==="authenticated"&&n();},[e,n]),t};function ct({onSelect:e,customHeaderActions:t,customFooterActions:n}){let{data:a,isLoading:s}=mt();return s?jsxRuntime.jsx(M,{count:9}):!a||a.list.length===0?jsxRuntime.jsx(Q,{}):jsxRuntime.jsx(R,{channels:a.list,onSelect:e,customHeaderActions:t,customFooterActions:n})}function ne({message:e}){let{t}=i18n.useTranslation(),{signIn:n}=walletConnector.useAuth();return jsxRuntime.jsxs("div",{className:"pt-24 flex flex-col items-center justify-center gap-2",children:[jsxRuntime.jsx("p",{className:"text-neutral text-sm",children:e||t("common.unauthenticated")}),jsxRuntime.jsx(ui.StyledButton,{color:"primary",size:"sm",onPress:n,radius:"lg",children:t("common.signIn")})]})}function dt({onSelect:e,customHeaderActions:t,customFooterActions:n}){let{status:a}=walletConnector.useAuth(),{data:s,isLoading:r}=D({},{enabled:a==="authenticated"});return a==="unauthenticated"?jsxRuntime.jsx(ne,{}):a==="authenticating"||r?jsxRuntime.jsx(M,{count:9}):!s||s.list.length===0?jsxRuntime.jsx(Q,{}):jsxRuntime.jsx(R,{channels:s.list,onSelect:e,customHeaderActions:t,customFooterActions:n})}var dc=()=>D();function pt({onSelect:e,customHeaderActions:t,customFooterActions:n}){let{status:a}=walletConnector.useAuth(),{data:s,isLoading:r}=z({},{enabled:a==="authenticated"});return a==="unauthenticated"?jsxRuntime.jsx(ne,{}):a==="authenticating"||r?jsxRuntime.jsx(M,{count:9}):!s||s.list.length===0?jsxRuntime.jsx(Q,{}):jsxRuntime.jsx(R,{channels:s.list,onSelect:e,customHeaderActions:t,customFooterActions:n})}var Sc=()=>z();function ft({channel:e,headerActions:t,footerActions:n,className:a}){let s=react.useMemo(()=>e.chain?utils.chainIcon(e.chain):void 0,[e.chain]);return jsxRuntime.jsxs("div",{className:ui.clsx("bg-content1 border border-border rounded-lg w-full h-fit p-2.5","flex flex-col gap-2.5",a),children:[jsxRuntime.jsxs("div",{className:"flex gap-4",children:[jsxRuntime.jsx("div",{className:"flex-none flex flex-col",children:jsxRuntime.jsxs("div",{className:"relative",children:[jsxRuntime.jsx(ui.Avatar,{src:e.icon,alt:e.name,className:"w-18 h-18",radius:"md"}),s&&jsxRuntime.jsx(ui.Avatar,{radius:"full",src:s,className:"w-5 h-5 absolute -bottom-1 -right-1 border border-border shadow-sm"})]})}),jsxRuntime.jsxs("div",{className:"flex-auto min-w-0 flex flex-col gap-2 text-neutral",children:[jsxRuntime.jsxs("div",{className:"h-6 flex items-center gap-2",children:[jsxRuntime.jsx("p",{className:"flex-auto min-w-0 text-sm font-medium text-foreground truncate",children:e.name}),jsxRuntime.jsx("div",{className:"flex-none",children:t})]}),jsxRuntime.jsx(Z,{channel:e})]})]}),jsxRuntime.jsxs("div",{className:"flex gap-4",children:[jsxRuntime.jsx("div",{className:"flex-auto min-w-0",children:jsxRuntime.jsx(X,{channel:e})}),jsxRuntime.jsx("div",{className:"flex-none",children:n})]}),e.description&&jsxRuntime.jsx("p",{className:"text-xs whitespace-pre-wrap",children:e.description})]})}function vt({event:e,walletAliases:t,tokens:n}){let{t:a}=i18n.useTranslation(),s=hooks.useTickAge(new Date(e.data.timestamp)),r=e.data.wallet_address,o=t?.[r],l=e.data.quote_address,m=n?.[l]?.symbol??utils.COMMON_TOKEN_SYMBOLS_MAP[l],i=e.data.base_address,u=n?.[i]?.symbol??utils.COMMON_TOKEN_SYMBOLS_MAP[i],d=e.data.type;return jsxRuntime.jsxs("div",{className:"w-full h-full flex items-center gap-2.5 text-xs",children:[jsxRuntime.jsx("div",{className:"flex-none w-24",children:o?jsxRuntime.jsxs("div",{className:"flex flex-col justify-center gap-0.5",children:[jsxRuntime.jsx("div",{className:"truncate",children:o}),jsxRuntime.jsxs("div",{className:"text-neutral",children:["(",utils.shortAddress(r),")"]})]}):jsxRuntime.jsx("div",{children:utils.shortAddress(r)})}),d==="buy"&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"flex-none w-18",children:jsxRuntime.jsxs("div",{className:"flex flex-col justify-center gap-0.5",children:[jsxRuntime.jsx("div",{className:"text-neutral",children:a("channels.events.walletTrade.buy")}),jsxRuntime.jsx("div",{className:"text-bullish",children:utils.formatAmount(new utils.SafeBigNumber(e.data.base_amount).abs())})]})}),jsxRuntime.jsx("div",{className:"flex-none w-24",children:u?jsxRuntime.jsxs("div",{className:"flex flex-col justify-center gap-0.5",children:[jsxRuntime.jsx("div",{className:"truncate",children:u}),jsxRuntime.jsxs("div",{className:"text-neutral",children:["(",utils.shortAddress(i),")"]})]}):jsxRuntime.jsx("div",{children:utils.shortAddress(i)})}),jsxRuntime.jsx("div",{className:"flex-none w-18",children:jsxRuntime.jsxs("div",{className:"flex flex-col justify-center gap-0.5",children:[jsxRuntime.jsx("div",{className:"text-neutral",children:a("channels.events.walletTrade.cost")}),jsxRuntime.jsx("div",{className:"text-bearish",children:utils.formatAmount(new utils.SafeBigNumber(e.data.quote_amount).abs())})]})}),jsxRuntime.jsx("div",{className:"flex-none w-24",children:m?jsxRuntime.jsxs("div",{className:"flex flex-col justify-center gap-0.5",children:[jsxRuntime.jsx("div",{className:"truncate",children:m}),jsxRuntime.jsxs("div",{className:"text-neutral",children:["(",utils.shortAddress(l),")"]})]}):jsxRuntime.jsx("div",{children:utils.shortAddress(l)})}),jsxRuntime.jsx("div",{className:"flex-none w-18",children:jsxRuntime.jsxs("div",{className:"flex flex-col justify-center gap-0.5",children:[jsxRuntime.jsx("div",{className:"truncate text-neutral",children:a("channels.events.walletTrade.price")}),jsxRuntime.jsx("div",{children:utils.formatPriceUSD(e.data.quote_price_usd)})]})})]}),d==="sell"&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"flex-none w-18",children:jsxRuntime.jsxs("div",{className:"flex flex-col justify-center gap-0.5",children:[jsxRuntime.jsx("div",{className:"text-neutral",children:a("channels.events.walletTrade.sell")}),jsxRuntime.jsx("div",{className:"text-bearish",children:utils.formatAmount(new utils.SafeBigNumber(e.data.quote_amount).abs())})]})}),jsxRuntime.jsx("div",{className:"flex-none w-24",children:m?jsxRuntime.jsxs("div",{className:"flex flex-col justify-center gap-0.5",children:[jsxRuntime.jsx("div",{className:"truncate",children:m}),jsxRuntime.jsxs("div",{className:"text-neutral",children:["(",utils.shortAddress(l),")"]})]}):jsxRuntime.jsx("div",{children:utils.shortAddress(l)})}),jsxRuntime.jsx("div",{className:"flex-none w-18",children:jsxRuntime.jsxs("div",{className:"flex flex-col justify-center gap-0.5",children:[jsxRuntime.jsx("div",{className:"text-neutral",children:a("channels.events.walletTrade.got")}),jsxRuntime.jsx("div",{className:"text-bullish",children:utils.formatAmount(new utils.SafeBigNumber(e.data.base_amount).abs())})]})}),jsxRuntime.jsx("div",{className:"flex-none w-24",children:u?jsxRuntime.jsxs("div",{className:"flex flex-col justify-center gap-0.5",children:[jsxRuntime.jsx("div",{className:"truncate",children:u}),jsxRuntime.jsxs("div",{className:"text-neutral",children:["(",utils.shortAddress(i),")"]})]}):jsxRuntime.jsx("div",{children:utils.shortAddress(i)})}),jsxRuntime.jsx("div",{className:"flex-none w-18",children:jsxRuntime.jsxs("div",{className:"flex flex-col justify-center gap-0.5",children:[jsxRuntime.jsx("div",{className:"truncate text-neutral",children:a("channels.events.walletTrade.price")}),jsxRuntime.jsx("div",{children:utils.formatPriceUSD(e.data.quote_price_usd)})]})})]}),jsxRuntime.jsx("div",{className:"flex-none w-18 text-end",children:utils.formatAge(s)})]})}function wt({data:e=[],isLoading:t=false,hasMore:n=false,onFetchMore:a,className:s,walletAliases:r,tokens:o}){let l=react.useRef(null),{height:m}=hooks.useResizeObserver({ref:l}),i=react.useCallback(v=>v<e.length,[e]),u=react.useCallback(async()=>{a?.();},[a]),d=react.useMemo(()=>n?e.length+1:e.length,[e,n]),h=ui.useInfiniteLoader({isRowLoaded:i,loadMoreRows:u,rowCount:d,threshold:3});return t?jsxRuntime.jsx($a,{}):!e||e.length===0?jsxRuntime.jsx(Ha,{}):jsxRuntime.jsx("div",{className:ui.clsx("w-full h-full bg-content1 border border-border rounded-lg py-2.5 overflow-x-auto",s),children:jsxRuntime.jsx("div",{className:"w-full min-w-164 h-full",ref:l,children:jsxRuntime.jsx(ui.List,{style:{height:m},onRowsRendered:h,rowComponent:Ya,rowCount:d,rowHeight:60,rowProps:{data:e,walletAliases:r,tokens:o}})})})}function Ha(){let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"w-full bg-content1 border border-border rounded-lg p-2.5",children:[jsxRuntime.jsx(ui.EmptyIcon,{width:28,height:28,className:"text-neutral mx-auto mt-20"}),jsxRuntime.jsx("p",{className:"pt-2 text-sm text-neutral text-center mb-20",children:e("channels.events.empty")})]})}function $a(){return jsxRuntime.jsx("div",{className:"w-full bg-content1 border border-border rounded-lg p-2.5",children:Array.from({length:6}).map((e,t)=>jsxRuntime.jsx("div",{className:"w-full h-10 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-6 rounded-md"})},t))})}function Ya({index:e,style:t,data:n,walletAliases:a,tokens:s}){let{t:r}=i18n.useTranslation();if(!n)return jsxRuntime.jsx("div",{className:"px-2.5",style:t});let o=n[e];return o?jsxRuntime.jsx("div",{style:t,className:"px-2.5 hover:bg-content2",children:jsxRuntime.jsx(Za,{event:o,walletAliases:a,tokens:s})}):jsxRuntime.jsx("div",{style:t,className:"px-2.5 text-xs text-neutral text-center",children:r("common.loadingMore")})}function Za(e){switch(e.event.type){case "wallet":return jsxRuntime.jsx(vt,{...e});default:return jsxRuntime.jsx(jsxRuntime.Fragment,{})}}function St(e){let{data:t,...n}=Ae(e,{next_page:true,limit:50}),{data:a}=Ue(e,{next_page:false,limit:50},{refetchInterval:1e4}),s=react.useMemo(()=>{let r=t?.pages?.flatMap(m=>m.data)??[],o=a?.data??[];return utils.uniqBy([...o,...r],m=>m.data.tx_hash+":"+m.data.type).sort((m,i)=>i.timestamp-m.timestamp)},[t,a]);return {...n,data:s}}function Pt(e){let{client:t}=client.useDexClient(),[n,a]=react.useState({}),s=react.useRef(new Set);return react.useEffect(()=>{let r=new Set;e.forEach(o=>{!utils.COMMON_TOKEN_ADDRESSES.includes(o.data.quote_address)&&!s.current.has(o.data.quote_address)&&(r.add(o.data.quote_address),s.current.add(o.data.quote_address)),!utils.COMMON_TOKEN_ADDRESSES.includes(o.data.base_address)&&!s.current.has(o.data.base_address)&&(r.add(o.data.base_address),s.current.add(o.data.base_address));}),r.size>0&&client.fetchTokens(t,{chain:types.Chain.SOLANA,addresses:Array.from(r)}).then(o=>{a(l=>{let m={...l};return o.forEach(i=>{m[i.address]=i;}),m});}).catch(o=>{console.error(o);});},[e,t]),{tokens:n}}function Ut(){let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"w-full",children:[jsxRuntime.jsx(ui.EmptyIcon,{width:40,height:40,className:"mt-10 text-neutral mx-auto"}),jsxRuntime.jsx("p",{className:"text-sm text-neutral text-center mt-2",children:e("channels.detail.notfound")})]})}function Tt(){return jsxRuntime.jsxs("div",{className:"w-full space-y-6",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-35 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-40 rounded-md"})]})}var Et=e=>V(e);function Rt(e){let{data:t}=K(e),n=react.useMemo(()=>t?.filter(s=>s.type==="wallet")??[],[t]),a=react.useMemo(()=>utils.mapValues(utils.keyBy(n.filter(s=>!!s.alias),"value"),s=>s.alias),[n]);return {wallets:n,aliases:a}}function Mt({id:e,customHeaderActions:t,customFooterActions:n}){let{t:a}=i18n.useTranslation(),{data:s,isLoading:r}=Et(e),{data:o,isLoading:l,hasNextPage:m,fetchNextPage:i}=St(e),{aliases:u}=Rt(e),{tokens:d}=Pt(o);return r?jsxRuntime.jsx(Tt,{}):s?jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-6",children:[jsxRuntime.jsx(ft,{channel:s,headerActions:t?.(s),footerActions:n?.(s),className:"flex-none"}),jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col gap-2.5",children:[jsxRuntime.jsx("h2",{className:"text-sm font-semibold flex-none",children:a("channels.events.title")}),jsxRuntime.jsx(wt,{data:o,isLoading:l,hasMore:m,onFetchMore:i,className:"flex-auto min-h-0",walletAliases:u,tokens:d})]})]}):jsxRuntime.jsx(Ut,{})}function Hu({onCreateChannel:e,onSelectChannel:t,customHeaderActions:n,customFooterActions:a}){let{t:s}=i18n.useTranslation(),{isMobile:r}=ui.useScreen(),[o,l]=react.useState("trending");return jsxRuntime.jsxs("div",{className:"w-full max-w-7xl mx-auto py-2 px-2 sm:py-4 sm:px-4",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-2 w-full overflow-x-auto",children:[jsxRuntime.jsx(ui.HorizontalScrollContainer,{className:"flex-auto min-w-0",children:jsxRuntime.jsxs(ui.StyledTabs,{variant:"primaryPlain",radius:"lg",selectedKey:o,onSelectionChange:l,"aria-label":s("channels.list.title"),size:r?"sm":void 0,children:[jsxRuntime.jsx(ui.Tab,{title:s("channels.trending.title"),"aria-label":s("channels.trending.title")},"trending"),jsxRuntime.jsx(ui.Tab,{title:s("channels.my.title"),"aria-label":s("channels.my.title")},"my"),jsxRuntime.jsx(ui.Tab,{title:s("channels.subscribed.title"),"aria-label":s("channels.subscribed.title")},"subscribed")]})}),jsxRuntime.jsx("div",{className:"flex-none flex items-center gap-2",children:e&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{radius:"lg",color:"primary",size:"sm",onPress:e,className:"max-sm:hidden gap-1",startContent:jsxRuntime.jsx(ui.PlusIcon,{width:18,height:18}),"aria-label":s("channels.create.title"),children:s("channels.create.title")}),jsxRuntime.jsx(ui.Button,{isIconOnly:true,radius:"full",color:"primary",size:"sm",onPress:e,className:"sm:hidden w-7 min-w-7 h-7 min-h-7","aria-label":s("channels.create.title"),children:jsxRuntime.jsx(ui.PlusIcon,{width:18,height:18})})]})})]}),jsxRuntime.jsxs("div",{className:"mt-4 w-full",children:[o==="trending"&&jsxRuntime.jsx(ct,{onSelect:t,customHeaderActions:n,customFooterActions:a}),o==="my"&&jsxRuntime.jsx(pt,{onSelect:t,customHeaderActions:n,customFooterActions:a}),o==="subscribed"&&jsxRuntime.jsx(dt,{onSelect:t,customHeaderActions:n,customFooterActions:a})]})]})}function Ju({id:e,customHeaderActions:t,customFooterActions:n}){let{t:a}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"w-full h-full max-w-2xl mx-auto py-2 px-2 sm:py-4 sm:px-4 flex flex-col gap-2 sm:gap-4",children:[jsxRuntime.jsx("h1",{className:"text-sm sm:text-lg font-semibold flex-none",children:a("channels.detail.title")}),jsxRuntime.jsx("div",{className:"w-full flex-auto min-h-0",children:jsxRuntime.jsx(Mt,{id:e,customFooterActions:n,customHeaderActions:t})})]})}function id({client:e,children:t}){return jsxRuntime.jsx(q.Provider,{value:{client:e},children:t})}exports.BaseFormUI=$;exports.ChannelAttributes=Z;exports.ChannelBaseInfo=at;exports.ChannelDetailUI=ft;exports.ChannelDetailWidget=Mt;exports.ChannelEditButton=om;exports.ChannelStats=X;exports.ChannelSubscribeButton=xm;exports.ChannelsContext=q;exports.ChannelsDetailPage=Ju;exports.ChannelsEmptyUI=Q;exports.ChannelsHomePage=Hu;exports.ChannelsProvider=id;exports.ChannelsSkeletonUI=M;exports.ChannelsUI=R;exports.CreateChannelWidget=bl;exports.MyChannelsWidget=pt;exports.SocialsFormUI=ze;exports.SubscribedChannelsWidget=dt;exports.TrendingChannelsWidget=ct;exports.UpdateChannelFormUI=Xe;exports.UpdateChannelWidget=Li;exports.WalletsFormUI=Ge;exports.WalletsListUI=Ye;exports.baseFormSchema=Qe;exports.channelEventsInfiniteQueryKey=Dt;exports.channelEventsQueryKey=Kt;exports.channelQueryKey=T;exports.channelSourcesQueryKey=me;exports.channelsListQueryKey=Gt;exports.createChannel=nn;exports.fetchChannel=$t;exports.fetchChannelEvents=ie;exports.fetchChannelSources=jt;exports.fetchChannelsList=Jt;exports.fetchMyChannelsList=rn;exports.fetchSubscribedChannelsList=hn;exports.myChannelsListQueryKey=on;exports.parseWalletsText=De;exports.subscribeChannel=cn;exports.subscribedChannelsListQueryKey=pn;exports.unsubscribeChannel=xn;exports.updateChannel=bn;exports.updateChannelSources=Nn;exports.useChannelDetail=Et;exports.useChannelEventsInfiniteQuery=Ae;exports.useChannelEventsQuery=Ue;exports.useChannelQuery=V;exports.useChannelSourcesQuery=K;exports.useChannelsClient=p;exports.useChannelsContext=Ie;exports.useChannelsListQuery=Fe;exports.useCreateChannelMutation=Te;exports.useMyChannels=Sc;exports.useMyChannelsListQuery=z;exports.useSubscribeChannelMutation=Ee;exports.useSubscribedChannels=dc;exports.useSubscribedChannelsListQuery=D;exports.useTrendingChannels=mt;exports.useUnsubscribeChannelMutation=Le;exports.useUpdateBaseForm=_e;exports.useUpdateChannelMutation=Re;exports.useUpdateChannelSourcesMutation=ke;exports.useUpdateWalletsForm=tt;exports.useUpload=Me;exports.version=Bt;exports.walletSchema=Fn;exports.walletsFormSchema=We;//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map