PageSourceSearch

https://tg10x.com/_assets/resources._resourceId-D3Xp2pe7.js

js tg10x.com collected 2026-10-02 00:35:49 UTC 14,628 bytes, 1 lines download raw bytes

1import{cm as le,e as ce,c3 as de,d as ue,R as me,r as d,j as e,L as k,bw as P,m as he,b8 as pe,dR as b,X as fe,d_ as _e,aD as xe,cn as je,dU as ye,G as ve,U as ge,bC as Ne,cI as ke,t as be,o as L,K as Ce,s as u,k as D}from"./vendor-DCKdIk_f.js";import{u as Se,C as F}from"./index.esm-BuCsGRCd.js";import{s as Te}from"./zod-vnqmtOMR.js";import{b as Ue,u as we}from"./useResourceLikes-C9f-GVQS.js";import{u as Be,a as Ie,S as m,B as l,n as j,w as E,x as z,y as W,z as M,E as V,Z as $,C as G,$ as Y,T as Re,c as H,A as Ae,d as Pe,e as Le}from"./index-BDzfgULb.js";import{b as De,c as Fe}from"./useResources-D74equfI.js";import{a as Ee}from"./shareUtil-DgTaP_7t.js";import{u as ze}from"./useUploadImage-BvOKQMbA.js";import{A as We,a as Me}from"./compressImage-BHJhYvWG.js";import{S as Ve}from"./Spinner-CwCuwTV8.js";import{S as Ge}from"./Separator-WZ9KgzJy.js";const He="_container_1y5hi_1",Oe="_content_1y5hi_8",$e="_headerNav_1y5hi_14",Ye="_backLink_1y5hi_19",qe="_hero_1y5hi_24",Ke="_videoWrapper_1y5hi_32",Qe="_iframe_1y5hi_40",Xe="_html5Video_1y5hi_49",Ze="_videoErrorWrapper_1y5hi_58",Je="_imageWrapper_1y5hi_81",es="_image_1y5hi_81",ss="_placeholderImage_1y5hi_96",rs="_metaSection_1y5hi_109",ts="_metaHeader_1y5hi_115",as="_badges_1y5hi_122",is="_actionButtons_1y5hi_128",ns="_likeButton_1y5hi_134",os="_liked_1y5hi_138",ls="_title_1y5hi_149",cs="_author_1y5hi_157",ds="_icon_1y5hi_165",us="_separator_1y5hi_169",ms="_description_1y5hi_173",hs="_noDescription_1y5hi_180",ps="_sharedByCard_1y5hi_185",fs="_sharedByTitle_1y5hi_196",_s="_userCard_1y5hi_205",xs="_userAvatar_1y5hi_218",js="_userInfo_1y5hi_223",ys="_userName_1y5hi_229",vs="_userTagline_1y5hi_235",gs="_timeInfo_1y5hi_241",Ns="_actionContainer_1y5hi_250",ks="_openButton_1y5hi_258",bs="_notFound_1y5hi_264",Cs="_backButton_1y5hi_284",Ss="_skeletonBack_1y5hi_289",Ts="_skeletonHero_1y5hi_294",Us="_skeletonTitle_1y5hi_300",ws="_skeletonText_1y5hi_306",Bs="_skeletonTextShort_1y5hi_311",Is="_editForm_1y5hi_316",Rs="_formGroup_1y5hi_326",As="_formRow_1y5hi_338",Ps="_formActions_1y5hi_344",Ls="_fileUploadContainer_1y5hi_351",Ds="_filePreview_1y5hi_357",Fs="_fileName_1y5hi_367",Es="_uploadSection_1y5hi_376",zs="_pdfHero_1y5hi_381",Ws="_pdfIcon_1y5hi_390",Ms="_pdfName_1y5hi_394",Vs="_pdfButton_1y5hi_402",s={container:He,content:Oe,headerNav:$e,backLink:Ye,hero:qe,videoWrapper:Ke,iframe:Qe,html5Video:Xe,videoErrorWrapper:Ze,imageWrapper:Je,image:es,placeholderImage:ss,metaSection:rs,metaHeader:ts,badges:as,actionButtons:is,likeButton:ns,liked:os,title:ls,author:cs,icon:ds,separator:us,description:ms,noDescription:hs,sharedByCard:ps,sharedByTitle:fs,userCard:_s,userAvatar:xs,userInfo:js,userName:ys,userTagline:vs,timeInfo:gs,actionContainer:Ns,openButton:ks,notFound:bs,backButton:Cs,skeletonBack:Ss,skeletonHero:Ts,skeletonTitle:Us,skeletonText:ws,skeletonTextShort:Bs,editForm:Is,formGroup:Rs,formRow:As,formActions:Ps,fileUploadContainer:Ls,filePreview:Ds,fileName:Fs,uploadSection:Es,pdfHero:zs,pdfIcon:Ws,pdfName:Ms,pdfButton:Vs},Gs=L({type:D($),title:u().min(1).max(255),author:u().max(255).optional().nullable(),url:u().max(2048).optional().nullable(),thumbnailUrl:u().max(2048).optional().nullable(),description:u().max(2e3).optional().nullable(),status:D(Y),files:Ce(L({fileUrl:u(),fileName:u()})).max(10).optional()}),Hs=t=>{if(!t)return null;const o=t.match(/(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))([^&?]+)/);return o?o[1]:null},Os=t=>{if(!t)return null;const o=t.match(/(?:vimeo\.com\/|player\.vimeo\.com\/video\/)(\d+)/);return o?o[1]:null},$s=t=>t?/\.(jpeg|jpg|gif|png|webp)(\?.*)?$/i.test(t):!1,Ys=t=>t?/\.pdf(\?.*)?$/i.test(t):!1,qs=t=>t?/\.(mp4|webm|ogg|mov)$/i.test(t.split("?")[0]):!1,Ks=t=>{const o=new Intl.RelativeTimeFormat("en",{numeric:"auto"}),c=Math.round((t.getTime()-new Date().getTime())/(1e3*60*60*24));return Math.abs(c)<1?"today":Math.abs(c)<30?o.format(c,"day"):Math.abs(c)<365?o.format(Math.round(c/30),"month"):o.format(Math.round(c/365),"year")},C=t=>t.charAt(0).toUpperCase()+t.slice(1),O=t=>t.split("_").map(o=>o.charAt(0).toUpperCase()+o.slice(1)).join(" ");function or(){const{resourceId:t}=le(),o=ce(),[c,S]=de(),q=ue(),{authState:h}=Be(),K=Ie(),{data:p,isLoading:Q,error:X}=Ue(t),r=p?.resource,y=De(),T=Fe(),U=we(),f=ze(),w=me.useRef(null),[Z,_]=d.useState(!1),i=Se({resolver:Te(Gs),values:r?{type:r.type,title:r.title,author:r.author,url:r.url,thumbnailUrl:r.thumbnailUrl,de
1scription:r.description,status:r.status,files:r.files?.length>0?r.files.map(a=>({fileUrl:a.fileUrl,fileName:a.fileName||""})):r.fileUrl?[{fileUrl:r.fileUrl,fileName:r.fileName||""}]:[]}:void 0}),v=h.type==="authenticated"&&r&&(h.user.id===r.userId||h.user.role==="admin");d.useEffect(()=>{if(v&&c.get("edit")==="true"){_(!0);const a=new URLSearchParams(c);a.delete("edit"),S(a,{replace:!0})}},[v,c,S]);const J=a=>{const n=a.target.files?.[0];n&&f.mutate({file:n,folder:"resources"},{onSuccess:N=>{const A=i.getValues("files")||[];i.setValue("files",[...A,{fileUrl:N.url,fileName:n.name}],{shouldDirty:!0})}})},ee=()=>{if(h.type!=="authenticated"){be("Please log in to like resources");return}t&&U.mutate({resourceId:t})},se=()=>{t&&window.confirm("Are you sure you want to delete this resource?")&&T.mutate({id:t},{onSuccess:()=>{o("/resources")}})},re=a=>{t&&y.mutate({id:t,...a},{onSuccess:()=>{_(!1),q.invalidateQueries({queryKey:["resource_detail",t]})}})},[te,ae]=d.useState(!1),B=d.useMemo(()=>Hs(r?.url||null),[r]),I=d.useMemo(()=>Os(r?.url||null),[r]),ie=d.useMemo(()=>qs(r?.url||null),[r]),ne=d.useMemo(()=>{if(typeof navigator>"u")return!1;const a=/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1,n=r?.url?.toLowerCase().split("?")[0].endsWith(".webm");return a&&n},[r?.url]),x=r?.files?.length?r.files:r?.fileUrl?[{fileUrl:r.fileUrl,fileName:r.fileName}]:[],R=x.find(a=>$s(a.fileUrl)),g=x.find(a=>Ys(a.fileUrl));return Q?e.jsx("div",{className:s.container,children:e.jsxs("div",{className:s.content,children:[e.jsx(m,{className:s.skeletonBack}),e.jsx(m,{className:s.skeletonHero}),e.jsx(m,{className:s.skeletonTitle}),e.jsx(m,{className:s.skeletonText}),e.jsx(m,{className:s.skeletonText}),e.jsx(m,{className:s.skeletonTextShort})]})}):X||!r?e.jsx("div",{className:s.container,children:e.jsxs("div",{className:s.notFound,children:[e.jsx("h2",{children:"Resource Not Found"}),e.jsx("p",{children:"The resource you are looking for does not exist or has been removed."}),e.jsx(l,{asChild:!0,className:s.backButton,children:e.jsxs(k,{to:"/resources",children:[e.jsx(P,{size:16})," Back to Resources"]})})]})}):e.jsxs("div",{className:s.container,children:[e.jsxs(he,{htmlAttributes:{lang:"en"},children:[e.jsxs("title",{children:[r.title," | TG10X Resources"]}),e.jsx("meta",{name:"description",content:r.description||`Resource shared by ${r.user.displayName}`}),e.jsx("meta",{property:"og:title",content:r.title}),r.thumbnailUrl&&e.jsx("meta",{property:"og:image",content:r.thumbnailUrl})]}),e.jsxs("div",{className:s.content,children:[e.jsx("div",{className:s.headerNav,children:e.jsx(l,{asChild:!0,variant:"ghost",className:s.backLink,children:e.jsxs(k,{to:"/resources",children:[e.jsx(P,{size:16})," Back to Resources"]})})}),e.jsx("div",{className:s.hero,children:B?e.jsx("div",{className:s.videoWrapper,children:e.jsx("iframe",{src:`https://www.youtube.com/embed/${B}`,title:r.title,frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,className:s.iframe})}):I?e.jsx("div",{className:s.videoWrapper,children:e.jsx("iframe",{src:`https://player.vimeo.com/video/${I}`,title:r.title,frameBorder:"0",allow:"autoplay; fullscreen; picture-in-picture",allowFullScreen:!0,className:s.iframe})}):ie?e.jsx("div",{className:s.videoWrapper,children:te||ne?e.jsxs("div",{className:s.videoErrorWrapper,children:[e.jsx(pe,{size:32,color:"var(--muted-foreground)"}),e.jsx("p",{children:"This video format may not be supported on your device."}),e.jsx(l,{asChild:!0,variant:"outline",children:e.jsx("a",{href:r.url,target:"_blank",rel:"noopener noreferrer",children:"Download Video"})})]}):e.jsx("video",{src:r.url,controls:!0,playsInline:!0,className:s.html5Video,onError:()=>ae(!0)})}):R?e.jsx("div",{className:s.imageWrapper,children:e.jsx("img",{src:R.fileUrl,alt:r.title,className:s.image})}):r.thumbnailUrl?e.jsx("div",{className:s.imageWrapper,children:e.jsx("img",{src:r.thumbnailUrl,alt:r.title,className:s.image})}):g?e.jsx("div",{className:s.placeholderImage,children:e.jsxs("div",{className:s.pdfHero,children:[e.jsx(b,{size:48,className:s.pdfIcon}),e.jsx("span",{className:s.pdfName,children:g.fileName||"PDF Document"}),e.jsx(l,{asChild:!0,variant:"outline",className:s.pdfButton,children:e.jsx("a",{href:g.fileUrl,target:"_blank",rel:"noopener noreferrer",children:"View PDF"})})]})}):e.jsx("div",{className:s.placeholderImage,children:e.jsx("span",{children:C(r.type)})})}),Z?e.jsxs("form",{onSubmit:i.handleSubmit(re),className:s.editForm,children:[e.jsxs("div",{className:s.formGroup,children:[e.jsx("label",{children:"Title"}),e.jsx(j,{...i.register("title"),placeholder:"Resource Title"})]}),e.jsxs("div",{className:s.formRow,children:[e.jsxs("div",{className:s.formGroup,children:[e.jsx("label",{children:"Type"}),e.jsx(F,{control:i.control,name:"type",render:({field:a})=>e.jsxs(E,{value:a.value,onValueChange:a.onChange,children:[e.jsx(z,{children:e.jsx(W,{placeholder:"Select type"})}),e.jsx(M,{children:e.jsx(V,{children:$.map(n=>e.jsx(G,{value:n,children:C(n)},n))})})]})})]}),e.jsxs("div",{className:s.formGroup,children:[e.jsx("label",{children:"Status"}),e.jsx(F,{control:i.control,name:"status",render:({field:a})=>e.jsxs(E,{value:a.value,onValueChange:a.onChange,children:[e.jsx(z,{children:e.jsx(W,{placeholder:"Select status"})}),e.jsx(M,{children:e.jsx(V,{children:Y.map(n=>e.jsx(G,{value:n,children:O(n)},n))})})]})})]})]}),e.jsxs("div",{className:s.formGroup,children:[e.jsx("label",{children:"Author (Optional)"}),e.jsx(j,{...i.register("author"),value:i.watch("author")||"",placeholder:"Author Name"})]}),e.jsxs("div",{className:s.formGroup,children:[e.jsx("label",{children:"URL (Optional)"}),e.jsx(j,{...i.register("url"),value:i.watch("url")||"",placeholder:"https://..."})]}),e.jsxs("div",{className:s.formGroup,children:[e.jsx("label",{children:"Thumbnail URL (Optional)"}),e.jsx(j,{...i.register("thumbnailUrl"),value:i.watch("thumbnailUrl")||"",placeholder:"https://..."})]}),e.jsxs("div",{className:s.formGroup,children:[e.jsx("label",{children:"File Attachments (Optional, max 10)"}),e.jsxs("div",{className:s.fileUploadContainer,children:[i.watch("files")?.map((a,n)=>e.jsxs("div",{className:s.filePreview,children:[e.jsx(b,{size:16}),e.jsx("span",{className:s.fileName,children:a.fileName||"Attached file"}),e.jsx(l,{type:"button",variant:"ghost",size:"icon-sm",onClick:()=>{const N=i.getValues("files")||[];i.setValue("files",N.filter((A,oe)=>
1oe!==n),{shouldDirty:!0})},children:e.jsx(fe,{size:14})})]},n)),(!i.watch("files")||i.watch("files").length<10)&&e.jsxs("div",{className:s.uploadSection,children:[e.jsx("input",{type:"file",ref:w,onChange:J,style:{display:"none"},accept:[...We,...Me].join(",")}),e.jsxs(l,{type:"button",variant:"outline",onClick:()=>w.current?.click(),disabled:f.isPending,children:[f.isPending?e.jsx(Ve,{size:"sm"}):e.jsx(_e,{size:16}),f.isPending?"Uploading...":"Attach File"]})]})]})]}),e.jsxs("div",{className:s.formGroup,children:[e.jsx("label",{children:"Description (Optional)"}),e.jsx(Re,{...i.register("description"),value:i.watch("description")||"",placeholder:"Description...",rows:5})]}),e.jsxs("div",{className:s.formActions,children:[e.jsx(l,{type:"button",variant:"outline",onClick:()=>_(!1),children:"Cancel"}),e.jsx(l,{type:"submit",disabled:y.isPending,children:y.isPending?"Saving...":"Save Changes"})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:s.metaSection,children:[e.jsxs("div",{className:s.metaHeader,children:[e.jsxs("div",{className:s.badges,children:[e.jsx(H,{variant:"primary",children:C(r.type)}),e.jsx(H,{variant:"outline",children:O(r.status)})]}),e.jsxs("div",{className:s.actionButtons,children:[e.jsxs(l,{variant:"outline",size:"sm",onClick:ee,disabled:U.isPending,className:`${s.likeButton} ${p?.isLiked||r?.isLiked?s.liked:""}`,title:p?.isLiked||r?.isLiked?"Unlike Resource":"Like Resource",children:[e.jsx(xe,{size:16,fill:p?.isLiked||r?.isLiked?"currentColor":"none"}),e.jsx("span",{children:r.likesCount||0})]}),e.jsx(l,{variant:"outline",size:"icon-sm",onClick:()=>Ee(r.title,K.url+"/resources/"+t,"Resource link copied!"),title:"Share Resource",children:e.jsx(je,{size:14})}),v&&e.jsxs(e.Fragment,{children:[e.jsx(l,{variant:"outline",size:"icon-sm",onClick:()=>_(!0),title:"Edit Resource",children:e.jsx(ye,{size:14})}),e.jsx(l,{variant:"destructive",size:"icon-sm",onClick:se,title:"Delete Resource",disabled:T.isPending,children:e.jsx(ve,{size:14})})]})]})]}),e.jsx("h1",{className:s.title,children:r.title}),r.author&&e.jsxs("div",{className:s.author,children:[e.jsx(ge,{size:16,className:s.icon}),e.jsxs("span",{children:["By ",r.author]})]})]}),e.jsx(Ge,{className:s.separator}),e.jsx("div",{className:s.description,children:r.description?e.jsx("p",{children:r.description}):e.jsx("p",{className:s.noDescription,children:"No description provided."})})]}),e.jsxs("div",{className:s.sharedByCard,children:[e.jsx("h3",{className:s.sharedByTitle,children:"Shared by"}),e.jsxs(k,{to:`/u/${r.user.slug||r.userId}`,className:s.userCard,children:[e.jsxs(Ae,{className:s.userAvatar,children:[r.user.avatarUrl&&e.jsx(Pe,{src:r.user.avatarUrl,alt:r.user.displayName}),e.jsx(Le,{children:r.user.displayName.charAt(0)})]}),e.jsxs("div",{className:s.userInfo,children:[e.jsx("div",{className:s.userName,children:r.user.displayName}),e.jsx("div",{className:s.userTagline,children:r.user.tagline||(r.user.persona?r.user.persona.replace("_"," "):"Community Member")})]})]}),e.jsxs("div",{className:s.timeInfo,children:[e.jsx(Ne,{size:14,className:s.icon}),"Shared ",Ks(new Date(r.createdAt))]})]}),(r.url||x.length>0)&&e.jsxs("div",{className:s.actionContainer,children:[r.url&&e.jsx(l,{asChild:!0,size:"lg",className:s.openButton,children:e.jsxs("a",{href:r.url,target:"_blank",rel:"noopener noreferrer",children:["Open Original Link ",e.jsx(ke,{size:18})]})}),x.map((a,n)=>e.jsx(l,{asChild:!0,size:"lg",variant:r.url&&n===0?"secondary":"primary",className:s.openButton,children:e.jsxs("a",{href:a.fileUrl,target:"_blank",rel:"noopener noreferrer",children:["Download ",a.fileName||"File"," ",e.jsx(b,{size:18})]})},n))]})]})]})}export{or as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.