1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9724],{12273:(e,t,l)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/dashboard",function(){return l(85846)}])},19131:(e,t,l)=>{"use strict";l.d(t,{A:()=>i});var a=l(6029),s=l(45933);function i(e){let{title:t,description:l,icon:i,className:n,sm:r}=e;return(0,a.jsxs)("div",{className:(0,s.cn)("flex items-center",n,r?"gap-2":"gap-3"),children:[(0,a.jsx)("i",{className:(0,s.cn)("text-primary drop-shadow",i,!r&&"text-2xl")}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:(0,s.cn)("capitalize font-thin",!r&&"text-2xl"),children:t}),(0,a.jsx)("p",{className:"text-xs sm:text-sm",children:l})]})]})}l(55729)},23473:(e,t,l)=>{"use strict";l.d(t,{A:()=>d});var a=l(6029),s=l(23645),i=l(19784),n=l(14187),r=l(82203),o=l.n(r),c=l(81278);function d(e){var t;let{link:l}=e,{t:r}=(0,n.Bd)(),d=!!(0,c.useRouter)().pathname.startsWith("/public")||void 0;return(0,a.jsxs)("div",{className:"flex gap-1 text-neutral",children:[(0,s.B8)(l,"monolith")&&(0,a.jsx)(o(),{href:"".concat(d?"/public":"","/preserved/").concat(null==l?void 0:l.id,"?format=").concat(i.Q3.monolith),target:"_blank",onClick:e=>{e.stopPropagation()},className:"hover:opacity-70 duration-100",children:(0,a.jsx)("i",{className:"bi-filetype-html text-md leading-none",title:r("webpage")})}),(0,s.B8)(l,"image")&&(0,a.jsx)(o(),{href:"".concat(d?"/public":"","/preserved/").concat(null==l?void 0:l.id,"?format=").concat((null==l||null==(t=l.image)?void 0:t.endsWith("png"))?i.Q3.png:i.Q3.jpeg),target:"_blank",onClick:e=>{e.stopPropagation()},className:"hover:opacity-70 duration-100",children:(0,a.jsx)("i",{className:"bi-file-earmark-image text-md leading-none",title:r("image")})}),(0,s.B8)(l,"pdf")&&(0,a.jsx)(o(),{href:"".concat(d?"/public":"","/preserved/").concat(null==l?void 0:l.id,"?format=").concat(i.Q3.pdf),target:"_blank",onClick:e=>{e.stopPropagation()},className:"hover:opacity-70 duration-100",children:(0,a.jsx)("i",{className:"bi-file-earmark-pdf text-md leading-none",title:r("pdf")})}),(0,s.B8)(l,"readable")&&(0,a.jsx)(o(),{href:"".concat(d?"/public":"","/preserved/").concat(null==l?void 0:l.id,"?format=").concat(i.Q3.readability),target:"_blank",onClick:e=>{e.stopPropagation()},className:"hover:opacity-70 duration-100",children:(0,a.jsx)("i",{className:"bi-file-earmark-text text-md leading-none",title:r("readable")})})]})}},44756:(e,t,l)=>{"use strict";l.d(t,{A:()=>x});var a=l(6029);l(55729);var s=l(19784),i=l(58578),n=l(639),r=l.n(n);let o=async e=>{let t=Object.keys(e.files).filter(t=>{let l=e.files[t];return t.startsWith("metadata_")&&!l.dir});return JSON.stringify((await Promise.all(t.map(async t=>JSON.parse(await e.files[t].async("string"))||[]))).flat())},c=async(e,t)=>{let l=e.target.files&&e.target.files[0];if(l){let e=new FileReader;t===s.Km.omnivore?e.readAsArrayBuffer(l):e.readAsText(l,"UTF-8"),e.onload=async function(e){var l;let a=i.oR.loading("Importing..."),n=null==(l=e.target)?void 0:l.result;if(t===s.Km.omnivore)try{let e=await r().loadAsync(n);n=await o(e)}catch(e){console.error("Failed to parse zip file:",e),i.oR.dismiss(a),i.oR.error("Failed to parse the zip file. Please try again.");return}let c={format:t,data:n};try{let e=await fetch("/api/v1/migration",{method:"POST",body:JSON.stringify(c)});if(!e.ok){let t=await e.json();i.oR.dismiss(a),i.oR.error(t.response||"Failed to import bookmarks. Please try again.");return}await e.json(),i.oR.dismiss(a),i.oR.success("Imported the Bookmarks! Reloading the page..."),setTimeout(()=>{location.reload()},2e3)}catch(e){console.error("Request failed",e),i.oR.dismiss(a),i.oR.error("An error occurred while importing bookmarks. Please check the logs for more info.")}},e.onerror=function(e){console.log("Error reading file:",e),i.oR.error("Failed to read the file. Please make sure the file is correct and try again.")}}};var d=l(14187),u=l(73639),m=l(35270);let x=e=>{let{}=e,{t}=(0,d.Bd)();return(0,a.jsxs)(u.rI,{children:[(0,a.jsx)(u.ty,{asChild:!0,children:(0,a.jsxs)(m.$,{variant:"metal",children:[(0,a.jsx)("i",{className:"bi-cloud-upload text-xl"}),t("import_links")]})}),(0,a.jsx)(u.SQ,{side:"bottom",align:"start",children:[{id:"import-linkwarden-file",format:s.Km.linkwarden,label:t("from_linkwarden")},{id:"import-html-file",format:s.Km.htmlFile,label:t("from_html")},{id:"import-pocket-file",format:s.Km.pocket,label:t("from_pocket")},{id:"import-wallabag-file",format:s.Km.wallabag,label:t("from_wallabag")},{id:"import-omnivore-file",format:s.Km.omnivore,label:t("from_omnivore")}].map(e=>(0,a.jsx)(u._2,{asChild:!0,onSelect:e=>e.preventDefault(),children:(0,a.jsxs)("label",{htmlFor:e.id,className:"whitespace-nowrap w-full",children:[e.label,(0,a.jsx)("input",{type:"file",id:e.id,accept:"import-html-file"===e.id?".html":"import-omnivore-file"===e.id?".zip":"import-pocket-file"===e.id?".csv":".json",className:"hidden",onChange:t=>c(t,e.format)})]})},e.id))})]})}},47088:(e,t,l)=>{"use strict";l.d(t,{A:()=>
1o});var a=l(6029),s=l(81278),i=l(50212),n=l(40311),r=l(35270);function o(e){let{link:t,btnStyle:l}=e,o=(0,n.A)();(0,s.useRouter)().pathname.startsWith("/public");let c=null!=t&&!!t.pinnedBy&&!!t.pinnedBy[0];return(0,a.jsx)(r.$,{variant:"simple",size:"icon",className:(0,i.A)("absolute top-3 right-[3.25rem] group-hover:opacity-100 group-focus-within:opacity-100 opacity-0 duration-100 text-neutral",l),onClick:()=>o(t),children:(0,a.jsx)("i",{title:"Pin",className:(0,i.A)("text-xl",c?"bi-pin-fill":"bi-pin")})})}},47175:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});var a=l(6029),s=l(69566),i=l(82203),n=l.n(i);let r=l(55729).memo(function(e){let{link:t,collection:l,isPublicRoute:i}=e;return!i&&(null==l?void 0:l.name)?(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)(n(),{href:"/collections/".concat(t.collection.id),onClick:e=>{e.stopPropagation()},className:"flex items-center gap-1 max-w-full w-fit hover:opacity-70 duration-100 select-none",title:null==l?void 0:l.name,children:[t.collection.icon?(0,a.jsx)(s.A,{icon:t.collection.icon,size:20,weight:t.collection.iconWeight||"regular",color:t.collection.color}):(0,a.jsx)("i",{className:"bi-folder-fill text-lg",style:{color:t.collection.color}}),(0,a.jsx)("p",{className:"truncate",children:null==l?void 0:l.name})]})}):null})},53649:(e,t,l)=>{"use strict";l.d(t,{A:()=>d});var a=l(6029),s=l(73639),i=l(9320),n=l(19784),r=l(14187),o=l(35270),c=l(55729);function d(e){let{viewMode:t,setViewMode:l,dashboard:d}=e,{settings:u,updateSettings:m}=(0,i.A)(e=>e),{t:x}=(0,r.Bd)();(0,c.useEffect)(()=>{m({viewMode:t})},[t,m]);let p=Object.keys(u.show).filter(e=>d||u.viewMode!==n.nE.List?!d&&u.viewMode!==n.nE.Card||"tags"!==e&&"description"!==e:"tags"!==e&&"image"!==e&&"description"!==e);return(0,a.jsxs)(s.rI,{children:[(0,a.jsx)(s.ty,{asChild:!0,children:(0,a.jsx)(o.$,{variant:"ghost",size:"icon",children:d||t===n.nE.Card?(0,a.jsx)("i",{className:"bi-grid text-neutral"}):t===n.nE.Masonry?(0,a.jsx)("i",{className:"bi-columns-gap text-neutral"}):(0,a.jsx)("i",{className:"bi-view-stacked text-neutral"})})}),(0,a.jsxs)(s.SQ,{sideOffset:4,align:"end",children:[!d&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"px-1",children:[(0,a.jsx)("p",{className:"text-xs font-bold text-neutral mb-1",children:x("view")}),(0,a.jsx)("div",{className:"flex gap-1 border-border",children:[n.nE.Card,n.nE.Masonry,n.nE.List].map(e=>{let s=e===n.nE.Card?()=>(0,a.jsx)("i",{className:"bi-grid w-4 h-4 text-neutral"}):e===n.nE.Masonry?()=>(0,a.jsx)("i",{className:"bi-columns-gap w-4 h-4 text-neutral"}):()=>(0,a.jsx)("i",{className:"bi-view-stacked w-4 h-4 text-neutral"});return(0,a.jsx)(o.$,{variant:"ghost",size:"sm",onClick:()=>{l(e),m({viewMode:e})},className:"flex-1 "+(t===e?"bg-primary/20 hover:bg-primary/20":"hover:bg-neutral/20"),children:(0,a.jsx)(s,{})},e)})})]}),(0,a.jsx)(s.mB,{})]}),(0,a.jsx)("p",{className:"text-xs font-bold text-neutral px-1 mb-1",children:x("show")}),p.map(e=>(0,a.jsx)(s.hO,{checked:u.show[e],onSelect:t=>{t.preventDefault(),m({show:{...u.show,[e]:!u.show[e]}})},children:x(e)},e)),!d&&u.viewMode!==n.nE.List&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.mB,{}),(0,a.jsxs)("div",{className:"px-1",children:[(0,a.jsxs)("p",{className:"text-xs font-bold text-neutral mb-1",children:[x("columns"),":"," ",0===u.columns?x("default"):u.columns]}),(0,a.jsx)("input",{type:"range",min:0,max:8,step:1,value:u.columns,onChange:e=>{m({columns:Number(e.target.value)})},className:"range range-xs range-primary w-full"}),(0,a.jsx)("div",{className:"flex justify-between text-xs text-neutral select-none px-1",children:Array.from({length:9}).map((e,t)=>(0,a.jsx)("span",{children:"|"},t))})]})]})]})]})}},55856:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});var a=l(6029),s=l(82203),i=l.n(s),n=l(55729);let r=n.memo(function(e){let{link:t}=e,[l,s]=(0,n.useState)("");return(0,n.useEffect)(()=>{if("url"===t.type&&t.url)try{s(new URL(t.url).host.toLowerCase())}catch(e){console.log(e)}},[t]),t.url&&l?(0,a.jsxs)(i(),{href:t.url||"",target:"_blank",title:t.url||"",onClick:e=>{e.stopPropagation()},className:"flex gap-1 item-center select-none text-neutral hover:opacity-70 duration-100 max-w-full w-fit",children:[(0,a.jsx)("i",{className:"bi-l
1ink-45deg text-lg leading-none"}),(0,a.jsx)("p",{className:"text-xs truncate",children:l})]}):(0,a.jsxs)("div",{className:"flex gap-1 item-center select-none text-neutral duration-100 max-w-full w-fit",children:[(0,a.jsx)("i",{className:(()=>{switch(t.type){case"pdf":return"bi-file-earmark-pdf";case"image":return"bi-file-earmark-image";default:return"bi-link-45deg"}})()+" text-md leading-none"}),(0,a.jsx)("p",{className:"text-xs truncate",children:t.type})]})})},58503:(e,t,l)=>{"use strict";l.d(t,{A:()=>i});var a=l(19784),s=l(23319);let i=(e,t,l)=>{if(t.linksRouteTo===s.LinksRouteTo.DETAILS)l();else{let l=(e=>{let{link:t,preference:l}=e;if("ORIGINAL"===l&&"url"===t.type)return null;if("PDF"===l||"pdf"===t.type)return t.pdf&&"unavailable"!==t.pdf?a.Q3.pdf:null;if("READABLE"===l&&"url"===t.type)return t.readable&&"unavailable"!==t.readable?a.Q3.readability:null;if("SCREENSHOT"===l||"image"===t.type){var s;return t.image&&"unavailable"!==t.image?(null==t||null==(s=t.image)?void 0:s.endsWith("png"))?a.Q3.png:a.Q3.jpeg:null}if("MONOLITH"!==l)return null;else return t.monolith&&"unavailable"!==t.monolith?a.Q3.monolith:null})({link:e,preference:t.linksRouteTo});window.open(null!==l?"/preserved/".concat(null==e?void 0:e.id,"?format=").concat(l):e.url,"_blank")}}},85846:(e,t,l)=>{"use strict";l.r(t),l.d(t,{__N_SSP:()=>es,default:()=>ei});var a=l(6029),s=l(43444),i=l(55729),n=l(82203),r=l.n(n),o=l(58578);function c(e){let{name:t,value:l,icon:s}=e;return(0,a.jsxs)("div",{className:"flex items-center justify-between w-full rounded-xl border border-neutral-content p-3 bg-gradient-to-tr from-neutral-content/70 to-50% to-base-200",children:[(0,a.jsx)("div",{className:"w-14 aspect-square flex justify-center items-center bg-primary/20 rounded-xl select-none",children:(0,a.jsx)("i",{className:"".concat(s," text-primary text-3xl drop-shadow")})}),(0,a.jsxs)("div",{className:"ml-4 flex flex-col justify-center",children:[(0,a.jsx)("p",{className:"text-neutral text-xs tracking-wider text-right",children:t}),(0,a.jsx)("p",{className:"font-thin text-4xl text-primary mt-0.5 text-right",children:l||0})]})]})}var d=l(25530),u=l(19131),m=l(14187),x=l(85492),p=l(23645),h=l(34169),f=l(12482),b=l(93251),g=l(16932),j=l(35460),v=l(38544),y=l(43003),N=l(32764),w=l(35270),k=l(36919);function _(e){let{onClose:t,submit:l}=e,{t:s}=(0,m.Bd)(),[n,r]=(0,i.useState)("rather_not_say"),[o,c]=(0,i.useState)("");return(0,a.jsxs)(N.A,{toggleModal:t,children:[(0,a.jsx)("p",{className:"text-xl font-thin",children:s("quick_survey")}),(0,a.jsx)(k.w,{className:"my-3"}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)("p",{children:s("how_did_you_discover_linkwarden")}),(0,a.jsxs)("select",{onChange:e=>{r(e.target.value),c("")},className:"select border border-neutral-content focus:outline-none focus:border-primary duration-100 w-full bg-base-200 rounded-[0.375rem] min-h-0 h-[2.625rem] leading-4 p-2",children:[(0,a.jsx)("option",{value:"rather_not_say",children:s("rather_not_say")}),(0,a.jsx)("option",{value:"search_engine",children:s("search_engine")}),(0,a.jsx)("option",{value:"people_recommendation",children:s("people_recommendation")}),(0,a.jsx)("option",{value:"reddit",children:s("reddit")}),(0,a.jsx)("option",{value:"github",children:s("github")}),(0,a.jsx)("option",{value:"twitter",children:s("twitter")}),(0,a.jsx)("option",{value:"mastodon",children:s("mastodon")}),(0,a.jsx)("option",{value:"lemmy",children:s("lemmy")}),(0,a.jsx)("option",{value:"other",children:s("other")})]}),"other"===n&&(0,a.jsx)("input",{type:"text",placeholder:s("please_specify"),onChange:e=>{c(e.target.value)},value:o,className:"input border border-neutral-content focus:border-primary focus:outline-none duration-100 w-full bg-base-200 rounded-[0.375rem] min-h-0 h-[2.625rem] leading-4 p-2"}),(0,a.jsx)(w.$,{className:"ml-auto mt-3",variant:"primary",onClick:()=>l(n,o),children:s("submit")})]})]})}var S=l(44756),E=l(73639),A=l(83248),T=l(23319),L=l(17358),C=l(80118),I=l(70047),D=l(16138),R=l(23994);function O(){let{t:e}=(0,m.Bd)(),{data:t}=(0,v.Jd)(),{data:l=[]}=(0,x.Xd)(),s=(()=>{let e=(0,b.jE)();return(0,g.n)({mutationFn:async e=>{let t=await fetch("/api/v2/dashboard",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),l=await t.json();if(!t.ok)throw Error(l.response);return l},onMutate:async t=>{await e.cancelQueries({queryKey:["user"]});let l=e.getQueryData(["user"]);return e.setQueryData(["user"],e=>{let l=t.filter(e=>e.enabled).sort((e,t)=>
1{var l,a;return(null!=(l=e.order)?l:0)-(null!=(a=t.order)?a:0)});return{...e,dashboardSections:l}}),{previousData:l}},onError:(t,l,a)=>{e.setQueryData(["user"],null==a?void 0:a.previousData)},onSuccess:async()=>{await e.invalidateQueries({queryKey:["user"]}),await e.invalidateQueries({queryKey:["dashboardData"]})}})})(),[n,r]=(0,i.useState)(""),c=(0,I.MS)(I.cA,{activationConstraint:{distance:10}}),d=(0,I.MS)(I.IG,{activationConstraint:{delay:200,tolerance:5}}),u=(0,I.FR)(c,d),[p,h]=(0,i.useState)((null==t?void 0:t.dashboardSections)||[]);(0,i.useEffect)(()=>{h((null==t?void 0:t.dashboardSections)||[])},[null==t?void 0:t.dashboardSections]);let f=(e,t)=>{let l=p.find(l=>l.type===e&&(e!==T.DashboardSectionType.COLLECTION||l.collectionId===t));return null==l?void 0:l.order},j=(e,t)=>p.some(l=>l.type===e&&(e!==T.DashboardSectionType.COLLECTION||l.collectionId===t)),y=(0,i.useMemo)(()=>[{type:T.DashboardSectionType.STATS,name:e("dashboard_stats"),enabled:j(T.DashboardSectionType.STATS),order:f(T.DashboardSectionType.STATS)},{type:T.DashboardSectionType.RECENT_LINKS,name:e("recent_links"),enabled:j(T.DashboardSectionType.RECENT_LINKS),order:f(T.DashboardSectionType.RECENT_LINKS)},{type:T.DashboardSectionType.PINNED_LINKS,name:e("pinned_links"),enabled:j(T.DashboardSectionType.PINNED_LINKS),order:f(T.DashboardSectionType.PINNED_LINKS)}],[p]),N=(0,i.useMemo)(()=>l.map(e=>({type:T.DashboardSectionType.COLLECTION,name:e.name,collectionId:e.id,enabled:j(T.DashboardSectionType.COLLECTION,e.id),order:f(T.DashboardSectionType.COLLECTION,e.id)})),[l,p]),k=(0,i.useMemo)(()=>[...y,...N],[N,y]),_=(0,i.useMemo)(()=>{let e=k;return n.trim()&&(e=e.filter(e=>e.name.toLowerCase().includes(n.toLowerCase()))),[...e.filter(e=>e.enabled).sort((e,t)=>void 0!==e.order&&void 0!==t.order?e.order-t.order:void 0!==e.order?-1:+(void 0!==t.order)),...e.filter(e=>!e.enabled)]},[k,n]),S=e=>{var t;return"".concat(e.type,"-").concat(null!=(t=e.collectionId)?t:"default")},C=e=>{let t=k.filter(e=>e.enabled),l=t.length>0?Math.max(...t.map(e=>{var t;return null!=(t=e.order)?t:0})):-1,a=k.map(t=>t.type===e.type&&t.collectionId===e.collectionId?{...t,enabled:!t.enabled,order:t.enabled?void 0:l+1}:t);s.mutateAsync(a,{onSettled:(e,t)=>{t&&o.Ay.error(t.message)}})},R=_.filter(e=>e.enabled).map(S);return(0,a.jsxs)(E.rI,{modal:!0,children:[(0,a.jsx)(E.ty,{asChild:!0,children:(0,a.jsxs)(w.$,{variant:"ghost",size:"sm",className:"h-8",children:[(0,a.jsx)("i",{className:"bi-pencil text-neutral"}),e("edit_layout")]})}),(0,a.jsx)(E.SQ,{className:"min-w-72 pt-1 px-0 pb-0 select-none",align:"end",children:(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-1 mx-2",children:[(0,a.jsx)("p",{className:"text-xs font-bold text-neutral mb-1",children:e("display_on_dashboard")}),(0,a.jsx)(A.A,{value:n,onChange:e=>r(e.target.value),className:"py-0 bg-base-100",placeholder:e("search")})]}),(0,a.jsx)(I.Mp,{modifiers:[D.gj],onDragEnd:e=>{let{active:t,over:l}=e;if(!l||t.id===l.id)return;let a=t.id,i=l.id,n=_.find(e=>S(e)===a),r=_.find(e=>S(e)===i);(null==n?void 0:n.enabled)&&(null==r?void 0:r.enabled)&&((e,t)=>{if(e===t)return;let l=_.filter(e=>e.enabled),a=l.findIndex(t=>S(t)===e),i=l.findIndex(e=>S(e)===t);if(a<0||i<0)return;let n=[...l],[r]=n.splice(a,1);n.splice(i,0,r);let c=[...n.map((e,t)=>({...e,order:t})),..._.filter(e=>!e.enabled)];s.mutateAsync(c,{onSettled:(e,t)=>{t&&o.Ay.error(t.message)}})})(a,i)},sensors:u,children:(0,a.jsx)(L.gB,{items:R,strategy:L._G,children:(0,a.jsxs)("ul",{className:"max-h-60 overflow-y-auto px-2 pb-2",children:[_.map(e=>{var t;let s="COLLECTION"===e.type?null==(t=l.find(t=>t.id===e.collectionId))?void 0:t.color:void 0;return(0,a.jsx)(B,{section:{...e,color:s},onCheckboxChange:C},S(e))}),0===_.length&&(0,a.jsx)("li",{className:"text-sm py-2 text-center text-neutral",children:e("no_results_found")})]})})})]})})]})}function B(e){var t,l,s;let{section:i,onCheckboxChange:n}=e,r="".concat(i.type,"-").concat(null!=(t=i.collectionId)?t:"default"),{attributes:o,listeners:c,setNodeRef:d,transform:u,transition:m,isDragging:x}=(0,L.gl)({id:r,disabled:!i.enabled}),p={transform:C.Ks.Transform.toString(u),transition:m};return(0,a.jsxs)("li",{ref:d,style:p,...o,...c,className:(0,R.cn)("select-none py-1 px-1 flex items-center justify-between",i.enabled?"cursor-grab active:cursor-grabbing":"cursor-default",x&&"opacity-50"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("input",{id:"section-".concat(i.type,"-").concat(null!=(l=i.collectionId)?l:"default"),className:"checkbox checkbox-primary",type:"checkbox",checked:i.enabled,onChange:()=>n(i)}),(0,a.jsxs)("label",{htmlFor:"section-".concat(i.type,"-").concat(null!=(s=i.collectionId)?s:"default"),className:"text-sm pointer-events-none ".concat(i.enabled?"opacity-100":"opacity-50"),children:[(0,a.jsx)("i",{className:"bi-".concat("STATS"===i.type?"bar-chart-line":"RECENT_LINKS"===i.t
1ype?"clock":"PINNED_LINKS"===i.type?"pin":"folder-fill"," ").concat("COLLECTION"!==i.type?"text-primary":""," mr-1"),style:"COLLECTION"===i.type?{color:i.color}:{}}),i.name]})]}),(0,a.jsx)("i",{className:"bi-grip-vertical text-neutral ".concat(i.enabled?"opacity-100":"opacity-50")})]})}var M=l(9320),P=l(19784),F=l(21485),K=l(4796),Q=l(2595),z=l(47175),W=l(8588),q=l.n(W),J=l(81278),X=l(58503),$=l(6472),G=l(23473),U=l(55856),H=l(47088);function V(e){let{links:t,isLoading:l,type:s}=e,n=(0,i.useRef)(null),r=(0,i.useRef)(null),[o,c]=(0,i.useState)(!1),[d,u]=(0,i.useState)(!1),m=()=>{let e=n.current;e&&(c(e.scrollLeft>0),u(e.scrollWidth-e.clientWidth-e.scrollLeft>1))};return(0,i.useEffect)(()=>{m();let e=new ResizeObserver(m);return n.current&&e.observe(n.current),r.current&&e.observe(r.current),()=>e.disconnect()},[]),(0,a.jsxs)("div",{className:"relative w-full min-h-fit",children:[(0,a.jsx)("div",{ref:n,onScroll:m,className:"flex overflow-x-auto overflow-y-hidden hide-scrollbar w-full min-h-fit isolate",children:(0,a.jsx)("div",{ref:r,className:"flex gap-3 min-h-fit",children:l?(0,a.jsxs)("div",{className:"flex flex-col gap-4 min-w-60 w-60",children:[(0,a.jsx)("div",{className:"skeleton h-40 w-full"}),(0,a.jsx)("div",{className:"skeleton h-3 w-2/3"}),(0,a.jsx)("div",{className:"skeleton h-3 w-full"}),(0,a.jsx)("div",{className:"skeleton h-3 w-full"}),(0,a.jsx)("div",{className:"skeleton h-3 w-1/3"})]}):null==t?void 0:t.map((e,t)=>(0,a.jsx)(Z,{link:e,dashboardType:s},t))})}),(0,a.jsx)("div",{className:(0,R.cn)("absolute left-0 inset-y-0 w-6 bg-gradient-to-r from-base-100 to-transparent pointer-events-none transition-opacity duration-200",o?"opacity-100":"opacity-0")}),(0,a.jsx)("div",{className:(0,R.cn)("absolute right-0 inset-y-0 w-6 bg-gradient-to-l from-base-100 to-transparent pointer-events-none transition-opacity duration-200",d?"opacity-100":"opacity-0")})]})}function Z(e){let{link:t,editMode:l,dashboardType:s}=e,{t:n}=(0,m.Bd)(),{attributes:r,listeners:o,setNodeRef:c,isDragging:d}=(0,I.PM)({id:"".concat(t.id,"-").concat(s),data:{linkId:t.id,link:t,dashboardType:s}}),{data:u=[]}=(0,x.Xd)(),{data:h}=(0,v.Jd)(),{settings:{show:f}}=(0,M.A)(),b=!!(0,J.useRouter)().pathname.startsWith("/public"),[g,j]=(0,i.useState)(u.find(e=>e.id===t.collection.id));(0,i.useEffect)(()=>{j(u.find(e=>e.id===t.collection.id))},[u,t]);let[y,N]=(0,i.useState)(!1);return(0,a.jsx)("div",{ref:c,className:(0,R.cn)(d?"opacity-30":"opacity-100","relative group touch-manipulation select-none"),children:(0,a.jsxs)("div",{className:"min-w-60 w-60 border border-solid border-neutral-content bg-base-200 duration-100 rounded-xl relative group h-full",children:[(0,a.jsxs)("div",{className:"rounded-xl cursor-pointer h-full w-full flex flex-col justify-between",onClick:()=>!l&&(0,X.A)(t,h,()=>N(!0)),...o,...r,children:[f.image&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"relative rounded-t-xl h-40 overflow-hidden",children:[(0,p.B8)(t,"preview")?(0,a.jsx)(q(),{src:"/api/v1/archives/".concat(t.id,"?format=").concat(P.Q3.jpeg,"&preview=true&updatedAt=").concat(t.updatedAt),width:1280,height:720,alt:"",className:"rounded-t-xl select-none object-cover z-10 h-40 w-full shadow opacity-80 scale-105",style:f.icon?{filter:"blur(1px)"}:void 0,draggable:"false",onError:e=>{e.target.style.display="none"},unoptimized:!0}):"unavailable"===t.preview?(0,a.jsx)("div",{className:"bg-gray-50 h-40 bg-opacity-80"}):(0,a.jsx)("div",{className:"h-40 bg-opacity-80 skeleton rounded-none"}),f.icon&&(0,a.jsx)("div",{className:"absolute top-0 left-0 right-0 bottom-0 rounded-t-xl flex items-center justify-center rounded-md",children:(0,a.jsx)($.A,{link:t})}),f.preserved_formats&&"url"===t.type&&(0,p.Zp)(t)&&(0,a.jsx)("div",{className:"absolute bottom-0 right-0 m-2 bg-base-200 bg-opacity-60 px-1 rounded-md",children:(0,a.jsx)(G.A,{link:t})})]}),(0,a.jsx)(k.w,{})]}),(0,a.jsxs)("div",{className:"flex flex-col justify-between h-full min-h-11",children:[(0,a.jsxs)("div",{className:"p-3 flex flex-col justify-between h-full gap-2",children:[f.name&&(0,a.jsx)("p",{className:"line-clamp-2 w-full text-primary text-sm",children:(0,F.A)(t.name)}),f.link&&(0,a.jsx)(U.A,{link:t})]}),(f.collection||f.date)&&(0,a.jsxs)("div",{children:[(0,a.jsx)(k.w,{className:"mb-1"}),(0,a.jsxs)("div",{className:"flex justify-between items-center text-xs text-neutral px-3 pb-1 gap-2",children:[f.collection&&!b&&(0,a.jsx)("div",{className:"cursor-pointer truncate",children:(0,a.jsx)(z.A,{link:t,collection:g,isPublicRoute:!1})}),f.date&&(0,a.jsx)(Q.A,{link:t})]})]})]})]}),(0,a.jsx)("div",{className:"absolute pointer-events-none top-0 left-0 right-0 bottom-0 bg-base-100 bg-opacity-0 group-hover:bg-opacity-20 group-focus-within:opacity-20 rounded-xl duration-100"}),(0,a.jsx)(K.A,{link:t,t:n,linkModal:y,setLinkModal:e=>N(e),className:"absolute top-3 right-3 group-hover:opacity-100 group-focus-within:opacity-100 opacity-0 duration-100 text-neutral z-20"}),!b&&(0,a.jsx)(H.A,{link:t})]})})}var Y=l(53649),ee=l(50212),et=l(69566),el=l(38970);let ea=()=>{let{t:e}=(0,m.Bd)(),{data:t=[]}
1=(0,x.Xd)(),{data:{links:l=[],numberOfPinnedLinks:s,numberOfTags:n=0,collectionLinks:r={}}={links:[]},...c}=(e=>{let t;return t=(0,j.useSession)().status,(0,f.I)({queryKey:["dashboardData"],queryFn:async()=>{let t=await fetch("/api/v2/dashboard",(null==e?void 0:e.session)?{headers:{Authorization:"Bearer ".concat(e.session)}}:void 0),l=await t.json();if(!t.ok)throw Error((null==l?void 0:l.response)||"Failed to fetch dashboard data.");return l.data},enabled:"authenticated"===t,refetchInterval:e=>{var t,l;let a=e.state.data;if(!a)return!1;let s=[...null!=(t=a.links)?t:[],...Object.values(null!=(l=a.collectionLinks)?l:{}).flat()];return!!(0,p.QW)(s)&&h.TU}})})(),{data:u}=(0,v.Jd)(),{data:b}=(0,y.UK)(),[g,N]=(0,i.useState)(0),[w,k]=(0,i.useState)((null==u?void 0:u.dashboardSections)||[]);(0,i.useEffect)(()=>{k((null==u?void 0:u.dashboardSections)||[])},[null==u?void 0:u.dashboardSections]);let[S,E]=(0,i.useState)(localStorage.getItem("viewMode")||P.nE.Card);(0,i.useEffect)(()=>{N(t.reduce((e,t)=>e+t._count.links,0))},[t]),(0,i.useEffect)(()=>{(null==b?void 0:b.STRIPE_ENABLED)&&u&&u.id&&null===u.referredBy&&new Date().getTime()-new Date(u.createdAt).getTime()>2592e5&&setTimeout(()=>{I(!0)},1e3)},[u,b]);let A=(0,i.useMemo)(()=>[...w].sort((e,t)=>{var l,a;return(null!=(l=e.order)?l:Number.MAX_SAFE_INTEGER)-(null!=(a=t.order)?a:Number.MAX_SAFE_INTEGER)}),[w]),[T,L]=(0,i.useState)(!1),[C,I]=(0,i.useState)(!1),D=(0,v.Qc)(),[R,B]=(0,i.useState)(!1),M=async(t,l)=>{if(R)return;B(!0);let a=o.oR.loading(e("applying"));await D.mutateAsync({...u,referredBy:"other"===t?"Other: "+l:t},{onSettled:(t,l)=>{console.log(t,l),B(!1),o.oR.dismiss(a),l?o.oR.error(l.message):(o.oR.success(e("thanks_for_feedback")),I(!1))}})};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"p-3 flex flex-col gap-3 grow",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-2xl drop-shadow",children:[(0,a.jsx)("i",{className:"bi-house-fill text-primary"}),(0,a.jsx)("p",{className:"font-thin",children:e("dashboard")})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(O,{}),(0,a.jsx)(Y.A,{viewMode:S,setViewMode:E,dashboard:!0})]})]}),A[0]?null==A?void 0:A.map((i,o)=>(0,a.jsx)(en,{sectionData:i,t:e,collection:t.find(e=>e.id===i.collectionId),collectionLinks:i.collectionId?r[i.collectionId]:[],links:l,numberOfTags:n,numberOfLinks:g,collectionsLength:t.length,numberOfPinnedLinks:s,dashboardData:c,setNewLinkModal:L},o)):(0,a.jsxs)("div",{className:"h-full flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"xl:flex flex flex-col sm:grid grid-cols-2 gap-4 xl:flex-row xl:justify-evenly xl:w-full",children:[(0,a.jsx)("div",{className:"skeleton h-20 w-full"}),(0,a.jsx)("div",{className:"skeleton h-20 w-full"}),(0,a.jsx)("div",{className:"skeleton h-20 w-full"}),(0,a.jsx)("div",{className:"skeleton h-20 w-full"})]}),(0,a.jsx)("div",{className:"skeleton h-full"}),(0,a.jsx)("div",{className:"skeleton h-full"}),(0,a.jsx)("div",{className:"skeleton h-full"})]})]}),C&&(0,a.jsx)(_,{submit:M,onClose:()=>{I(!1)}}),T&&(0,a.jsx)(d.A,{onClose:()=>{L(!1)}})]})};ea.getLayout=function(e){return(0,a.jsx)(s.A,{children:e})};var es=!0;let ei=ea,en=e=>{let{sectionData:t,t:l,collection:s,links:i,numberOfTags:n,numberOfLinks:o,collectionsLength:d,numberOfPinnedLinks:m,dashboardData:x,collectionLinks:p,setNewLinkModal:h}=e;switch(t.type){case T.DashboardSectionType.STATS:return(0,a.jsxs)("div",{className:"xl:flex flex flex-col sm:grid grid-cols-2 gap-3 xl:flex-row xl:justify-evenly xl:w-full",children:[(0,a.jsx)(c,{name:l(1===o?"link":"links"),value:o,icon:"bi-link-45deg"}),(0,a.jsx)(c,{name:l(1===d?"collection":"collections"),value:d,icon:"bi-folder"}),(0,a.jsx)(c,{name:l(1===n?"tag":"tags"),value:n,icon:"bi-hash"}),(0,a.jsx)(c,{name:l("pinned"),value:m,icon:"bi-pin-angle"})]});case T.DashboardSectionType.RECENT_LINKS:return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("div",{className:"flex gap-2 items-center",children:(0,a.jsx)(u.A,{icon:"bi-clock-history",title:l("recent_links"),sm:!0})}),(0,a.jsxs)(r(),{href:"/links",className:"flex items-center text-sm text-black/75 dark:text-white/75 gap-2 cursor-pointer",children:[l("view_all"),(0,a.jsx)("i",{className:"bi-chevron-right text-sm"})]})]}),x.isLoading||i&&i[0]&&!x.isLoading?(0,a.jsx)(V,{type:"recent",links:i,isLoading:x.isLoading}):(0,a.jsxs)("div",{className:"grow flex flex-col gap-2 justify-center border border-solid border-neutral-content w-full mx-auto p-10 rounded-xl bg-base-200 bg-gradient-to-tr from-neutral-content/70 to-50% to-base-200",children:[(0,a.jsx)("p",{className:"text-center text-xl",children:l("view_added_links_here")}),(0,a.jsx)("p",{className:"text-center mx-auto max-w-96 w-fit text-neutral text-sm mt-2",children:l("view_added_links_here_desc")}),(0,a.jsxs)("div",{className:"text-center w-full mt-4 flex flex-wrap gap-4 justify-center",children:[(0,a.jsxs)(w.$,{onClick:()=>{h(!0)},variant:"primary",children:[(0,a.jsx)("i",{className:"bi-plus-lg text-xl"}),l("add_link")]}),(0,a.jsx)(S.A,{})]})]})]});case T.DashboardSectionType.PINNED_LINKS:{let e=null==i?void 0:i.some(e=>e.pinnedBy&&e.pinnedBy[0]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("div",{className:"flex gap-2 items-center",children:(0,a.jsx)(u.A,{icon:"bi-pin-angle",title:l("pinned_links"),sm:!0})}),(0,a.jsxs)(r(),{href:"/links/pinned",className:"flex items-center text-sm text-black/75 dark:text-white/75 gap-2 cursor-pointer",children:[l("view_all"),(0,a.jsx)("i",{className:"bi-chevron-right text-sm "})]})]}),(0,a.jsx)(el.A,{id:"pinned-links-section",data:{name:"pinned-links"},className:(0,ee.A)(!x.isLoading&&!e&&"grow flex flex-col"),children:x.isLoading||e?(0,a.jsx)(V,{links:i.filter(e=>e.pinnedBy&&e.pinnedBy[0]),isLoading:x.isLoading}):(0,a.jsxs)("div",{className:"grow flex flex-col gap-2 justify-center border border-solid border-neutral-content w-full mx-auto p-10 rounded-xl bg-base-200 bg-gradient-to-tr from-neutral-content/70 to-50% to-base-200",children:[(0,a.jsx)("i",{className:"bi-pin mx-auto text-6xl text-primary"}),(0,a.jsx)("p",{className:"text-center text-xl",children:l("pin_favorite_links_here")}),(0,a.jsx)("p",{className:"text-center mx-auto max-w-96 w-fit text-neutral text-sm",children:l("pin_favorite_links_here_desc")})]})})]})}case T.DashboardSectionType.COLLECTION:{let e=(null==p?void 0:p.length)>0;return(null==s?void 0:s.id)&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("div",{className:"flex gap-2 items-center",children:(0,a.jsxs)("div",{className:(0,ee.A)("flex items-center gap-2"),children:[s.icon?(0,a.jsx)(et.A,{icon:s.icon,color:s.color||"#0ea5e9"}):(0,a.jsx)("i",{className:"bi-folder-fill text-primary text-2xl drop-shadow",style:{color:s.color||"#0ea5e9"}}),(0,a.jsx)("div",{children:(0,a.jsx)("p",{className:"capitalize font-thin",children:s.name})})]})}),(0,a.jsxs)(r(),{href:"/collections/".concat(s.id),className:"flex items-center text-sm text-black/75 dark:text-white/75 gap-2 cursor-pointer whitespace-nowrap",children:[l("view_all"),(0,a.jsx)("i",{className:"bi-chevron-right text-sm"})]})]}),(0,a.jsx)(el.A,{id:"dashboard-".concat(s.id),data:{id:s.id,name:s.name,ownerId:s.ownerId,type:"collection"},className:(0,ee.A)(!x.isLoading&&!e&&"grow flex flex-col"),children:x.isLoading||e?(0,a.jsx)(V,{type:"collection",links:p,isLoading:x.isLoading}):(0,a.jsxs)("div",{className:"grow flex flex-col gap-2 justify-center border border-solid border-neutral-content w-full mx-auto p-10 rounded-xl bg-base-200 bg-gradient-to-tr from-neutral-content/70 to-50% to-base-200 min-h-72",children:[(0,a.jsx)("i",{className:"bi-folder mx-auto text-6xl text-primary"}),(0,a.jsx)("p",{className:"text-center text-xl",children:l("no_link_
1in_collection")}),(0,a.jsx)("p",{className:"text-center mx-auto max-w-96 w-fit text-neutral text-sm",children:l("no_link_in_collection_desc")})]})})]})}default:return null}}}},e=>{e.O(0,[1201,7474,8986,2203,3458,7129,7113,87,4907,7487,3319,4759,5553,639,191,5051,1912,8652,3888,142,3444,636,6593,8792],()=>e(e.s=12273)),_N_E=e.O()}]);
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.