1import{r as B}from"./rolldown-runtime-b3L32Ng1.js";import{a as F,o as D}from"./animation-vendor-GIxsgnAe.js";import{t as R}from"./seo-head-D0fGx4PK.js";import{f as O,t as q}from"./chunk-EVOBXE3Y-UEOmWFVI.js";import{i as H}from"./useFetch-DGDTXirC.js";import{Dt as M,I as V}from"./lucide-react-DJ1R90Xl.js";import{$t as W,On as k,o as z}from"./index-BY4VvnkG.js";import{o as G}from"./skeletons-HZ6yKdgv.js";import{r as y,t as T}from"./NoteCard-Bj-xwEbq.js";import{n,t as w}from"./SpaceCard-BfBN3ex3.js";import{i as c,n as m,r as U,t as J}from"./tabs-CJxy9TU0.js";var g=B(D(),1),e=F();async function u(x){const t=await x(1);if(!t.success||!t.data)throw new Error(t.error?.message||"Failed to load content");const o=[...t.data.items??[]],r=t.data.totalPages??1;if(r>1){const f=await Promise.all(Array.from({length:r-1},(d,h)=>x(h+2)));for(const d of f){if(!d.success||!d.data)throw new Error(d.error?.message||"Failed to load content");o.push(...d.data.items??[])}}return o}var ne=()=>{const{tag:x}=O(),t=x||"",{fetchWithAuth:o}=H(),[r,f]=(0,g.useState)({bookmarks:[],notes:[],spaces:[],sessions:[]}),[d,h]=(0,g.useState)(!0),l=typeof window<"u"&&localStorage.getItem("mw_feed_view")!=="grid";W(`#${t}`);const[b,v]=(0,g.useState)(null),[C,$]=(0,g.useState)(0);if((0,g.useEffect)(()=>{const s=new AbortController;return(async()=>{if(t){h(!0),v(null);try{const i="https://api.markwise.app/v1",j=encodeURIComponent(t),p={method:"GET",signal:s.signal},[_,S,E,I]=await Promise.all([u(a=>o({url:`${i}/feed?contentType=bookmarks&bookmarkTag=${j}&page=${a}&limit=100`,...p})),u(a=>o({url:`${i}/feed?contentType=notes¬eTag=${j}&page=${a}&limit=100`,...p})),u(a=>o({url:`${i}/feed?contentType=spaces&page=${a}&limit=100`,...p})),u(a=>o({url:`${i}/feed?contentType=sessions&sessionTag=${j}&page=${a}&limit=100`,...p}))]);if(s.signal.aborted)return;const L=t.toLowerCase(),A=a=>Array.isArray(a)&&a.some(P=>P.toLowerCase()===L);f({bookmarks:_,notes:S,spaces:E.filter(a=>A(a.tags)),sessions:I})}catch(i){if(i instanceof DOMException&&i.name==="AbortError")return;console.error("Error fetching tagged content:",i),v(i instanceof Error?i.message:"An unexpected error occurred")}finally{s.signal.aborted||h(!1)}}})(),()=>s.abort()},[t,o,C]),!t)return null;const N=r.bookmarks.length+r.notes.length+r.spaces.length+r.sessions.length;return(0,e.jsxs)(z,{title:"",disableHeader:!0,children:[(0,e.jsx)(R,{title:`Tag: ${t}`,description:`Browse content tagged with #${t}`,noIndex:!0}),d?(0,e.jsx)(G,{isListView:l}):b?(0,e.jsxs)("div",{className:"border-destructive/30 bg-destructive/10 text-destructive flex items-center justify-between gap-3 rounded-lg border p-4",children:[(0,e.jsx)("p",{children:b}),(0,e.jsxs)(k,{variant:"outline",size:"sm",onClick:()=>$(s=>s+1),children:[(0,e.jsx)(V,{className:"mr-1 h-3 w-3"})," Try again"]})]}):N===0?(0,e.jsxs)("div",{className:"py-12 text-center",children:[(0,e.jsx)(M,{className:"text-muted-foreground/60 mx-auto h-16 w-16"}),(0,e.jsx)("h3",{className:"mt-4 text-lg font-semibold",children:"No content found"}),(0,e.jsx)("p",{className:"text-muted-foreground mt-2",children:"We couldn't find any bookmarks, notes, spaces, or focus sessions with this tag."}),(0,e.jsx)(k,{asChild:!0,className:"mt-4",variant:"outline",children:(0,e.jsx)(q,{to:"/",children:"Browse Library"})})]}):(0,e.jsxs)(J,{defaultValue:"all",className:"w-full",children:[(0,e.jsxs)(U,{className:"mb-4",children:[(0,e.jsxs)(c,{value:"all",children:["All (",N,")"]}),r.bookmarks.length>0&&(0,e.jsxs)(c,{value:"bookmarks",children:["Bookmarks (",r.bookmarks.length,")"]}),r.notes.length>0&&(0,e.jsxs)(c,{value:"notes",children:["Notes (",r.notes.length,")"]}),r.spaces.length>0&&(0,e.jsxs)(c,{value:"spaces",children:["Spaces (",r.spaces.length,")"]}),r.sessions.length>0&&(0,e.jsxs)(c,{value:"sessions",children:["Focus sessions (",r.sessions.length,")"]})]}),(0,e.jsxs)(m,{value:"all",className:"space-y-8",children:[r.spaces.length>0&&(0,e.jsxs)("section",{children:[(0,e.jsxs)("h2",{className:"mb-4 flex items-center gap-2 text-lg font-semibold",children:["Spaces ",(0,e.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",r.spaces.length,")"]})]}),l?(0,e.jsx)("div",{className:"bg-card divide-border/40 divide-y rounded-xl border",children:r.spaces.map(s=>(0,e.jsx)(n,{itemType:"space",item:s},s.id))}):(0,e.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:r.spaces.map(s=>(0,e.jsx)("div",{className:"min-h-40",children:(0,e.jsx)(w,{space:s})},s.id))})]}),r.notes.length>0&&(0,e.jsxs)("section",{children:[(0,e.jsxs)("h2",{className:"mb-4 flex items-center gap-2 text-lg font-semibold",children:["Notes ",(0,e.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",r.notes.length,")"]})]}),l?(0,e.jsx)("div",{className:"bg-card divide-border/40 divide-y rounded-xl border",children:r.notes.map(s=>(0,e.jsx)(n,{itemType:"note",item:s},s.id))}):(0,e.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:r.notes.map(s=>(0,e.jsx)("div",{className:"min-h-48",children:(0,e.jsx)(T,{note:s})},s.id))})]}),r.sessions.length>0&&(0,e.jsxs)("section",{children:[(0,e.jsxs)("h2",{className:"mb-4 flex items-center gap-2 text-lg font-semibold",children:["Focus Sessions ",(0,e.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",r.sessions.length,")"]})]}),(0,e.jsx)("div",{className:"bg-card divide-border/40 divide-y rounded-xl border",children:r.sessions.map(s=>(0,e.jsx)(n,{itemType:"session",item:s},s.id))})]}),r.bookmarks.length>0&&(0,e.jsxs)("section",{children:[(0,e.jsxs)("h2",{className:"mb-4 flex items-center gap-2 text-lg font-semibold",children:["Bookmarks ",(0,e.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",r.bookmarks.length,")"]})]}),l?(0,e.jsx)("div",{className:"bg-card divide-border/40 divide-y rounded-xl border",children:r.bookmarks.map(s=>(0,e.jsx)(n,{itemType:"bookmark",item:s},s.id))}):(0,e.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:r.bookmarks.map(s=>(0,e.jsx)("div",{className:"min-h-64",children:(0,e.jsx)(y,{bookmark:s})},s.id))})]})]}),(0,e.jsx)(m,{value:"bookmarks",children:l?(0,e.jsx)("div",{className:"bg-card divide-border/40 divide-y rounded-xl border",children:r.bookmarks.map(s=>(0,e.jsx)(n,{itemType:"bookmark",item:s},s.id))}):(0,e.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:r.bookmarks.map(s=>(0,e.jsx)("div",{className:"min-h-64",children:(0,e.jsx)(y,{bookmark:s})},s.id))})}),(0,e.jsx)(m,{value:"notes",children:l?(0,e.jsx)("div",{className:"bg-card divide-border/40 divide-y rounded-xl border",children:r.notes.map(s=>(0,e.jsx)(n,{itemType:"note",item:s},s.id))}):(0,e.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:r.notes.map(s=>(0,e.jsx)("div",{className:"min-h-48",children:(0,e.jsx)(T,{note:s})},s.id))})}),(0,e.jsx)(m,{value:"spaces",children:l?(0,e.jsx)("div",{className:"bg-card divide-border/40 divide-y rounded-xl border",children:r.spaces.map(s=>(0,e.jsx)(n,{itemType:"space",item:s},s.id))}):(0,e.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:r.spaces.map(s=>(0,e.jsx)("div",{className:"min-h-40",children:(0,e.jsx)(w,{space:s})},s.id))})}),(0,e.jsx)(m,{value:"sessions",children:(0,e.jsx)("div",{className:"bg-card divide-border/40 divide-y rounded-xl border",children:r.sessions.map(s=>(0,e.jsx)(n,{itemType:"session",item:s},s.id))})})]})]})};export{ne 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.