PageSourceSearch

https://myechoboard.com/assets/PublicProfile-Dt1Mzbor.js

js myechoboard.com collected 2026-10-02 00:18:03 UTC 44,671 bytes, 2 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Profile-DyZgRpH_.js","assets/runtime-preload-CFP917pd.js","assets/vendor-react-BfgFmtGS.js","assets/useAuth-DynbexoK.js","assets/useUserSettings-COWmNJt_.js","assets/supabase-client-2CObC91N.js","assets/vendor-supabase-BL1taoPA.js","assets/startup-platform-OWIpYyjW.js","assets/supabase-config-BOS-KsQP.js","assets/vendor-query-XXY4vl9u.js","assets/startup-core-CGeUO7uJ.js","assets/startup-diagnostics-bridge-BB8dzHvV.js","assets/app-_uSXIk0p.js","assets/vendor-capacitor-8exTJy5k.js","assets/documentVisibilitySubscriptions-CqVNm4Da.js","assets/nativeAppStateSubscriptions-Cv_2m-ZS.js","assets/perfConfig-SmqTTOuO.js","assets/useHaptics-8-HNWVFX.js","assets/PageHeader-BnvONm3p.js","assets/feedBatchMonitorVisibility-Dzs90-gC.js","assets/SpacesIcon-BIw1RF34.js","assets/createLucideIcon-D9HkCDkl.js","assets/house-C9Hke4X6.js","assets/search-D_LVchoc.js","assets/layout-grid-Bpg0VprM.js","assets/plus-O3w64FuI.js","assets/heart-CdAafllh.js","assets/bell-Bjv_251G.js","assets/runtime-utils-GN4cODRt.js","assets/UserMenu-BOK_l6jx.js","assets/ThemeContext-3fFp6cUT.js","assets/mediaQueryStore-tM2KFt8V.js","assets/idleStorage-DCX8Fjfi.js","assets/echoReview-DxeV6pFI.js","assets/appStore-CvVedgBE.js","assets/chromeExtension-Ba1XSCfq.js","assets/use-mobile-CmledQOG.js","assets/navigationPlacement-DOicjMCP.js","assets/image-utils-BFdDQ3hX.js","assets/dropdown-menu-BAlvmeJa.js","assets/index-Bj_QpGJn.js","assets/index-DvGZCNsD.js","assets/index-h37mMD1s.js","assets/index-DpcxEmoq.js","assets/index-X6GuMWhc.js","assets/index-8Q0hjuah.js","assets/index-BjK_cEYO.js","assets/Combination-BntiNnUt.js","assets/index-DYDcV3bE.js","assets/index-BQmzLb9B.js","assets/index-YTuft30H.js","assets/index-DqIkKHbu.js","assets/check-0D421DYe.js","assets/chevron-right-aaxqAI6v.js","assets/circle-BwVhTjDX.js","assets/dialog-C7V6oQ1v.js","assets/index-BRWrGhkK.js","assets/x-DV2I6wJI.js","assets/lazyWithRetry-DcZLR5wu.js","assets/routeModulePrefetch-GdwohIex.js","assets/vendor-router-QOYqHwMx.js","assets/user-Ds9XOBLy.js","assets/flame-DueLJnbo.js","assets/clock-3-DTtizs3s.js","assets/star-Dj4Zt46N.js","assets/list-filter-v4BTBw0j.js","assets/trash-2-CLE9ZDje.js","assets/sliders-horizontal-D56n2gim.js","assets/palette-BMwl0Vi7.js","assets/settings-DFBLyPRM.js","assets/chevron-down-B1qfJDmk.js","assets/shield-CoYdFdVE.js","assets/activity-Cs2H8ktv.js","assets/log-out-B_mtl7aJ.js","assets/keyboard-D2j3K7oh.js","assets/external-link-BI4-_4re.js","assets/eye-CImpNXgw.js","assets/PublicNavbar-ZBBCJgpR.js","assets/button-CYJdLL_L.js","assets/index-nwDrq1j8.js","assets/AnimatedLogo-CcNVjI0Q.js","assets/passiveScrollSubscriptions-CS-jkkI4.js","assets/users-BxEfMauC.js","assets/ActiveBoardContext-Bdq9TZD9.js","assets/likedPrefetch-D8IdXKms.js","assets/exploreRoutePrefetch-breOUS78.js","assets/directExploreWarmup-BLvRRSbD.js","assets/popover-DbMJLCIq.js","assets/compass-D3UAMNj_.js","assets/log-in-Ba3zWN2K.js","assets/input-Cv-gXlbe.js","assets/textarea-DHiKxIHY.js","assets/switch-D6ZBFPtn.js","assets/index-BqeBQ1B3.js","assets/checkbox-BodSXXPo.js","assets/clipboard-CZdO1ppt.js","assets/shareUrls-CnKIAmlW.js","assets/displayText-C8gylbfe.js","assets/avatar-DkgobaOn.js","assets/useBlocking-S4XmiyS5.js","assets/socialLinks-Bq51Gsox.js","assets/authEmailCode-C_F4l8H1.js","assets/useImageCompression-C5-5tVrZ.js","assets/heic-Djb0Owx7.js","assets/usePerfBudget-BZdR-G4y.js","assets/performanceTier-CKmYu9lG.js","assets/blobBase64-CpRzfLHw.js","assets/publicProfileEditorRoute-C7eZvSQf.js","assets/select-CqFAxzgg.js","assets/index-jVOyRz7F.js","assets/index-iLL8Ykfz.js","assets/chevron-up-BtWriVc7.js","assets/alert-dialog-DEiWzkJW.js","assets/offline-DAh7TwkE.js","assets/echoTypePolicy-D6McwraQ.js","assets/useBoards-B6p3dWJB.js","assets/boardPreviewBatch-DDWXX98y.js","assets/boundedRequest-B4Q3Iimu.js","assets/boardPreviewPolicy-CiaGHKpD.js","assets/useSubscription-qVychEH1.js","assets/UpgradeModal-DmrzVSpI.js","assets/drawer-YADT050z.js","assets/zap-Cfd9IgAT.js","assets/sparkles-Bqh4sfNh.js","assets/dbMetrics-D5Q8D3iF.js","assets/boardCardSize-
1DMpJ9b3m.js","assets/boundedAsyncPool-BG_N2Lbq.js","assets/rpcCapabilityCache-CVP6KxZ_.js","assets/useBoardLibraryColumns-DKFiH_hC.js","assets/ReportDialog-mtjfNov7.js","assets/flag-CvKwGhpJ.js","assets/useOfflineSource-DddWgYFb.js","assets/useNetworkStatus-CCCthbIH.js","assets/asyncSemaphore-KO0g8gsf.js","assets/VideoPreview-D9BEa8DQ.js","assets/VideoPosterOnly-CkOjVgFa.js","assets/videoUtils-CgPXwgg1.js","assets/loader-circle-fXsKc0TP.js","assets/video-Bo3AcXon.js","assets/collectionNavigation-BzW6Q-na.js","assets/boardBootstrapCache-CrKnh0i-.js","assets/eye-off-YQaMGNXO.js","assets/globe-xPKErxGR.js","assets/ellipsis-CLimiuxH.js","assets/share-2-D-X1XWTM.js","assets/BoardPreviewAvatar-BIAe0D67.js","assets/useMemoryPreviews-DvkAtlwZ.js","assets/BoardLibraryViewMenu-DqOvPkpK.js","assets/PlatformIcons-DgycIsQm.js","assets/download-BJd20YQ5.js","assets/trophy-QodQCAXy.js","assets/key-round-Cxxhwhar.js","assets/camera-mi4n2-UJ.js","assets/mail-DexW5LxU.js","assets/arrow-up-right-BY1AkN7o.js","assets/ban-DClk00Tq.js","assets/link-2-D0DLgMN3.js","assets/pencil-CKJsa8Hu.js","assets/arrow-up-down-R03ulA8u.js","assets/grid-3x3-DNX2wcmy.js","assets/arrow-left-DAvP91ch.js","assets/clock-BF-8ZufU.js","assets/folder-open-BFC5J5Fo.js","assets/folder-Di4waGig.js"])))=>i.map(i=>d[i]);
2import{_ as e}from"./runtime-preload-CFP917pd.js";import{r,j as o}from"./vendor-react-BfgFmtGS.js";import{B as a}from"./button-CYJdLL_L.js";import{a as t,u as s}from"./useAuth-DynbexoK.js";import{u as l,B as n}from"./useBoardLibraryColumns-DKFiH_hC.js";import{B as i}from"./BoardPreviewAvatar-BIAe0D67.js";import{b as d,c as u,h as c}from"./image-utils-BFdDQ3hX.js";import{A as m,a as p,b as f}from"./avatar-DkgobaOn.js";import{supabase as b}from"./supabase-client-2CObC91N.js";import{a as h,f as x}from"./runtime-utils-GN4cODRt.js";import{u as g}from"./useFollowing-abh79vyt.js";import{L as _}from"./loader-circle-fXsKc0TP.js";import{c as v}from"./createLucideIcon-D9HkCDkl.js";import{U as w}from"./user-plus-E0L9d7C2.js";import{PageHeader as j}from"./PageHeader-BnvONm3p.js";import{PublicNavbar as y}from"./PublicNavbar-ZBBCJgpR.js";import{S as N}from"./SEOHead-CHXhs1CK.js";import{d as k,a as S}from"./seo-DlbjgHR8.js";import{b as C,f as M}from"./displayText-C8gylbfe.js";import{u as E}from"./useBlocking-S4XmiyS5.js";import{l as P}from"./lazyWithRetry-DcZLR5wu.js";import{c as $}from"./clipboard-CZdO1ppt.js";import{c as A}from"./shareUrls-CnKIAmlW.js";import{g as B,a as L,b as R,c as U,S as I}from"./socialLinks-Bq51Gsox.js";import{s as D}from"./passiveScrollSubscriptions-CS-jkkI4.js";import{u as T}from"./usePerfBudget-BZdR-G4y.js";import{u as F}from"./vendor-query-XXY4vl9u.js";import{s as z}from"./boardPreviewPolicy-CiaGHKpD.js";import{n as O,r as Q,g as q}from"./boardCardSize-DMpJ9b3m.js";import{o as W}from"./viewportLoadMoreObserver-CThDFSVJ.js";import{s as G}from"./perfConfig-SmqTTOuO.js";import{A as H,h as J,a as K,b as Y,c as X,d as V,e as Z,f as ee,g as re}from"./alert-dialog-DEiWzkJW.js";import{D as oe,a as ae,b as te,c as se}from"./dropdown-menu-BAlvmeJa.js";import{c as le,u as ne,a as ie}from"./vendor-router-QOYqHwMx.js";import{P as de}from"./pencil-CKJsa8Hu.js";import{S as ue}from"./share-2-D-X1XWTM.js";import{E as ce}from"./ellipsis-CLimiuxH.js";import{B as me}from"./ban-DClk00Tq.js";import{G as pe}from"./grid-3x3-DNX2wcmy.js";import{A as fe}from"./arrow-left-DAvP91ch.js";import{C as be}from"./clock-BF-8ZufU.js";import{F as he}from"./folder-open-BFC5J5Fo.js";import{F as xe}from"./folder-Di4waGig.js";const ge=v("UserCheck",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["polyline",{points:"16 11 18 13 22 9",key:"1pwet4"}]]);function _e({userId:e,className:s,variant:l="default",size:n="default"}){const{user:i}=t(),{followUser:d,unfollowUser:u,isFollowingUser:c,isPending:m}=g({boardsEnabled:!1,feedEnabled:!1}),p=c(e),[f,b]=r.useState(!1);if((null==i?void 0:i.id)===e)return null;const x=r=>{r.preventDefault(),r.stopPropagation(),p?u(e):d(e)};return p?o.jsx(a,{variant:"outline",size:n,className:h("gap-2 transition-all duration-200 border-primary/20 bg-primary/5 text-primary hover:bg-destructive/10 hover:text-destructive hover:border-destructive/20",s),onClick:x,disabled:m,onMouseEnter:()=>b(!0),onMouseLeave:()=>b(!1),children:m?o.jsx(_,{className:"w-4 h-4 animate-spin"}):f?o.jsx(o.Fragment,{children:"Unfollow"}):o.jsxs(o.Fragment,{children:[o.jsx(ge,{className:"w-4 h-4"}),"Following"]})}):o.jsx(a,{variant:l,size:n,className:h("gap-2 shadow-soft hover:shadow-lg transition-all duration-300",s),onClick:x,disabled:m,children:m?o.jsx(_,{className:"w-4 h-4 animate-spin"}):o.jsxs(o.Fragment,{children:[o.jsx(w,{className:"w-4 h-4"}),"Follow"]})})}const ve=P("PublicProfileInlineEditor",()=>e(()=>import("./Profile-DyZgRpH_.js").then(e=>e.P),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163]))),we=e=>{const r=z(e.preview_media,4);return{id:String(e.id),user_id:e.owner_id?String(e.owner_id):null,name:String(e.name||"Untitled board"),slug:e.slug?String(e.slug):void 0,description:e.description?String(e.description):null,color:String(e.color||"#8b5cf6"),icon:String(e.icon||"folder"),is_smart:Boolean(e.is_smart),memory_count:Math.max(0,Number(e.memory_count||0)),created_at:String(e.created_at),updated_at:String(e.updated_at||e.created_at),last_memory_added_at:String(e.last_memory_added_at||e.updated_at||e.created_at),folder_id:e.folder_id?String(e.folder_id):null,canvas_sort_order:null!=e.canvas_sort_order&&Number.isFinite(Number(e.canvas_sort_order))?Number(e.canvas_sort_order):null,follower_count:Math.max(0,Number(e.follower_count||0)),is_following:Boolean(e.is_following),can_view:!1!==e.can_view,can_edit:Boolean(e.can_edit),is_public:!1!==e.is_public,is_mature:Boolean(e.is_mature),owner_username:e.owner_username?String(e.owner_username):void 0,owner_avatar:e.owner_avatar?String(e.owner_avatar):void 0,header_image_id:e.header_image_id?String(e.header_image_id):null,header_image_url:e.header_image_url?String(e.header_image_url):null,header_image_position:null!=e.header_image_position&&Number.isFinite(Number(e.header_image_position))?Number(e.header_image_position):void 0,header_image_zoom:null!=e.header_image_zoom&&Number.isFinite(Number(e.header_image_zoom))?Number(e.header_image_zoom):void 0,preview_media:r,preview_image_ids:r.flatMap(e=>e.memory_id?[e.memory_id]:[])}},je=(e,r)=>{const o=new Map(r.map(e=>[e.id,e])),a=e.map(e=>o.get(e.id)||e),t=new Set(e.map(e=>e.id));for(const s of r)t.has(s.id)||(a.push(s),t.add(s.id));return a},ye=(e,r)=>{const o=new Set(e.map(e=>e.id));return[...e,...r.filter(e=>!o.has(e.id))]},Ne=async(e,r)=>{const o=e.filter(e=>void 0===e.view_config&&void 0===e.card_size);if(0===o.length)return e;try{const{data:a}=await b.from("boards").select("id, view_config").in("id",o.map(e=>e.id)).abortSignal(r);if(!Array.isArray(a))return e;const t=new Map(a.map(e=>[e.id,e.view_config??null]));return e.map(e=>t.has(e.id)?{...e,view_config:t.get(e.id)}:e)}catch{return e}},ke=async(e,r,o)=>{o.throwIfAborted();const{data:a,error:t}=await b.rpc("get_public_profile_boards_page",{p_username:e,p_limit:24,p_cursor:r}).abortSignal(o);if(o.throwIfAborted(),t)throw t;const s=Array.isArray(a)?a:[],l=s[0]||null;return{boards:await Ne(s.map(we),o),nextCursor:(null==l?void 0:l.next_cursor)&&"object"==typeof l.next_cursor?l.next_cursor:null,hasMore:Boolean(null==l?void 0:l.has_more)}},Se=async(e,r,o,a)=>{const{data:t,error:s}=await b.rpc("get_public_profile_folder_boards_page",{p_username:e,p_folder_id:r,p_limit:24,p_cursor:o}).abortSignal(a);if(a.throwIfAborted(),s)throw s;const l=t&&"object"==typeof t&&!Array.isArray(t)?t:{};return{boards:await Ne(Array.isArray(l.rows)?l.rows.map(we):[],a),nextCursor:l.next_cursor&&"object"==typeof l.next_cursor?l.next_cursor:null,hasMore:Boolean(l.has_more)}},Ce=(e,r)=>{if(!r)return[];const o=new Map(e.map(e=>[e.id,e])),a=[],t=new Set;let s=o.get(r);for(;s&&!t.has(s.id);)t.add(s.id),a.unshift(s),s=s.parent_folder_id?o.get(s.parent_folder_id):void 0;return a},Me=e=>e.normalize("NFKD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"folder",Ee=(e,r)=>Ce(e,r).map(e=>Me(e.name)).join("/"),Pe=(e,r)=>
2{const o=(r||"").split("/").filter(Boolean).map(Me);return 0===o.length?null:e.find(r=>{const a=Ce(e,r.id).map(e=>Me(e.name));return a.length===o.length&&a.every((e,r)=>e===o[r])})||null},$e=(e,r)=>{const o=new Map;for(const s of e){if(!s.parent_folder_id)continue;const e=o.get(s.parent_folder_id)||[];e.push(s),o.set(s.parent_folder_id,e)}const a=new Set,t=[...o.get(r)||[]];for(;t.length>0;){const e=t.pop();e&&!a.has(e.id)&&(a.add(e.id),t.push(...o.get(e.id)||[]))}return a},Ae=(e,r,o)=>{const a=new Set([o,...Array.from($e(e,o))]);return r.filter(e=>e.folder_id&&a.has(e.folder_id)).length};function Be({folder:e,itemCount:r,previewBoard:a,onOpen:t,lowEnd:s,priority:l=!1,cardSize:n}){const d=Boolean(e.preview_memory_id||a);return o.jsxs("button",{type:"button",onClick:t,className:h("group block w-full text-left",n&&"flex h-full flex-col"),children:[o.jsx("div",{className:h(n?"flex-1 min-h-0":"h-48","relative overflow-hidden rounded-[1.5rem] bg-card transition-all duration-300",d?"border-0 shadow-none":"border border-primary/50 group-hover:border-primary group-hover:bg-muted/20"),style:s?void 0:{WebkitMaskImage:"-webkit-radial-gradient(white, black)",isolation:"isolate"},children:e.preview_memory_id?o.jsx(i,{boardId:`public-folder-preview-${e.id}-${e.preview_memory_id}`,previewIds:[e.preview_memory_id],maxItems:1,className:"absolute inset-0",videoPlayMode:"never",imageLoading:l?"eager":"lazy",fallbackIcon:o.jsx(he,{className:"h-10 w-10 text-primary"})}):a?o.jsx(i,{boardId:a.id,previewIds:a.preview_image_ids,previewMedia:a.preview_media,preferFetchedPreview:!0,className:"absolute inset-0",videoPlayMode:"never",imageLoading:l?"eager":"lazy",fallbackIcon:o.jsx(he,{className:"h-10 w-10 text-primary"})}):o.jsx("div",{className:"flex h-full flex-col items-center justify-center gap-3 text-center",children:o.jsx("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl bg-background/75 text-primary shadow-sm backdrop-blur-md",children:o.jsx(he,{className:"h-8 w-8"})})})}),o.jsxs("div",{className:h("mt-3 px-1",n&&"shrink-0"),children:[o.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[o.jsx(xe,{className:"h-4 w-4 shrink-0 text-primary"}),o.jsx("h3",{className:"truncate text-base font-bold text-foreground",children:e.name})]}),o.jsxs("div",{className:"mt-1 text-xs font-bold uppercase tracking-widest text-muted-foreground",children:[r," ",1===r?"board":"boards"]})]})]})}const Le="/profile/default-header.jpg",Re="/profile/default-header-1280.jpg",Ue=["/profile/default-header-640.jpg 640w","/profile/default-header-1280.jpg 1280w","/profile/default-header-1920.jpg 1920w"].join(", "),Ie=e=>{const r=Number(e);return Number.isFinite(r)?Math.min(100,Math.max(0,r)):50},De=({boardFallback:e=null})=>{var i;const{lowEnd:g}=T(),{username:v,boardSlug:w,"*":P}=le(),z=ne(),he=ie(),{toast:xe}=s(),{user:ge}=t(),Ne=F(),{blockUser:Me,unblockUser:$e,isBlocking:De,isUnblocking:Te,isBlockedUser:Fe}=E(),[ze,Oe]=r.useState([]),[Qe,qe]=r.useState([]),[We,Ge]=r.useState(!0),[He,Je]=r.useState(null),[Ke,Ye]=r.useState(!1),[Xe,Ve]=r.useState(!1),[Ze,er]=r.useState(null),[rr,or]=r.useState([]),[ar,tr]=r.useState(null),[sr,lr]=r.useState(!1),[nr,ir]=r.useState(!1),[dr,ur]=r.useState(null),[cr,mr]=r.useState(0),pr=r.useRef(null),fr=r.useRef(null),br=r.useRef(!1),hr=r.useRef(null),xr=r.useRef(!1),[gr,_r]=r.useState(!0),[vr,wr]=r.useState(!0),[jr,yr]=r.useState(!1),[Nr,kr]=r.useState(null),[Sr,Cr]=r.useState(null),[Mr,Er]=r.useState(0),[Pr,$r]=r.useState(!1),[Ar,Br]=r.useState("recent"),[Lr,Rr]=r.useState(null),[Ur,Ir]=r.useState(()=>"undefined"==typeof window||window.scrollY<=24),Dr=r.useMemo(()=>[w,P].filter(e=>!!(null==e?void 0:e.trim())).join("/"),[w,P]),Tr=r.useMemo(()=>{if(Dr)return Dr;const e=new URLSearchParams(he.search).get("folder");return e?e.trim():""},[he.search,Dr]);r.useEffect(()=>{const e=()=>{const e=window.scrollY<=24;Ir(r=>r===e?r:e)};return e(),D(window,e)},[v]),r.useEffect(()=>{let e=!1;const r=new AbortController,{signal:o}=r;return(async()=>{var r;if(!v)return void wr(!1);const a=["public-profile-snapshot",v,(null==ge?void 0:ge.id)||"anon"],t=Ne.getQueryData(a);wr(!t),Ge(!t),_r(!t),Oe((null==t?void 0:t.boards)||[]),qe((null==t?void 0:t.folders)||[]),Rr(null),$r(!1),Cr((null==t?void 0:t.profile)||null),yr((null==t?void 0:t.profileStatsLoaded)||!1),kr((null==t?void 0:t.profileStats)||null),Br((null==t?void 0:t.boardSortMode)||"recent"),Je((null==t?void 0:t.boardPageCursor)||null),Ye(Boolean((null==t?void 0:t.hasMoreBoards)&&t.boardPageCursor)),Ve(!1),er(null),null==(r=fr.current)||r.abort(new DOMException("Profile changed","AbortError")),fr.current=null,br.current=!1;try{const r=ke(v,null,o).then(r=>{if(e)return[];
2const o=Boolean(t&&t.boards.length>r.boards.length&&t.boardPageCursor);return Oe(t?ye(r.boards,t.boards):r.boards),Je(o?(null==t?void 0:t.boardPageCursor)||null:r.nextCursor),Ye(o?Boolean((null==t?void 0:t.hasMoreBoards)&&t.boardPageCursor):r.boards.length>0&&r.hasMore&&Boolean(r.nextCursor)),r.boards}).catch(e=>(o.aborted||er("Boards could not be refreshed."),(null==t?void 0:t.boards)||[])).finally(()=>{e||Ge(!1)}),a=b.rpc("get_public_board_folders",{p_username:v}).abortSignal(o).then(({data:r,error:o})=>{if(e)return[];if(o)return(null==t?void 0:t.folders)||[];const a=r||[];return qe(a),a}).catch(r=>e?[]:(null==t?void 0:t.folders)||[]).finally(()=>{e||_r(!1)}),l=()=>({board_followers_count:0,profile_followers_count:0,following_count:0,public_boards_count:0,public_echoes_count:0,profile_views:0}),n=e=>{const r=l(),o=!(null==e?void 0:e.error)&&Array.isArray(null==e?void 0:e.data)&&e.data.length>0?e.data[0]:null;return o?{...r,board_followers_count:Number(o.board_followers_count??o.followers_count??0),profile_followers_count:Number(o.profile_followers_count??0),following_count:Number(o.following_count??0),public_boards_count:Number(o.public_boards_count??0),public_echoes_count:Number(o.public_echoes_count??0),profile_views:Number(o.profile_views??0)}:null},i=new Promise((e,r)=>{const a=window.setTimeout(e,600);o.addEventListener("abort",()=>{window.clearTimeout(a),r(o.reason)},{once:!0})}).then(()=>b.rpc("get_public_profile_stats",{p_username:v}).abortSignal(o)),d=Promise.allSettled([i]),u=await b.from("profiles").select("id, username, full_name, avatar_url, profile_header_image_url, profile_header_position_y, profile_title, bio, social_links, public_profile_board_sort_mode, board_sort_mode").eq("username",v).abortSignal(o).single();if(e)return;const c=u.error?null:u.data;!c&&u.error;const m=o=>{d.then(([a])=>{var t;if(e)return;const s="fulfilled"===a.status?n(a.value):null;s?(kr(s),yr(!0)):r.then(()=>{e||yr(!0)}),"rejected"===a.status||null==(t=a.value)||t.error,Cr(e=>e&&e.user_id===o?{...e,...s||{}}:e)})};if(c){const r=c.public_profile_board_sort_mode??c.board_sort_mode;("recent"===(s=r)||"canvas"===s)&&Br(r),Cr({user_id:c.id,username:c.username,full_name:c.full_name,avatar_url:c.avatar_url,profile_header_image_url:c.profile_header_image_url||null,profile_header_position_y:Ie(c.profile_header_position_y),profile_title:c.profile_title,bio:c.bio,social_links:c.social_links||[],level:1,total_xp:0,...l()}
2),wr(!1),m(c.id);const a=[];a.push((async()=>{try{const{data:r}=await b.from("user_progression").select("level, total_xp").eq("user_id",c.id).maybeSingle().abortSignal(o);if(e||!r)return;Cr(e=>e&&e.user_id===c.id?{...e,level:r.level||e.level||1,total_xp:r.total_xp||e.total_xp||0}:e)}catch(r){}})()),(null==ge?void 0:ge.id)&&ge.id!==c.id&&a.push((async()=>{try{const{data:r}=await b.from("user_blocks").select("id").eq("blocker_id",c.id).eq("blocked_id",ge.id).maybeSingle().abortSignal(o);e||$r(!!r)}catch(r){}})()),Promise.allSettled(a)}else{const[o,t]=await Promise.all([d.then(([e])=>e),Promise.all([r,a]).then(([e])=>e)]);if(e)return;const s="fulfilled"===o.status?n(o.value):null;if(!(t.length>0))throw new Error("Profile not found");{const e={...l(),board_followers_count:t.reduce((e,r)=>e+(r.follower_count||0),0),public_boards_count:t.length,public_echoes_count:t.reduce((e,r)=>e+(r.memory_count||0),0),...s||{}};kr(e),yr(!0),Cr({user_id:"",username:t[0].owner_username||v,full_name:null,avatar_url:t[0].owner_avatar||null,profile_header_image_url:null,profile_header_position_y:50,profile_title:null,bio:null,social_links:[],level:1,total_xp:0,...e}),wr(!1)}}}catch(l){if(o.aborted)return;e||(xe({title:"Profile not found",description:"We couldn't load this user's profile.",variant:"error"}),wr(!1))}var s})(),()=>{var o;e=!0,r.abort(),null==(o=fr.current)||o.abort(new DOMException("Profile unmounted","AbortError")),fr.current=null,br.current=!1}},[v,Ne,xe,null==ge?void 0:ge.id,Mr]),r.useEffect(()=>{if(!v||!Sr||Sr.username.toLowerCase()!==v.toLowerCase())return;const e=(new Date).toISOString().slice(0,10),r=`echo:profile-view:${v.toLowerCase()}`;try{if(window.localStorage.getItem(r)===e)return;window.localStorage.setItem(r,e)}catch{}return G(()=>{b.rpc("increment_profile_views",{p_username:v}).then(({error:e})=>{})},5e3)},[Sr,v]);const Fr=r.useCallback(async()=>{var e;if(!v||!Ke||!He||br.current)return;br.current=!0,Ve(!0),er(null);const r=He,o=new AbortController;null==(e=fr.current)||e.abort(new DOMException("Superseded board page","AbortError")),fr.current=o;try{const e=await ke(v,r,o.signal);if(o.signal.aborted)return;Oe(r=>je(r,e.boards));const a=JSON.stringify(e.nextCursor)!==JSON.stringify(r);Je(a?e.nextCursor:null),Ye(e.boards.length>0&&e.hasMore&&a)}catch(a){o.signal.aborted||er("Could not load more boards. Try again.")}finally{fr.current===o&&(fr.current=null,br.current=!1,Ve(!1))}},[He,Ke,v]),zr=r.useCallback(async()=>{var e;if(!v||br.current)return;br.current=!0,Ve(!0),er(null);const r=new AbortController;null==(e=fr.current)||e.abort(new DOMException("Superseded board page","AbortError")),fr.current=r;try{const e=await ke(v,null,r.signal);if(r.signal.aborted)return;Oe(r=>ye(e.boards,r)),Je(e.nextCursor),Ye(e.boards.length>0&&e.hasMore&&Boolean(e.nextCursor))}catch(o){r.signal.aborted||er("Boards could not be refreshed. Try again.")}finally{fr.current===r&&(fr.current=null,br.current=!1,Ve(!1))}},[v]);r.useEffect(()=>{!v||!Sr||Sr.username.toLowerCase()!==v.toLowerCase()||vr||We||gr||Ne.setQueryData(["public-profile-snapshot",v,(null==ge?void 0:ge.id)||"anon"],{profile:Sr,profileStats:Nr,profileStatsLoaded:jr,boards:ze,folders:Qe,boardSortMode:Ar,boardPageCursor:He,hasMoreBoards:Ke},{updatedAt:Date.now()})},[He,Ar,ze,We,Qe,gr,Ke,vr,Sr,Nr,jr,Ne,null==ge?void 0:ge.id,v]),r.useEffect(()=>{if(!Tr)return;if(gr)return;const e=Pe(Qe,Tr);e&&Lr!==e.id&&(Rr(e.id),Dr||z(`/u/${encodeURIComponent(v||"username")}/${Ee(Qe,e.id).split("/").map(encodeURIComponent).join("/")}`,{replace:!0}))},[Lr,Qe,gr,z,Tr,Dr,v]),r.useEffect(()=>{var e;null==(e=hr.current)||e.abort(new DOMException("Folder changed","AbortError")),hr.current=null,xr.current=!1;const r=["public-profile-folder-snapshot",v,(null==ge?void 0:ge.id)||"anon",Lr],o=Lr?Ne.getQueryData(r):void 0;if(or((null==o?void 0:o.boards)||[]),tr((null==o?void 0:o.nextCursor)||null),lr(Boolean((null==o?void 0:o.hasMore)&&o.nextCursor)),ur(null),!Lr||!v)return void ir(!1);const a=new AbortController;return hr.current=a,xr.current=!0,ir(!0),Se(v,Lr,null,a.signal).then(e=>{if(a.signal.aborted)return;const t=Boolean(e.boards.length>0&&e.hasMore&&e.nextCursor&&o&&o.boards.length>e.boards.length),s={boards:t?ye(e.boards,o.boards):e.boards,nextCursor:t&&o.nextCursor||e.nextCursor,hasMore:e.hasMore};Ne.setQueryData(r,s),or(s.boards),tr(s.nextCursor),lr(s.boards.length>0&&s.hasMore&&Boolean(s.nextCursor))}).catch(e=>{a.signal.aborted||ur("Could not load this folder. Try again.")}).finally(()=>{hr.current===a&&(hr.current=null,xr.current=!1,ir(!1))}),()=>a.abort(new DOMException("Folder page unmounted","AbortError"))},[Lr,cr,Ne,null==ge?void 0:ge.id,v]);const Or=r.useCallback(async()=>{var e;if(!v||!Lr||!ar||!sr||xr.current)return;const r=ar,o=new AbortController;null==(e=hr.current)||e.abort(new DOMException("Superseded folder page","AbortError")),hr.current=o,xr.current=!0,ir(!0),ur(null);try{const e=await Se(v,Lr,r,o.signal);if(o.signal.aborted)return;or(r=>je(r,e.boards));const a=JSON.stringify(e.nextCursor)!==JSON.stringify(r);Ne.setQueryData(["public-profile-folder-snapshot",v,(null==ge?void 0:ge.id)||"anon",Lr],r=>({boards:je((null==r?void 0:r.boards)||[],e.boards),nextCursor:a?e.nextCursor:null,hasMore:e.boards.length>0&&e.hasMore&&a})),tr(a?e.nextCursor:null),lr(e.boards.length>0&&e.hasMore&&a)}catch(a){o.signal.aborted||ur("Could not load more from this folder. Try again.")}finally{hr.current===o&&(hr.current=null,xr.current=!1,ir(!1))}},[Lr,ar,sr,Ne,null==ge?void 0:ge.id,v]),Qr=Lr?sr:Ke,qr=Lr?nr:Xe,Wr=Lr?dr:Ze,Gr=r.useCallback(()=>Lr?Or():Fr(),[Lr,Fr,Or]);r.useEffect(()=>{const e=pr.current;if(e&&Qr&&!qr&&!Wr)return W(e,()=>{Gr()},"ahead")},[Gr,Wr,Qr,qr]);const Hr=r.useMemo(()=>{const e=[...Lr?rr:ze];return"canvas"===Ar?e.sort((e,r)=>{const o=e.canvas_sort_order??Number.MAX_SAFE_INTEGER,a=r.canvas_sort_order??Number.MAX_SAFE_INTEGER;return o!==a?o-a:new Date(e.created_at).getTime()-new Date(r.created_at).getTime()}):e.sort((e,r)=>{const o=new Date(e.last_memory_added_at||e.updated_at||e.created_at).getTime();return new Date(r.last_memory_added_at||r.updated_at||r.created_at).getTime()-o})},[Lr,Ar,ze,rr]),Jr=r.useMemo(()=>Qe.find(e=>e.id===Lr)||null,[Lr,Qe]),Kr=r.useMemo(()=>Jr?{desktop:Jr.columns_desktop??null,mobile:Jr.columns_mobile??null}:null,[Jr]),{columns:Yr,rowHeight:Xr}=l(Kr),Vr=r.useMemo(()=>Ce(Qe,Lr),[Lr,Qe]),Zr=r.useMemo(()=>{const e=(null==Sr?void 0:Sr.username)||v||"username";return`${A()}/u/${encodeURIComponent(e)}`},[null==Sr?void 0:Sr.username,v]),eo=(null==Jr?void 0:Jr.parent_folder_id)||null,ro=e=>{const r=(null==Sr?void 0:Sr.username)||v||"username";if(!e)return void z(`/u/${encodeURIComponent(r)}`);const o=Ee(Qe,e).split("/").map(encodeURIComponent).join("/");z(`/u/${encodeURIComponent(r)}/${o}`)},oo=r.useMemo(()=>Qe.filter(e=>Lr?e.parent_folder_id===Lr:!e.parent_folder_id),[Lr,Qe]),ao=r.useMemo(()=>new Set(Qe.map(e=>e.id)),[Qe]),to=r.useMemo(()=>Hr.filter(e=>Number(e.memory_count||0)>0),[Hr]),so=r.useMemo(()=>to.filter(e=>Lr?e.folder_id===Lr:!e.folder_id||!ao.has(e.folder_id)),[Lr,to,ao]),lo=r.useMemo(()=>{const e=new Map;for(const r of to){if(!r.folder_id)continue;const o=e.get(r.folder_id)||[];o.push(r),e.set(r.folder_id,o)}return e},[to]);r.useMemo(()=>{const e=new Map;for(const r of Qe){if(!r.parent_folder_id)continue;const o=e.get(r.parent_folder_id)||[];o.push(r),e.set(r.parent_folder_id,o)}return e},[Qe]);const no=r.useMemo(()=>{var e;const r=new Map;for(const o of Qe)(null==(e=o.preview_board)?void 0:e.id)&&r.set(o.id,we(o.preview_board));for(const[o,a]of lo.entries()){const e=[...a].sort((e,r)=>{const o=new Date(e.last_memory_added_at||e.updated_at||e.created_at).getTime();return new Date(r.last_memory_added_at||r.updated_at||r.created_at).getTime()-o})[0];e&&r.set(o,e)}return r},[lo,Qe]),io=r.useMemo(()=>{const e=oo.map((e,r)=>({id:`folder:${e.id}`,type:"folder",folder:e,fallbackOrder:e.sort_order??r})),r=so.map((r,o)=>({id:`board:${r.id}`,type:"board",board:r,fallbackOrder:r.canvas_sort_order??e.length+o})),o=[...e,...r];return"canvas"!==Ar?o:[...o].sort((e,r)=>e.fallbackOrder-r.fallbackOrder)},[Ar,so,oo]),uo=to.length>0||Qe.length>0;if(vr)return o.jsxs("div",{className:"min-h-screen bg-background animate-pulse",role:"status","aria-label":"Loading profile","aria-busy":"true",children:[o.jsx("div",{className:"h-52 w-full bg-muted/55 sm:h-72"}),o.jsxs("div",{className:"mx-auto max-w-6xl px-4 pb-20",children:[o.jsx("div",{className:"-mt-12 h-24 w-24 rounded-full border-4 border-background bg-muted sm:h-28 sm:w-28"}),o.jsx("div",{className:"mt-4 h-8 w-52 rounded-xl bg-muted/70"}),o.jsx("div",{className:"mt-3 h-4 w-72 max-w-full rounded-lg bg-muted/45"}),o.jsx("div",{className:"mt-8 grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-4",children:Array.from({length:8},(e,r)=>o.jsx("div",{className:"aspect-[4/3] rounded-2xl bg-muted/45"},r))})]})]});const co=Dr?Pe(Qe,Dr):null;if(e&&Dr&&!P&&!gr&&!co)return o.jsx(o.Fragment,{children:e});const mo=!(!(null==ge?void 0:ge.id)||(null==Sr?void 0:Sr.user_id)!==ge.id),po=!!(null==Sr?void 0:Sr.user_id)&&Fe(Sr.user_id),fo=Pr||po,bo=(null==Sr?void 0:Sr.full_name)?`${Sr.full_name} (@${Sr.username})`:`@${(null==Sr?void 0:Sr.username)||v}`,ho=(null==Sr?void 0:Sr.bio)||`${bo} on Echo — ${ze.length} public boards and collections. Keep what inspires you.`,xo=(e=>{const r="string"==typeof e?e.trim():"";return r&&"null"!==r&&"undefined"!==r?r:Le})(null==Sr?void 0:Sr.profile_header_image_url),go=xo===Le?Re:d(xo,"large")||xo,_o=xo===Le?Ue:u(xo,"large")||void 0,vo=Ie(null==Sr?void 0:Sr.profile_header_position_y),wo=!(null==Sr?void 0:Sr.full_name)||!(e=>/^user-[0-9a-f]{8}$/i.test(M(e)))(null==Sr?void 0:Sr.username),jo=Sr?[k({username:Sr.username,full_name:Sr.full_name,bio:Sr.bio,avatar_url:Sr.avatar_url,public_boards_count:Sr.public_boards_count,public_echoes_count:Sr.public_echoes_count}),S([{name:"Echo",url:"/"},{name:bo,url:`/u/${Sr.username}`}])]:void 0;return mo&&"1"===new URLSearchParams(he.search).get("edit")?o.jsx(r.Suspense,{fallback:o.jsx("div",{className:"flex min-h-screen items-center justify-center",role:"status","aria-label":"Loading profile editor",children:o.jsx(_,{className:"h-6 w-6 animate-spin"})}),children:o.jsx(ve,{canonicalPublicProfile:!0,onExitPublicEdit:(e,r)=>
2{const o=["public-profile-snapshot",v,(null==ge?void 0:ge.id)||"anon"],a=Ne.getQueryData(o);a&&r&&Ne.setQueryData(["public-profile-snapshot",e||v,(null==ge?void 0:ge.id)||"anon"],{...a,profile:{...a.profile,username:r.username,full_name:r.fullName||null,avatar_url:r.avatarUrl||null,profile_title:r.profileTitle||null,bio:r.bio||null,social_links:r.socialLinks}}),e&&e!==v&&Ne.removeQueries({queryKey:o,exact:!0}),Er(e=>e+1);const t=new URLSearchParams(he.search);t.delete("edit");const s=e&&e!==v?`/u/${encodeURIComponent(e)}`:he.pathname;z({pathname:s,search:t.toString()},{replace:!0,preventScrollReset:!0})}})}):o.jsxs("div",{className:"min-h-screen pb-20 bg-background selection:bg-primary/20",children:[o.jsx(N,{title:bo,description:ho.slice(0,160),image:(null==Sr?void 0:Sr.avatar_url)||void 0,url:`/u/${(null==Sr?void 0:Sr.username)||v}`,type:"profile",jsonLd:jo}),ge?o.jsx("div",{className:h("pointer-events-none fixed top-0 left-0 right-0 z-[60] transition-all duration-300 ease-out",Ur&&"opacity-0 -translate-y-3 [&_*]:pointer-events-none"),"aria-hidden":Ur,children:o.jsx(j,{className:"pointer-events-auto"})}):o.jsx(y,{revealOnScroll:!0}),o.jsxs("main",{className:"pt-0",children:[o.jsxs("div",{className:"mb-8 flex flex-col items-center text-center sm:mb-10 lg:mb-12",children:[o.jsx("div",{className:"relative mb-4 w-full",children:o.jsxs("div",{className:"relative h-64 w-full overflow-hidden bg-muted sm:h-80 lg:h-[30rem] xl:h-[34rem] 2xl:h-[38rem]",children:[o.jsx("img",{src:go,srcSet:_o,sizes:"100vw",alt:"",loading:"eager",fetchpriority:"high",decoding:"async",onError:e=>{const r=e.currentTarget,o=new URL(xo,window.location.origin).href,a=new URL(Re,window.location.origin).href;if(xo!==Le&&"original"!==r.dataset.fallback&&r.src!==o)return r.dataset.fallback="original",r.srcset="",void(r.src=xo);r.src!==a&&(r.srcset=Ue,r.src=Re)},className:"h-full w-full object-cover",style:{objectPosition:`center ${vo}%`}}),o.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-background via-background/10 to-transparent"})]})}),o.jsx("div",{className:"-mt-20 mb-3 sm:-mt-24 sm:mb-4",children:o.jsxs(m,{className:"w-28 h-28 border-4 border-background shadow-float relative z-10",children:[o.jsx(p,{src:(e=>{if(!e)return;if(e.startsWith("http"))return c(e,384)||e;let r=e;e.startsWith("http")&&e.includes("/storage/v1/object/public/")&&(r=e.split("/storage/v1/object/public/")[1].split("/").slice(1).join("/"));const o=r.startsWith("avatars/")?r:`avatars/${r}`,{data:a}=b.storage.from("memory-images").getPublicUrl(o);return a.publicUrl})(null==Sr?void 0:Sr.avatar_url)}),o.jsx(f,{className:"bg-primary/10 text-primary text-3xl font-bold",children:null==(i=null==Sr?void 0:Sr.username)?void 0:i.slice(0,1).toUpperCase()})]})}),o.jsx("h1",{className:"text-3xl font-black tracking-tight mb-1",children:(null==Sr?void 0:Sr.full_name)?C(Sr.full_name):`@${M(null==Sr?void 0:Sr.username)}`}),wo&&o.jsxs("p",{className:"mb-2 text-base font-medium leading-none text-muted-foreground",children:["@",M(null==Sr?void 0:Sr.username)]}),(null==Sr?void 0:Sr.profile_title)&&o.jsx("p",{className:"mt-2 mb-4 text-sm font-bold text-foreground",children:Sr.profile_title}),(null==Sr?void 0:Sr.bio)&&o.jsx("p",{className:"mb-5 max-w-md text-sm leading-relaxed text-muted-foreground sm:mb-6",children:Sr.bio}),mo&&o.jsxs(a,{type:"button",variant:"outline",onClick:()=>{const e=new URLSearchParams(he.search);e.set("edit","1"),z({pathname:he.pathname,search:e.toString()},{preventScrollReset:!0})},className:"mb-6 min-w-[170px] rounded-full border-white/15 bg-background/70 backdrop-blur-xl hover:bg-muted/80",children:[o.jsx(de,{className:"mr-2 h-4 w-4"}),"Edit public profile"]}),(null==Sr?void 0:Sr.user_id)&&!mo&&!Pr&&ge&&o.jsxs("div",{className:"mx-auto mb-6 flex w-full max-w-[540px] items-center justify-center gap-2 px-4",children:[o.jsx(a,{type:"button",variant:"outline",size:"icon",onClick:async()=>{try{const e=await $(Zr,"Copy this profile link:");xe({title:"copied"===e?"Profile link copied":"Profile link ready",description:Zr,variant:"success"})}catch(e){xe({title:"Copy failed",description:"Could not copy the profile link.",variant:"error"})}},className:"h-11 w-11 shrink-0 rounded-full border-white/15 bg-background/70 text-foreground backdrop-blur-xl hover:bg-muted/80","aria-label":"Copy profile link",title:"Copy profile link",children:o.jsx(ue,{className:"h-4 w-4"})}),!po&&o.jsx(_e,{userId:Sr.user_id,className:"h-11 min-w-0 flex-1 rounded-full px-6"}),po?o.jsx(a,{variant:"outline",className:"h-11 min-w-[128px] rounded-full border-border/50 px-6 hover:border-primary/40",disabled:Te,onClick:async()=>{await $e(Sr.user_id)},children:Te?o.jsx(_,{className:"w-4 h-4 animate-spin"}):"Unblock"}
2):o.jsxs(H,{children:[o.jsxs(oe,{children:[o.jsx(ae,{asChild:!0,children:o.jsx(a,{type:"button",variant:"outline",size:"icon",className:"h-11 w-11 shrink-0 rounded-full border-white/15 bg-background/70 text-foreground backdrop-blur-xl hover:bg-muted/80","aria-label":"More profile actions",title:"More profile actions",children:De?o.jsx(_,{className:"h-4 w-4 animate-spin"}):o.jsx(ce,{className:"h-4 w-4"})})}),o.jsx(te,{align:"end",className:"w-44 rounded-2xl border-foreground/10 p-1.5",children:o.jsx(J,{asChild:!0,children:o.jsxs(se,{className:"cursor-pointer rounded-xl text-destructive focus:bg-destructive/10 focus:text-destructive",disabled:De,onSelect:e=>e.preventDefault(),children:[o.jsx(me,{className:"mr-2 h-4 w-4"}),"Block"]})})})]}),o.jsxs(K,{className:"rounded-[2rem] bg-background/95 backdrop-blur-xl border-border/50",children:[o.jsxs(Y,{children:[o.jsx(X,{className:"text-xl font-bold",children:"Block this user?"}),o.jsx(V,{className:"text-muted-foreground",children:"They won't be able to follow you or interact with your profile."})]}),o.jsxs(Z,{className:"gap-2 pt-4",children:[o.jsx(ee,{className:"rounded-xl border-border/50",children:"Cancel"}),o.jsx(re,{onClick:async()=>{await Me(Sr.user_id)},className:"rounded-xl bg-destructive text-destructive-foreground hover:bg-destructive/90 font-bold",children:"Confirm Block"})]})]})]})]}),Pr&&o.jsx("div",{className:"mb-6 rounded-2xl border border-destructive/20 bg-destructive/5 px-4 py-3 text-sm text-destructive",children:"This profile isn’t available."}),po&&!Pr&&o.jsx("div",{className:"mb-6 rounded-2xl border border-border/40 bg-muted/30 px-4 py-3 text-sm text-muted-foreground",children:"You blocked this user. Unblock to view their public content."}),fo||jr?!fo&&Nr&&(()=>{const e=(null==Nr?void 0:Nr.board_followers_count)??0,r=(null==Nr?void 0:Nr.profile_followers_count)??0,a=[{value:x(e),label:1===e?"board follower":"board followers"}];return r>0&&a.push({value:x(r),label:1===r?"profile follower":"profile followers"}),((null==Nr?void 0:Nr.profile_views)||0)>0&&a.push({value:x((null==Nr?void 0:Nr.profile_views)||0),label:"views"}),o.jsx("div",{className:"mb-4 flex max-w-full flex-nowrap items-center justify-center gap-x-1.5 overflow-visible text-center text-[10px] font-semibold uppercase tracking-wider text-muted-foreground min-[430px]:text-[11px] min-[520px]:text-xs sm:mb-5 sm:gap-x-3 sm:text-left sm:text-sm sm:font-normal sm:normal-case sm:tracking-normal",children:a.map((e,r)=>o.jsxs("div",{className:"contents",children:[r>0&&o.jsx("span",{className:"text-muted-foreground/50",children:"·"}),o.jsxs("span",{className:"whitespace-nowrap",children:[o.jsx("span",{className:"font-bold text-foreground",children:e.value}),o.jsx("span",{className:"ml-1",children:e.label})]})]},e.label))})})():o.jsxs("div",{className:"mb-4 flex items-center justify-center gap-2 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground sm:mb-5 sm:text-sm sm:font-normal sm:normal-case sm:tracking-normal",children:[o.jsx("span",{className:"h-3 w-24 animate-pulse rounded-full bg-muted-foreground/20 sm:h-4 sm:w-32"}),o.jsx("span",{className:"text-muted-foreground/30",children:"·"}),o.jsx("span",{className:"h-3 w-16 animate-pulse rounded-full bg-muted-foreground/20 sm:h-4 sm:w-20"})]}),!fo&&(null==Sr?void 0:Sr.social_links)&&Sr.social_links.length>0&&o.jsx("div",{className:"mx-auto flex w-full max-w-3xl flex-wrap items-center justify-center gap-x-6 gap-y-3 px-4",children:Sr.social_links.map((e,r)=>{const a=B(e.platform,"website"===e.platform?e.url:L(e)),t=R(e),s=U(a),l=(e=>{try{const r=new URL(e);return{primary:`${r.origin}/favicon.ico`,fallback:`https://icons.duckduckgo.com/ip3/${r.hostname}.ico`}}catch{return null}})(a);return o.jsxs("a",{href:a,target:"_blank",rel:"me noopener noreferrer",title:s,"aria-label":`Open ${t}: ${s}`,className:h("group flex min-w-[160px] items-center gap-3 text-left text-muted-foreground transition-colors hover:text-foreground"),children:[o.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-background/80 text-foreground shadow-sm",children:l?o.jsxs(o.Fragment,{children:[o.jsx("img",{src:l.primary,alt:"",className:"h-5 w-5 rounded-[4px]",loading:"lazy",decoding:"async",fetchpriority:"low",onError:e=>{var r;if("duckduckgo"!==e.currentTarget.dataset.fallback)return e.currentTarget.dataset.fallback="duckduckgo",void(e.currentTarget.src=l.fallback);e.currentTarget.style.display="none",null==(r=e.currentTarget.nextElementSibling)||r.classList.remove("hidden")}}),o.jsx("span",{className:"hidden",children:o.jsx(I,{platform:e.platform,className:"h-4 w-4"})})]}):o.jsx(I,{platform:e.platform,className:"h-4 w-4"})}),o.jsx("span",{className:"min-w-0",children:o.jsx("span",{className:"block truncate text-sm font-semibold text-foreground",children:t})})]},`${e.platform}-${e.url}-${r}`)})})]}),o.jsx("div",{className:"w-full max-w-none px-4 sm:px-6",children:!fo&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"mb-6 flex items-center gap-2",children:[o.jsx(pe,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("h2",{className:"text-sm font-bold uppercase tracking-widest text-muted-foreground",children:"Boards"})]}),Jr&&o.jsxs("div",{className:"mb-6 flex min-w-0 items-center gap-3",children:[o.jsx(a,{variant:"ghost",size:"icon",className:"h-9 w-9 shrink-0 rounded-full",onClick:()=>ro(eo),children:o.jsx(fe,{className:"h-4 w-4"})}),o.jsxs("div",{className:"min-w-0",children:[o.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[o.jsx("h3",{className:"truncate text-2xl font-black tracking-tight",children:Jr.name}),o.jsx(a,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 rounded-full",onClick:async()=>
2{if(!Lr)return;const e=((e,r,o)=>{const a=(null==e?void 0:e.trim())||"username",t=Ee(r,o),s=`${A()}/u/${encodeURIComponent(a)}`;return t?`${s}/${t.split("/").map(encodeURIComponent).join("/")}`:s})((null==Sr?void 0:Sr.username)||v,Qe,Lr);try{const r=await $(e,"Copy this folder link:");xe({title:"copied"===r?"Folder link copied":"Folder link ready",description:e,variant:"success"})}catch(r){xe({title:"Copy failed",description:"Could not copy the folder link.",variant:"error"})}},"aria-label":`Copy link to ${Jr.name}`,children:o.jsx(ue,{className:"h-4 w-4"})})]}),o.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-1 text-xs font-bold uppercase tracking-widest text-muted-foreground",children:[o.jsx("button",{type:"button",className:"hover:text-foreground",onClick:()=>ro(null),children:"Boards"}),Vr.map(e=>o.jsxs("span",{className:"flex items-center gap-1",children:[o.jsx("span",{children:"/"}),o.jsx("button",{type:"button",className:"max-w-32 truncate hover:text-foreground",onClick:()=>ro(e.id),children:e.name})]},e.id))]})]})]}),(Lr?nr&&0===rr.length:We)?o.jsxs("div",{className:"text-center py-20 max-w-md mx-auto",children:[o.jsx("div",{className:"w-20 h-20 rounded-[2rem] glass flex items-center justify-center mx-auto mb-6 opacity-50",children:o.jsx(_,{className:"w-8 h-8 animate-spin text-primary"})}),o.jsx("h3",{className:"text-xl font-bold mb-2",children:"Loading boards"}),o.jsx("p",{className:"text-muted-foreground font-medium",children:"Pulling in this user's public boards."})]}):uo?0===io.length?o.jsxs("div",{className:"text-center py-20 max-w-md mx-auto",children:[o.jsx("div",{className:"w-20 h-20 rounded-[2rem] glass flex items-center justify-center mx-auto mb-6 opacity-50",children:o.jsx(be,{className:"w-8 h-8 text-primary"})}),o.jsx("h3",{className:"text-xl font-bold mb-2",children:"Nothing public here yet"}),o.jsx("p",{className:"text-muted-foreground font-medium",children:"This folder doesn't have public boards yet."})]}):o.jsx("div",{className:"grid grid-cols-2 gap-6",style:{gridTemplateColumns:`repeat(${Yr}, minmax(0, 1fr))`,gridAutoRows:Xr},children:io.map((e,r)=>{if("folder"===e.type){const a=e.folder,t=O(a.card_size),s=q(t,Yr);return o.jsx("div",{style:{gridColumn:`span ${s.columnSpan}`,gridRow:`span ${s.rowSpan}`},children:o.jsx(Be,{folder:a,itemCount:Number.isFinite(Number(a.board_count))?Number(a.board_count):Ae(Qe,to,a.id),previewBoard:no.get(a.id),onOpen:()=>ro(a.id),lowEnd:g,priority:r<4,cardSize:t})},e.id)}const a=Q(e.board),t=q(a,Yr);return o.jsx("div",{style:{gridColumn:`span ${t.columnSpan}`,gridRow:`span ${t.rowSpan}`},children:o.jsx(n,{board:e.board,hidePublicBadge:!0,priority:r<4,cardSize:a})},e.id)})}):o.jsxs("div",{className:"text-center py-20 max-w-md mx-auto",children:[o.jsx("div",{className:"w-20 h-20 rounded-[2rem] glass flex items-center justify-center mx-auto mb-6 opacity-50",children:o.jsx(be,{className:"w-8 h-8 text-primary"})}),o.jsx("h3",{className:"text-xl font-bold mb-2",children:"No public boards yet"}),o.jsx("p",{className:"text-muted-foreground font-medium",children:"This user hasn't shared any boards publicly yet."})]}),Qr?o.jsx("div",{ref:pr,className:"flex min-h-20 items-center justify-center pt-8","aria-live":"polite",children:o.jsxs(a,{type:"button",variant:"outline",className:"rounded-full",disabled:qr,onClick:()=>{Gr()},children:[qr?o.jsx(_,{className:"mr-2 h-4 w-4 animate-spin"}):null,Wr?"Retry loading boards":qr?"Loading boards…":"Load more boards"]})}):Wr?o.jsx("div",{className:"flex min-h-20 items-center justify-center pt-8","aria-live":"polite",children:o.jsxs(a,{type:"button",variant:"outline",className:"rounded-full",disabled:qr,onClick:()=>{Lr?mr(e=>e+1):zr()},children:[qr?o.jsx(_,{className:"mr-2 h-4 w-4 animate-spin"}):null,qr?"Loading boards…":"Retry loading boards"]})}):null]})})]})]})};export{je as appendUniquePublicProfileBoards,De as default,we as mapPublicProfileBoardRow};

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.