PageSourceSearch

https://shelfy.so/_next/static/chunks/35020-2575c1472c3f95b1.js

js shelfy.so collected 2026-10-09 22:42:53 UTC 51,757 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[35020],{14381:(e,t,r)=>{"use strict";r.d(t,{A:()=>ri});var i=r(95155),a=r(12115),n=r(63958),l=r(42138),o=r(83457),s=r(78435),d=r(65848),c=r(80345),u=r(82648),g=r(52855),h=r(91285),p=r(35569),v=r(29644),m=r(59053),x=r(99267),b=r(85549),y=r(60976),f=r(34172),k=r(11813),w=r(72745),_=r(13172),j=r(9103),C=r(50800),N=r(78185),A=r(66529),F=r(27503),D=r(68456),E=r(59515),R=r(32864),S=r(26970),P=r(33993),U=r(72036),L=r(4737),M=r(9604),I=r(83564),B=r(34926),O=r(81810),z=r(91139),T=r(35339),H=r(25186),G=r(25750),Q=r(45008),W=r(32418),K=r(2944),V=r(7105),J=r(57066),Z=r(16257),X=r(58925),$=r(89901),Y=r(1706),q=r(73255),ee=r(72700),et=r(70069),er=r(71236),ei=r(35213),ea=r(57491),en=r(10646),el=r(19821),eo=r(7360),es=r(85986),ed=r(43786),ec=r(37669),eu=r(79307),eg=r(86926),eh=r(61019),ep=r(37409),ev=r(18854),em=r(99040),ex=r(30869),eb=r(91085),ey=r(92178),ef=r(54158),ek=r(86306),ew=r(13072),e_=r(31245),ej=r(12607),eC=r(64086),eN=r(38207),eA=r(73078),eF=r(58612),eD=r(17877),eE=r(30294),eR=r(59445),eS=r(92844),eP=r(18362),eU=r(63746),eL=r(51842),eM=r(76524),eI=r(7525),eB=r(67421),eO=r(93867),ez=r(26509),eT=r(86142),eH=r(36722),eG=r(48989),eQ=r(5011),eW=r(36434),eK=r(80664),eV=r(28e3),eJ=r(90910),eZ=r(30244),eX=r(83067),e$=r(14500),eY=r(37807),eq=r(22755),e0=r(91128),e1=r(44921),e5=r(15389),e2=r(66400),e6=r(71428),e8=r(65701),e3=r(35884),e4=r(55048),e9=r(5001),e7=r(41823),te=r(54494),tt=r(45931),tr=r(84116),ti=r(13738),ta=r(70220),tn=r(89071),tl=r(85877),to=r(29030),ts=r(8425),td=r(37691),tc=r(41660),tu=r(19178),tg=r(78002),th=r(99586),tp=r(25250),tv=r(49275),tm=r(12008),tx=r(66160),tb=r(35484),ty=r(42509),tf=r(92376),tk=r(93635),tw=r(60819),t_=r(73900),tj=r(82839),tC=r(95527),tN=r(22608),tA=r(14970),tF=r(2827),tD=r(85506),tE=r(82135),tR=r(12660),tS=r(6874),tP=r(4132),tU=r(62319),tL=r(27717),tM=r(8802),tI=r(27733),tB=r(69779),tO=r(17660),tz=r(22956),tT=r(83281),tH=r(180),tG=r(29139),tQ=r(26350),tW=r(41436),tK=r(43327),tV=r(89024),tJ=r(16743),tZ=r(62374),tX=r(25132),t$=r(14807),tY=r(80109),tq=r(9656),t0=r(38763),t1=r(96810),t5=r(53866),t2=r(27519);let t6={Accessibility:v.h,Activity:m.I,Add:x.O,Alarm:b.Q,AlignCenter:y.x,AlignLeft:f.T,AlignRight:k.G,Anchor:w.M,Aperture:_.F,AppsAlt:j.u,Apps:C.P,ArrowDownCircle:N.S,ArrowDown:A.y,ArrowLeftBottom:F.e,ArrowLeftCircle:D.v,ArrowLeftTop:E.g,ArrowLeft:R.n,ArrowRightBottom:S.b,ArrowRightCircle:P.I,ArrowRightTop:U.j,ArrowRight:L.Q,ArrowUpCircle:M.t,ArrowUp:I.D,BackAlt:B.F,BackLeft:O.p,BackRight:z.u,Back:T.k,Bag:H.T,Basket:G.z,BatteryAlt:Q.J,BatteryCharging:W.j,BatteryFull:K.N,BatteryLow:V.i,BatteryMedium:J.j,Battery:Z.G,Bell:X.I,Bin:$.s,Bluetooth:Y.N,Bolt:q.y,BookOpened:ee.p,Book:et.E,Bookmark:er.X,Box:ei.a,Brightness:ea.Y,Bug:en.z,CalendarAdd:el.m,CalendarDecline:eo.d,CalendarEvent:es.L,Calendar:ed.V,CameraRear:ec.E,Camera:eu.i,Cancel:eg.Z,Cards:eh.C,CartAdd:ep.a,Cart:ev.Z,Chart:em.t,ChatAdd:ex.C,ChatAlt:eb.w,ChatRemove:ey.h,ChatWarning:ef.d,Chat:ek.r,CheckboxIntermediate:ew.R,Checkbox:e_.S,ChevronDown:ej.y,ChevronLeft:eC.J,ChevronRight:eN.c,ChevronUp:eA.r,ChevronsDown:eF.n,ChevronsLeft:eD.O,ChevronsRight:eE.h,ChevronsUp:eR.u,Circle:eS.j,Clip:eP.B,Clipboard:eU.B,Close:u.b,CloudCrossed:eL.X,CloudUpload:eM.b,Cloud:eI.E,Colours:eB.g,Component:eO.u,ContactBook:ez.k,Contrast:eT.b,Controls:eH.H,Copy:eG.Q,CreditCard:eQ.y,Crop:eW.l,Crossing:eK.B,Cup:eV.Z,Cursor:eJ.b,Cut:eZ.l,Danger:eX.U,Dashboard:e$.x,Delete:eY.e,Dialpad:eq.O,DirectionLeft:e0.V,DirectionRight:e1.S,Disc:e5._,Dolar:e2.t,Download:e6.f,Drop:e8.e,Ear:e3.H,Edit:e4.f,EllypsisVertical:e9.s,Ellypsis:e7.i,Entrance:te.f,EnvelopeAlt:tt.u,Envelope:tr.L,Error:ti.$,Exit:ta.J,Explore:tn.K,EyeClosed:tl.C,EyeCrossed:to.h,Eye:ts.k,Favourite:td.E,Feed:tc.J,File:tu.Z,Film:tg.L,Filter:th.d,Flag:tp.l,FolderAdd:tv.k,FolderRemove:tm.T,FolderWarning:tx.L,Folder:tb.v,Forward:ty.w,Glasses:tf.l,GridAlt:tk.w,GridSmall:tw.S,Grid:t_.x,Hamburger:tj.U,HappyFace:tC.Q,Hash:tN.V,Hdr:tA.D,Headphones:tF.o,HearingDisability:tD.v,Help:tE._,History:tR.B,HomeAlt:tS.L,HomeAlt2:tP.v,Home:tU.w,Horn:tL.u,Hourglass:tM.D,Image:tI._,InboxAlt:tB.m,Inbox:tO.b,Info:tz.R,Iphone:tT.W,Justify:tH.F,Key:tG.U,Language:tQ.T,Laptop:tW.r,LayoutLeft:tK.U,LayoutRight:tV.T,Lightbulb:tJ.g,LineChart:tZ.b,Link:tX.N,ListAlt:t$.m,ListView:tY.u,List:tq.B,Location:t0.a,LockAltOpen:t1.B,LockAlt:t5.P,Lock:t2.c},t8=(0,a.memo)(function(e){var t;let{collection:r,level:n,selectedCollectionId:l,onCollectionLinkClick:o}
1=e,[s,d]=(0,a.useState)(!1),c=(0,a.useMemo)(()=>t6[null==r?void 0:r.icon]||t6.Folder,[null==r?void 0:r.icon]),u=(null==r||null==(t=r.children)?void 0:t.length)>0,g=1;return n>1&&(g=u?18:16),(0,i.jsxs)("div",{className:"flex-col hover:bg-gray-100 pl-4 ".concat(l==r.id?"bg-gray-100":""),children:[(0,i.jsx)("div",{className:"sidebar-scroll-item h-8 self-baseline w-full cursor-pointer flex justify-between group/inset relative ".concat(l==r.id?"bg-gray-100":""),style:{paddingLeft:"".concat(g,"px")},children:(0,i.jsxs)("div",{className:"flex items-center relative w-full h-full",onClick:()=>o(r.id),children:[(0,i.jsxs)("div",{className:"flex items-center",children:[u?(0,i.jsx)("div",{className:"absolute -left-4 flex items-center h-full cursor-pointer",onClick:e=>{e.stopPropagation(),e.preventDefault(),d(!s)},children:(0,i.jsx)(eN.c,{className:"text-gray-500 w-4 h-4 transition-all duration-300 ".concat(s&&"rotate-90")})}):null,(0,i.jsx)("div",{className:"emoji-wrapper",children:"emoji"===r.icon_type?(0,i.jsx)("span",{className:"text-lg",children:r.icon}):(0,i.jsx)("span",{className:"text-lg",children:(0,i.jsx)(c,{className:"text-xl",style:{color:null==r?void 0:r.color}})})})]}),(0,i.jsx)("span",{className:"ml-1 font-medium text-sm text-gray-900 sidebar-scroll-item-text",children:r.title})]})}),s&&u?(0,i.jsx)(t3,{collections:r.children,level:n+1,selectedCollectionId:l,onCollectionLinkClick:o}):null]})});function t3(e){let{collections:t=[],selectedCollectionId:r,onCollectionLinkClick:a,level:n=1}=e;return(0,i.jsx)(i.Fragment,{children:null==t?void 0:t.map(e=>(0,i.jsx)(t8,{collection:e,level:n,selectedCollectionId:r,onCollectionLinkClick:a},e.id))})}let t4=function(e){let{collections:t=[],selectedCollectionId:r,onCollectionLinkClick:n}=e,{data:l,isLoading:o}=(0,p.useGetResourcesQuery)(void 0,{skip:t.length>0}),{personal:s,shared:d}=(null==l?void 0:l.data)||{personal:{collections:[]},shared:{collections:[]}},c=(0,a.useMemo)(()=>{if(t.length>0)return t;let e=(null==s?void 0:s.collections)||[];if(!e.length)return[];let r=new Map;e.forEach(e=>{var t;let i=null!=(t=e.parent_id)?t:null;r.has(i)||r.set(i,[]),r.get(i).push(e)}),r.forEach(e=>{e.sort((e,t)=>null!==e.order&&null!==t.order?e.order-t.order:null!==e.order?-1:+(null!==t.order))});let i=e=>(r.get(e)||[]).map(e=>({...e,children:i(e.id)}));return i(null)},[t,null==s?void 0:s.collections]);return(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(t3,{collections:c,level:1,selectedCollectionId:r,onCollectionLinkClick:n})})};var t9=r(63892),t7=r(79933);let re=e=>{let{collectionId:t,linkId:r,linkTitle:n,currentCollectionTitle:o}=e,[s,d]=(0,a.useState)(!1),{toast:c}=(0,t7.dj)(),[v]=(0,l.useUpdateLinkMutation)(),{data:m}=(0,p.useGetResourcesQuery)(void 0,{skip:!s}),{personal:x,shared:b}=(null==m?void 0:m.data)||{personal:{collections:[]},shared:{collections:[]}},y=[...x.collections||[],...b.collections||[]],f=async e=>{let t=y.find(t=>t.id===e);try{await v({id:r,payload:{collection_id:e}}).unwrap(),c({title:"Link moved",description:'Link "'.concat(n,'" has been moved from "').concat(o||"Unsorted",'" to "').concat((null==t?void 0:t.title)||"Unsorted",'"')})}catch(e){console.error("Failed to move link:",e),c({variant:"destructive",title:"Error",description:"Failed to move link. Please try again."})}};return(0,i.jsxs)(g.lG,{open:s,onOpenChange:d,children:[(0,i.jsx)(g.zM,{asChild:!0,children:(0,i.jsxs)(h._2,{onSelect:e=>{e.preventDefault(),e.stopPropagation()},className:"flex cursor-pointer",children:[(0,i.jsx)(t9.A,{name:"Moveto",width:20,height:20}),(0,i.jsx)("span",{className:"font-medium text-sm text-black-900 ml-2",children:"Move To"})]})}),(0,i.jsxs)(g.Cf,{className:"xs:max-w-screen-xs p-0",onClick:e=>e.stopPropagation(),onOpenAutoFocus:e=>e.preventDefault(),children:[(0,i.jsx)(g.c7,{className:"search-header",children:(0,i.jsxs)("div",{className:"flex flex-1 items-center px-3",children:[(0,i.jsx)("div",{children:(0,i.jsx)(t9.A,{name:"Moveto",width:24,height:24})}),(0,i.jsx)("div",{className:"flex-1 px-2.5 text-black-900 font-medium text-base",children:"Choose Collection"}),(0,i.jsx)(g.HM,{asChild:!0,children:(0,i.jsx)(u.b,{className:"text-3xl text-gray-900 p-1 cursor-pointer hover:bg-gray-100 hover:rounded-full"})})]})}),(0,i.jsx)("div",{className:" pt-5 pt-1 pb-0 relative -top-6 max-h-96 overflow-y-auto",children:(0,i.jsx)(t4,{selectedCollectionId:t,onCollectionLinkClick:f})})]})]})};r(36300);var rt=r(83804),rr=r(20470);let ri=function(e){var t,r,u,g,h,p,v,m,x,b,y,f,k,w,_,j;let{link:C,collection:N,isLinkSelected:A,isLoading:F,onSummerize:D,onOpen:E,onEdit:R,showDomainInDescription:S=!1}=e,{toast:P}=(0,t7.dj)(),[U,L]=(0,a.useState)(()=>!!((null==C?void 0:C.thumbnail_url)&&(null==C?void 0:C.thumbnail_url)!=="note-icon"));(null==C?void 0:C.title)&&(null==C||null==(u=C.title)||null==(r=u.trim())||null==(t=r.charAt(0))||t.toUpperCase());let M=(null==C?void 0:C.title)||"",I=(0,a.useMemo)(()=>
1{if(!S)return(null==C?void 0:C.description)||"";let e=(e=>{if(!e)return"";try{return new URL(e).hostname.replace(/^www\./,"")}catch(e){return""}})(null==C?void 0:C.url),t=(null==C?void 0:C.description)||"";return e&&t?"".concat(e," • ").concat(t):e||t},[null==C?void 0:C.description,null==C?void 0:C.url,S]),[B]=(0,l.useDeleteResourceMutation)(),[O]=(0,l.useUpdateResourceStatesMutation)(),[z]=(0,l.useArchiveResourceMutation)(),[T]=(0,l.useRestoreResourceMutation)(),[H]=(0,l.usePinResourceMutation)(),[G]=(0,l.useUnpinResourceMutation)(),[Q,W]=(0,a.useState)(!1),[K,V]=(0,a.useState)(!1),J=(null!=(y=null==C||null==(g=C.state)?void 0:g.is_favorite)?y:null==C?void 0:C.is_favorite)||(null!=(f=null==C||null==(h=C.state)?void 0:h.is_read)?f:null==C?void 0:C.is_read)||(null!=(k=null==C||null==(p=C.state)?void 0:p.in_reading_list)?k:null==C?void 0:C.in_reading_list)||(null==C||null==(v=C.tags)?void 0:v.length)>0;(0,a.useEffect)(()=>{(null==C?void 0:C.thumbnail_url)&&(null==C?void 0:C.thumbnail_url)!=="note-icon"?L(!0):L(!1)},[null==C?void 0:C.thumbnail_url]);let Z=(0,a.useCallback)(e=>{e.stopPropagation(),e.preventDefault(),E(null==C?void 0:C.id)},[null==C?void 0:C.id,E]),X=(0,a.useCallback)(e=>{e.stopPropagation(),e.preventDefault(),R(null==C?void 0:C.id)},[null==C?void 0:C.id,R]),$=async e=>{try{await B({id:null==C?void 0:C.id,collectionId:null==C?void 0:C.collection_id}).unwrap(),V(!1),P({title:"Resource deleted",description:"The resource has been deleted successfully"})}catch(e){console.error("Failed to delete resource:",e),P({variant:"destructive",title:"Error",description:"Failed to delete resource. Please try again."})}},Y=async()=>{try{await O({resourceId:null==C?void 0:C.id.toString(),states:{is_favorite:!0}}).unwrap(),P({title:"Added to favorites",description:'"'.concat((null==C?void 0:C.title)||"Untitled",'" has been added to your favorites')})}catch(e){console.error("Failed to favorite:",e),P({variant:"destructive",title:"Error",description:"Failed to add to favorites. Please try again."})}},q=async()=>{try{await O({resourceId:null==C?void 0:C.id.toString(),states:{is_favorite:!1}}).unwrap(),P({title:"Removed from favorites",description:'"'.concat((null==C?void 0:C.title)||"Untitled",'" has been removed from your favorites')})}catch(e){console.error("Failed to unfavorite:",e),P({variant:"destructive",title:"Error",description:"Failed to remove from favorites. Please try again."})}},ee=async()=>{try{await O({resourceId:null==C?void 0:C.id.toString(),states:{in_reading_list:!0}}).unwrap(),P({title:"Added to reading list",description:'"'.concat((null==C?void 0:C.title)||"Untitled",'" has been added to your reading list')})}catch(e){console.error("Failed to add to reading list:",e),P({variant:"destructive",title:"Error",description:"Failed to add to reading list. Please try again."})}},et=async()=>{try{await O({resourceId:null==C?void 0:C.id.toString(),states:{in_reading_list:!1}}).unwrap(),P({title:"Removed from reading list",description:'"'.concat((null==C?void 0:C.title)||"Untitled",'" has been removed from your reading list')})}catch(e){console.error("Failed to remove from reading list:",e),P({variant:"destructive",title:"Error",description:"Failed to remove from reading list. Please try again."})}},er=async()=>{try{await O({resourceId:null==C?void 0:C.id.toString(),states:{is_read:!0}}).unwrap(),P({title:"Marked as read",description:'"'.concat((null==C?void 0:C.title)||"Untitled",'" has been marked as read')})}catch(e){console.error("Failed to mark as read:",e),P({variant:"destructive",title:"Error",description:"Failed to mark as read. Please try again."})}},ei=async()=>{try{await O({resourceId:null==C?void 0:C.id.toString(),states:{is_read:!1}}).unwrap(),P({title:"Unmarked as read",description:'"'.concat((null==C?void 0:C.title)||"Untitled",'" has been unmarked as read')})}catch(e){console.error("Failed to unmark as read:",e),P({variant:"destructive",title:"Error",description:"Failed to unmark as read. Please try again."})}},ea=(0,a.useCallback)(async()=>{try{var e,t;await z({resourceId:null==C?void 0:C.id.toString(),collectionId:(null==N||null==(e=N.id)?void 0:e.toString())||(null==C||null==(t=C.collection_id)?void 0:t.toString())}).unwrap(),P({title:"Resource archived",description:'"'.concat((null==C?void 0:C.title)||"Untitled",'" has been archived')})}catch(e){console.error("Failed to archive:",e),P({variant:"destructive",title:"Error",description:"Failed to archive resource. Please try again."})}},[null==C?void 0:C.id,null==C?void 0:C.title,null==C?void 0:C.collection_id,null==N?void 0:N.id,z,P]),en=(0,a.useCallback)(async()=>{try{var e,t;await T({resourceId:null==C?void 0:C.id.toString(),collectionId:(null==N||null==(e=N.id)?void 0:e.toString())||(null==C||null==(t=C.collection_id)?void 0:t.toString())}).unwrap(),P({title:"Resource restored",description:'"'.concat((null==C?void 0:C.title)||"Untitled",'" has been restored from archive')})}catch(e){console.error("Failed to restore:",e),P({variant:"destructive",title:"Error",description:"Failed to restore resource. Please try again."})}},[null==C?void 0:C.id,null==C?void 0:C.title,null==C?void 0:C.collection_id,null==N?void 0:N.id,T,P]),el=(0,a.useCallback)(e=>{},[]),eo=(0,a.useCallback)(async()=>{try{await H({resourceId:null==C?void 0:C.id.toString(),context:"home"}).unwrap(),P({title:"Pinned to Dashboard",description:'"'.concat((null==C?void 0:C.title)||"Untitled",'" has been pinned to your dashboard')})}catch(e){console.error("Failed to pin to home:",e),P({variant:"destructive",title:"Error",description:"Failed to pin to dashboard. Please try again."})}},[null==C?void 0:C.id,null==C?void 0:C.title,H,P]),es=(0,a.useCallback)(async()=>{try{var e,t;await H({resourceId:null==C?void 0:C.id.toString(),context:"collection",context_id:(null==N||null==(e=N.id)?void 0:e.toString())||(null==C||null==(t=C.collection_id)?void 0:t.toString())}).unwrap(),P({title:"Pinned to Collection",description:'"'.concat((null==C?void 0:C.title)||"Untitled",'" has been pinned to this collection')})}catch(e){console.error("Failed to pin to collection:",e),P({variant:"destructive",title:"Error",description:"Failed to pin to collection. Please try again."})}},[null==C?void 0:C.id,null==C?void 0:C.title,null==C?void 0:C.collection_id,null==N?void 0:N.id,H,P]),ed=(0,a.useCallback)(async()=>{try{var e,t;let r=(null==C?void 0:C.pinned_context)||"home",i=(null==C?void 0:C.pinned_context_id)||(null==N||null==(e=N.id)?void 0:e.toString())||(null==C||null==(t=C.collection_id)?void 0:t.toString());await G({resourceId:null==C?void 0:C.id.toString(),context:r,context_id:"collection"===r?i:void 0}).unwrap(),P({title:"Unpinned",description:'"'.concat((null==C?void 0:C.title)||"Untitled",'" has been unpinned')})}catch(e){console.error("Failed to unpin:",e),P({variant:"destructive",title:"Error",description:"Failed to unpin. Please try again."})}},[null==C?void 0:C.id,null==C?void 0:C.title,null==C?void 0:C.pinned_context,null==C?void 0:C.pinned_context_id,null==C?void 0:C.collection_id,null==N?void 0:N.id,G,P]);return(0,i.jsxs)("div",{className:"relative cursor-pointer",children:[J&&(0,i.jsx)(e=>{let{isMarkedAsRead:t,isReadLater:r,hasReminder:a,isPinned:n,isFavorite:l,tags:d}=e;return(0,i.jsxs)("div",{className:"absolute -top-3 left-2 flex flex-wrap space-x-1 z-10",children:[l&&(0,i.jsx)("div",{className:"bg-white dark:bg-gray-100 text-xs font-normal px-0.5 rounded border border-gray-200 dark:border-gray-300 opacity-1",children:(0,i.jsx)(o.A,{size:"1em",fill:"
1currentColor",strokeWidth:0,className:"text-blue-600 text-sm",style:{color:"#fd6f8e"}})}),n&&(0,i.jsx)("div",{className:"bg-white dark:bg-gray-100 text-xs font-normal px-0.5 rounded border border-gray-200 dark:border-gray-300 opacity-1",children:"\uD83D\uDCCC"}),a&&(0,i.jsx)("div",{className:"bg-white dark:bg-gray-100 text-xs font-normal px-0.5 rounded border border-gray-200 dark:border-gray-300 opacity-1",children:"\uD83D\uDD14"}),t&&(0,i.jsxs)("div",{className:"flex items-center bg-white dark:bg-gray-100 px-0.5 rounded border border-gray-200 dark:border-gray-300 opacity-1",children:[(0,i.jsx)(s.A,{size:"1em",className:"text-gray-700 dark:text-gray-600 text-sm mr-1"}),(0,i.jsx)("span",{className:"text-xs text-gray-700 dark:text-gray-600",children:"Read"})]}),r&&(0,i.jsx)("div",{className:"bg-white dark:bg-gray-100 text-gray-700 dark:text-gray-600 text-xs font-normal px-0.5 rounded border border-gray-200 dark:border-gray-300 opacity-1",children:"Read Later"}),d.length>0&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"flex sm:hidden space-x-1",children:[d.slice(0,2).map((e,t)=>(0,i.jsxs)("div",{className:"bg-white dark:bg-gray-100 text-gray-700 dark:text-gray-600 text-xs font-normal px-0.5 rounded border border-gray-200 dark:border-gray-300 opacity-1",children:["#",e]},t)),d.length>3&&(0,i.jsxs)("div",{className:"bg-white dark:bg-gray-100 text-gray-700 dark:text-gray-600 text-xs font-normal px-0.5 rounded border border-gray-200 dark:border-gray-300 opacity-1",children:["+",d.length-3]})]}),(0,i.jsxs)("div",{className:"hidden sm:flex space-x-1",children:[d.slice(0,5).map((e,t)=>(0,i.jsxs)("div",{className:"bg-white dark:bg-gray-100 text-gray-700 dark:text-gray-600 text-xs font-normal px-0.5 rounded border border-gray-200 dark:border-gray-300 opacity-1",children:["#",e]},t)),d.length>5&&(0,i.jsxs)("div",{className:"bg-white dark:bg-gray-100 text-gray-700 dark:text-gray-600 text-xs font-normal px-0.5 rounded border border-gray-200 dark:border-gray-300 opacity-1",children:["+",d.length-5]})]})]})]})},{isMarkedAsRead:null!=(w=null==C||null==(m=C.state)?void 0:m.is_read)?w:null==C?void 0:C.is_read,isReadLater:null!=(_=null==C||null==(x=C.state)?void 0:x.in_reading_list)?_:null==C?void 0:C.in_reading_list,hasReminder:!1,isPinned:!1,isFavorite:null!=(j=null==C||null==(b=C.state)?void 0:b.is_favorite)?j:null==C?void 0:C.is_favorite,tags:null==C?void 0:C.tags}),(0,i.jsxs)("a",{className:"flex w-full border border-gray-100 dark:border-gray-600 bg-white dark:bg-gray-600 rounded-md p-2 relative shadow-xs",onClick:Z,children:[(0,i.jsx)("div",{className:"w-[43px] h-[43px] relative flex-shrink-0",children:F?(0,i.jsx)("div",{className:"flex",children:(0,i.jsx)(n.A,{containerClassName:"flex-1",height:42})}):U?(0,i.jsx)("img",{onError:()=>L(!1),className:"link-thumb border border-gray-100 dark:border-gray-600 rounded",src:(0,rt.HQ)(null==C?void 0:C.thumbnail_url,null==C?void 0:C.url)}):(null==C?void 0:C.thumbnail_url)==="note-icon"?(0,i.jsx)("div",{className:"bg-gray-100 dark:bg-gray-700 border border-gray-100 dark:border-gray-600 rounded h-full w-full justify-center items-center flex",children:(0,i.jsx)("span",{className:"text-[#6B7280] dark:text-gray-400",children:(0,i.jsx)(t9.A,{name:"Note",width:20,height:20})})}):(0,i.jsx)(rr.x,{title:null==C?void 0:C.title,source:null==C?void 0:C.url,size:43,className:"link-thumb"})}),(0,i.jsxs)("div",{className:"ml-2 flex-1 grid grid-cols-[1fr_auto] gap-2 items-center min-w-0 relative",children:[(0,i.jsxs)("div",{className:"min-w-0 pr-20 md:pr-14 lg:pr-16 xl:pr-18 2xl:pr-20",children:[F?(0,i.jsx)(n.A,{}):(0,i.jsx)("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center",children:(0,i.jsx)("div",{className:"flex min-w-0 w-full",children:(0,i.jsx)("h3",{className:"font-medium text-sm text-gray-900 dark:text-gray-100 truncate w-full",children:M})})}),F?(0,i.jsx)(n.A,{}):(0,i.jsx)(i.Fragment,{children:(0,i.jsx)("p",{className:"relative font-normal text-sm text-gray-500 dark:text-gray-400 mt-1 truncate",children:I})})]}),F?null:(0,i.jsxs)("div",{className:"flex items-center mt-2 sm:mt-0 sm:mr-3.5 flex-shrink-0",children:[F?(0,i.jsx)(n.A,{containerClassName:"flex-1"}):null,F?(0,i.jsx)(n.A,{}):(0,i.jsx)(d.A,{link:C,collection:N,isMenuOpen:Q,setIsMenuOpen:W,setIsAlertOpen:V,onFavorite:Y,onEdit:X,onUnfavorite:q,onReadLater:ee,onUnreadLater:et,onMarkRead:er,onUnmarkRead:ei,onArchive:ea,onRestore:en,onMove:el,onPinToHome:eo,onPinToCollection:es,onUnpin:ed,renderMoveToModal:()=>(0,i.jsx)(re,{collectionId:null==N?void 0:N.id,linkId:null==C?void 0:C.id,linkTitle:null==C?void 0:C.title,currentCollectionTitle:null==N?void 0:N.title})})]})]})]}),(0,i.jsx)(c.A,{isOpen:K,onOpenChange:V,onDelete:$})]})}},20470:(e,t,r)=>{"use strict";r.d(t,{x:()=>n});var i=r(95155);r(12115);let a=/^(the|a|an)\s+/i;function n(e){let{title:t,source:r,size:n,fill:l=!1,letterSize:o,tldSize:s,className:d=""}=e,c=(e=>{let t=(null!=e?e:"").trim();return t?((t.replace(a,"").trim()||t).charAt(0)||"?").toUpperCase():"?"})(t),u=(e=>{if(!e)return"";let t=e.trim();try{t=new URL(t.includes("://")?t:"https://".concat(t)).hostname}catch(e){t=t.replace(/^[a-z]+:\/\//i,"").replace(/\/.*$/,"")}
1let r=t.split(".").filter(Boolean);return r.length<2?"":".".concat(r[r.length-1].toUpperCase())})(r),g=null!=n?n:80,h=null!=s?s:Math.max(7,.16*g);return(0,i.jsxs)("div",{className:"flex flex-col items-center justify-center rounded-lg bg-[#F3F4F6] overflow-hidden ".concat(l?"w-full h-full":""," ").concat(d),style:l?{}:{width:null!=n?n:g,height:null!=n?n:g},"aria-hidden":"true",children:[(0,i.jsx)("span",{className:"font-sans font-semibold select-none text-gray-700",style:{fontSize:null!=o?o:.38*g,letterSpacing:"-0.02em",lineHeight:1},children:c}),g>24&&!!u&&(0,i.jsx)("span",{className:"font-sans font-bold select-none",style:{color:"#6B7280",fontSize:h,letterSpacing:"0.6px",marginTop:1,lineHeight:1},children:u})]})}},28807:(e,t,r)=>{"use strict";r.d(t,{N:()=>l});var i=r(12115),a=r(42138),n=r(79933);function l(e){var t;let{resource:r,collectionId:l}=e,{toast:o}=(0,n.dj)(),[s,d]=(0,i.useState)(!1),[c]=(0,a.useUpdateResourceStatesMutation)(),[u]=(0,a.useArchiveResourceMutation)(),[g]=(0,a.useRestoreResourceMutation)(),[h]=(0,a.usePinResourceMutation)(),[p]=(0,a.useUnpinResourceMutation)(),[v]=(0,a.useDeleteResourceMutation)(),m=(null==r?void 0:r.title)||(null==r?void 0:r.file_name)||"Untitled",x=null==r||null==(t=r.id)?void 0:t.toString(),b=l||(null==r?void 0:r.collection_id),y=(0,i.useCallback)(async()=>{try{await c({resourceId:x,states:{is_favorite:!0}}).unwrap(),o({title:"Added to favorites",description:'"'.concat(m,'" has been added to your favorites')})}catch(e){console.error("❌ Failed to add to favorites:",e),o({variant:"destructive",title:"Error",description:"Failed to add to favorites."})}},[x,m,c,o]),f=(0,i.useCallback)(async()=>{try{await c({resourceId:x,states:{is_favorite:!1}}).unwrap(),o({title:"Removed from favorites",description:'"'.concat(m,'" has been removed from your favorites')})}catch(e){console.error("❌ Failed to remove from favorites:",e),o({variant:"destructive",title:"Error",description:"Failed to remove from favorites."})}},[x,m,c,o]),k=(0,i.useCallback)(async()=>{try{await c({resourceId:x,states:{in_reading_list:!0}}).unwrap(),o({title:"Added to reading list",description:'"'.concat(m,'" has been added to your reading list')})}catch(e){console.error("❌ Failed to add to reading list:",e),o({variant:"destructive",title:"Error",description:"Failed to add to reading list."})}},[x,m,c,o]),w=(0,i.useCallback)(async()=>{try{await c({resourceId:x,states:{in_reading_list:!1}}).unwrap(),o({title:"Removed from reading list",description:'"'.concat(m,'" has been removed from your reading list')})}catch(e){console.error("❌ Failed to remove from reading list:",e),o({variant:"destructive",title:"Error",description:"Failed to remove from reading list."})}},[x,m,c,o]),_=(0,i.useCallback)(async()=>{try{await c({resourceId:x,states:{is_read:!0}}).unwrap(),o({title:"Marked as read",description:'"'.concat(m,'" has been marked as read')})}catch(e){console.error("❌ Failed to mark as read:",e),o({variant:"destructive",title:"Error",description:"Failed to mark as read."})}},[x,m,c,o]),j=(0,i.useCallback)(async()=>{try{await c({resourceId:x,states:{is_read:!1}}).unwrap(),o({title:"Unmarked as read",description:'"'.concat(m,'" has been unmarked as read')})}catch(e){console.error("❌ Failed to unmark as read:",e),o({variant:"destructive",title:"Error",description:"Failed to unmark as read."})}},[x,m,c,o]),C=(0,i.useCallback)(async()=>{try{await u({resourceId:x,collectionId:null==b?void 0:b.toString()}).unwrap(),o({title:"Resource archived",description:'"'.concat(m,'" has been archived')})}catch(e){console.error("❌ Failed to archive resource:",e),o({variant:"destructive",title:"Error",description:"Failed to archive resource."})}},[x,m,b,u,o]),N=(0,i.useCallback)(async()=>{try{await g({resourceId:x,collectionId:null==b?void 0:b.toString()}).unwrap(),o({title:"Resource restored",description:'"'.concat(m,'" has been restored from archive')})}catch(t){var e;console.error("❌ Failed to restore resource:",t),o({variant:"destructive",title:"Error",description:(null==t||null==(e=t.data)?void 0:e.message)||"Failed to restore resource."})}},[x,m,b,g,o]),A=(0,i.useCallback)(async()=>{try{await v({id:null==r?void 0:r.id,collectionId:null==r?void 0:r.collection_id}).unwrap(),d(!1),o({title:"Resource deleted",description:"The resource has been deleted permanently"})}catch(e){console.error("Failed to delete resource:",e),o({variant:"destructive",title:"Error",description:"Failed to delete resource."})}},[null==r?void 0:r.id,null==r?void 0:r.collection_id,v,o]),F=(0,i.useCallback)(async()=>{try{await h({resourceId:x,context:"home"}).unwrap(),o({title:"Pinned to Dashboard",description:'"'.concat(m,'" has been pinned to your dashboard')})}catch(e){o({variant:"destructive",title:"Error",description:"Failed to pin to dashboard."})}},[x,m,h,o]);return{isAlertOpen:s,setIsAlertOpen:d,handleFavorite:y,handleUnfavorite:f,handleReadLater:k,handleUnreadLater:w,handleMarkRead:_,handleUnmarkRead:j,handleArchive:C,handleRestore:N,handleDelete:A,handlePinToHome:F,handlePinToCollection:(0,i.useCallback)(async()=>{try{await h({resourceId:x,context:"collection",context_id:null==b?void 0:b.toString()}).unwrap(),o({title:"Pinned to Collection",description:'"'.concat(m,'" has been pinned to this collection')})}catch(e){o({variant:"destructive",title:"Error",description:"Failed to pin to collection."})}},[x,m,b,h,o]),handleUnpin:(0,i.useCallback)(async e=>{try{let t=e||(null==r?void 0:r.pinned_context)||"home",i=(null==r?void 0:r.pinned_context_id)||(null==b?void 0:b.toString());await p({resourceId:x,context:t,context_id:"collection"===t?i:void 0}).unwrap(),o({title:"Unpinned",description:'"'.concat(m,'" has been unpinned')})}catch(e){o({variant:"destructive",title:"Error",description:"Failed to unpin."})}},[x,m,null==r?void 0:r.pinned_context,null==r?void 0:r.pinned_context_id,b,p,o])}}},29264:(e,t,r)=>{"use strict";r.d(t,{A:()=>g});var i=r(95155);r(12115);var a=r(14381),n=r(20063),l=r(94161),o=r(42138),s=r(79933),d=r(63892),c=r(69542);let u=e=>{if((null==e?void 0:e.thumbnail_url)&&"note-icon"!==e.thumbnail_url)return e.thumbnail_url;if(null==e?void 0:e.image_url)return e.image_url;let t=null==e?void 0:e.metadata;return(null==t?void 0:t.image)?t.image:(null==t?void 0:t.og_image)?t.og_image:(null==t?void 0:t.thumbnail)?t.thumbnail:(null==t?void 0:t["og:image"])?t["og:image"]:void 0};function g(e){var t,r,g,h,p,v,m,x,b;let{resource:y,collection:f,collectionId:k,showMarkAsRead:w=!1,hideQuickActions:_=!1}
1=e,j=(0,n.useRouter)(),{buildResourceUrl:C}=(0,l.j)(),[N]=(0,o.useUpdateResourceStatesMutation)(),{toast:A}=(0,s.dj)(),{isSelectionMode:F,isSelected:D,toggleSelection:E}=(0,c.K)(),R="in_progress"===y.fetching_status,S=C(y.id),P=async e=>{e.stopPropagation();try{await N({resourceId:y.id.toString(),states:{in_reading_list:!0}}).unwrap(),A({title:"Added to reading list",description:'"'.concat(y.title||"Untitled",'" has been added to your reading list')})}catch(e){console.error("❌ Failed to add to reading list:",e),A({variant:"destructive",title:"Error",description:"Failed to add to reading list. Please try again."})}},U=async e=>{e.stopPropagation();try{await N({resourceId:y.id.toString(),states:{is_read:!0}}).unwrap(),A({title:"Marked as read",description:'"'.concat(y.title||"Untitled",'" has been marked as read')})}catch(e){console.error("❌ Failed to mark as read:",e),A({variant:"destructive",title:"Error",description:"Failed to mark as read. Please try again."})}},L={id:parseInt(y.id),title:y.title,url:y.url,description:y.description||y.content||y.url,image:u(y),thumbnail_url:u(y),favicon:y.favicon,tags:[],is_favorite:null!=(p=null!=(h=null==(t=y.state)?void 0:t.is_favorite)?h:y.is_favorite)&&p,in_reading_list:null!=(m=null!=(v=null==(r=y.state)?void 0:r.in_reading_list)?v:y.in_reading_list)&&m,is_read:null!=(b=null!=(x=null==(g=y.state)?void 0:g.is_read)?x:y.is_read)&&b,is_deleted:!1,reminder_at:y.reminder_at,has_home_pin:y.has_home_pin},M=y.id.toString(),I=F&&D(M);return(0,i.jsxs)("div",{className:"transition-all duration-200 rounded-md cursor-pointer relative ".concat(I?"ring-2 ring-blue-500 bg-blue-50 dark:bg-blue-500/10":"lg:hover:ring-3 lg:hover:ring-[#0D99FF]"),onMouseEnter:()=>j.prefetch(S),onClickCapture:e=>{F&&(e.preventDefault(),e.stopPropagation(),E(M))},children:[F&&(0,i.jsx)("div",{className:"absolute left-2 top-1/2 -translate-y-1/2 z-30",children:(0,i.jsx)("div",{className:"w-5 h-5 rounded border-2 flex items-center justify-center transition-all ".concat(I?"bg-blue-500 border-blue-500":"bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600"),children:I&&(0,i.jsx)(d.A,{name:"Check",width:14,height:14,color:"white"})})}),(0,i.jsx)("div",{className:F?"pl-8":"",children:(0,i.jsx)(a.A,{link:L,collection:f,isLinkSelected:!1,isLoading:!1,onSummerize:()=>{},onOpen:()=>{j.push(S,{scroll:!1})},onEdit:()=>{},showDomainInDescription:!0})}),!_&&(0,i.jsxs)("div",{className:"absolute right-14 top-1/2 -translate-y-1/2 flex gap-1 z-20 bg-gradient-to-l from-white dark:from-gray-600 via-white dark:via-gray-600 to-transparent pl-12",children:[(0,i.jsx)("button",{onClick:e=>{e.stopPropagation(),y.url&&window.open(y.url,"_blank","noopener,noreferrer")},disabled:!y.url,className:"bg-white dark:bg-gray-600 rounded-sm p-1.5 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors ".concat(y.url?"cursor-pointer":"opacity-50 cursor-not-allowed"),title:y.url?"Open link in new tab":"No URL available",children:(0,i.jsx)("span",{className:"text-[#5D5D5D] dark:text-gray-400",children:(0,i.jsx)(d.A,{name:"Arrowuprightfilled",width:18,height:18})})}),w?(0,i.jsx)("button",{onClick:U,className:"bg-white dark:bg-gray-600 rounded-sm p-1.5 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer transition-colors",title:"Mark as read",children:(0,i.jsx)("span",{className:"text-[#5D5D5D] dark:text-gray-400",children:(0,i.jsx)(d.A,{name:"Check",width:18,height:18})})}):(0,i.jsx)("button",{onClick:P,className:"bg-white dark:bg-gray-600 rounded-sm p-1.5 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer transition-colors",title:"Add to reading list",children:(0,i.jsx)("span",{className:"text-[#5D5D5D] dark:text-gray-400",children:(0,i.jsx)(d.A,{name:"Reading",width:18,height:18})})})]}),R&&(0,i.jsx)("div",{className:"absolute inset-0 bg-black/10 flex items-center justify-center rounded-md z-10",children:(0,i.jsx)("div",{className:"w-8 h-8 border-4 border-white border-t-transparent rounded-full animate-spin"})})]})}},36300:()=>{},45306:(e,t,r)=>{"use strict";r.d(t,{A:()=>v});var i=r(95155),a=r(12115),n=r(52619),l=r.n(n),o=r(20063),s=r(63892),d=r(80345),c=r(65848),u=r(16105),g=r(69542),h=r(28807),p=r(48190);function v(e){var t,r,n,v,m,x,b,y,f,k,w,_,j,C;let{resource:N,showMarkAsRead:A=!1,hideQuickActions:F=!1}=e,D=(0,o.useParams)().collectionId,{isSelectionMode:E,isSelected:R,toggleSelection:S}=(0,g.K)(),[P,U]=(0,a.useState)(!1),{isAlertOpen:L,setIsAlertOpen:M,handleFavorite:I,handleUnfavorite:B,handleReadLater:O,handleUnreadLater:z,handleMarkRead:T,handleUnmarkRead:H,handleArchive:G,handleRestore:Q,handleDelete:W,handlePinToHome:K,handlePinToCollection:V,handleUnpin:J}=(0,h.N)({resource:N,collectionId:D}),Z="pdf"===N.sub_kind||(null==(t=N.file_name)?void 0:t.toLowerCase().endsWith(".pdf"))||(null==(r=N.url)?void 0:r.toLowerCase().endsWith(".pdf")),X=(0,p.Gt)(N)&&N.readable_content?(0,p.eA)(N.readable_content,120):"",[$,Y]=(0,a.useState)(!1),{data:q}=(0,u.useGetCollectionQuery)(D,{skip:!D}),ee="/collections/".concat(D,"/resources/").concat(N.id),et={id:parseInt(N.id),title:N.title||N.file_name,url:N.url,description:N.description||N.content,image:N.thumbnail_url,thumbnail_url:N.thumbnail_url,favicon:N.favicon,tags:[],is_favorite:null!=(y=null!=(b=null==(n=N.state)?void 0:n.is_favorite)?b:N.is_favorite)&&y,in_reading_list:null!=(k=null!=(f=null==(v=N.state)?void 0:v.in_reading_list)?f:N.in_reading_list)&&k,is_read:null!=(_=null!=(w=null==(m=N.state)?void 0:m.is_read)?w:N.is_read)&&_,is_pinned:null!=(C=null!=(j=null==(x=N.state)?void 0:x.is_pinned)?j:N.is_pinned)?C:!!N.pinned_context,is_deleted:!1,reminder_at:N.reminder_at,collection_id:N.collection_id,pinned_context:N.pinned_context,pinned_context_id:N.pinned_context_id,has_home_pin:N.has_home_pin},er=N.id.toString(),ei=E&&R(er);return(0,i.jsxs)("div",{className:"transition-all duration-200 rounded-md cursor-pointer relative ".concat(ei?"ring-2 ring-blue-500 bg-blue-50 dark:bg-blue-500/10":"lg:hover:ring-3 lg:hover:ring-[#0D99FF] dark:lg:hover:ring-[#0D99FF]"),onClickCapture:e=>{E&&(e.preventDefault(),e.stopPropagation(),S(er))},children:[E&&(0,i.jsx)("div",{className:"absolute left-2 top-1/2 -translate-y-1/2 z-30",children:(0,i.jsx)("div",{className:"w-5 h-5 rounded border-2 flex items-center justify-center transition-all ".concat(ei?"bg-blue-500 border-blue-500":"bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600"),children:ei&&(0,i.jsx)(s.A,{name:"Check",width:14,height:14,color:"white"})})}),(0,i.jsx)("div",{className:E?"pl-8":"",children:(0,i.jsxs)(l(),{href:ee,className:"flex w-full border border-gray-100 dark:border-gray-600 bg-white dark:bg-gray-600 rounded-md p-2 relative shadow-xs",children:[(0,i.jsxs)("div",{className:"w-[43px] h-[43px] relative flex-shrink-0 flex items-center justify-center bg-gray-50 dark:bg-gray-700 rounded border border-gray-200 dark:border-gray-600 overflow-hidden",children:[Z&&N.thumbnail_url&&(0,i.jsx)("img",{src:N.thumbnail_url,alt:N.title||N.file_name||"PDF thumbnail",className:"w-full h-full object-cover absolute inset-0 ".concat($?"z-10":"invisible"),onLoad:()=>Y(!0),onError:e=>{e.currentTarget.style.display="none"}}),!$&&(0,i.jsxs)("div",{className:"flex flex-col items-center justify-center gap-0.5",children:[(0,i.jsx)(s.A,{name:((e,t)=>{var r;if(!e&&!t)return"File";let i=null==e||null==(r=e.split(".").pop())?void 0:r.toLowerCase(),a=null==t?void 0:t.toLowerCase();return"pdf"===i||(null==a?void 0:a.includes("pdf"))?"Pdf":["doc","docx"].includes(i)||(null==a?void 0:a.includes("word"))?"Doc":["xls","xlsx"].includes(i)||(null==a?void 0:a.includes("excel"))||(null==a?void 0:a.includes("spreadsheet"))?"Excel":["ppt","pptx"].includes(i)||(null==a?void 0:a.includes("presentation"))?"Ppt":["jpg","jpeg","png","gif","webp"].includes(i)||(null==a?void 0:a.includes("image"))?"Image":["mp4","avi","mov","mkv"].includes(i)||(null==a?void 0:a.includes("video"))?"Video":["mp3","wav","ogg","flac"].includes(i)||(null==a?void 0:a.includes("audio"))?"Audio":["zip","rar","7z","tar"].includes(i)||(null==a?void 0:a.includes("zip"))||(null==a?void 0:a.includes("compressed"))?"Archive":["txt","md"].includes(i)||(null==a?void 0:a.includes("text"))?"Text":"json"===i||(null==a?void 0:a.includes("json"))?"Code":"File"})(N.file_name,N.file_type),width:18,height:18,className:"text-gray-500 dark:text-gray-400"}),(0,i.jsx)("span",{className:"text-[0.45rem] font-bold text-gray-500 dark:text-gray-400 leading-none tracking-wide",children:((e,t)=>{var r;if(t){let e=t.toUpperCase();switch(e){case"POWERPOINT":return"PPT";case"EXCEL":return"XLS";case"WORD":case"DOCUMENT":return"DOC";default:return e}}return e&&(null==(r=e.split(".").pop())?void 0:r.toUpperCase())||"FILE"})(N.file_name,N.sub_kind)})]})]}),(0,i.jsxs)("div",{className:"ml-2 flex-1 grid grid-cols-[1fr_auto] gap-2 items-center min-w-0 relative",children:[(0,i.jsxs)("div",{className:"min-w-0 pr-20 md:pr-14 lg:pr-16 xl:pr-18 2xl:pr-20",children:[(0,i.jsx)("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center",children:(0,i.jsx)("div",{className:"flex min-w-0 
1w-full",children:(0,i.jsx)("h3",{className:"font-medium text-sm text-gray-900 dark:text-gray-100 truncate w-full",children:N.title||N.file_name||"Untitled File"})})}),(0,i.jsx)("p",{className:"relative font-normal text-sm text-gray-500 dark:text-gray-400 mt-1 truncate",children:X||(e=>{if(!e)return"Unknown size";let t=Math.floor(Math.log(e)/Math.log(1024));return Math.round(e/Math.pow(1024,t)*100)/100+" "+["B","KB","MB","GB"][t]})(N.file_size)})]}),(0,i.jsx)("div",{className:"flex items-center mt-2 sm:mt-0 sm:mr-3.5 flex-shrink-0",children:(0,i.jsx)(c.A,{link:et,collection:q,isMenuOpen:P,setIsMenuOpen:U,setIsAlertOpen:M,onFavorite:I,onUnfavorite:B,onReadLater:O,onUnreadLater:z,onMarkRead:T,onUnmarkRead:H,onArchive:G,onRestore:Q,onMove:e=>{},onPinToHome:K,onPinToCollection:V,onUnpin:J})})]})]})}),!F&&(0,i.jsxs)("div",{className:"absolute right-14 top-1/2 -translate-y-1/2 flex gap-1 z-20 bg-gradient-to-l from-white dark:from-gray-600 via-white dark:via-gray-600 to-transparent pl-12",children:[N.url&&(0,i.jsx)("button",{onClick:e=>{e.stopPropagation(),e.preventDefault(),N.url&&window.open(N.url,"_blank","noopener,noreferrer")},className:"bg-white dark:bg-gray-600 rounded-sm p-1.5 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer transition-colors",title:"Open link in new tab",children:(0,i.jsx)("span",{className:"text-[#5D5D5D] dark:text-gray-400",children:(0,i.jsx)(s.A,{name:"Arrowuprightfilled",width:18,height:18})})}),A?(0,i.jsx)("button",{onClick:e=>{e.stopPropagation(),e.preventDefault(),T()},className:"bg-white dark:bg-gray-600 rounded-sm p-1.5 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer transition-colors",title:"Mark as read",children:(0,i.jsx)("span",{className:"text-[#5D5D5D] dark:text-gray-400",children:(0,i.jsx)(s.A,{name:"Check",width:18,height:18})})}):(0,i.jsx)("button",{onClick:e=>{e.stopPropagation(),e.preventDefault(),O()},className:"bg-white dark:bg-gray-600 rounded-sm p-1.5 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer transition-colors",title:"Add to reading list",children:(0,i.jsx)("span",{className:"text-[#5D5D5D] dark:text-gray-400",children:(0,i.jsx)(s.A,{name:"Reading",width:18,height:18})})})]}),(0,i.jsx)(d.A,{isOpen:L,onOpenChange:M,onDelete:W})]})}},54921:(e,t,r)=>{"use strict";r.d(t,{A:()=>g});var i=r(95155);r(12115);var a=r(14381),n=r(20063),l=r(94161),o=r(42138),s=r(79933),d=r(63892),c=r(69542),u=r(83804);function g(e){var t,r,g,h,p,v,m,x,b;let{resource:y,collection:f,collectionId:k,showMarkAsRead:w=!1,hideQuickActions:_=!1}=e,j=(0,n.useRouter)(),{buildResourceUrl:C}=(0,l.j)(),[N]=(0,o.useUpdateResourceStatesMutation)(),{toast:A}=(0,s.dj)(),{isSelectionMode:F,isSelected:D,toggleSelection:E}=(0,c.K)(),R=C(y.id),S=async e=>{e.stopPropagation();try{await N({resourceId:y.id.toString(),states:{in_reading_list:!0}}).unwrap(),A({title:"Added to reading list",description:'"'.concat(y.title||y.file_name||"Untitled",'" has been added to your reading list')})}catch(e){console.error("❌ Failed to add to reading list:",e),A({variant:"destructive",title:"Error",description:"Failed to add to reading list. Please try again."})}},P=async e=>{e.stopPropagation();try{await N({resourceId:y.id.toString(),states:{is_read:!0}}).unwrap(),A({title:"Marked as read",description:'"'.concat(y.title||y.file_name||"Untitled",'" has been marked as read')})}catch(e){console.error("❌ Failed to mark as read:",e),A({variant:"destructive",title:"Error",description:"Failed to mark as read. Please try again."})}},U={id:parseInt(y.id),title:y.title||y.file_name||"Untitled Image",url:y.url||y.image_url,description:y.content||y.title||y.file_name||"Image file",image:y.url||y.image_url||(0,u.j5)(y.title||y.url),thumbnail_url:y.url||y.image_url||(0,u.j5)(y.title||y.url),favicon:null,tags:[],is_favorite:null!=(p=null!=(h=null==(t=y.state)?void 0:t.is_favorite)?h:y.is_favorite)&&p,in_reading_list:null!=(m=null!=(v=null==(r=y.state)?void 0:r.in_reading_list)?v:y.in_reading_list)&&m,is_read:null!=(b=null!=(x=null==(g=y.state)?void 0:g.is_read)?x:y.is_read)&&b,is_deleted:!1,reminder_at:y.reminder_at,has_home_pin:y.has_home_pin},L=y.id.toString(),M=F&&D(L);return(0,i.jsxs)("div",{className:"transition-all duration-200 rounded-md cursor-pointer relative ".concat(M?"ring-2 ring-blue-500 bg-blue-50 dark:bg-blue-500/10":"lg:hover:ring-3 lg:hover:ring-[#0D99FF]"),onClickCapture:e=>{F&&(e.preventDefault(),e.stopPropagation(),E(L))},children:[F&&(0,i.jsx)("div",{className:"absolute left-2 top-1/2 -translate-y-1/2 z-30",children:(0,i.jsx)("div",{className:"w-5 h-5 rounded border-2 flex items-center justify-center transition-all ".concat(M?"bg-blue-500 border-blue-500":"bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600"),children:M&&(0,i.jsx)(d.A,{name:"Check",width:14,height:14,color:"white"})})}),(0,i.jsx)("div",{className:F?"pl-8":"",children:(0,i.jsx)(a.A,{link:U,collection:f,isLinkSelected:!1,isLoading:!1,onSummerize:()=>{},onOpen:()=>{j.push(R,{scroll:!1})},onEdit:()=>{}})}),!_&&(0,i.jsxs)("div",{className:"absolute right-14 top-1/2 -translate-y-1/2 flex gap-1 z-20",children:[y.url&&(0,i.jsx)("button",{onClick:e=>{e.stopPropagation(),y.url&&window.open(y.url,"_blank","noopener,noreferrer")},className:"bg-white dark:bg-gray-600 rounded-sm p-1.5 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer transition-colors",title:"Open link in new tab",children:(0,i.jsx)("span",{className:"text-[#5D5D5D] dark:text-gray-400",children:(0,i.jsx)(d.A,{name:"Arrowuprightfilled",width:18,height:18})})}),w?(0,i.jsx)("button",{onClick:P,className:"bg-white dark:bg-gray-600 rounded-sm p-1.5 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer transition-colors",title:"Mark as read",children:(0,i.jsx)("span",{className:"text-[#5D5D5D] dark:text-gray-400",children:(0,i.jsx)(d.A,{name:"Check",width:18,height:18})})}):(0,i.jsx)("button",{onClick:S,className:"bg-white dark:bg-gray-600 rounded-sm p-1.5 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer transition-colors",title:"Add to reading list",children:(0,i.jsx)("span",{className:"text-[#5D5D5D] dark:text-gray-400",children:(0,i.jsx)(d.A,{name:"Reading",width:18,height:18})})})]})]})}},78084:(e,t,r)=>{"use strict";r.d(t,{A:()=>g});var i=r(95155);r(12115);var a=r(14381),n=r(20063),l=r(94161),o=r(42138),s=r(79933),d=r(63892),c=r(77317),u=r(69542);function g(e){var t,r,g,h,p,v,m,x,b;let{resource:y,collection:f,collectionId:k,showMarkAsRead:w=!1,hideQuickActions:_=!1}
1=e,j=(0,n.useRouter)(),C=(0,c.wA)(),{buildResourceUrl:N}=(0,l.j)(),[A]=(0,o.useUpdateResourceStatesMutation)(),{toast:F}=(0,s.dj)(),{isSelectionMode:D,isSelected:E,toggleSelection:R}=(0,u.K)(),S=N(y.id),P=async e=>{e.stopPropagation();try{await A({resourceId:y.id.toString(),states:{in_reading_list:!0}}).unwrap(),F({title:"Added to reading list",description:'"'.concat(y.title||"Untitled Note",'" has been added to your reading list')})}catch(e){console.error("❌ Failed to add to reading list:",e),F({variant:"destructive",title:"Error",description:"Failed to add to reading list. Please try again."})}},U=async e=>{e.stopPropagation();try{await A({resourceId:y.id.toString(),states:{is_read:!0}}).unwrap(),F({title:"Marked as read",description:'"'.concat(y.title||"Untitled Note",'" has been marked as read')})}catch(e){console.error("❌ Failed to mark as read:",e),F({variant:"destructive",title:"Error",description:"Failed to mark as read. Please try again."})}},L=e=>e?"text"===e.type?e.text||"":Array.isArray(e.content)?e.content.map(e=>L(e)).join(" "):"":"",M={id:parseInt(y.id),title:y.title||"Untitled Note",url:S,description:(()=>{var e,t,r;if((null==(e=y.note_content)?void 0:e.content)&&"object"==typeof y.note_content.content){let e=y.note_content.content;if("doc"===e.type&&Array.isArray(e.content)){let t=L(e).trim();if(t)return t}}if((null==(t=y.note_content)?void 0:t.content)&&Array.isArray(y.note_content.content)){let e=y.note_content.content.map(e=>e.content||"").filter(e=>"string"==typeof e&&e.trim()).join(" ");if(e)return e}if(Array.isArray(y.content)){let e=y.content.map(e=>e.content||"").filter(e=>"string"==typeof e&&e.trim()).join(" ");if(e)return e}return"string"==typeof y.content&&y.content.trim()?y.content:(null==(r=y.note_content)?void 0:r.content)&&"string"==typeof y.note_content.content&&y.note_content.content.trim()?y.note_content.content:"No content"})(),image:"note-icon",thumbnail_url:"note-icon",favicon:null,tags:[],is_favorite:null!=(p=null!=(h=null==(t=y.state)?void 0:t.is_favorite)?h:y.is_favorite)&&p,in_reading_list:null!=(m=null!=(v=null==(r=y.state)?void 0:r.in_reading_list)?v:y.in_reading_list)&&m,is_read:null!=(b=null!=(x=null==(g=y.state)?void 0:g.is_read)?x:y.is_read)&&b,is_deleted:!1,reminder_at:y.reminder_at,has_home_pin:y.has_home_pin},I=y.id.toString(),B=D&&E(I);return(0,i.jsxs)("div",{className:"transition-all duration-200 rounded-md cursor-pointer relative ".concat(B?"ring-2 ring-blue-500 bg-blue-50 dark:bg-blue-500/10":"lg:hover:ring-3 lg:hover:ring-[#0D99FF]"),onMouseEnter:()=>{C(o.linksApi.util.prefetch("getResource",y.id.toString(),{force:!1}))},onClickCapture:e=>{D&&(e.preventDefault(),e.stopPropagation(),R(I))},children:[D&&(0,i.jsx)("div",{className:"absolute left-2 top-1/2 -translate-y-1/2 z-30",children:(0,i.jsx)("div",{className:"w-5 h-5 rounded border-2 flex items-center justify-center transition-all ".concat(B?"bg-blue-500 border-blue-500":"bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600"),children:B&&(0,i.jsx)(d.A,{name:"Check",width:14,height:14,color:"white"})})}),(0,i.jsx)("div",{className:D?"pl-8":"",children:(0,i.jsx)(a.A,{link:M,collection:f,isLinkSelected:!1,isLoading:!1,onSummerize:()=>{},onOpen:()=>{j.push(S,{scroll:!1})},onEdit:()=>{}})}),!_&&(0,i.jsxs)("div",{className:"absolute right-14 top-1/2 -translate-y-1/2 flex gap-1 z-20 bg-gradient-to-l from-white dark:from-gray-600 via-white dark:via-gray-600 to-transparent pl-12",children:[y.url&&(0,i.jsx)("button",{onClick:e=>{e.stopPropagation(),y.url&&window.open(y.url,"_blank","noopener,noreferrer")},className:"bg-white dark:bg-gray-600 rounded-sm p-1.5 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer transition-colors",title:"Open link in new tab",children:(0,i.jsx)("span",{className:"text-[#5D5D5D] dark:text-gray-400",children:(0,i.jsx)(d.A,{name:"Arrowuprightfilled",width:18,height:18})})}),w?(0,i.jsx)("button",{onClick:U,className:"bg-white dark:bg-gray-600 rounded-sm p-1.5 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer transition-colors",title:"Mark as read",children:(0,i.jsx)("span",{className:"text-[#5D5D5D] dark:text-gray-400",children:(0,i.jsx)(d.A,{name:"Check",width:18,height:18})})}):(0,i.jsx)("button",{onClick:P,className:"bg-white dark:bg-gray-600 rounded-sm p-1.5 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer transition-colors",title:"Add to reading list",children:(0,i.jsx)("span",{className:"text-[#5D5D5D] dark:text-gray-400",children:(0,i.jsx)(d.A,{name:"Reading",width:18,height:18})})})]})]})}},80345:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});var i=r(95155),a=r(98053);let n=e=>{let{isOpen:t,onOpenChange:r,onDelete:n,isLoading:l=!1}=e;return(0,i.jsx)(a.Lt,{open:t,onOpenChange:r,children:(0,i.jsxs)(a.EO,{children:[(0,i.jsxs)(a.wd,{children:[(0,i.jsx)(a.r7,{children:"Are you absolutely sure?"}),(0,i.jsx)(a.$v,{children:"This action cannot be undone. This will permanently delete your resource"})]}),(0,i.jsxs)(a.ck,{className:"flex flex-row justify-end space-x-2",children:[(0,i.jsx)(a.Zr,{disabled:l,children:"Cancel"}),(0,i.jsx)(a.Rx,{onClick:n,disabled:l,className:"bg-red-600 hover:bg-red-700 text-white border-0 disabled:opacity-50",style:{backgroundColor:"#dc2626",color:"white",border:"none"},children:l?"Deleting...":"Delete"})]})]})})}},90769:(e,t,r)=>{"use strict";r.d(t,{A:()=>c,C:()=>d});var i=r(95155),a=r(12115),n=r(63892),l=r(86389),o=r(77963);let s=(0,a.createContext)({uploadingFiles:[],removeUploadingFile:()=>{},uploadFiles:()=>{}}),d=()=>(0,a.useContext)(s);
1function c(e){let{collectionId:t,children:r,disabled:d}=e,[c,u]=(0,a.useState)(!1),g=(0,a.useRef)(0),{uploadFiles:h,uploadingFiles:p,removeUploadingFile:v,showUpgradeModal:m,setShowUpgradeModal:x}=(0,o.l)(t);(0,a.useEffect)(()=>{let e=()=>{g.current=0,u(!1)};return window.addEventListener("dragend",e),()=>{window.removeEventListener("dragend",e)}},[]);let b=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),!d&&e.dataTransfer.types.includes("Files")&&(g.current+=1,1===g.current&&u(!0))},[d]),y=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),!d&&e.dataTransfer.types.includes("Files")&&(e.dataTransfer.dropEffect="copy")},[d]),f=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),g.current-=1,g.current<=0&&(g.current=0,u(!1))},[]),k=(0,a.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),g.current=0,u(!1),d)return;let t=Array.from(e.dataTransfer.files);t.length>0&&h(t)},[d,h]);return(0,i.jsx)(s.Provider,{value:{uploadingFiles:p,removeUploadingFile:v,uploadFiles:h},children:(0,i.jsxs)("div",{className:"relative min-h-[calc(100vh-60px)]",onDragEnter:b,onDragOver:y,onDragLeave:f,onDrop:k,children:[r,c&&!d&&(0,i.jsx)("div",{className:"absolute inset-0 z-40 flex items-center justify-center bg-blue-50/50 dark:bg-blue-900/20 border border-dashed border-blue-300/60 dark:border-blue-500/40 rounded-xl pointer-events-none",children:(0,i.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,i.jsx)("div",{className:"w-16 h-16 bg-blue-100/80 dark:bg-blue-800/60 rounded-2xl flex items-center justify-center",children:(0,i.jsx)(n.A,{name:"Upload",width:32,height:32,className:"text-blue-400 dark:text-blue-300"})}),(0,i.jsxs)("div",{className:"text-center",children:[(0,i.jsx)("p",{className:"text-lg font-semibold text-blue-500 dark:text-blue-300",children:"Drop files to upload"}),(0,i.jsx)("p",{className:"text-sm text-blue-400/70 dark:text-blue-400/60 mt-1",children:"Files will be added to this collection"})]})]})}),(0,i.jsx)(l.UpgradeModal,{isOpen:m,onClose:()=>x(!1),featureName:"More Storage",featureDescription:"Upgrade your plan to get more storage space for file uploads."})]})})}}}]);

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.