phanpy/assets/main-93nxKW6L.js
Lim Chee Aun 0fd48e425c Imported from 2024.01.05.adf0b35.tar.gz.
SHA256:ba1790ff662cba5a5be4ec8e2880aaf410dee5cafeb786ec07d827ee8f97a78a
2024-01-06 12:29:42 +00:00

23 lines
187 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{s as k,a as z,b as Ae,u as _n,c as pe,o as ms,I as w,M as Ce,d as se,A as et,N as It,e as Fe,f as Be,L as ee,g as at,h as En,l as gs,t as Qt,R as $t,i as bs,p as tt,j as He,k as Pn,m as Pt,E as Nn,n as Ue,q as Ke,r as ys,v as Ie,w as en,T as Dn,x as ht,y as Un,z as tn,B as ws,C as vs,D as Fn,F as Ee,G as Ss,S as Me,H as ks,J as Is,K as Ge,O as On,P as Nt,Q as Ts,U as rt,V as Bn,W as _e,X as zn,Y as Cs,Z as $s,_ as xs,$ as gt,a0 as As,a1 as nn,a2 as Ls,a3 as sn,a4 as on}from"./useTitle-qcvAjFcD.js";import{_ as D,p as B,h as $,u as Re,w as ze,a as e,b as Se,g as A,s as xt,c as Ht,M as oe,d as De,e as lt,F as he,T as Ve,S as Ms,I as je,y as Je,f as qn,l as an,i as Hn,j as Vn,k as qe,A as Rs,N as _s,m as Es,q as Ps,J as Ns,C as Gn,n as Ds,o as nt,r as jn,t as Us,v as Fs,x as Os,z as pt,B as Yn,D as cn,E as Bs,R as Vt,G as Te,H as zs,K as qs}from"./vendor-jabuMAqb.js";function ct(t=()=>{},n=[]){const i=D(t);B(()=>{i.current=t},[n]),B(()=>{const o=()=>{const a=document.hidden||document.visibilityState==="hidden";i.current(!a)};return document.addEventListener("visibilitychange",o),()=>document.removeEventListener("visibilitychange",o)},[])}const Hs=1e3*3,Vs=15e3,Gs=ze(function({isLoggedIn:n}){const[i,o]=$(!0);ct(o);const a=async(l,c,d)=>{var h;if(k.notificationsLast){const r=l.v1.notifications.list({limit:1,sinceId:k.notificationsLast.id}),{value:p}=await r.next();if(p!=null&&p.length)if(d)k.notificationsShowNew=!0;else{let f;try{const b=await l.v1.markers.fetch({timeline:"notifications"});f=(h=b==null?void 0:b.notifications)==null?void 0:h.lastReadId}catch{}f?k.notificationsShowNew=p[0].id!==f:k.notificationsShowNew=!0}}};B(()=>{let l,c;if(n&&i){const{masto:d,streaming:h,instance:r}=z();(async()=>{await a(d,r);let p=!1;h&&(c=setTimeout(()=>{(async()=>{try{p=!0,l=h.user.notification.subscribe();for await(const f of l){if(!l||!i)break;f.event==="notification"&&Ae(f.payload,r,{skipThreading:!0}),k.notificationsShowNew=!0}}catch{p=!1}p||(c=setInterval(()=>{a(d,r,!0)},Vs))})()},Hs))})()}return()=>{var d;(d=l==null?void 0:l.unsubscribe)==null||d.call(l),l=null,clearTimeout(c),clearInterval(c)}},[i,n]);const s=D(),u=()=>{s.current=Date.now(),fetch("./version.json").then(l=>l.json()).then(l=>{l&&(k.appVersion=l)}).catch(l=>{})};return _n(u,i&&1e3*60*30),ct(l=>{l&&(s.current?Date.now()-s.current>1e3*60*60&&u():u())}),Re("shift+alt+k",()=>{const l=k.settings.cloakMode;k.settings.cloakMode=!l,pe({text:`Cloak mode ${l?"disabled":"enabled"}`})}),null});function js(){function t(n){n.shiftKey?ms()||(k.showCompose=!0):k.showCompose=!0}return Re("c, shift+c",t,{ignoreEventWhen:n=>!!document.querySelector("#modal-container > *")}),e("button",{type:"button",id:"compose-button",onClick:t,children:e(w,{icon:"quill",size:"xl",alt:"Compose"})})}const Ys=ze(function(){const n=Se(k);function i(){k.showKeyboardShortcutsHelp=!1}return Re("?, shift+?",o=>{k.showKeyboardShortcutsHelp=!0},{ignoreEventWhen:o=>!!document.querySelector("#modal-container > *")}),!!n.showKeyboardShortcutsHelp&&e(Ce,{class:"light",onClose:i,children:e("div",{id:"keyboard-shortcuts-help-container",class:"sheet",tabindex:"-1",children:[e("button",{type:"button",class:"sheet-close",onClick:i,children:e(w,{icon:"x"})}),e("header",{children:e("h2",{children:"Keyboard shortcuts"})}),e("main",{children:e("table",{children:[{action:"Keyboard shortcuts help",keys:e("kbd",{children:"?"})},{action:"Next post",keys:e("kbd",{children:"j"})},{action:"Previous post",keys:e("kbd",{children:"k"})},{action:"Skip carousel to next post",keys:e(A,{children:[e("kbd",{children:"Shift"})," + ",e("kbd",{children:"j"})]})},{action:"Skip carousel to previous post",keys:e(A,{children:[e("kbd",{children:"Shift"})," + ",e("kbd",{children:"k"})]})},{action:"Open post details",keys:e(A,{children:[e("kbd",{children:"Enter"})," or ",e("kbd",{children:"o"})]})},{action:e(A,{children:["Expand content warning or",e("br",{}),"toggle expanded/collapsed thread"]}),keys:e("kbd",{children:"x"})},{action:"Close post or dialogs",keys:e(A,{children:[e("kbd",{children:"Esc"})," or ",e("kbd",{children:"Backspace"})]})},{action:"Focus column in multi-column mode",keys:e(A,{children:[e("kbd",{children:"1"})," to ",e("kbd",{children:"9"})]})},{action:"Compose new post",keys:e("kbd",{children:"c"})},{action:"Compose new post (new window)",className:"insignificant",keys:e(A,{children:[e("kbd",{children:"Shift"})," + ",e("kbd",{children:"c"})]})},{action:"Send post",keys:e(A,{children:[e("kbd",{children:"Ctrl"})," + ",e("kbd",{children:"Enter"})," or ",e("kbd",{children:"⌘"})," +"," ",e("kbd",{children:"Enter"})]})},{action:"Search",keys:e("kbd",{children:"/"})},{action:"Reply",keys:e("kbd",{children:"r"})},{action:"Reply (new window)",className:"insignificant",keys:e(A,{children:[e("kbd",{children:"Shift"})," + ",e("kbd",{children:"r"})]})},{action:"Like (favourite)",keys:e(A,{children:[e("kbd",{children:"l"})," or ",e("kbd",{children:"f"})]})},{action:"Boost",keys:e(A,{children:[e("kbd",{children:"Shift"})," + ",e("kbd",{children:"b"})]})},{action:"Bookmark",keys:e("kbd",{children:"d"})},{action:"Toggle Cloak mode",keys:e(A,{children:[e("kbd",{children:"Shift"})," + ",e("kbd",{children:"Alt"})," + ",e("kbd",{children:"k"})]})}].map(({action:o,className:a,keys:s})=>e("tr",{children:[e("th",{class:a,children:o}),e("td",{children:s})]},o))})})]})})});function Ws({onClose:t}){const{masto:n}=z(),i=se.local.getJSON("accounts"),o=se.session.get("currentAccount"),a=i.length>1,[s,u]=xt(c=>c+1,0),[l]=Ht();return e("div",{id:"accounts-container",class:"sheet",tabIndex:"-1",children:[!!t&&e("button",{type:"button",class:"sheet-close",onClick:t,children:e(w,{icon:"x"})}),e("header",{class:"header-grid",children:e("h2",{children:"Accounts"})}),e("main",{children:e("section",{children:[e("ul",{class:"accounts-list",ref:l,children:i.map((c,d)=>{const h=c.info.id===o,r=d===0;return e("li",{children:[e("div",{children:[a&&e("span",{class:`current ${h?"is-current":""}`,children:e(w,{icon:"check-circle",alt:"Current"})}),e(et,{url:c.info.avatarStatic,size:"xxl",onDblClick:async()=>{if(h)try{const p=await n.v1.accounts.$select(c.info.id).fetch();c.info=p,se.local.setJSON("accounts",i),u()}catch{}}}),e(It,{account:a?{...c.info,acct:/@/.test(c.info.acct)?c.info.acct:`${c.info.acct}@${c.instanceURL}`}:c.info,showAcct:!0,onClick:()=>{h?k.showAccount=`${c.info.username}@${c.instanceURL}`:(se.session.set("currentAccount",c.info.id),location.reload())}})]}),e("div",{class:"actions",children:[r&&a&&e(A,{children:[e("span",{class:"tag",children:"Default"})," "]}),e(Fe,{align:"end",menuButton:e("button",{type:"button",title:"More",class:"plain more-button",children:e(w,{icon:"more",size:"l",alt:"More"})}),children:[e(oe,{onClick:()=>{k.showAccount=`${c.info.username}@${c.instanceURL}`},children:[e(w,{icon:"user"}),e("span",{children:"View profile…"})]}),e(De,{}),a&&e(oe,{disabled:r,onClick:()=>{i.splice(d,1),i.unshift(c),se.local.setJSON("accounts",i),u()},children:[e(w,{icon:"check-circle"}),e("span",{children:"Set as default"})]}),e(Be,{subMenu:!0,confirmLabel:e(A,{children:[e(w,{icon:"exit"}),e("span",{children:["Log out @",c.info.acct,"?"]})]}),disabled:!h,menuItemClassName:"danger",onClick:()=>{i.splice(d,1),se.local.setJSON("accounts",i),location.href=location.pathname||"/"},children:[e(w,{icon:"exit"}),e("span",{children:"Log out…"})]})]})]})]},c.info.id)})}),e("p",{children:e(ee,{to:"/login",class:"button plain2",onClick:t,children:[e(w,{icon:"plus"})," ",e("span",{children:"Add an existing account"})]})}),a&&e("p",{children:e("small",{children:["Note: ",e("i",{children:"Default"})," account will always be used for first load. Switched accounts will persist during the session."]})})]})})]})}const Gt="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20fill-rule='evenodd'%20stroke-linejoin='round'%20stroke-miterlimit='2'%20clip-rule='evenodd'%20viewBox='0%200%2064%2064'%3e%3cpath%20fill='none'%20d='M0%200h63.994v63.994H0z'/%3e%3cpath%20fill='%23a4bff7'%20d='M37.774%2011.471c14.639%203.752%2019.034%2016.557%2015.889%2031.304-.696%203.261-2.563%206.661-6.356%208.693-3.204%201.717-8.07%202.537-15.338.55l-9.634-2.404C11.651%2046.992%208.378%2038.733%2010.027%2031.823c3.627-15.201%2015.543-23.48%2027.747-20.352Z'/%3e%3cpath%20fill='%23d8e7fe'%20d='M36.76%2015.429c12.289%203.15%2015.547%2014.114%2012.907%2026.493-.947%204.44-4.937%209.365-16.664%206.143l-9.684-2.417c-7.854-1.923-10.53-7.8-9.318-12.877%203.016-12.639%2012.611-19.943%2022.759-17.342Z'/%3e%3cpath%20fill='%236081e6'%20d='M27.471%2024.991c-1.457-.698-7.229%203.213-7.663%208.926-.182%202.39%204.55%203.237%205.071-.169.725-4.743%203.715-8.218%202.592-8.757Zm10.746%202.005c-2.083.327-.382%205.901-.595%2010.727-.123%202.8%204.388%203.464%204.703%202.011%201.098-5.073-2.066-13.058-4.108-12.738Z'/%3e%3c/svg%3e";function rn(t){const{masto:n}=z();return n.v1.push.subscription.create(t)}function Ks(){const{masto:t}=z();return t.v1.push.subscription.fetch()}function Zs(t){const{masto:n}=z();return n.v1.push.subscription.update(t)}function Js(){const{masto:t}=z();return t.v1.push.subscription.remove()}function At(){return"serviceWorker"in navigator&&"PushManager"in window}function Xs(){return navigator.serviceWorker.getRegistration()}async function jt(){const t=await Xs(),n=t?await t.pushManager.getSubscription():void 0;return{registration:t,subscription:n}}function Wn(t){const n="=".repeat((4-t.length%4)%4),i=`${t}${n}`.replace(/-/g,"+").replace(/_/g,"/"),o=window.atob(i),a=new Uint8Array(o.length);for(let s=0;s<o.length;++s)a[s]=o.charCodeAt(s);return a}async function Qs(){if(!At())return;const{subscription:t}=await jt();let n=null;try{n=await Ks()}catch(i){if(!/(not found|unknown)/i.test(i.message))throw i}if(n&&t){const i=n.endpoint===t.endpoint,{vapidKey:o}=at(),a=n.serverKey===o;if(!i)throw new Error("Backend subscription endpoint changed");if(!a)throw new Error("Backend subscription key and vapid key changed")}if(t&&!n){const{vapidKey:i}=at(),{applicationServerKey:o}=t.options,a=Wn(i).toString(),s=new Uint8Array(o).toString();if(!(a===s))throw await t.unsubscribe(),new Error("Subscription key and vapid key changed")}return{subscription:t,backendSubscription:n}}async function ln({data:t,policy:n}){if(!At())return;let{registration:i,subscription:o}=await jt(),a=null;if(o)try{a=await Zs({data:t,policy:n})}catch{a=await rn({subscription:o,data:t,policy:n})}else{const{vapidKey:s}=at();if(!s)throw new Error("No server key found");o=await i.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:Wn(s)}),a=await rn({subscription:o,data:t,policy:n})}return{subscription:o,backendSubscription:a}}async function dn(){if(!At())return;const{subscription:t}=await jt();t&&(await Js(),await t.unsubscribe())}var ei={PHANPY_CLIENT_NAME:"Phanpy",PHANPY_WEBSITE:"https://phanpy.social",PHANPY_LINGVA_INSTANCES:"lingva.phanpy.social lingva.lunar.icu lingva.garudalinux.org translate.plausibility.cloud",PHANPY_PRIVACY_POLICY_URL:"https://github.com/cheeaun/phanpy/blob/main/PRIVACY.MD",VITE_APP_ENV:"production",BASE_URL:"./",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const un=16,Qe=[15,16,17,18,19,20],{PHANPY_WEBSITE:hn,PHANPY_PRIVACY_POLICY_URL:ti,PHANPY_IMG_ALT_API_URL:ni}=ei;function si({onClose:t}){const n=Se(k),i=se.local.get("theme")||"auto",o=D(),a=n.settings.contentTranslationTargetLanguage||null,s=En(),u=gs(s),l=se.local.get("textSize")||un,[c,d]=$(se.account.get("preferences")||{}),{masto:h,authenticated:r,instance:p}=z();return e("div",{id:"settings-container",class:"sheet",tabIndex:"-1",children:[!!t&&e("button",{type:"button",class:"sheet-close",onClick:t,children:e(w,{icon:"x"})}),e("header",{children:e("h2",{children:"Settings"})}),e("main",{children:[e("section",{children:e("ul",{children:[e("li",{children:[e("div",{children:e("label",{children:"Appearance"})}),e("div",{children:e("form",{ref:o,onInput:f=>{f.preventDefault();const g=new FormData(o.current).get("theme"),v=document.documentElement;if(g==="auto"){v.classList.remove("is-light","is-dark");const m=document.querySelector('meta[data-theme-setting="manual"]');m&&(m.name=""),document.querySelectorAll('meta[data-theme-setting="auto"]').forEach(S=>{S.name="theme-color"})}else{v.classList.toggle("is-light",g==="light"),v.classList.toggle("is-dark",g==="dark");const m=document.querySelector('meta[data-theme-setting="manual"]');m&&(m.name="theme-color",m.content=g==="light"?m.dataset.themeLightColor:m.dataset.themeDarkColor),document.querySelectorAll('meta[data-theme-setting="auto"]').forEach(S=>{S.name=""})}document.querySelector('meta[name="color-scheme"]').setAttribute("content",g==="auto"?"dark light":g),g==="auto"?se.local.del("theme"):se.local.set("theme",g)},children:e("div",{class:"radio-group",children:[e("label",{children:[e("input",{type:"radio",name:"theme",value:"light",defaultChecked:i==="light"}),e("span",{children:"Light"})]}),e("label",{children:[e("input",{type:"radio",name:"theme",value:"dark",defaultChecked:i==="dark"}),e("span",{children:"Dark"})]}),e("label",{children:[e("input",{type:"radio",name:"theme",value:"auto",defaultChecked:i!=="light"&&i!=="dark"}),e("span",{children:"Auto"})]})]})})})]}),e("li",{children:[e("div",{children:e("label",{children:"Text size"})}),e("div",{class:"range-group",children:[e("span",{style:{fontSize:Qe[0]},children:"A"})," ",e("input",{type:"range",min:Qe[0],max:Qe[Qe.length-1],step:"1",value:l,list:"sizes",onChange:f=>{const b=parseInt(f.target.value,10);document.documentElement.style.setProperty("--text-size",`${b}px`),b===un?se.local.del("textSize"):se.local.set("textSize",f.target.value)}})," ",e("span",{style:{fontSize:Qe[Qe.length-1]},children:"A"}),e("datalist",{id:"sizes",children:Qe.map(f=>e("option",{value:f}))})]})]})]})}),r&&e(A,{children:[e("h3",{children:"Posting"}),e("section",{children:e("ul",{children:e("li",{children:[e("div",{children:e("label",{for:"posting-privacy-field",children:["Default visibility"," ",e(w,{icon:"cloud",alt:"Synced",class:"synced-icon"})]})}),e("div",{children:e("select",{id:"posting-privacy-field",value:c["posting:default:visibility"]||"public",onChange:f=>{const{value:b}=f.target;(async()=>{try{await h.v1.accounts.updateCredentials({source:{privacy:b}}),d({...c,"posting:default:visibility":b}),se.account.set("preferences",{...c,"posting:default:visibility":b})}catch{alert("Failed to update posting privacy")}})()},children:[e("option",{value:"public",children:"Public"}),e("option",{value:"unlisted",children:"Unlisted"}),e("option",{value:"private",children:"Followers only"})]})})]})})}),e("p",{class:"section-postnote",children:[e(w,{icon:"cloud",alt:"Synced",class:"synced-icon"})," ",e("small",{children:["Synced to your instance server's settings."," ",e("a",{href:`https://${p}/`,target:"_blank",rel:"noopener noreferrer",children:["Go to your instance (",p,") for more settings."]})]})]})]}),e("h3",{children:"Experiments"}),e("section",{children:e("ul",{children:[e("li",{children:e("label",{children:[e("input",{type:"checkbox",checked:n.settings.autoRefresh,onChange:f=>{k.settings.autoRefresh=f.target.checked}})," ","Auto refresh timeline posts"]})}),e("li",{children:e("label",{children:[e("input",{type:"checkbox",checked:n.settings.boostsCarousel,onChange:f=>{k.settings.boostsCarousel=f.target.checked}})," ","Boosts carousel"]})}),e("li",{children:[e("label",{children:[e("input",{type:"checkbox",checked:n.settings.contentTranslation,onChange:f=>{const{checked:b}=f.target;k.settings.contentTranslation=b,b||(k.settings.contentTranslationTargetLanguage=null)}})," ","Post translation"]}),e("div",{class:`sub-section ${n.settings.contentTranslation?"":"more-insignificant"}`,children:[e("div",{children:e("label",{children:["Translate to"," ",e("select",{value:a||"",disabled:!n.settings.contentTranslation,onChange:f=>{k.settings.contentTranslationTargetLanguage=f.target.value||null},children:[e("option",{value:"",children:["System language (",u,")"]}),e("option",{disabled:!0,children:"──────────"}),Qt.map(f=>e("option",{value:f.code,children:f.name}))]})]})}),e("hr",{}),e("p",{class:"checkbox-fieldset",children:['Hide "Translate" button for',n.settings.contentTranslationHideLanguages.length>0&&e(A,{children:[" ","(",n.settings.contentTranslationHideLanguages.length,")"]}),":",e("div",{class:"checkbox-fields",children:Qt.map(f=>e("label",{children:[e("input",{type:"checkbox",checked:n.settings.contentTranslationHideLanguages.includes(f.code),onChange:b=>{const{checked:g}=b.target;g?k.settings.contentTranslationHideLanguages.push(f.code):k.settings.contentTranslationHideLanguages=n.settings.contentTranslationHideLanguages.filter(v=>v!==f.code)}})," ",f.name]}))})]}),e("p",{class:"insignificant",children:e("small",{children:["Note: This feature uses external translation services, powered by"," ",e("a",{href:"https://github.com/cheeaun/lingva-api",target:"_blank",rel:"noopener noreferrer",children:"Lingva API"})," ","&"," ",e("a",{href:"https://github.com/thedaviddelta/lingva-translate",target:"_blank",rel:"noopener noreferrer",children:"Lingva Translate"}),"."]})}),e("hr",{}),e("div",{children:[e("label",{children:[e("input",{type:"checkbox",checked:n.settings.contentTranslationAutoInline,disabled:!n.settings.contentTranslation,onChange:f=>{k.settings.contentTranslationAutoInline=f.target.checked}})," ","Auto inline translation"]}),e("p",{class:"insignificant",children:e("small",{children:["Automatically show translation for posts in timeline. Only works for ",e("b",{children:"short"})," posts without content warning, media and poll."]})})]})]})]}),!!ni&&e("li",{children:[e("label",{children:[e("input",{type:"checkbox",checked:n.settings.mediaAltGenerator,onChange:f=>{k.settings.mediaAltGenerator=f.target.checked}})," ","Image description generator"," ",e(w,{icon:"sparkles2",class:"more-insignificant"})]}),e("div",{class:"sub-section insignificant",children:e("small",{children:"Only for new images while composing new posts."})}),e("div",{class:"sub-section insignificant",children:e("small",{children:["Note: This feature uses external AI service, powered by"," ",e("a",{href:"https://github.com/cheeaun/img-alt-api",target:"_blank",rel:"noopener noreferrer",children:"img-alt-api"}),". May not work well. Only for images and in English."]})})]}),e("li",{children:[e("label",{children:[e("input",{type:"checkbox",checked:n.settings.cloakMode,onChange:f=>{k.settings.cloakMode=f.target.checked}})," ","Cloak mode"," ",e("span",{class:"insignificant",children:["(",e("samp",{children:"Text"})," → ",e("samp",{children:"████"}),")"]})]}),e("div",{class:"sub-section insignificant",children:e("small",{children:"Replace text as blocks, useful when taking screenshots, for privacy reasons."})})]}),r&&e("li",{children:e("button",{type:"button",class:"light",onClick:()=>{k.showDrafts=!0,k.showSettings=!1},children:"Unsent drafts"})})]})}),r&&e(ii,{onClose:t}),e("h3",{children:"About"}),e("section",{children:[e("div",{style:{display:"flex",flexWrap:"wrap",gap:8,lineHeight:1.25,alignItems:"center",marginTop:8},children:[e("img",{src:Gt,alt:"",width:"64",height:"64",style:{aspectRatio:"1/1",verticalAlign:"middle",background:"#b7cdf9",borderRadius:12}}),e("div",{children:[e("b",{children:"Phanpy"})," ",e("a",{href:"https://hachyderm.io/@phanpy",rel:"noopener noreferrer",onClick:f=>{f.preventDefault(),k.showAccount="phanpy@hachyderm.io"},children:"@phanpy"}),e("br",{}),e("a",{href:"https://github.com/cheeaun/phanpy",target:"_blank",rel:"noopener noreferrer",children:"Built"})," ","by"," ",e("a",{href:"https://mastodon.social/@cheeaun",rel:"noopener noreferrer",onClick:f=>{f.preventDefault(),k.showAccount="cheeaun@mastodon.social"},children:"@cheeaun"})]})]}),e("p",{children:[e("a",{href:"https://github.com/sponsors/cheeaun",target:"_blank",rel:"noopener noreferrer",children:"Sponsor"})," ","·"," ",e("a",{href:"https://www.buymeacoffee.com/cheeaun",target:"_blank",rel:"noopener noreferrer",children:"Donate"})," ","·"," ",e("a",{href:ti,target:"_blank",rel:"noopener noreferrer",children:"Privacy Policy"})]}),e("p",{children:[hn&&e(A,{children:[e("span",{class:"insignificant",children:"Site:"})," ",hn.replace(/https?:\/\//g,"").replace(/\/$/,""),e("br",{})]}),e("span",{class:"insignificant",children:"Version:"})," ",e("input",{type:"text",class:"version-string",readOnly:!0,size:"18",value:`${"2024-01-05T02:16:32.524Z".slice(0,10).replace(/-/g,".")}.adf0b35`,onClick:f=>{f.target.select();try{navigator.clipboard.writeText(f.target.value),pe("Version string copied")}catch{pe("Unable to copy version string")}}})," ",e("span",{class:"ib insignificant",children:["(",e("a",{href:"https://github.com/cheeaun/phanpy/commit/adf0b35",target:"_blank",rel:"noopener noreferrer",children:e($t,{datetime:new Date("2024-01-05T02:16:32.524Z")})}),")"]})]})]})]})]})}function ii({onClose:t}){if(!At())return null;const{instance:n}=z(),[i,o]=$("default"),a=D(),[s,u]=$(!1),[l,c]=$(!1),d=D();B(()=>{(async()=>{o("loading");try{const{subscription:r,backendSubscription:p}=await Qs();if(p!=null&&p.policy&&p.policy!=="none"){u(!0);const{alerts:f,policy:b}=p;d.current=b;const{elements:g}=a.current,v=g.namedItem(b);v&&(v.value=b),Object.keys(f).forEach(m=>{const y=g.namedItem(m);(y==null?void 0:y.type)==="checkbox"&&(y.checked=!0)})}o("default")}catch(r){/outside.*authorized/i.test(r.message)?c(!0):alert((r==null?void 0:r.message)||r),o("error")}})()},[]);const h=i==="loading";return e("form",{ref:a,onChange:()=>{const r=Object.fromEntries(new FormData(a.current)),p=!!r["policy-allow"],f={policy:r.policy,data:{alerts:{mention:!!r.mention,favourite:!!r.favourite,reblog:!!r.reblog,follow:!!r.follow,follow_request:!!r.followRequest,poll:!!r.poll,update:!!r.update,status:!!r.status}}};let b=0;Object.keys(f.data.alerts).forEach(v=>{f.data.alerts[v]?b++:delete f.data.alerts[v]});const g=d.current!==f.policy;p&&b>0?g?dn().then(()=>{ln(f)}).catch(v=>{alert("Failed to update subscription. Please try again.")}):ln(f).catch(v=>{alert("Failed to update subscription. Please try again.")}):dn().catch(v=>{alert("Failed to remove subscription. Please try again.")})},children:[e("h3",{children:"Push Notifications (beta)"}),e("section",{children:e("ul",{children:e("li",{children:[e("label",{children:[e("input",{type:"checkbox",disabled:h||l,name:"policy-allow",checked:s,onChange:async r=>{const{checked:p}=r.target;if(p){const f=await Notification.requestPermission();f==="granted"?u(!0):(u(!1),f==="denied"&&alert("Push notifications are blocked. Please enable them in your browser settings."))}else u(!1)}})," ","Allow from"," ",e("select",{name:"policy",disabled:h||l||!s,children:[{value:"all",label:"anyone"},{value:"followed",label:"people I follow"},{value:"follower",label:"followers"}].map(r=>e("option",{value:r.value,children:r.label}))})]}),e("div",{class:"shazam-container no-animation",style:{width:"100%"},hidden:!s,children:e("div",{class:"shazam-container-inner",children:e("div",{class:"sub-section",children:e("ul",{children:[{value:"mention",label:"Mentions"},{value:"favourite",label:"Likes"},{value:"reblog",label:"Boosts"},{value:"follow",label:"Follows"},{value:"followRequest",label:"Follow requests"},{value:"poll",label:"Polls"},{value:"update",label:"Post edits"},{value:"status",label:"New posts"}].map(r=>e("li",{children:e("label",{children:[e("input",{type:"checkbox",name:r.value})," ",r.label]})}))})})})}),l&&e("div",{class:"sub-section",children:e("p",{children:["Push permission was not granted since your last login. You'll need to"," ",e(ee,{to:`/login?instance=${n}`,onClick:t,children:[e("b",{children:"log in"})," again to grant push permission"]}),"."]})})]})})}),e("p",{class:"section-postnote",children:e("small",{children:["NOTE: Push notifications only work for ",e("b",{children:"one account"}),"."]})})]})}const Dt=()=>{let t=setTimeout(()=>{if(!document.getElementById("columns")){const i=document.querySelectorAll("#modal-container > *");if(i!=null&&i.length){const u=i[i.length-1],l=u.querySelector('[tabindex="-1"]')||u;if(l){l.focus();return}}if(document.querySelector(".deck-backdrop"))return;const a=document.querySelectorAll(".deck-container"),s=a[a.length-1];s&&s.tabIndex===-1&&s.focus()}},100);return()=>clearTimeout(t)};function Kn(t){if(!t)return;const n=lt(),i=D(n.pathname);B(()=>{i.current&&n.pathname!==i.current&&(t==null||t())},[n.pathname,t])}function Yt({list:t,onClose:n}){const{masto:i}=z(),[o,a]=$("default"),s=!!t,u=D(),l=D(),c=D();B(()=>{s&&(u.current.value=t.title,l.current.value=t.repliesPolicy,c.current&&(c.current.checked=t.exclusive))},[s]);const d=bs("@mastodon/list-exclusive");return e("div",{class:"sheet",children:[!!n&&e("button",{type:"button",class:"sheet-close",onClick:n,children:e(w,{icon:"x"})})," ",e("header",{children:e("h2",{children:s?"Edit list":"New list"})}),e("main",{children:e("form",{class:"list-form",onSubmit:h=>{h.preventDefault();const r=new FormData(h.target),p=r.get("title"),f=r.get("replies_policy"),b=r.get("exclusive")==="on";a("loading"),(async()=>{try{let g;s?g=await i.v1.lists.$select(t.id).update({title:p,replies_policy:f,exclusive:b}):g=await i.v1.lists.create({title:p,replies_policy:f,exclusive:b}),a("default"),n==null||n({state:"success",list:g})}catch{a("error"),alert(s?"Unable to edit list.":"Unable to create list.")}})()},children:[e("div",{class:"list-form-row",children:e("label",{for:"list-title",children:["Name"," ",e("input",{ref:u,type:"text",id:"list-title",name:"title",required:!0,disabled:o==="loading",dir:"auto"})]})}),e("div",{class:"list-form-row",children:e("select",{ref:l,name:"replies_policy",required:!0,disabled:o==="loading",children:[e("option",{value:"list",children:"Show replies to list members"}),e("option",{value:"followed",children:"Show replies to people I follow"}),e("option",{value:"none",children:"Don't show replies"})]})}),d&&e("div",{class:"list-form-row",children:e("label",{class:"label-block",children:[e("input",{ref:c,type:"checkbox",name:"exclusive",disabled:o==="loading"})," ","Hide posts on this list from Home/Following"]})}),e("div",{class:"list-form-footer",children:[e("button",{type:"submit",disabled:o==="loading",children:s?"Save":"Create"}),s&&e(Be,{disabled:o==="loading",align:"end",menuItemClassName:"danger",confirmLabel:"Delete this list?",onClick:()=>{a("loading"),(async()=>{try{await i.v1.lists.$select(t.id).remove(),a("default"),n==null||n({state:"deleted"})}catch{a("error"),alert("Unable to delete list.")}})()},children:e("button",{type:"button",class:"light danger",disabled:o==="loading",children:"Delete…"})})]})]})})]})}const oi=[60*5,60*30,60*60,60*60*6,60*60*24,60*60*24*3,60*60*24*7,0],fn={0:"Forever",300:"5 minutes",1800:"30 minutes",3600:"1 hour",21600:"6 hours",86400:"1 day",259200:"3 days",604800:"1 week"},pn=80,Zn=1e3*60*10;function ai(t,n){return n.v1.accounts.familiarFollowers.fetch({id:[t]})}const ci=tt(ai,{maxAge:Zn});async function ri(t,n){const i=n.v1.accounts.$select(t).statuses.list({limit:20}).next(),{value:o}=await i,a={total:o.length,originals:0,replies:0,boosts:0};return o.forEach(s=>{s.reblog?a.boosts++:s.inReplyToId&&s.inReplyToAccountId!==s.account.id?a.replies++:a.originals++}),o.length&&(a.daysSinceLastPost=Math.ceil((Date.now()-new Date(o[o.length-1].createdAt))/864e5)),a}const li=tt(ri,{maxAge:Zn});function Jn({account:t,fetchAccount:n=()=>{},standalone:i,instance:o,authenticated:a}){const{masto:s}=z({instance:o}),{masto:u,instance:l}=z(),[c,d]=$("default"),h=typeof t=="string",[r,p]=$(h?null:t),f=he(()=>o===l,[o,l]);B(()=>{if(!h){p(t);return}d("loading"),(async()=>{try{const q=await n();k.accounts[`${q.id}@${o}`]=q,p(q),d("default")}catch{p(null),d("error")}})()},[h,t,n]);const{acct:b,avatar:g,avatarStatic:v,bot:m,createdAt:y,displayName:S,emojis:I,fields:T,followersCount:x,followingCount:L,group:N,id:O,lastStatusAt:U,locked:P,note:M,statusesCount:C,url:_,username:F,memorial:Y,moved:te,roles:W}=r||{};let ke=!1,{header:re,headerStatic:X}=r||{};(!re||/missing\.png$/.test(re))&&g&&!/missing\.png$/.test(g)&&(re=g,ke=!0,v&&!/missing\.png$/.test(v)&&(X=v));const E=he(()=>O===se.session.get("currentAccount"),[O]);B(()=>{const q=!!(r!=null&&r.id&&(r!=null&&r.username)&&(r!=null&&r.acct)&&(r!=null&&r.avatar)&&(r!=null&&r.avatarStatic)&&(r!=null&&r.displayName)&&(r!=null&&r.url));if(E&&o&&q){const ge=se.local.getJSON("accounts");let be=!1;ge.forEach(ue=>{ue.info.id===r.id&&ue.instanceURL===o&&(ue.info=r,be=!0)}),be&&se.local.setJSON("accounts",ge)}},[E,r,o]);const j=he(()=>_?new URL(_).hostname:null,[_]),[ne,le]=$([]),H=D(),ae=D([]);async function Q(q){(q||!H.current)&&(H.current=s.v1.accounts.$select(O).followers.list({limit:pn}));const ge=await H.current.next();if(E||!f)return ge;const{value:be}=ge;let ue=[];if(q){const xe=await s.v1.accounts.familiarFollowers.fetch({id:[O]});ae.current=xe[0].accounts,ue=[...ae.current,...be.filter(Pe=>!ae.current.some(Ne=>Ne.id===Pe.id))]}else be!=null&&be.length&&(ue=be.filter(xe=>!ae.current.some(Pe=>Pe.id===xe.id)));return{...ge,value:ue}}const ye=D();async function V(q){return(q||!ye.current)&&(ye.current=s.v1.accounts.$select(O).following.list({limit:pn})),await ye.current.next()}const Z=i?"div":ee,ce=o?`/${o}/a/${O}`:`/a/${O}`,[fe,me]=$([]),[de,R]=$(),[G,K]=$("default"),ie=!!(de!=null&&de.total),we=async q=>{try{const ge=await ci(q,u);me(ge[0].accounts.slice(0,di))}catch{}},Le=async()=>{if(O){K("loading");try{const q=await li(O,s);R(q),K("default")}catch{K("error")}}},$e=Ve(({relationship:q,currentID:ge})=>{q.following||(we(ge),!i&&C>0&&Le())},[i,O,C]);return e("div",{tabIndex:"-1",class:`account-container ${c==="loading"?"skeleton":""}`,style:{"--header-color-1":ne[0],"--header-color-2":ne[1],"--header-color-3":ne[2],"--header-color-4":ne[3]},children:[c==="error"&&e("div",{class:"ui-state",children:[e("p",{children:"Unable to load account."}),e("p",{children:e("a",{href:h?t:_,target:"_blank",rel:"noopener noreferrer",children:["Go to account page ",e(w,{icon:"external"})]})})]}),c==="loading"?e(A,{children:[e("header",{children:e(He,{avatarSize:"xxxl",skeleton:!0})}),e("main",{children:[e("div",{class:"note",children:[e("p",{children:"███████ ████ ████"}),e("p",{children:"████ ████████ ██████ █████████ ████ ██"})]}),e("div",{class:"account-metadata-box",children:[e("div",{class:"profile-metadata",children:[e("div",{class:"profile-field",children:[e("b",{class:"more-insignificant",children:"███"}),e("p",{children:"██████"})]}),e("div",{class:"profile-field",children:[e("b",{class:"more-insignificant",children:"████"}),e("p",{children:"███████████"})]})]}),e("div",{class:"stats",children:[e("div",{children:[e("span",{children:"██"})," Followers"]}),e("div",{children:[e("span",{children:"██"})," Following"]}),e("div",{children:[e("span",{children:"██"})," Posts"]})]})]}),e("div",{class:"actions",children:[e("span",{}),e("span",{class:"buttons",children:e("button",{type:"button",title:"More",class:"plain",disabled:!0,children:e(w,{icon:"more",size:"l",alt:"More"})})})]})]})]}):r&&e(A,{children:[!!te&&e("div",{class:"account-moved",children:[e("p",{children:[e("b",{children:S})," has indicated that their new account is now:"]}),e(He,{account:te,instance:o,onClick:q=>{q.stopPropagation(),k.showAccount=te}})]}),!!re&&!/missing\.png$/.test(re)&&e("img",{src:re,alt:"",class:`header-banner ${ke?"header-is-avatar":""}`,onError:q=>{q.target.crossOrigin?q.target.src!==X?q.target.src=X:(q.target.removeAttribute("crossorigin"),q.target.src=re):q.target.src!==X?q.target.src=X:q.target.remove()},crossOrigin:"anonymous",onLoad:q=>{q.target.classList.add("loaded");try{const ge=document.createElement("canvas"),be=ge.getContext("2d",{willReadFrequently:!0});ge.width=q.target.width,ge.height=q.target.height,be.drawImage(q.target,0,0);const ue=10,Pe=[be.getImageData(0,0,ue,ue).data,be.getImageData(q.target.width-ue,0,ue,ue).data,be.getImageData(0,q.target.height-ue,ue,ue).data,be.getImageData(q.target.width-ue,q.target.height-ue,ue,ue).data].map(Ne=>{let st=0,Oe=0,We=0,Xe=0;for(let ve=0;ve<Ne.length;ve+=4)st+=Ne[ve],Oe+=Ne[ve+1],We+=Ne[ve+2],Xe+=Ne[ve+3];const J=Ne.length/4;return[st/J,Oe/J,We/J,Xe/J]}).map(Ne=>{const[st,Oe,We,Xe]=hi(Ne);return`rgba(${st}, ${Oe}, ${We}, ${Xe})`});le(Pe)}catch{}}}),e("header",{children:e(He,{account:r,instance:o,avatarSize:"xxxl",external:i,internal:!i})}),e("div",{class:"faux-header-bg","aria-hidden":"true"}),e("main",{children:[!!Y&&e("span",{class:"tag",children:"In Memoriam"}),!!m&&e("span",{class:"tag",children:[e(w,{icon:"bot"})," Automated"]}),!!N&&e("span",{class:"tag",children:[e(w,{icon:"group"})," Group"]}),W==null?void 0:W.map(q=>e("span",{class:"tag",children:[q.name,!!j&&e(A,{children:[" ",e("span",{class:"more-insignificant",children:j})]})]})),e("div",{class:"note",dir:"auto",onClick:Pn({instance:l}),dangerouslySetInnerHTML:{__html:Pt(M,{emojis:I})}}),e("div",{class:"account-metadata-box",children:[(T==null?void 0:T.length)>0&&e("div",{class:"profile-metadata",children:T.map(({name:q,value:ge,verifiedAt:be},ue)=>e("div",{class:`profile-field ${be?"profile-verified":""}`,dir:"auto",children:[e("b",{children:[e(Nn,{text:q,emojis:I})," ",!!be&&e(w,{icon:"check-circle",size:"s"})]}),e("p",{dangerouslySetInnerHTML:{__html:Pt(ge,{emojis:I})}})]},q+ue))}),e("div",{class:"stats",children:[e(Z,{tabIndex:0,to:ce,onClick:()=>{setTimeout(()=>{k.showGenericAccounts={heading:"Followers",fetchAccounts:Q,instance:o,excludeRelationshipAttrs:E?["followedBy"]:[]}},0)},children:[!!fe.length&&e("span",{class:"shazam-container-horizontal",children:e("span",{class:"shazam-container-inner stats-avatars-bunch",children:fe.map(q=>e(et,{url:q.avatarStatic,size:"s",alt:`${q.displayName} @${q.acct}`,squircle:q==null?void 0:q.bot}))})}),e("span",{title:x,children:Ue(x)})," ","Followers"]}),e(Z,{class:"insignificant",tabIndex:0,to:ce,onClick:()=>{setTimeout(()=>{k.showGenericAccounts={heading:"Following",fetchAccounts:V,instance:o,excludeRelationshipAttrs:E?["following"]:[]}},0)},children:[e("span",{title:L,children:Ue(L)})," ","Following",e("br",{})]}),e(Z,{class:"insignificant",to:ce,children:[e("span",{title:C,children:Ue(C)})," ","Posts"]}),!!y&&e("div",{class:"insignificant",children:["Joined"," ",e("time",{datetime:y,children:Ke(y,{hideTime:!0})})]})]})]}),!!de&&e(Z,{to:ce,class:"account-metadata-box",children:e("div",{class:"shazam-container",children:e("div",{class:"shazam-container-inner",children:ie?e("div",{class:"posting-stats",title:`${Math.round(de.originals/de.total*100)}% original posts, ${Math.round(de.replies/de.total*100)}% replies, ${Math.round(de.boosts/de.total*100)}% boosts`,children:[e("div",{children:de.daysSinceLastPost<365?`Last ${de.total} post${de.total>1?"s":""} in the past
${de.daysSinceLastPost} day${de.daysSinceLastPost>1?"s":""}`:`
Last ${de.total} posts in the past year(s)
`}),e("div",{class:"posting-stats-bar",style:{"--originals-percentage":`${de.originals/de.total*100}%`,"--replies-percentage":`${(de.originals+de.replies)/de.total*100}%`}}),e("div",{class:"posting-stats-legends",children:[e("span",{class:"ib",children:[e("span",{class:"posting-stats-legend-item posting-stats-legend-item-originals"})," ","Original"]})," ",e("span",{class:"ib",children:[e("span",{class:"posting-stats-legend-item posting-stats-legend-item-replies"})," ","Replies"]})," ",e("span",{class:"ib",children:[e("span",{class:"posting-stats-legend-item posting-stats-legend-item-boosts"})," ","Boosts"]})]})]}):e("div",{class:"posting-stats",children:"Post stats unavailable."})})})}),e("div",{class:"account-metadata-box",children:e("div",{class:"shazam-container no-animation",hidden:!!de,children:e("div",{class:"shazam-container-inner",children:e("button",{type:"button",class:"posting-stats-button",disabled:G==="loading",onClick:()=>{Le()},children:[e("div",{class:`posting-stats-bar posting-stats-icon ${G==="loading"?"loading":""}`,style:{"--originals-percentage":"33%","--replies-percentage":"66%"}}),"View post stats"," "]})})})})]}),e("footer",{children:e(ui,{info:r,instance:o,authenticated:a,onRelationshipChange:$e})})]})]})}const di=3;function ui({info:t,instance:n,authenticated:i,onRelationshipChange:o=()=>{}}){var ye;if(!t)return null;const{masto:a,instance:s,authenticated:u}=z(),l=n===s,[c,d]=$("default"),[h,r]=$(null),{id:p,acct:f,url:b,username:g,locked:v,lastStatusAt:m,note:y,fields:S,moved:I}=t,T=D(p),{following:x,showingReblogs:L,notifying:N,followedBy:O,blocking:U,blockedBy:P,muting:M,mutingNotifications:C,requested:_,domainBlocking:F,endorsed:Y,note:te}=h||{},[W,ke]=$(null),[re,X]=$(!1);B(()=>{if(t){const V=se.session.get("currentAccount");let Z;(async()=>{if(l&&i)Z=p;else if(!l&&u){const fe=t.acct.includes("@");try{const me=await a.v2.search.fetch({q:fe?t.acct:`${t.username}@${n}`,type:"accounts",limit:1,resolve:!0});me.accounts.length&&(Z=me.accounts[0].id,ke(me.accounts[0]))}catch{}}if(!Z)return;if(V===Z){X(!0);return}if(T.current=Z,I)return;d("loading");const ce=a.v1.accounts.relationships.fetch({id:[Z]});try{const fe=await ce;if(d("default"),fe.length){const me=fe[0];r(me),o({relationship:me,currentID:Z})}}catch{d("error")}})()}},[t,i]),B(()=>{t&&re&&ys(t)},[t,re]);const E=c==="loading",[j,ne]=$(!1),[le,H]=$(!1),[ae,Q]=$(!1);return e(A,{children:[e("div",{class:"actions",children:[e("span",{children:[O?e("span",{class:"tag",children:"Follows you"}):m?e("small",{class:"insignificant",children:["Last post:"," ",e("span",{class:"ib",children:Ke(m,{hideTime:!0})})]}):e("span",{}),M&&e("span",{class:"tag danger",children:"Muted"}),U&&e("span",{class:"tag danger",children:"Blocked"})]})," ",e("span",{class:"buttons",children:[!!te&&e("button",{type:"button",class:"private-note-tag",title:"Private note",onClick:()=>{Q(!0)},dir:"auto",children:e("span",{children:te})}),e(Fe,{portal:{target:document.body},containerProps:{style:{zIndex:1001}},align:"center",position:"anchor",overflow:"auto",menuButton:e("button",{type:"button",title:"More",class:"plain",disabled:E,children:e(w,{icon:"more",size:"l",alt:"More"})}),children:[u&&!re&&e(A,{children:[e(oe,{onClick:()=>{k.showCompose={draftStatus:{status:`@${(W==null?void 0:W.acct)||f} `}}},children:[e(w,{icon:"at"}),e("span",{children:["Mention @",g]})]}),e(oe,{onClick:()=>{ne(!0)},children:[e(w,{icon:"translate"}),e("span",{children:"Translate bio"})]}),e(oe,{onClick:()=>{Q(!0)},children:[e(w,{icon:"pencil"}),e("span",{children:te?"Edit private note":"Add private note"})]}),x&&e(oe,{onClick:()=>{H(!0)},children:[e(w,{icon:"list"}),e("span",{children:"Add/remove from Lists"})]}),e(De,{})]}),e(oe,{href:b,target:"_blank",children:[e(w,{icon:"external"}),e("small",{class:"menu-double-lines",children:fi(b)})]}),e("div",{class:"menu-horizontal",children:[e(oe,{onClick:()=>{try{navigator.clipboard.writeText(b),pe("Link copied")}catch{pe("Unable to copy link")}},children:[e(w,{icon:"link"}),e("span",{children:"Copy"})]}),(navigator==null?void 0:navigator.share)&&((ye=navigator==null?void 0:navigator.canShare)==null?void 0:ye.call(navigator,{url:b}))&&e(oe,{onClick:()=>{try{navigator.share({url:b})}catch{alert("Sharing doesn't seem to work.")}},children:[e(w,{icon:"share"}),e("span",{children:"Share…"})]})]}),!!h&&e(A,{children:[e(De,{}),M?e(oe,{onClick:()=>{d("loading"),(async()=>{try{const V=await a.v1.accounts.$select((W==null?void 0:W.id)||p).unmute();r(V),d("default"),pe(`Unmuted @${g}`),k.reloadGenericAccounts.id="mute",k.reloadGenericAccounts.counter++}catch{d("error")}})()},children:[e(w,{icon:"unmute"}),e("span",{children:["Unmute @",g]})]}):e(Ms,{openTrigger:"clickOnly",direction:"bottom",overflow:"auto",shift:16,label:e(A,{children:[e(w,{icon:"mute"}),e("span",{class:"menu-grow",children:["Mute @",g,"…"]}),e("span",{style:{textOverflow:"clip"},children:[e(w,{icon:"time"}),e(w,{icon:"chevron-right"})]})]}),children:e("div",{class:"menu-wrap",children:oi.map(V=>e(oe,{onClick:()=>{d("loading"),(async()=>{try{const Z=await a.v1.accounts.$select((W==null?void 0:W.id)||p).mute({duration:V});r(Z),d("default"),pe(`Muted @${g} for ${fn[V]}`),k.reloadGenericAccounts.id="mute",k.reloadGenericAccounts.counter++}catch{d("error"),pe(`Unable to mute @${g}`)}})()},children:fn[V]}))})}),e(Be,{subMenu:!0,confirm:!U,confirmLabel:e(A,{children:[e(w,{icon:"block"}),e("span",{children:["Block @",g,"?"]})]}),menuItemClassName:"danger",onClick:()=>{d("loading"),(async()=>{try{if(U){const V=await a.v1.accounts.$select((W==null?void 0:W.id)||p).unblock();r(V),d("default"),pe(`Unblocked @${g}`)}else{const V=await a.v1.accounts.$select((W==null?void 0:W.id)||p).block();r(V),d("default"),pe(`Blocked @${g}`)}k.reloadGenericAccounts.id="block",k.reloadGenericAccounts.counter++}catch{d("error"),U?pe(`Unable to unblock @${g}`):pe(`Unable to block @${g}`)}})()},children:U?e(A,{children:[e(w,{icon:"unblock"}),e("span",{children:["Unblock @",g]})]}):e(A,{children:[e(w,{icon:"block"}),e("span",{children:["Block @",g,"…"]})]})})]})]}),!h&&c==="loading"&&e(Ie,{abrupt:!0}),!!h&&e(Be,{confirm:x||_,confirmLabel:e("span",{children:_?"Withdraw follow request?":`Unfollow @${t.acct||t.username}?`}),menuItemClassName:"danger",align:"end",disabled:E,onClick:()=>{d("loading"),(async()=>{try{let V;x||_?V=await a.v1.accounts.$select(T.current).unfollow():V=await a.v1.accounts.$select(T.current).follow(),V&&r(V),d("default")}catch(V){alert(V),d("error")}})()},children:e("button",{type:"button",class:`${x||_?"light swap":""}`,"data-swap-state":x||_?"danger":"",disabled:E,children:x?e(A,{children:[e("span",{children:"Following"}),e("span",{children:"Unfollow…"})]}):_?e(A,{children:[e("span",{children:"Requested"}),e("span",{children:"Withdraw…"})]}):v?e(A,{children:[e(w,{icon:"lock"})," ",e("span",{children:"Follow"})]}):"Follow"})})]})]}),!!j&&e(Ce,{class:"light",onClose:()=>{ne(!1)},children:e(pi,{note:y,fields:S,onClose:()=>ne(!1)})}),!!le&&e(Ce,{class:"light",onClose:()=>{H(!1)},children:e(mi,{accountID:T.current,onClose:()=>H(!1)})}),!!ae&&e(Ce,{class:"light",onClose:()=>{Q(!1)},children:e(gi,{account:t,note:te,onRelationshipChange:V=>{r(V)},onClose:()=>Q(!1)})})]})}function hi([t,n,i]){const o=.2126*t+.7152*n+.0722*i;let a;return o>=220?a=1:o<=50?a=.1:a=o/255,a=Math.min(1,a),[t,n,i,a]}function fi(t){if(!t)return;const n=new URL(t),{host:i,pathname:o}=n,a=o.replace(/\/$/,"").replace(/^\//,"");return e(A,{children:[e("span",{class:"more-insignificant",children:[i,"/"]}),e("wbr",{}),e("span",{children:a})]})}function pi({note:t,fields:n,onClose:i}){const o=(n==null?void 0:n.map(({name:s,value:u})=>`${s}
${en(u)}`).join(`
`))||"",a=en(t)+(o?`
${o}`:"");return e("div",{class:"sheet",children:[!!i&&e("button",{type:"button",class:"sheet-close",onClick:i,children:e(w,{icon:"x"})}),e("header",{children:e("h2",{children:"Translated Bio"})}),e("main",{children:[e("p",{style:{whiteSpace:"pre-wrap"},children:a}),e(Dn,{forceTranslate:!0,text:a})]})]})}function mi({accountID:t,onClose:n}){const{masto:i}=z(),[o,a]=$("default"),[s,u]=$([]),[l,c]=$([]),[d,h]=xt(f=>f+1,0);B(()=>{a("loading"),(async()=>{try{const f=await i.v1.lists.list();f.sort((g,v)=>g.title.localeCompare(v.title));const b=await i.v1.accounts.$select(t).lists.list();u(f),c(b),a("default")}catch{a("error")}})()},[d]);const[r,p]=$(!1);return e("div",{class:"sheet",id:"list-add-remove-container",children:[!!n&&e("button",{type:"button",class:"sheet-close",onClick:n,children:e(w,{icon:"x"})}),e("header",{children:e("h2",{children:"Add/Remove from Lists"})}),e("main",{children:[s.length>0?e("ul",{class:"list-add-remove",children:s.map(f=>{const b=l.some(g=>g.id===f.id);return e("li",{children:e("button",{type:"button",class:`light ${b?"checked":""}`,disabled:o==="loading",onClick:()=>{a("loading"),(async()=>{try{b?await i.v1.lists.$select(f.id).accounts.remove({accountIds:[t]}):await i.v1.lists.$select(f.id).accounts.create({accountIds:[t]}),h()}catch{a("error"),alert(b?"Unable to remove from list.":"Unable to add to list.")}})()},children:[e(w,{icon:"check-circle"}),e("span",{children:f.title})]})})})}):o==="loading"?e("p",{class:"ui-state",children:e(Ie,{abrupt:!0})}):o==="error"?e("p",{class:"ui-state",children:"Unable to load lists."}):e("p",{class:"ui-state",children:"No lists."}),e("button",{type:"button",class:"plain2",onClick:()=>p(!0),disabled:o!=="default",children:[e(w,{icon:"plus",size:"l"})," ",e("span",{children:"New list"})]})]}),r&&e(Ce,{class:"light",onClick:f=>{f.target===f.currentTarget&&p(!1)},children:e(Yt,{list:r==null?void 0:r.list,onClose:f=>{f.state==="success"&&h(),p(!1)}})})]})}function gi({account:t,note:n,onRelationshipChange:i=()=>{},onClose:o=()=>{}}){const{masto:a}=z(),[s,u]=$("default"),l=D(null);return B(()=>{let c;return l.current&&!n&&(c=setTimeout(()=>{var d,h;(h=(d=l.current).focus)==null||h.call(d)},100)),()=>{clearTimeout(c)}},[]),e("div",{class:"sheet",id:"private-note-container",children:[!!o&&e("button",{type:"button",class:"sheet-close",onClick:o,children:e(w,{icon:"x"})}),e("header",{children:e("b",{children:["Private note about @",(t==null?void 0:t.username)||(t==null?void 0:t.acct)]})}),e("main",{children:e("form",{onSubmit:c=>{c.preventDefault();const h=new FormData(c.target).get("note");(h==null?void 0:h.trim())!==(n==null?void 0:n.trim())&&(u("loading"),(async()=>{try{const r=await a.v1.accounts.$select(t==null?void 0:t.id).note.create({comment:h});u("default"),i(r),o()}catch(r){u("error"),alert((r==null?void 0:r.message)||"Unable to update private note.")}})())},children:[e("textarea",{ref:l,name:"note",disabled:s==="loading",children:n}),e("footer",{children:[e("button",{type:"button",class:"light",disabled:s==="loading",onClick:()=>{o==null||o()},children:"Cancel"}),e("span",{children:[e(Ie,{abrupt:!0,hidden:s!=="loading"}),e("button",{disabled:s==="loading",type:"submit",children:"Save & close"})]})]})]})})]})}function bi({account:t,instance:n,onClose:i}){const{masto:o,instance:a,authenticated:s}=z({instance:n}),u=typeof t=="string";return B(()=>{u||(k.accounts[`${t.id}@${a}`]=t)},[t]),Kn(i),e("div",{class:"sheet",children:[!!i&&e("button",{type:"button",class:"sheet-close outer",onClick:i,children:e(w,{icon:"x"})}),e(Jn,{instance:a,authenticated:s,account:t,fetchAccount:async()=>{if(u)try{return await o.v1.accounts.lookup({acct:t,skip_webfinger:!1})}catch{const c=await o.v2.search.fetch({q:t,type:"accounts",limit:1,resolve:s});if(c.accounts.length)return c.accounts[0];if(/https?:\/\/[^/]+\/@/.test(t)){const h=new URL(t).pathname.replace(/^\//,""),r=await o.v2.search.fetch({q:h,type:"accounts",limit:1,resolve:s});if(r.accounts.length)return r.accounts[0]}}else return t}})]})}function yi({onClose:t}){const{masto:n}=z(),[i,o]=$("default"),[a,s]=$([]),[u,l]=xt(d=>d+1,0);B(()=>{o("loading"),(async()=>{try{const d=await ht.drafts.keys();if(d.length){const h=Un(),r=d.filter(p=>p.startsWith(h));if(r.length){const p=await ht.drafts.getMany(r);p.sort((f,b)=>new Date(b.updatedAt).getTime()-new Date(f.updatedAt).getTime()),s(p)}else s([])}else s([]);o("default")}catch{o("error")}})()},[u]);const c=(a==null?void 0:a.length)>0;return e("div",{class:"sheet",children:[!!t&&e("button",{type:"button",class:"sheet-close",onClick:t,children:e(w,{icon:"x"})}),e("header",{children:[e("h2",{children:["Unsent drafts ",e(Ie,{abrupt:!0,hidden:i!=="loading"})]}),c&&e("div",{class:"insignificant",children:"Looks like you have unsent drafts. Let's continue where you left off."})]}),e("main",{children:c?e(A,{children:[e("ul",{class:"drafts-list",children:a.map(d=>{const{updatedAt:h,key:r,draftStatus:p,replyTo:f}=d,b=new Date(h);return e("li",{children:[e("div",{class:"mini-draft-meta",children:[e("b",{children:[e(w,{icon:f?"reply":"quill",size:"s"})," ",e("time",{children:[!!f&&e(A,{children:["@",f.account.acct,e("br",{})]}),Ke(b)]})]}),e(Be,{confirmLabel:e("span",{children:"Delete this draft?"}),menuItemClassName:"danger",align:"end",disabled:i==="loading",onClick:()=>{(async()=>{try{await ht.drafts.del(r),l()}catch{alert("Error deleting draft! Please try again.")}})()},children:e("button",{type:"button",class:"small light",disabled:i==="loading",children:"Delete…"})})]}),e("button",{type:"button",disabled:i==="loading",class:"draft-item",onClick:async()=>{let g;if(f){o("loading");try{g=await n.v1.statuses.$select(f.id).fetch()}catch{alert("Error fetching reply-to status!"),o("default");return}o("default")}window.__COMPOSE__={draftStatus:p,replyToStatus:g},k.showCompose=!0,k.showDrafts=!1},children:e(wi,{draft:d})})]},h)})}),a.length>1&&e("p",{children:e(Be,{confirmLabel:e("span",{children:"Delete all drafts?"}),menuItemClassName:"danger",disabled:i==="loading",onClick:()=>{(async()=>{o("loading");try{await ht.drafts.delMany(a.map(d=>d.key)),o("default"),l()}catch{alert("Error deleting drafts! Please try again."),o("error")}})()},children:e("button",{type:"button",class:"light danger",disabled:i==="loading",children:"Delete all…"})})})]}):e("p",{children:"No drafts found."})})]})}function wi({draft:t}){var r;const{draftStatus:n,replyTo:i}=t,{status:o,spoilerText:a,poll:s,mediaAttachments:u}=n,l=((r=s==null?void 0:s.options)==null?void 0:r.length)>0,c=(u==null?void 0:u.length)>0,d=l||c,h=he(()=>{if(!c)return;const p=u.find(g=>/image/.test(g.type));if(!p)return;const{file:f}=p;return URL.createObjectURL(f)},[c,u]);return e(A,{children:e("div",{class:"mini-draft",children:[d&&e("div",{class:`mini-draft-aside ${h?"has-image":""}`,style:h?{"--bg-image":`url(${h})`}:{},children:[l&&e(w,{icon:"poll"}),c&&e("span",{children:[e(w,{icon:"attachment"})," ",e("small",{children:u==null?void 0:u.length})]})]}),e("div",{class:"mini-draft-main",children:[!!a&&e("div",{class:"mini-draft-spoiler",children:a}),!!o&&e("div",{class:"mini-draft-status",children:o})]})]})})}async function Wt(t,n={}){if(!(t!=null&&t.length))return;const{masto:i}=z(),o=se.session.get("currentAccount"),a=t.reduce((s,u)=>(!s.includes(u.id)&&!n[u.id]&&u.id!==o&&s.push(u.id),s),[]);if(!a.length)return null;try{return(await i.v1.accounts.relationships.fetch({id:a})).reduce((l,c)=>(l[c.id]=c,l),{})}catch{return null}}function vi({instance:t,excludeRelationshipAttrs:n=[],onClose:i=()=>{}}){const{masto:o,instance:a}=z(),s=t?t===a:!0,u=Se(k),[l,c]=$("default"),[d,h]=$([]),[r,p]=$(!1);if(Kn(i),!u.showGenericAccounts)return null;const{id:f,heading:b,fetchAccounts:g,accounts:v,showReactions:m}=u.showGenericAccounts,[y,S]=$({}),I=async L=>{if(!(L!=null&&L.length)||!s)return;const N=await Wt(L,y);N&&S({...y,...N})},T=L=>{g&&(L&&h([]),c("loading"),(async()=>{try{const{done:N,value:O}=await g(L);if(Array.isArray(O)){if(L){const U=[];for(let P=0;P<O.length;P++){const M=O[P],C=U.find((_,F)=>_.id===M.id&&P!==F);C?C._types.push(...M._types):U.push({_types:[],...M})}h(U)}else h(U=>{const P=U;for(const M of O){const C=P.find(_=>_.id===M.id);C?C._types.push(...M._types):P.push(M)}return P});p(!N),I(O)}else p(!1);c("default")}catch{c("error")}})())},x=D(!0);return B(()=>{(v==null?void 0:v.length)>0?(h(v),I(v)):(T(!0),x.current=!1)},[v,g]),B(()=>{var L;x.current||((L=u.reloadGenericAccounts)==null?void 0:L.id)===f&&T(!0)},[u.reloadGenericAccounts.counter]),e("div",{id:"generic-accounts-container",class:"sheet",tabindex:"-1",children:[e("button",{type:"button",class:"sheet-close",onClick:i,children:e(w,{icon:"x"})}),e("header",{children:e("h2",{children:b||"Accounts"})}),e("main",{children:d.length>0?e(A,{children:[e("ul",{class:"accounts-list",children:d.map(L=>{var U,P;const N=y[L.id],O=`${L.id}-${((U=L._types)==null?void 0:U.length)||""}`;return e("li",{children:[m&&((P=L._types)==null?void 0:P.length)>0&&e("div",{class:"reactions-block",children:L._types.map(M=>e(w,{icon:{reblog:"rocket",favourite:"heart"}[M],class:`${M}-icon`}))}),e("div",{class:"account-relationships",children:e(He,{account:L,showStats:!0,relationship:N,excludeRelationshipAttrs:n})})]},O)})}),l==="default"?r?e(je,{onChange:L=>{L&&T()},children:e("button",{type:"button",class:"plain block",onClick:()=>T(),children:"Show more…"})}):e("p",{class:"ui-state insignificant",children:"The end."}):l==="loading"&&e("p",{class:"ui-state",children:e(Ie,{abrupt:!0})})]}):l==="loading"?e("p",{class:"ui-state",children:e(Ie,{abrupt:!0})}):l==="error"?e("p",{class:"ui-state",children:"Error loading accounts"}):e("p",{class:"ui-state insignificant",children:"Nothing to show"})})]})}function Si({alt:t,lang:n,onClose:i}){const o=Se(k),[a,s]=$(!1),u=En(!0),l=o.settings.contentTranslationHideLanguages||[],c=!!n&&n!==u&&!tn([n],[u])&&!l.find(d=>n===d||tn([n],[d]));return e("div",{class:"sheet",tabindex:"-1",children:[!!i&&e("button",{type:"button",class:"sheet-close outer",onClick:i,children:e(w,{icon:"x"})}),e("header",{class:"header-grid",children:[e("h2",{children:"Media description"}),e("div",{class:"header-side",children:e(Fe,{align:"end",menuButton:e("button",{type:"button",class:"plain4",children:e(w,{icon:"more",alt:"More",size:"xl"})}),children:[e(oe,{disabled:a,onClick:()=>{s(!0)},children:[e(w,{icon:"translate"}),e("span",{children:"Translate"})]}),ws&&e(oe,{onClick:()=>{vs(t,n)},children:[e(w,{icon:"speak"}),e("span",{children:"Speak"})]})]})})]}),e("main",{lang:n,dir:"auto",children:[e("p",{style:{whiteSpace:"pre-wrap",textWrap:"pretty"},children:t}),(c||a)&&e(Dn,{forceTranslate:a,sourceLanguage:n,text:t})]})]})}function Lt(t,n,i){return Math.max(Math.min(t,i),n)}const Mt=t=>t>=.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,Rt=t=>t>=.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t;function Xn([t,n,i]){t=Mt(t/255),n=Mt(n/255),i=Mt(i/255);var o=.4122214708*t+.5363325363*n+.0514459929*i,a=.2119034982*t+.6806995451*n+.1073969566*i,s=.0883024619*t+.2817188376*n+.6299787005*i;return o=Math.cbrt(o),a=Math.cbrt(a),s=Math.cbrt(s),[o*.2104542553+a*.793617785+s*-.0040720468,o*1.9779984951+a*-2.428592205+s*.4505937099,o*.0259040371+a*.7827717662+s*-.808675766]}function Qn([t,n,c]){var o=t+n*.3963377774+c*.2158037573,a=t+n*-.1055613458+c*-.0638541728,s=t+n*-.0894841775+c*-1.291485548;o=o**3,a=a**3,s=s**3;var u=o*4.0767416621+a*-3.3077115913+s*.2309699292,l=o*-1.2684380046+a*2.6097574011+s*-.3413193965,c=o*-.0041960863+a*-.7034186147+s*1.707614701;return u=255*Rt(u),l=255*Rt(l),c=255*Rt(c),u=Lt(u,0,255),l=Lt(l,0,255),c=Lt(c,0,255),u=Math.round(u),l=Math.round(l),c=Math.round(c),[u,l,c]}var ki={PHANPY_CLIENT_NAME:"Phanpy",PHANPY_WEBSITE:"https://phanpy.social",PHANPY_LINGVA_INSTANCES:"lingva.phanpy.social lingva.lunar.icu lingva.garudalinux.org translate.plausibility.cloud",PHANPY_PRIVACY_POLICY_URL:"https://github.com/cheeaun/phanpy/blob/main/PRIVACY.MD",VITE_APP_ENV:"production",BASE_URL:"./",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{PHANPY_IMG_ALT_API_URL:ka}=ki;function es({mediaAttachments:t,statusID:n,instance:i,lang:o,index:a=0,onClose:s=()=>{}}){var y,S;const[u,l]=$("default"),c=D(null),[d,h]=$(a),r=D(null);Je(()=>{var I;(I=r.current)==null||I.scrollIntoView()},[]);const p=D(n);B(()=>{const I=a*c.current.clientWidth,T=p.current!==n;T&&(p.current=n),c.current.scrollTo({left:I,behavior:T?"auto":"smooth"}),c.current.focus()},[a,n]);const[f,b]=$(!0);B(()=>{let I=()=>{s()};return c.current&&c.current.addEventListener("swiped-down",I),()=>{c.current&&c.current.removeEventListener("swiped-down",I)}},[]),Re("esc",s,{ignoreEventWhen:I=>!!document.querySelector("#modal-container > *")},[s]),B(()=>{let I=()=>{const{clientWidth:T,scrollLeft:x}=c.current,L=Math.round(x/T);h(L)};return c.current&&c.current.addEventListener("scroll",I,{passive:!0}),()=>{c.current&&c.current.removeEventListener("scroll",I)}},[]),B(()=>{let I=setTimeout(()=>{var T,x;(x=(T=c.current)==null?void 0:T.focus)==null||x.call(T)},100);return()=>clearTimeout(I)},[]);const g=he(()=>t==null?void 0:t.map(I=>{const{blurhash:T}=I;if(T){const x=qn(T),L=Xn(x);return Qn([.6,L[1],L[2]])}return null}),[t]),v=he(()=>{var x;const T=100/g.length;return((x=g==null?void 0:g.map((L,N)=>{const O=N*T+5,U=(N+1)*T-5;return L?`
rgba(${L==null?void 0:L.join(",")}, 0.4) ${O}%,
rgba(${L==null?void 0:L.join(",")}, 0.4) ${U}%
`:`
transparent ${O}%,
transparent ${U}%
`}))==null?void 0:x.join(", "))||"transparent"},[g]);let m=D(null);return B(()=>()=>{var I,T;(T=(I=m.current)==null?void 0:I.hideToast)==null||T.call(I)},[]),e("div",{class:`media-modal-container media-modal-count-${t==null?void 0:t.length}`,children:[e("div",{ref:c,tabIndex:"0","data-swipe-threshold":"44",class:"carousel",onClick:I=>{(I.target.classList.contains("carousel-item")||I.target.classList.contains("media")||I.target.classList.contains("media-zoom"))&&s()},style:t.length>1?{backgroundAttachment:"local",backgroundImage:`linear-gradient(
to right, ${v})`}:{},children:t==null?void 0:t.map((I,T)=>{const x=t.length===1?g[T]:null;return e("div",{class:"carousel-item",style:x?{"--accent-color":`rgb(${x==null?void 0:x.join(",")})`,"--accent-alpha-color":`rgba(${x==null?void 0:x.join(",")}, 0.4)`}:{},tabindex:"0",ref:T===d?r:null,onClick:L=>{L.target.classList.contains("media")||b(!f)},children:[!!I.description&&e("button",{type:"button",class:"media-alt",hidden:!f,onClick:()=>{k.showMediaAlt={alt:I.description,lang:o}},children:[e("span",{class:"alt-badge",children:"ALT"}),e("span",{class:"media-alt-desc",lang:o,dir:"auto",children:I.description})]}),e(Fn,{media:I,showOriginal:!0,lang:o})]},I.id)})}),e("div",{class:"carousel-top-controls",hidden:!f,children:[e("span",{children:e("button",{type:"button",class:"carousel-button",onClick:()=>s(),children:e(w,{icon:"x"})})}),(t==null?void 0:t.length)>1?e("span",{class:"carousel-dots",children:t==null?void 0:t.map((I,T)=>e("button",{type:"button",disabled:T===d,class:`carousel-dot ${T===d?"active":""}`,onClick:x=>{x.preventDefault(),x.stopPropagation(),c.current.scrollTo({left:c.current.clientWidth*T,behavior:"smooth"}),c.current.focus()},children:e(w,{icon:"round",size:"s"})},I.id))}):e("span",{}),e("span",{children:[e(Fe,{overflow:"auto",align:"end",position:"anchor",gap:4,menuClassName:"glass-menu",menuButton:e("button",{type:"button",class:"carousel-button",children:e(w,{icon:"more",alt:"More"})}),children:[e(Ee,{href:((y=t[d])==null?void 0:y.remoteUrl)||((S=t[d])==null?void 0:S.url),class:"carousel-button",target:"_blank",title:"Open original media in new window",children:[e(w,{icon:"popout"}),e("span",{children:"Open original media"})]}),!1]})," ",e(ee,{to:`${i?`/${i}`:""}/s/${n}${window.matchMedia("(min-width: calc(40em + 350px))").matches?`?media=${d+1}`:""}`,class:"button carousel-button media-post-link",children:[e("span",{class:"button-label",children:"View post "}),"»"]})]})]}),(t==null?void 0:t.length)>1&&e("div",{class:"carousel-controls",hidden:!f,children:[e("button",{type:"button",class:"carousel-button",hidden:d===0,onClick:I=>{I.preventDefault(),I.stopPropagation(),c.current.focus(),c.current.scrollTo({left:c.current.clientWidth*(d-1),behavior:"smooth"})},children:e(w,{icon:"arrow-left"})}),e("button",{type:"button",class:"carousel-button",hidden:d===t.length-1,onClick:I=>{I.preventDefault(),I.stopPropagation(),c.current.focus(),c.current.scrollTo({left:c.current.clientWidth*(d+1),behavior:"smooth"})},children:e(w,{icon:"arrow-right"})})]})]})}const Ii="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20viewBox='0%200%2084%2062'%3e%3crect%20width='64'%20height='48'%20x='18'%20y='2'%20fill='%23fff'%20stroke='%23999'%20stroke-width='3'%20rx='4'/%3e%3crect%20width='32'%20height='48'%20x='2'%20y='12'%20fill='%23fff'%20stroke='%23999'%20stroke-width='3'%20rx='4'/%3e%3cpath%20fill='%234169E1'%20d='M14%2052a4%204%200%201%201-8%200%204%204%200%200%201%208%200Zm64-42a4%204%200%201%201-8%200%204%204%200%200%201%208%200Z'/%3e%3c/svg%3e",Ti="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20viewBox='0%200%2082%2062'%3e%3crect%20width='78'%20height='58'%20x='2'%20y='2'%20fill='%23999'%20fill-opacity='.3'%20stroke='%23999'%20stroke-width='3'%20rx='4'/%3e%3crect%20width='18'%20height='46'%20x='8'%20y='8'%20fill='%23fff'%20stroke='%23999'%20stroke-width='2'%20rx='1'/%3e%3crect%20width='18'%20height='46'%20x='32'%20y='8'%20fill='%23fff'%20stroke='%23999'%20stroke-width='2'%20rx='1'/%3e%3crect%20width='18'%20height='46'%20x='56'%20y='8'%20fill='%23fff'%20stroke='%23999'%20stroke-width='2'%20rx='1'/%3e%3c/svg%3e",Ci="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20viewBox='0%200%2084%2062'%3e%3crect%20width='64'%20height='48'%20x='18'%20y='2'%20fill='%23fff'%20stroke='%23999'%20stroke-width='3'%20rx='4'/%3e%3cpath%20fill='%23999'%20fill-opacity='.3'%20d='M19%203h62v10H19z'/%3e%3cpath%20stroke='%234169E1'%20stroke-width='2'%20d='M43%208a2%202%200%201%201-4%200%202%202%200%200%201%204%200Z'/%3e%3cpath%20stroke='%23999'%20stroke-width='2'%20d='M52%208a2%202%200%201%201-4%200%202%202%200%200%201%204%200Zm9%200a2%202%200%201%201-4%200%202%202%200%200%201%204%200Z'/%3e%3crect%20width='32'%20height='48'%20x='2'%20y='12'%20fill='%23fff'%20stroke='%23999'%20stroke-width='3'%20rx='4'/%3e%3cpath%20fill='%23999'%20fill-opacity='.3'%20d='M3%2049h30v10H3z'/%3e%3cpath%20stroke='%234169E1'%20stroke-width='2'%20d='M11%2054a2%202%200%201%201-4%200%202%202%200%200%201%204%200Z'/%3e%3cpath%20stroke='%23999'%20stroke-width='2'%20d='M20%2054a2%202%200%201%201-4%200%202%202%200%200%201%204%200Zm9%200a2%202%200%201%201-4%200%202%202%200%200%201%204%200Z'/%3e%3c/svg%3e",$i=200,xi=10;async function Tt(){const{masto:t}=z(),n=t.v1.followedTags.list({limit:$i}),i=[];let o=0;do{const{value:a,done:s}=await n.next();if(s||(a==null?void 0:a.length)===0)break;i.push(...a),o++}while(o<xi);return i.sort((a,s)=>a.name.localeCompare(s.name)),i.length&&setTimeout(()=>{se.account.set("followedTags",{tags:i,updatedAt:Date.now()})},1),i}const Ai=24*60*60*1e3;async function Li(){try{const{tags:t,updatedAt:n}=se.account.get("followedTags")||{};return t!=null&&t.length?(Date.now()-n>Ai&&Tt(),t):await Tt()}catch{return[]}}const mn=document.createElement("div"),Mi=t=>{if(!t)return[];if(t.indexOf("#")===-1)return[];mn.innerHTML=t;const n=mn.querySelectorAll("a.hashtag");return n.length?Array.from(n).map(i=>i.innerText.trim().replace(/^[^#]*#+/,"")):[]};function Ut({children:t}){if(typeof t=="string")return t;const[n,i]=$("");return B(()=>{Promise.resolve(t).then(i)},[t]),n}const Ze=9,Ri=["following","mentions","notifications","list","public","trending","search","hashtag","bookmarks","favourites"],ts={following:"Home / Following",notifications:"Notifications",list:"List",public:"Public (Local / Federated)",search:"Search","account-statuses":"Account",bookmarks:"Bookmarks",favourites:"Likes",hashtag:"Hashtag",trending:"Trending",mentions:"Mentions"},vt={list:[{text:"List ID",name:"id"}],public:[{text:"Local only",name:"local",type:"checkbox"},{text:"Instance",name:"instance",type:"text",placeholder:"Optional, e.g. mastodon.social",notRequired:!0}],trending:[{text:"Instance",name:"instance",type:"text",placeholder:"Optional, e.g. mastodon.social",notRequired:!0}],search:[{text:"Search term",name:"query",type:"text",placeholder:"Optional, unless for multi-column mode",notRequired:!0}],"account-statuses":[{text:"@",name:"id",type:"text",placeholder:"cheeaun@mastodon.social"}],hashtag:[{text:"#",name:"hashtag",type:"text",placeholder:"e.g. PixelArt (Max 5, space-separated)",pattern:"[^#]+"},{text:"Media only",name:"media",type:"checkbox"},{text:"Instance",name:"instance",type:"text",placeholder:"Optional, e.g. mastodon.social",notRequired:!0}]},_i=tt(async({id:t})=>(await z().masto.v1.lists.$select(t).fetch()).title),Ei=tt(async({id:t})=>{const n=await z().masto.v1.accounts.$select(t).fetch();return n.username||n.acct||n.displayName}),Ct={following:{id:"home",title:(t,n)=>n===0?"Home":"Following",path:"/",icon:"home"},mentions:{id:"mentions",title:"Mentions",path:"/mentions",icon:"at"},notifications:{id:"notifications",title:"Notifications",path:"/notifications",icon:"notification"},list:{id:"list",title:_i,path:({id:t})=>`/l/${t}`,icon:"list"},public:{id:"public",title:({local:t})=>t?"Local":"Federated",subtitle:({instance:t})=>t||z().instance,path:({local:t,instance:n})=>`/${n}/p${t?"/l":""}`,icon:({local:t})=>t?"building":"earth"},trending:{id:"trending",title:"Trending",subtitle:({instance:t})=>t||z().instance,path:({instance:t})=>`/${t}/trending`,icon:"chart"},search:{id:"search",title:({query:t})=>t?`"${t}"`:"Search",path:({query:t})=>t?`/search?q=${encodeURIComponent(t)}&type=statuses`:"/search",icon:"search",excludeViewMode:({query:t})=>t?[]:["multi-column"]},"account-statuses":{id:"account-statuses",title:Ei,path:({id:t})=>`/a/${t}`,icon:"user"},bookmarks:{id:"bookmarks",title:"Bookmarks",path:"/b",icon:"bookmark"},favourites:{id:"favourites",title:"Likes",path:"/f",icon:"heart"},hashtag:{id:"hashtag",title:({hashtag:t})=>t,subtitle:({instance:t})=>t||z().instance,path:({hashtag:t,instance:n,media:i})=>`${n?`/${n}`:""}/t/${t.split(/\s+/).join("+")}${i?"?media=1":""}`,icon:"hashtag"}};function Pi({onClose:t}){const n=Se(k),{shortcuts:i}=n,[o,a]=$(!1),[s,u]=$(!1),[l]=Ht();return e("div",{id:"shortcuts-settings-container",class:"sheet",tabindex:"-1",children:[!!t&&e("button",{type:"button",class:"sheet-close",onClick:t,children:e(w,{icon:"x"})}),e("header",{children:e("h2",{children:[e(w,{icon:"shortcut"})," Shortcuts"," ",e("sup",{style:{fontSize:12,opacity:.5,textTransform:"uppercase"},children:"beta"})]})}),e("main",{children:[e("p",{children:"Specify a list of shortcuts that'll appear as:"}),e("div",{class:"shortcuts-view-mode",children:[{value:"float-button",label:"Floating button",imgURL:Ii},{value:"tab-menu-bar",label:"Tab/Menu bar",imgURL:Ci},{value:"multi-column",label:"Multi-column",imgURL:Ti}].map(({value:c,label:d,imgURL:h})=>{const r=n.settings.shortcutsViewMode===c||c==="float-button"&&!n.settings.shortcutsViewMode;return e("label",{class:r?"checked":"",children:[e("input",{type:"radio",name:"shortcuts-view-mode",value:c,checked:r,onChange:p=>{k.settings.shortcutsViewMode=p.target.value}})," ",e("img",{src:h,alt:"",width:"80",height:"58"})," ",e("span",{children:d})]},c)})}),i.length>0?e("ol",{class:"shortcuts-list",ref:l,children:i.filter(Boolean).map((c,d)=>{const h=Object.values(c).join("-"),{type:r}=c;if(!Ct[r])return null;let{icon:p,title:f,subtitle:b,excludeViewMode:g}=Ct[r];typeof f=="function"&&(f=f(c,d)),typeof b=="function"&&(b=b(c,d)),typeof p=="function"&&(p=p(c,d)),typeof g=="function"&&(g=g(c,d));const v=g==null?void 0:g.includes(n.settings.shortcutsViewMode);return e("li",{children:[e(w,{icon:p}),e("span",{class:"shortcut-text",children:[e(Ut,{children:f}),b&&e(A,{children:[" ",e("small",{class:"ib insignificant",children:b})]}),v&&e("span",{class:"tag",children:"Not available in current view mode"})]}),e("span",{class:"shortcut-actions",children:[e("button",{type:"button",class:"plain small",disabled:d===0,onClick:()=>{const m=Array.from(k.shortcuts);if(d>0){const y=k.shortcuts[d-1];m[d-1]=c,m[d]=y,k.shortcuts=m}},children:e(w,{icon:"arrow-up",alt:"Move up"})}),e("button",{type:"button",class:"plain small",disabled:d===i.length-1,onClick:()=>{const m=Array.from(k.shortcuts);if(d<k.shortcuts.length-1){const y=k.shortcuts[d+1];m[d+1]=c,m[d]=y,k.shortcuts=m}},children:e(w,{icon:"arrow-down",alt:"Move down"})}),e("button",{type:"button",class:"plain small",onClick:()=>{a({shortcut:c,shortcutIndex:d})},children:e(w,{icon:"pencil",alt:"Edit"})})]})]},h)})}):e("div",{class:"ui-state insignificant",children:[e("p",{children:"No shortcuts yet. Tap on the Add shortcut button."}),e("p",{children:["Not sure what to add?",e("br",{}),"Try adding"," ",e("a",{href:"#",onClick:c=>{c.preventDefault(),k.shortcuts=[{type:"following"},{type:"notifications"}]},children:"Home / Following and Notifications"})," ","first."]})]}),e("p",{class:"insignificant",children:i.length>=Ze&&`Max ${Ze} shortcuts`}),e("p",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e("button",{type:"button",class:"light",onClick:()=>u(!0),children:"Import/export"}),e("button",{type:"button",disabled:i.length>=Ze,onClick:()=>a(!0),children:[e(w,{icon:"plus"})," ",e("span",{children:"Add shortcut"})]})]})]}),o&&e(Ce,{class:"light",onClick:c=>{c.target===c.currentTarget&&a(!1)},children:e(Ui,{shortcut:o.shortcut,shortcutIndex:o.shortcutIndex,onSubmit:({result:c,mode:d})=>{d==="edit"?k.shortcuts[o.shortcutIndex]=c:k.shortcuts.push(c)},onClose:()=>a(!1)})}),s&&e(Ce,{class:"light",onClick:c=>{c.target===c.currentTarget&&u(!1)},children:e(Fi,{shortcuts:i,onClose:()=>u(!1)})})]})}const Ni=1e3*60,Di=tt(()=>{const{masto:t}=z();return t.v1.lists.list()},{maxAge:Ni}),gn={search:"For multi-column mode, search term is required, else the column will not be shown.",hashtag:"Multiple hashtags are supported. Space-separated."};function Ui({onSubmit:t,disabled:n,shortcut:i,shortcutIndex:o,onClose:a}){var v,m;const s=!!i,[u,l]=$((i==null?void 0:i.type)||null),{masto:c}=z(),[d,h]=$("default"),[r,p]=$([]),[f,b]=$([]);B(()=>{(async()=>{if(u==="list")try{h("loading");const y=await Di();y.sort((S,I)=>S.title.localeCompare(I.title)),p(y),h("default")}catch{h("error")}})(),(async()=>{if(u==="hashtag")try{const y=await Tt();b(y)}catch{}})()},[u]);const g=D();return B(()=>{if(s&&u&&vt[u]){const y=g.current;vt[u].forEach(({name:S,type:I})=>{const T=y.querySelector(`[name="${S}"]`);T&&i[S]&&(I==="checkbox"?T.checked=i[S]==="on":T.value=i[S])})}},[s,u]),e("div",{id:"shortcut-settings-form",class:"sheet",children:[!!a&&e("button",{type:"button",class:"sheet-close",onClick:a,children:e(w,{icon:"x"})}),e("header",{children:e("h2",{children:[s?"Edit":"Add"," shortcut"]})}),e("main",{tabindex:"-1",children:e("form",{ref:g,onSubmit:y=>{y.preventDefault();const S=new FormData(y.target),I={};S.forEach((T,x)=>{I[x]=T==null?void 0:T.trim(),x==="instance"&&(I[x]=I[x].replace(/^https?:\/\//,"").replace(/\/+$/,""),I[x]=I[x].replace(/^@?[^@]+@/,""))}),I.type&&(t({result:I,mode:s?"edit":"add"}),y.target.reset(),l(null),a==null||a())},children:[e("p",{children:e("label",{children:[e("span",{children:"Timeline"}),e("select",{required:!0,disabled:n,onChange:y=>{l(y.target.value)},defaultValue:s?i.type:void 0,name:"type",children:[e("option",{}),Ri.map(y=>e("option",{value:y,children:ts[y]}))]})]})}),(m=(v=vt[u])==null?void 0:v.map)==null?void 0:m.call(v,({text:y,name:S,type:I,placeholder:T,pattern:x,notRequired:L})=>u==="list"?e("p",{children:e("label",{children:[e("span",{children:"List"}),e("select",{name:"id",required:!L,disabled:n||d==="loading",defaultValue:s?i.id:void 0,children:r.map(N=>e("option",{value:N.id,children:N.title}))})]})}):e("p",{children:e("label",{children:[e("span",{children:y})," ",e("input",{type:I,switch:I==="checkbox"||void 0,name:S,placeholder:T,required:I==="text"&&!L,disabled:n,list:u==="hashtag"?"followed-hashtags-datalist":null,autocorrect:"off",autocapitalize:"off",spellcheck:!1,pattern:x}),u==="hashtag"&&f.length>0&&e("datalist",{id:"followed-hashtags-datalist",children:f.map(N=>e("option",{value:N.name}))})]})})),!!gn[u]&&e("p",{class:"form-note insignificant",children:[e(w,{icon:"info"}),gn[u]]}),e("footer",{children:[e("button",{type:"submit",class:"block",disabled:n||d==="loading",children:s?"Save":"Add"}),s&&e("button",{type:"button",class:"light danger",onClick:()=>{k.shortcuts.splice(o,1),a==null||a()},children:"Remove"})]})]})})]})}function Fi({shortcuts:t,onClose:n}){var d;const i=he(()=>!t||!t.filter(Boolean).length?"":an.compressToEncodedURIComponent(JSON.stringify(t.filter(Boolean))),[t]),[o,a]=$(""),[s,u]=$("default"),l=he(()=>{if(!o)return u("default"),null;try{const h=JSON.parse(an.decompressFromEncodedURIComponent(o));if(!Array.isArray(h))throw new Error("Not an array");return u("default"),h}catch{try{const r=JSON.parse(o);if(!Array.isArray(r))throw new Error("Not an array");return u("default"),r}catch{return u("error"),null}}},[o]),c=k.shortcuts.length>0;return e("div",{id:"import-export-container",class:"sheet",children:[!!n&&e("button",{type:"button",class:"sheet-close",onClick:n,children:e(w,{icon:"x"})}),e("header",{children:e("h2",{children:["Import/Export ",e("small",{class:"ib insignificant",children:"Shortcuts"})]})}),e("main",{tabindex:"-1",children:[e("section",{children:[e("h3",{children:[e(w,{icon:"arrow-down-circle",size:"l",class:"insignificant"})," ",e("span",{children:"Import"})]}),e("p",{children:e("input",{type:"text",name:"import",placeholder:"Paste shortcuts here",class:"block",onInput:h=>{a(h.target.value)}})}),!!l&&Array.isArray(l)&&e(A,{children:[e("p",{children:[e("b",{children:l.length})," shortcut",l.length>1?"s":""," ",e("small",{class:"insignificant",children:["(",o.length," characters)"]})]}),e("ol",{class:"import-settings-list",children:l.map(h=>{var r,p;return e("li",{children:[e("span",{style:{opacity:t.some(f=>Object.keys(f).every(b=>f[b]===h[b]))?1:0},children:"*"}),e("span",{children:[ts[h.type],h.type==="list"&&" ⚠️"," ",(p=(r=vt[h.type])==null?void 0:r.map)==null?void 0:p.call(r,({text:f,name:b,type:g})=>h[b]?e(A,{children:[e("span",{class:"tag collapsed insignificant",children:[f,":"," ",g==="checkbox"?h[b]==="on"?"✅":"❌":h[b]]})," "]}):null)]})]})})}),e("p",{children:[e("small",{children:"* Exists in current shortcuts"}),e("br",{}),e("small",{children:"⚠️ List may not work if it's from a different account."})]})]}),s==="error"&&e("p",{class:"error",children:e("small",{children:"⚠️ Invalid settings format"})}),e("p",{children:[c&&e(A,{children:[e(Be,{confirmLabel:"Append to current shortcuts?",menuFooter:e("div",{class:"footer",children:"Only shortcuts that dont exist in current shortcuts will be appended."}),onClick:()=>{const h=l.filter(f=>!k.shortcuts.some(b=>Object.keys(b).every(g=>b[g]===f[g])));if(!h.length){pe("No new shortcuts to import");return}let r=[...k.shortcuts,...h];const p=r.length>Ze;p&&(r=r.slice(0,Ze)),k.shortcuts=r,pe(p?`Shortcuts imported. Exceeded max ${Ze}, so the rest are not imported.`:"Shortcuts imported"),n==null||n()},children:e("button",{type:"button",class:"plain2",disabled:!l,children:"Import & append…"})})," "]}),e(Be,{confirmLabel:c?"Override current shortcuts?":"Import shortcuts?",menuItemClassName:c?"danger":void 0,onClick:()=>{k.shortcuts=l,pe("Shortcuts imported"),n==null||n()},children:e("button",{type:"button",class:"plain2",disabled:!l,children:c?"or override…":"Import…"})})]})]}),e("section",{children:[e("h3",{children:[e(w,{icon:"arrow-up-circle",size:"l",class:"insignificant"})," ",e("span",{children:"Export"})]}),e("p",{children:e("input",{style:{width:"100%"},type:"text",value:i,readOnly:!0,onClick:h=>{if(h.target.value){h.target.select();try{navigator.clipboard.writeText(h.target.value),pe("Shortcuts copied")}catch{pe("Unable to copy shortcuts")}}}})}),e("p",{children:[e("button",{type:"button",class:"plain2",disabled:!i,onClick:()=>{try{navigator.clipboard.writeText(i),pe("Shortcut settings copied")}catch{pe("Unable to copy shortcut settings")}},children:[e(w,{icon:"clipboard"})," ",e("span",{children:"Copy"})]})," ",(navigator==null?void 0:navigator.share)&&((d=navigator==null?void 0:navigator.canShare)==null?void 0:d.call(navigator,{text:i}))&&e("button",{type:"button",class:"plain2",disabled:!i,onClick:()=>{try{navigator.share({text:i})}catch{alert("Sharing doesn't seem to work.")}},children:[e(w,{icon:"share"})," ",e("span",{children:"Share"})]})," ",i.length>0&&e("small",{class:"insignificant",children:[i.length," characters"]})]}),!!i&&e("details",{children:[e("summary",{class:"insignificant",children:e("small",{children:"Raw Shortcuts JSON"})}),e("textarea",{style:{width:"100%"},rows:10,readOnly:!0,children:JSON.stringify(t.filter(Boolean),null,2)})]})]})]})]})}Hn(k,t=>{for(const[n,i,o,a]of t)/^show/i.test(i)&&!o&&Dt()});function Oi(){var o,a,s,u,l,c,d,h;const t=Se(k),n=Vn(),i=lt();return e(A,{children:[!!t.showCompose&&e(Ce,{children:e(Ss,{replyToStatus:typeof t.showCompose!="boolean"?t.showCompose.replyToStatus:((o=window.__COMPOSE__)==null?void 0:o.replyToStatus)||null,editStatus:((a=k.showCompose)==null?void 0:a.editStatus)||((s=window.__COMPOSE__)==null?void 0:s.editStatus)||null,draftStatus:((u=k.showCompose)==null?void 0:u.draftStatus)||((l=window.__COMPOSE__)==null?void 0:l.draftStatus)||null,onClose:r=>{const{newStatus:p,instance:f,type:b}=r||{};k.showCompose=!1,window.__COMPOSE__=null,p&&(k.reloadStatusPage++,pe({text:{post:"Post published. Check it out.",reply:"Reply posted. Check it out.",edit:"Post updated. Check it out."}[b||"post"],delay:1e3,duration:1e4,onClick:g=>{g.hideToast(),k.prevLocation=i,n(f?`/${f}/s/${p.id}`:`/s/${p.id}`)}}))}})}),!!t.showSettings&&e(Ce,{onClose:()=>{k.showSettings=!1},children:e(si,{onClose:()=>{k.showSettings=!1}})}),!!t.showAccounts&&e(Ce,{onClose:()=>{k.showAccounts=!1},children:e(Ws,{onClose:()=>{k.showAccounts=!1}})}),!!t.showAccount&&e(Ce,{class:"light",onClose:()=>{k.showAccount=!1},children:e(bi,{account:((c=t.showAccount)==null?void 0:c.account)||t.showAccount,instance:(d=t.showAccount)==null?void 0:d.instance,onClose:({destination:r}={})=>{k.showAccount=!1}})}),!!t.showDrafts&&e(Ce,{onClose:()=>{k.showDrafts=!1},children:e(yi,{onClose:()=>k.showDrafts=!1})}),!!t.showMediaModal&&e(Ce,{onClick:r=>{(r.target===r.currentTarget||r.target.classList.contains("media"))&&(k.showMediaModal=!1)},children:e(es,{mediaAttachments:t.showMediaModal.mediaAttachments,instance:t.showMediaModal.instance,index:t.showMediaModal.index,statusID:t.showMediaModal.statusID,onClose:()=>{k.showMediaModal=!1}})}),!!t.showShortcutsSettings&&e(Ce,{class:"light",onClose:()=>{k.showShortcutsSettings=!1},children:e(Pi,{onClose:()=>k.showShortcutsSettings=!1})}),!!t.showGenericAccounts&&e(Ce,{class:"light",onClose:()=>{k.showGenericAccounts=!1},children:e(vi,{instance:t.showGenericAccounts.instance,excludeRelationshipAttrs:t.showGenericAccounts.excludeRelationshipAttrs,onClose:()=>k.showGenericAccounts=!1})}),!!t.showMediaAlt&&e(Ce,{class:"light",onClose:r=>{k.showMediaAlt=!1},children:e(Si,{alt:t.showMediaAlt.alt||t.showMediaAlt,lang:(h=t.showMediaAlt)==null?void 0:h.lang,onClose:()=>{k.showMediaAlt=!1}})})]})}function Ft({accountID:t,onChange:n}){const{masto:i}=z(),[o,a]=$("default"),[s,u]=$(null),[l,c]=$(null),d=l!==null;return e("p",{class:"follow-request-buttons",children:[e("button",{type:"button",disabled:o==="loading"||d,onClick:()=>{a("loading"),u("accept"),(async()=>{try{const h=await i.v1.followRequests.$select(t).authorize();if(!(h!=null&&h.followedBy))throw new Error("Follow request not accepted");c(h),n()}catch{}a("default")})()},children:"Accept"})," ",e("button",{type:"button",disabled:o==="loading"||d,class:"light danger",onClick:()=>{a("loading"),u("reject"),(async()=>{try{const h=await i.v1.followRequests.$select(t).reject();if(h!=null&&h.followedBy)throw new Error("Follow request not rejected");c(h),n()}catch{a("default")}})()},children:"Reject"}),e("span",{class:"follow-request-states",children:d&&s?s==="accept"?e(w,{icon:"check-circle",alt:"Accepted",class:"follow-accepted"}):e(w,{icon:"x-circle",alt:"Rejected",class:"follow-rejected"}):e(Ie,{hidden:o!=="loading"})})]})}const bn={mention:"comment",status:"notification",reblog:"rocket",follow:"follow",follow_request:"follow-add",favourite:"heart",poll:"poll",update:"pencil","admin.signup":"account-edit","admin.report":"account-warning"},it={mention:"mentioned you in their post.",status:"published a post.",reblog:"boosted your post.","reblog+account":t=>`boosted ${t} of your posts.`,reblog_reply:"boosted your reply.",follow:"followed you.",follow_request:"requested to follow you.",favourite:"liked your post.","favourite+account":t=>`liked ${t} of your posts.`,favourite_reply:"liked your reply.",poll:"A poll you have voted in or created has ended.","poll-self":"A poll you have created has ended.","poll-voted":"A poll you have voted in has ended.",update:"A post you interacted with has been edited.","favourite+reblog":"boosted & liked your post.","favourite+reblog+account":t=>`boosted & liked ${t} of your posts.`,"favourite+reblog_reply":"boosted & liked your reply.","admin.sign_up":"signed up.","admin.report":t=>e(A,{children:["reported ",t]})},_t=50;function Bi({notification:t,instance:n,isStatic:i,disableContextMenu:o}){var L,N,O,U;const{id:a,status:s,account:u,report:l,_accounts:c,_statuses:d}=t;let{type:h}=t;const r=(s==null?void 0:s.reblog)||s,p=r==null?void 0:r.id,f=se.session.get("currentAccount"),b=f===(u==null?void 0:u.id),g=(L=s==null?void 0:s.poll)==null?void 0:L.voted,v=!!(s!=null&&s.inReplyToAccountId)&&(s==null?void 0:s.inReplyToAccountId)!==f&&((N=s==null?void 0:s.account)==null?void 0:N.id)===f;let m=0,y=0;if(h==="favourite+reblog"){for(const P of c)(O=P._types)!=null&&O.includes("favourite")&&m++,(U=P._types)!=null&&U.includes("reblog")&&y++;!y&&m&&(h="favourite"),!m&&y&&(h="reblog")}let S;if(h==="poll"?S=it[b?"poll-self":g?"poll-voted":"poll"]:h==="reblog"||h==="favourite"||h==="favourite+reblog"?(d==null?void 0:d.length)>1?S=it[`${h}+account`]:v?S=it[`${h}_reply`]:S=it[h]:it[h]?S=it[h]:S=`[Unknown notification type: ${h}]`,typeof S=="function"){const P=(d==null?void 0:d.length)||(c==null?void 0:c.length);if(P)S=S(P);else if(h==="admin.report"){const M=l==null?void 0:l.targetAccount;M&&(S=S(e(It,{account:M,showAvatar:!0})))}}if(h==="mention"&&!s)return null;const I=t.createdAt&&new Date(t.createdAt).toLocaleString(),T={"favourite+reblog":"Boosted/Liked by…",favourite:"Liked by…",reblog:"Boosted by…",follow:"Followed by…"}[h]||"Accounts",x=()=>{k.showGenericAccounts={heading:T,accounts:c,showReactions:h==="favourite+reblog",excludeRelationshipAttrs:h==="follow"?["followedBy"]:[]}};return e("div",{class:`notification notification-${h}`,"data-notification-id":a,tabIndex:"0",children:[e("div",{class:`notification-type notification-${h}`,title:I,children:h==="favourite+reblog"?e(A,{children:[e(w,{icon:"rocket",size:"xl",alt:h,class:"reblog-icon"}),e(w,{icon:"heart",size:"xl",alt:h,class:"favourite-icon"})]}):e(w,{icon:bn[h]||"notification",size:"xl",alt:h})}),e("div",{class:"notification-content",children:[h!=="mention"&&e(A,{children:[e("p",{children:[!/poll|update/i.test(h)&&e(A,{children:(c==null?void 0:c.length)>1?e(A,{children:[e("b",{tabIndex:"0",onClick:x,children:[e("span",{title:c.length,children:Ue(c.length)})," ","people"]})," "]}):e(A,{children:[e(It,{account:u,showAvatar:!0})," "]})}),S,h==="mention"&&e("span",{class:"insignificant",children:[" ","•"," ",e($t,{datetime:t.createdAt,format:"micro"})]})]}),h==="follow_request"&&e(Ft,{accountID:u.id})]}),(c==null?void 0:c.length)>1&&e("p",{class:"avatars-stack",children:[c.slice(0,_t).map(P=>e(A,{children:[e("a",{href:P.url,rel:"noopener noreferrer",class:"account-avatar-stack",onClick:M=>{M.preventDefault(),k.showAccount=P},children:[e(et,{url:P.avatarStatic,size:c.length<=10?"xxl":c.length<20?"xl":c.length<30?"l":c.length<40?"m":"s",alt:`${P.displayName} @${P.acct}`,squircle:P==null?void 0:P.bot},P.id),h==="favourite+reblog"&&e("div",{class:"account-sub-icons",children:P._types.map(M=>e(w,{icon:bn[M],size:"s",class:`${M}-icon`}))})]},P.id)," "]},P.id)),e("button",{type:"button",class:"small plain",onClick:x,children:[c.length>_t&&`+${c.length-_t}`,e(w,{icon:"chevron-down"})]})]}),(d==null?void 0:d.length)>1&&e("ul",{class:"notification-group-statuses",children:d.map(P=>e("li",{children:e(yn,{class:`status-link status-type-${h}`,to:n?`/${n}/s/${P.id}`:`/s/${P.id}`,children:e(Me,{status:P,size:"s"})})},P.id))}),s&&(!(d!=null&&d.length)||(d==null?void 0:d.length)<=1)&&e(yn,{class:`status-link status-type-${h}`,to:n?`/${n}/s/${p}`:`/s/${p}`,onContextMenu:o?void 0:P=>{const M=P.target.querySelector(".status");if(M){if(P.metaKey)return;P.preventDefault(),M.dispatchEvent(new MouseEvent("contextmenu",{clientX:P.clientX,clientY:P.clientY}))}},children:i?e(Me,{status:r,size:"s"}):e(Me,{statusID:p,size:"s"})})]})]})}function yn(t){const n=ks();return e(ee,{...t,"data-read-more":"Read more →",ref:n})}const Kt=ze(Bi);"serviceWorker"in navigator&&navigator.serviceWorker.addEventListener("message",t=>{const{type:n,id:i,accessToken:o}=(t==null?void 0:t.data)||{};n==="notification"&&(k.routeNotification={id:i,accessToken:o})});const zi=ze(function(){if(!("serviceWorker"in navigator))return null;const n=Se(k),{routeNotification:i}=n,{id:o,accessToken:a}=i||{},[s,u]=$(!1);Je(()=>{if(!o||!a)return;const{instance:c}=z(),{masto:d,instance:h}=z({accessToken:a}),r=c===h,p=a?Is(a):at();(async()=>{const f=await d.v1.notifications.$select(o).fetch();if(f&&p){const b=p.instanceURL,{type:g,status:v,account:m}=f,y=!!document.querySelector("#modal-container > *"),S=g==="follow"&&!!(m!=null&&m.id),I=!!(m!=null&&m.id),T=!!(v!=null&&v.id);S&&r?k.showAccount={account:m,instance:b}:y||!r||I&&T?u({id:o,account:p,notification:f,sameInstance:r}):T?location.hash=`/${c}/s/${v.id}`:S?location.hash=`/${c}/a/${m.id}`:location.hash="/notifications"}})()},[o,a]),Je(()=>{navigator!=null&&navigator.clearAppBadge&&navigator.clearAppBadge()},[]),ct(c=>{c&&(navigator!=null&&navigator.clearAppBadge)&&navigator.clearAppBadge()});const l=()=>{u(!1),k.routeNotification=null,/\/notifications\?id=/i.test(location.hash)&&(location.hash="/notifications")};if(s){const{id:c,account:d,notification:h,sameInstance:r}=s;return e(Ce,{class:"light",onClick:p=>{p.target===p.currentTarget&&l()},children:e("div",{class:"sheet",tabIndex:"-1",children:[e("button",{type:"button",class:"sheet-close",onClick:l,children:e(w,{icon:"x"})}),e("header",{children:e("b",{children:"Notification"})}),e("main",{children:[!r&&e("p",{children:"This notification is from your other account."}),e("div",{class:"notification-peek",onClick:p=>{const{target:f}=p;(p.target.tagName==="BUTTON"||p.target.tagName==="A")&&l()},children:e(Kt,{instance:d.instanceURL,notification:h,isStatic:!0})}),e("div",{style:{textAlign:"end"},children:e(ee,{to:"/notifications",class:"button light",onClick:l,children:[e("span",{children:"View all notifications"})," ",e(w,{icon:"arrow-right"})]})})]})]})})}return null}),ns=_s((t,n)=>{const{instance:i}=z(),[o,a]=qe(),[s,u]=$(!1),[l,c]=$(o.get("q")||""),d=o.get("type"),h=D(null),r=D(null);return Rs(n,()=>({setValue:p=>{c(p)},focus:()=>{r.current.focus()},select:()=>{r.current.select()},blur:()=>{r.current.blur()}})),e("form",{ref:h,class:"search-popover-container",onSubmit:p=>{var b;if(p.preventDefault(),/\/search/.test(location.hash))if(l){const g={q:l};d&&(g.type=d),a(g)}else a({});else l?location.hash=`/search?q=${encodeURIComponent(l)}${d?`&type=${d}`:""}`:location.hash="/search";(b=t==null?void 0:t.onSubmit)==null||b.call(t,p)},children:[e("input",{ref:r,value:l,name:"q",type:"search",placeholder:"Search",dir:"auto",autocomplete:"off",autocorrect:"off",autocapitalize:"off",onSearch:p=>{p.target.value||a({})},onInput:p=>{c(p.target.value),u(!0)},onFocus:()=>{u(!0)},onBlur:()=>{var p,f;setTimeout(()=>{u(!1)},100),(f=(p=h.current)==null?void 0:p.querySelector(".search-popover-item.focus"))==null||f.classList.remove("focus")},onKeyDown:p=>{var b;const{key:f}=p;switch(f){case"Escape":u(!1);break;case"Down":case"ArrowDown":if(p.preventDefault(),s){const g=h.current.querySelector(".search-popover-item.focus");if(g){let v=g.nextElementSibling;for(;v&&v.hidden;)v=v.nextElementSibling;v&&(v.classList.add("focus"),Array.from(v.parentElement.children).filter(y=>y!==v).forEach(y=>{y.classList.remove("focus")}))}else{const v=h.current.querySelector(".search-popover-item");v&&v.classList.add("focus")}}break;case"Up":case"ArrowUp":if(p.preventDefault(),s){const g=document.querySelector(".search-popover-item.focus");if(g){let v=g.previousElementSibling;for(;v&&v.hidden;)v=v.previousElementSibling;v&&(v.classList.add("focus"),Array.from(v.parentElement.children).filter(y=>y!==v).forEach(y=>{y.classList.remove("focus")}))}else{const v=document.querySelector(".search-popover-item:last-child");v&&v.classList.add("focus")}}break;case"Enter":if(s){const g=document.querySelector(".search-popover-item.focus");g&&(p.preventDefault(),g.click()),u(!1),(b=t==null?void 0:t.onSubmit)==null||b.call(t,p)}break}}}),e("div",{class:"search-popover",hidden:!s||!l,children:!!l&&[{label:e(A,{children:["Posts with ",e("q",{children:l})]}),to:`/search?q=${encodeURIComponent(l)}&type=statuses`,hidden:/^https?:/.test(l)},{label:e(A,{children:["Posts tagged with ",e("mark",{children:["#",l.replace(/^#/,"")]})]}),to:`/${i}/t/${l.replace(/^#/,"")}`,hidden:/^@/.test(l)||/^https?:/.test(l)||/\s/.test(l),top:/^#/.test(l),type:"link"},{label:e(A,{children:["Look up ",e("mark",{children:l})]}),to:`/${l}`,hidden:!/^https?:/.test(l),top:/^https?:/.test(l),type:"link"},{label:e(A,{children:["Accounts with ",e("q",{children:l})]}),to:`/search?q=${encodeURIComponent(l)}&type=accounts`}].sort((p,f)=>p.top&&!f.top?-1:!p.top&&f.top?1:0).map(({label:p,to:f,hidden:b,type:g})=>e(ee,{to:f,class:"search-popover-item",hidden:b,onClick:v=>{var m;(m=t==null?void 0:t.onSubmit)==null||m.call(t,v)},children:[e(w,{icon:g==="link"?"arrow-right":"search",class:"more-insignificant"}),e("span",{children:p})," "]}))})]})}),qi=ze(function({onClose:n=()=>{}}){const[i,o]=$(!1),a=D(null);Re("/",u=>{o(!0),setTimeout(()=>{var l,c,d,h;(c=(l=a.current)==null?void 0:l.focus)==null||c.call(l),(h=(d=a.current)==null?void 0:d.select)==null||h.call(d)},0)},{preventDefault:!0,ignoreEventWhen:u=>{const l=/\/search/.test(location.hash),c=!!document.querySelector("#modal-container > *");return l||c}});const s=()=>{o(!1),n()};return Re("esc",u=>{var l,c;(c=(l=a.current)==null?void 0:l.blur)==null||c.call(l),s()},{enabled:i,enableOnFormTags:!0,preventDefault:!0}),e("div",{id:"search-command-container",hidden:!i,onClick:u=>{u.target===u.currentTarget&&s()},children:e(ns,{ref:a,onSubmit:()=>{s()}})})});function Hi(){const{instance:t}=z(),n=Se(k),{shortcuts:i,settings:o}=n;if(!i.length||o.shortcutsViewMode==="multi-column"||!o.shortcutsViewMode&&o.shortcutsColumnsMode)return null;const a=D(),s=he(()=>i.map((l,c)=>{const{type:d,...h}=l;if(!Ct[d])return null;let{id:r,path:p,title:f,subtitle:b,icon:g}=Ct[d];return typeof r=="function"&&(r=r(h,c)),typeof p=="function"&&(p=p({...h,instance:h.instance||t},c)),typeof f=="function"&&(f=f(h,c)),typeof b=="function"&&(b=b(h,c)),typeof g=="function"&&(g=g(h,c)),{id:r,path:p,title:f,subtitle:b,icon:g}}).filter(Boolean),[i]),u=Vn();return Re(["1","2","3","4","5","6","7","8","9"],(l,c)=>{var h,r;const d=parseInt(c.keys[0],10)-1;if(d<s.length){const{path:p}=s[d];p&&(u(p),(r=(h=a.current)==null?void 0:h.closeMenu)==null||r.call(h))}}),e("div",{id:"shortcuts",children:n.settings.shortcutsViewMode==="tab-menu-bar"?e("nav",{class:"tab-bar",onContextMenu:l=>{l.preventDefault(),k.showShortcutsSettings=!0},children:e("ul",{children:s.map(({id:l,path:c,title:d,subtitle:h,icon:r},p)=>e("li",{children:e(ee,{class:h?"has-subtitle":"",to:c,onClick:f=>{if(f.target.classList.contains("is-active")){f.preventDefault();const b=document.getElementById(`${l}-page`);if(b){b.scrollTop=0;const g=b.querySelector(".updates-button");g&&g.click()}}},children:[e(w,{icon:r,size:"xl",alt:d}),e("span",{children:[e(Ut,{children:d}),h&&e(A,{children:[e("br",{}),e("small",{children:h})]})]})]})},`${p}-${l}-${d}-${h}-${c}`))})}):e(Fe,{instanceRef:a,overflow:"auto",viewScroll:"close",menuClassName:"glass-menu shortcuts-menu",gap:8,position:"anchor",menuButton:e("button",{type:"button",id:"shortcuts-button",class:"plain",onContextMenu:l=>{l.preventDefault(),k.showShortcutsSettings=!0},onTransitionStart:l=>{var c,d;try{const{target:h}=l;getComputedStyle(h).pointerEvents==="none"&&((d=(c=a.current)==null?void 0:c.closeMenu)==null||d.call(c))}catch{}},children:e(w,{icon:"shortcut",size:"xl",alt:"Shortcuts"})}),children:s.map(({id:l,path:c,title:d,subtitle:h,icon:r},p)=>e(Ee,{to:c,class:"glass-menu-item",children:[e(w,{icon:r,size:"l"})," ",e("span",{class:"menu-grow",children:[e("span",{children:e(Ut,{children:d})}),h&&e(A,{children:[" ",e("small",{class:"more-insignificant",children:h})]})]}),e("span",{class:"menu-shortcut hide-until-focus-visible",children:p+1})]},`${p}-${l}-${d}-${h}-${c}`))})})}const Vi=ze(Hi);function Gi(t){var a;let n=[],i=[],o=0;for(let s=0;s<t.length;s++){const u=t[s];u.reblog&&!((a=u.account)!=null&&a.group)?(i.push(u),o++):(n.push(u),o<3&&(o=0))}if(t.length>10&&(i.length>t.length/4||o>=3)){const s=i.map(u=>u.id);if(i.length>t.length*3/4)n=[...n,{id:s,items:i,type:"boosts"}];else{const u=Math.floor(n.length/2);n=[...n.slice(0,u),{id:s,items:i,type:"boosts"},...n.slice(u)]}return n}else return t}function wn(t,n){const i=se.account.get("boostedStatusIDs")||{},o=t.filter(s=>{if(!s.reblog)return!0;const u=`${n}-${s.reblog.id}`,l=i[u];return l&&l!==s.id?!1:(i[u]=s.id,!0)}),a=Object.keys(i);return a.length>50&&a.slice(0,a.length-50).forEach(s=>{delete i[s]}),se.account.set("boostedStatusIDs",i),o}function ji(t){const n=[];let i=0;t.forEach(s=>{for(let l=0;l<n.length;l++){if(n[l].find(c=>c.id===s.id))return;if(n[l].find(c=>c.id===s.inReplyToId)||n[l].find(c=>c.inReplyToId===s.id)){n[l].push(s);return}}const u=t.find(l=>l.id===s.inReplyToId);u&&(n[i++]=[s,u])});for(let s=0;s<n.length;s++)for(let u=s+1;u<n.length;u++)n[s].find(c=>n[u].includes(c))&&(n[s]=[...n[s],...n[u]],n[s]=n[s].filter((c,d,h)=>h.findIndex(r=>r.id===c.id)===d),n.splice(u,1),u--);n.forEach(s=>{s.sort((u,l)=>!u.inReplyToId&&!l.inReplyToId?new Date(u.createdAt)-new Date(l.createdAt):u.inReplyToId===l.id?1:l.inReplyToId===u.id||!u.inReplyToId?-1:l.inReplyToId?new Date(u.createdAt)-new Date(l.createdAt):1)}),n.forEach(s=>{const u=s[0].account.id;s.forEach(l=>{l.account.id!==u&&(l._differentAuthor=!0)})}),n.length;const o=[],a=[];return t.forEach(s=>{if(s.reblog){o.push(s);return}for(let u=0;u<n.length;u++)if(n[u].find(l=>l.id===s.id)){if(a.includes(u))return;const l=n[u];l.sort((d,h)=>{const r=new Date(d.createdAt),p=new Date(h.createdAt);return r-p});const c=l[0].account.id;o.push({id:l.map(d=>d.id),items:l,type:l.every(d=>d.account.id===c)?"thread":"conversation"}),a.push(u);return}o.push(s)}),o}async function Yi(t,n){const i=await Li();if(!i.length)return;const{statusFollowedTags:o}=k,a=[];if(t.forEach(s=>{var p;if(s.reblog)return;const{id:u,content:l,tags:c=[]}=s,d=Ge(u,n);if((p=o[d])!=null&&p.length)return;const h=Mi(l);if(!h.length&&!c.length)return;const r=i.reduce((f,b)=>((h.some(g=>g.toLowerCase()===b.name.toLowerCase())||c.some(g=>g.name.toLowerCase()===b.name.toLowerCase()))&&f.push(b.name),f),[]);r.length&&a.push({item:s,sKey:d,followedTags:r})}),a.length){const s=a.map(l=>l.item.account),u=await Wt(s);if(!u)return;a.forEach(l=>{const{item:c,sKey:d,followedTags:h}=l;u[c.account.id].following||(o[d]=h)})}}function Wi(){k.statusFollowedTags={}}function Ki({scrollableRef:t,distanceFromStart:n=1,distanceFromEnd:i=1,scrollThresholdStart:o=10,scrollThresholdEnd:a=10,direction:s="vertical",distanceFromStartPx:u,distanceFromEndPx:l}={}){const[c,d]=$(null),[h,r]=$(!1),[p,f]=$(!1),[b,g]=$(!1),[v,m]=$(!1),y=s==="vertical";return Je(()=>{const S=t.current;if(!S)return{};let I=y?S.scrollTop:S.scrollLeft;function T(){const{scrollTop:x,scrollLeft:L,scrollHeight:N,scrollWidth:O,clientHeight:U,clientWidth:P}=S,M=y?x:L,C=y?N:O,_=y?U:P,F=Math.abs(M-I),Y=u||Math.min(_*n,C,M),te=l||Math.min(_*i,C,C-M-_);F>=(I<M?a:o)&&(d(I<M?"end":"start"),I=M),r(M<=0),f(M+_>=C),g(M<=Y),m(M+_>=C-te)}return S.addEventListener("scroll",T,{passive:!0}),()=>S.removeEventListener("scroll",T)},[n,i,o,a]),{scrollDirection:c,reachStart:h,reachEnd:p,nearReachStart:b,nearReachEnd:v,init:()=>{t.current&&t.current.dispatchEvent(new Event("scroll"))}}}function Zi({scrollableRef:t,distanceFromStart:n=1,distanceFromEnd:i=1,scrollThresholdStart:o=10,scrollThresholdEnd:a=10,direction:s="vertical",distanceFromStartPx:u,distanceFromEndPx:l,init:c}={},d,h){if(!d)return;const[r,p]=$(null),[f,b]=$(!1),[g,v]=$(!1),[m,y]=$(!1),[S,I]=$(!1),T=s==="vertical",x=D(null),L=Es(()=>{const N=t.current,{scrollTop:O,scrollLeft:U,scrollHeight:P,scrollWidth:M,clientHeight:C,clientWidth:_}=N,F=T?O:U,Y=T?P:M,te=T?C:_,W=Math.abs(F-x.current),ke=u||Math.min(te*n,Y,F),re=l||Math.min(te*i,Y,Y-F-te);W>=(x.current<F?a:o)&&(p(x.current<F?"end":"start"),x.current=F),b(F<=0),v(F+te>=Y),y(F<=ke),I(F+te>=Y-re)},500);Je(()=>{const N=t.current;return N?(x.current=N[T?"scrollTop":"scrollLeft"],N.addEventListener("scroll",L,{passive:!0}),()=>N.removeEventListener("scroll",L)):{}},[n,i,o,a]),B(()=>{d({scrollDirection:r,reachStart:f,reachEnd:g,nearReachStart:m,nearReachEnd:S})},[r,f,g,m,S,...h]),B(()=>{c&&t.current&&queueMicrotask(()=>{t.current.dispatchEvent(new Event("scroll"))})},[c])}function Ji({class:t,statusID:n,status:i,instance:o,parent:a,onMediaClick:s}){let u=Ge(n,o);const l=Se(k);if(i||(i=l.statuses[u]||l.statuses[n],u=Ge(i==null?void 0:i.id,o)),!i)return null;const{account:{acct:c,avatar:d,avatarStatic:h,id:r,url:p,displayName:f,username:b,emojis:g,bot:v,group:m},id:y,repliesCount:S,reblogged:I,reblogsCount:T,favourited:x,favouritesCount:L,bookmarked:N,poll:O,muted:U,sensitive:P,spoilerText:M,visibility:C,language:_,editedAt:F,filtered:Y,card:te,createdAt:W,inReplyToId:ke,inReplyToAccountId:re,content:X,mentions:E,mediaAttachments:j,reblog:ne,uri:le,url:H,emojis:ae,_deleted:Q,_pinned:ye}=i;if(!(j!=null&&j.length))return null;const V=ie=>{ie.shiftKey},Z=he(()=>se.session.get("currentAccount"),[]),ce=he(()=>Z&&Z===r,[r,Z]),fe=Ps(On),me=!ce&&Nt(Y,fe);if((me==null?void 0:me.action)==="hide")return null;const de=P,G=he(()=>(se.account.get("preferences")||{})["reading:expand:media"]||"default",[])==="show_all",K=a||"div";return j.map((ie,we)=>{const Le=`${u}-${ie.id}`,$e=me==null?void 0:me.titlesStr;return e(K,{"data-state-post-id":u,onMouseEnter:V,"data-spoiler-text":M||(P?"Sensitive media":void 0),"data-filtered-text":me?`Filtered${$e?`: ${$e}`:""}`:void 0,class:`
media-post
${me?"filtered":""}
${de?"has-spoiler":""}
${G?"show-media":""}
`,children:e(Fn,{class:t,media:ie,lang:_,to:`/${o}/s/${y}?media-only=${we+1}`,onClick:s?q=>s(q,we,ie,i):void 0})},Le)})}const vn=ze(Ji);function mt(t){var S,I,T,x,L;const n=Se(k),{masto:i,instance:o,authenticated:a}=z(),[s,u]=$(),[l,c]=$(!1);B(()=>{const N=se.local.getJSON("accounts")||[],O=N.find(U=>U.info.id===se.session.get("currentAccount"));O&&u(O),c(N.length>1)},[]);const d=(n.settings.shortcutsViewMode==="multi-column"||!n.settings.shortcutsViewMode&&n.settings.shortcutsColumnsMode)&&!n.shortcuts.find(N=>N.type==="following"),h=Ns(()=>{k.showAccounts=!0},{threshold:600,detect:"touch",cancelOnMovement:!0}),r=D(),[p,f]=$(void 0),b=Ts([0,0,n.settings.shortcutsViewMode==="tab-menu-bar"?50:0,0]),g=D();async function v(N){return(N||!g.current)&&(g.current=i.v1.mutes.list({limit:80})),await g.current.next()}const m=D();async function y(N){return(N||!m.current)&&(m.current=i.v1.blocks.list({limit:80})),await m.current.next()}return e(A,{children:[e("button",{ref:r,type:"button",class:`button plain nav-menu-button ${l?"with-avatar":""} ${open?"active":""}`,style:{position:"relative"},onClick:()=>{f(N=>N?void 0:"open")},onContextMenu:N=>{N.preventDefault(),k.showAccounts=!0},...h(),children:[l&&e(et,{url:((S=s==null?void 0:s.info)==null?void 0:S.avatar)||((I=s==null?void 0:s.info)==null?void 0:I.avatarStatic),size:"l",squircle:(T=s==null?void 0:s.info)==null?void 0:T.bot}),e(w,{icon:"menu",size:l?"s":"l"})]}),e(Gn,{menuClassName:"nav-menu",state:p,anchorRef:r,onClose:()=>{f(void 0)},containerProps:{style:{zIndex:10},onClick:()=>{f(void 0)}},portal:{target:document.body},...t,overflow:"auto",viewScroll:"close",position:"anchor",align:"center",boundingBoxPadding:b,unmountOnClose:!0,children:[!!((x=n.appVersion)!=null&&x.commitHash)&&n.appVersion.commitHash!=="adf0b35"&&e("div",{class:"top-menu",children:[e(oe,{onClick:()=>{confirm("Reload page now to update?")&&(async()=>{try{location.reload()}catch{}})()},children:[e(w,{icon:"sparkles",class:"sparkle-icon",size:"l"})," ",e("span",{children:"New update available…"})]}),e(De,{})]}),e("section",{children:[e(Ee,{to:"/",children:[e(w,{icon:"home",size:"l"})," ",e("span",{children:"Home"})]}),a&&e(A,{children:[d&&e(Ee,{to:"/following",children:[e(w,{icon:"following",size:"l"})," ",e("span",{children:"Following"})]}),e(Ee,{to:"/mentions",children:[e(w,{icon:"at",size:"l"})," ",e("span",{children:"Mentions"})]}),e(Ee,{to:"/notifications",children:[e(w,{icon:"notification",size:"l"})," ",e("span",{children:"Notifications"}),n.notificationsShowNew&&e("sup",{title:"New",style:{opacity:.5},children:[" ","•"]})]}),e(De,{}),e(Ee,{to:"/l",children:[e(w,{icon:"list",size:"l"})," ",e("span",{children:"Lists"})]}),e(Ee,{to:"/ft",children:[e(w,{icon:"hashtag",size:"l"})," ",e("span",{children:"Followed Hashtags"})]}),e(Ee,{to:"/b",children:[e(w,{icon:"bookmark",size:"l"})," ",e("span",{children:"Bookmarks"})]}),e(Ee,{to:"/f",children:[e(w,{icon:"heart",size:"l"})," ",e("span",{children:"Likes"})]})]}),e(De,{}),e(Ee,{to:"/search",children:[e(w,{icon:"search",size:"l"})," ",e("span",{children:"Search"})]}),e(Ee,{to:`/${o}/p/l`,children:[e(w,{icon:"building",size:"l"})," ",e("span",{children:"Local"})]}),e(Ee,{to:`/${o}/p`,children:[e(w,{icon:"earth",size:"l"})," ",e("span",{children:"Federated"})]}),e(Ee,{to:`/${o}/trending`,children:[e(w,{icon:"chart",size:"l"})," ",e("span",{children:"Trending"})]})]}),e("section",{children:a?e(A,{children:[e(De,{}),((L=s==null?void 0:s.info)==null?void 0:L.id)&&e(Ee,{to:`/${o}/a/${s.info.id}`,children:[e(w,{icon:"user",size:"l"})," ",e("span",{children:"Profile"})]}),e(oe,{onClick:()=>{k.showAccounts=!0},children:[e(w,{icon:"group",size:"l"})," ",e("span",{children:"Accounts…"})]}),e(oe,{onClick:()=>{k.showGenericAccounts={id:"mute",heading:"Muted users",fetchAccounts:v,excludeRelationshipAttrs:["muting"]}},children:[e(w,{icon:"mute",size:"l"})," Muted users…"]}),e(oe,{onClick:()=>{k.showGenericAccounts={id:"block",heading:"Blocked users",fetchAccounts:y,excludeRelationshipAttrs:["blocking"]}},children:[e(w,{icon:"block",size:"l"}),"Blocked users…"]}),e(De,{className:"divider-grow"}),e(oe,{onClick:()=>{k.showKeyboardShortcutsHelp=!0},children:[e(w,{icon:"keyboard",size:"l"})," ",e("span",{children:"Keyboard shortcuts"})]}),e(oe,{onClick:()=>{k.showShortcutsSettings=!0},children:[e(w,{icon:"shortcut",size:"l"})," ",e("span",{children:"Shortcuts / Columns…"})]}),e(oe,{onClick:()=>{k.showSettings=!0},children:[e(w,{icon:"gear",size:"l"})," ",e("span",{children:"Settings…"})]})]}):e(A,{children:[e(De,{}),e(Ee,{to:"/login",children:[e(w,{icon:"user",size:"l"})," ",e("span",{children:"Log in"})]}),e(oe,{onClick:()=>{k.showSettings=!0},children:[e(w,{icon:"gear",size:"l"})," ",e("span",{children:"Settings…"})]})]})})]})]})}const bt={block:"nearest",inline:"center",behavior:"smooth"};function Ye({title:t,titleComponent:n,id:i,instance:o,emptyText:a,errorText:s,useItemID:u,boostsCarousel:l,fetchItems:c=()=>{},checkForUpdates:d=()=>{},checkForUpdatesInterval:h=15e3,headerStart:r,headerEnd:p,timelineStart:f,refresh:b,view:g,filterContext:v,showFollowedTags:m}){const y=Se(k),[S,I]=$([]),[T,x]=$("default"),[L,N]=$(!1),[O,U]=$(!1),[P,M]=$(!0),C=D(),_=g!=="media",F=Ds(H=>{U(!1),T!=="loading"&&(x("loading"),(async()=>{try{let{done:ae,value:Q}=await c(H);if(Array.isArray(Q)){const[ye,V]=Q.reduce((Z,ce)=>(ce._pinned?Z[0].push(ce):Z[1].push(ce),Z),[[],[]]);Q=V,_&&(l&&(Q=Gi(Q)),Q=ji(Q)),ye.length&&(Q=ye.concat(Q)),I(H?Q:Z=>[...Z,...Q]),Q.length||(ae=!0),N(!ae)}else N(!1);x("default")}catch{x("error")}finally{F.cancel()}})())},1500,{leading:!0,trailing:!1}),Y=".timeline-item, .timeline-item-alt",te=Re("j, shift+j",(H,ae)=>{const Q=document.activeElement.closest(Y),ye=Q==null?void 0:Q.getBoundingClientRect(),V=Array.from(C.current.querySelectorAll(Y));if(Q&&ye.top<C.current.clientHeight&&ye.bottom>0){const Z=V.indexOf(Q);let ce=V[Z+1];ae.shift&&(ce=V.find((fe,me)=>me>Z&&!fe.classList.contains("timeline-item-alt"))),ce&&(ce.focus(),ce.scrollIntoView(bt))}else{const Z=V.find(ce=>{const fe=ce.getBoundingClientRect();return fe.top>=44&&fe.left>=0});Z&&(Z.focus(),Z.scrollIntoView(bt))}}),W=Re("k, shift+k",(H,ae)=>{const Q=document.activeElement.closest(Y),ye=Q==null?void 0:Q.getBoundingClientRect(),V=Array.from(C.current.querySelectorAll(Y));if(Q&&ye.top<C.current.clientHeight&&ye.bottom>0){const Z=V.indexOf(Q);let ce=V[Z-1];ae.shift&&(ce=V.findLast((fe,me)=>me<Z&&!fe.classList.contains("timeline-item-alt"))),ce&&(ce.focus(),ce.scrollIntoView(bt))}else{const Z=V.find(ce=>{const fe=ce.getBoundingClientRect();return fe.top>=44&&fe.left>=0});Z&&(Z.focus(),Z.scrollIntoView(bt))}}),ke=Re(["enter","o"],()=>{const H=document.activeElement.closest(Y);H&&H.click()}),re=D(),[X,E]=$(!1);Zi({scrollableRef:C,distanceFromEnd:2,scrollThresholdStart:44},({scrollDirection:H,nearReachStart:ae,nearReachEnd:Q,reachStart:ye,reachEnd:V})=>{if(re.current){const Z=H==="end"&&!ae;re.current.hidden=Z}E(ae),ye&&F(!0)},[]),B(()=>{var H;(H=C.current)==null||H.scrollTo({top:0}),F(!0)},[]),B(()=>{F(!0)},[b]);const j=D(g);B(()=>{j.current!==g&&(j.current=g,I([]))},[g]);const ne=Ve(async({disableIdleCheck:H=!1}={})=>{const ae=C.current?getComputedStyle(C.current).pointerEvents==="none":!1;y.settings.autoRefresh&&C.current.scrollTop<16&&(H||window.__IDLE__)&&!to()&&!ae?F(!0):await d()&&U(!0)},[i,F,d,y.settings.autoRefresh]),le=D();return ct(H=>{if(H){const ae=Date.now()-le.current;(!le.current||ae>1e3*3)&&ne({disableIdleCheck:!0})}else le.current=Date.now();M(H)},[d,ne,y.settings.autoRefresh]),_n(ne,P&&!O?h*(X?1:2):null),e(On.Provider,{value:v,children:e("div",{id:`${i}-page`,class:"deck-container",ref:H=>{C.current=H,te.current=H,W.current=H,ke.current=H},tabIndex:"-1",children:e("div",{class:"timeline-deck deck",children:[e("header",{ref:re,onClick:H=>{var ae;H.target.closest("a, button")||(ae=C.current)==null||ae.scrollTo({top:0,behavior:"smooth"})},onDblClick:H=>{H.target.closest("a, button")||F(!0)},class:T==="loading"?"loading":"",children:[e("div",{class:"header-grid",children:[e("div",{class:"header-side",children:[e(mt,{}),r??e(ee,{to:"/",class:"button plain home-button",children:e(w,{icon:"home",size:"l"})})]}),t&&(n||e("h1",{children:t})),e("div",{class:"header-side",children:!!p&&p})]}),S.length>0&&T!=="loading"&&O&&e("button",{class:"updates-button shiny-pill",type:"button",onClick:()=>{var H;F(!0),(H=C.current)==null||H.scrollTo({top:0,behavior:"smooth"})},children:[e(w,{icon:"arrow-up"})," New posts"]})]}),!!f&&e("div",{class:`timeline-start ${T==="loading"?"loading":""}`,children:f}),S.length?e(A,{children:[e("ul",{class:`timeline ${g?`timeline-${g}`:""}`,children:[S.map(H=>e(Xi,{status:H,instance:o,useItemID:u,filterContext:v,view:g,showFollowedTags:m},H.id+(H==null?void 0:H._pinned)+g)),L&&T==="loading"&&(g==="media"?null:e(A,{children:[e("li",{style:{height:"20vh"},children:e(Me,{skeleton:!0})}),e("li",{style:{height:"25vh"},children:e(Me,{skeleton:!0})})]}))]}),T==="default"&&(L?e(je,{root:C.current,rootMargin:`0px 0px ${screen.height*1.5}px 0px`,onChange:H=>{H&&F()},children:e("button",{type:"button",class:"plain block",onClick:()=>F(),style:{marginBlockEnd:"6em"},children:"Show more…"})}):e("p",{class:"ui-state insignificant",children:"The end."}))]}):T==="loading"?e("ul",{class:"timeline",children:Array.from({length:5}).map((H,ae)=>g==="media"?e("div",{style:{height:"50vh"}}):e("li",{children:e(Me,{skeleton:!0})},ae))}):T!=="error"&&e("p",{class:"ui-state",children:a}),T==="error"&&e("p",{class:"ui-state",children:[s,e("br",{}),e("br",{}),e("button",{type:"button",onClick:()=>F(!S.length),children:"Try again"})]})]})})})}function Xi({status:t,instance:n,useItemID:i,filterContext:o,view:a,showFollowedTags:s}){const{id:u,reblog:l,items:c,type:d,_pinned:h}=t;h&&(i=!1);const r=(l==null?void 0:l.id)||u,p=n?`/${n}/s/${r}`:`/s/${r}`;let f="";d==="boosts"?f=`${c.length} Boosts`:d==="pinned"&&(f="Pinned posts");const b=d==="boosts"||d==="pinned";if(c){const v=rt(c,o);if(b)return v.sort((y,S)=>{const I=Nt(y.filtered,o),T=Nt(S.filtered,o);return I&&!T?1:!I&&T?-1:0}),e("li",{class:"timeline-item-carousel",children:e(Qi,{title:f,class:`${d}-carousel`,children:v.map(y=>{const{id:S,reblog:I,_pinned:T}=y,x=(I==null?void 0:I.id)||S,L=n?`/${n}/s/${x}`:`/s/${x}`;return T&&(i=!1),e("li",{children:e(ee,{class:"status-carousel-link timeline-item-alt",to:L,children:i?e(Me,{statusID:S,instance:n,size:"s",contentTextWeight:!0,enableCommentHint:!0}):e(Me,{status:y,instance:n,size:"s",contentTextWeight:!0,enableCommentHint:!0})})},S)})})},`timeline-${u}`);const m=v.length>3;return v.map((y,S)=>{const{id:I,_differentAuthor:T}=y,x=n?`/${n}/s/${I}`:`/s/${I}`,L=S>0&&S<v.length-1,N=y.sensitive&&!!y.spoilerText,O=!T&&N&&S>0||m&&L&&(d==="thread"||d==="conversation"&&!T&&!v[S-1]._differentAuthor&&!v[S+1]._differentAuthor),U=S===0,P=S===v.length-1;return e("li",{class:`timeline-item-container timeline-item-container-type-${d} timeline-item-container-${U?"start":P?"end":"middle"} ${T?"timeline-item-diff-author":""}`,children:e(ee,{class:"status-link timeline-item",to:x,children:O?e(eo,{status:y,instance:n}):i?e(Me,{statusID:I,instance:n,enableCommentHint:P,showFollowedTags:s}):e(Me,{status:y,instance:n,enableCommentHint:P,showFollowedTags:s})})},`timeline-${I}`)})}const g=`timeline-${u+h}`;return a==="media"?i?e(vn,{class:"timeline-item",parent:"li",statusID:u,instance:n},g):e(vn,{class:"timeline-item",parent:"li",status:t,instance:n},g):e("li",{children:e(ee,{class:"status-link timeline-item",to:p,children:i?e(Me,{statusID:u,instance:n,enableCommentHint:!0,showFollowedTags:s}):e(Me,{status:t,instance:n,enableCommentHint:!0,showFollowedTags:s})})},g)}function Qi({title:t,class:n,children:i}){const o=D(),a=D(),s=D(),[u,l]=$(!1);return B(()=>{setTimeout(()=>{l(!0)},1)},[]),e("div",{class:`status-carousel ${n}`,children:[e("header",{children:[e("h3",{children:t}),e("span",{children:[e("button",{ref:a,type:"button",class:"small plain2",onClick:()=>{var c,d;(d=o.current)==null||d.scrollBy({left:-Math.min(320,(c=o.current)==null?void 0:c.offsetWidth),behavior:"smooth"})},children:e(w,{icon:"chevron-left"})})," ",e("button",{ref:s,type:"button",class:"small plain2",onClick:()=>{var c,d;(d=o.current)==null||d.scrollBy({left:Math.min(320,(c=o.current)==null?void 0:c.offsetWidth),behavior:"smooth"})},children:e(w,{icon:"chevron-right"})})]})]}),e("ul",{ref:o,children:[e(je,{class:"status-carousel-beacon",onChange:c=>{a.current&&(a.current.disabled=c)}}),i[0],u&&i.slice(1),e(je,{class:"status-carousel-beacon",onChange:c=>{s.current&&(s.current.disabled=c)}})]})]})}function eo({status:t,instance:n}){const i=Se(k),{id:o,visibility:a}=t,s=Bn(t),u=Ge(o,n);return e("article",{class:`status compact-thread ${a==="direct"?"visibility-direct":""}`,tabindex:"-1",children:[i.statusThreadNumber[u]?e("div",{class:"status-thread-badge",children:[e(w,{icon:"thread",size:"s"}),i.statusThreadNumber[u]?` ${i.statusThreadNumber[u]}/X`:""]}):e("div",{class:"status-thread-badge",children:e(w,{icon:"thread",size:"s"})}),e("div",{class:"content-compact",title:s,children:[s,t.sensitive&&t.spoilerText&&e(A,{children:[" ",e("span",{class:"spoiler-badge",children:e(w,{icon:"eye-close",size:"s"})})]})]})]})}function to(){return!!document.querySelector(".deck-backdrop, #modal-container > *")}const ot=20,Zt=1983,Sn=`${Zt}-01`,no=(()=>{try{const t=document.createElement("input");return t.setAttribute("type","month"),t.type==="month"}catch{return!1}})();async function so(t){var o;const{masto:n}=z({instance:t}),i=await n.v2.search.fetch({q:"from:me",type:"statuses",limit:1});return!!((o=i==null?void 0:i.statuses)!=null&&o.length)}const io=tt(so);function oo(){const t=Se(k),{id:n,...i}=nt(),[o,a]=qe(),s=o.get("month"),u=!o.get("replies"),l=!!o.get("boosts"),c=o.get("tagged"),d=!!o.get("media"),{masto:h,instance:r,authenticated:p}=z({instance:i.instance}),{masto:f,instance:b}=z(),g=D(),v=[s,u,l,c,d],[m,y]=$(),S=D(0);B(()=>{S.current=0},v);const I=he(()=>r===b,[r,b]),[T,x]=$(!1);B(()=>{I&&m!=null&&m.acct&&(async()=>{const X=await io(r);x(X)})()},[r,I,m==null?void 0:m.acct]);async function L(X){var ae,Q,ye;const E=/^\d{4}-[01]\d$/.test(s),j=((Q=(ae=s==null?void 0:s.split)==null?void 0:ae.call(s,"-"))==null?void 0:Q[0])>=Zt;if(E&&j){if(!m)return{value:[],done:!0};const[V,Z]=s.split("-"),ce=parseInt(Z,10)-1,fe=new Date(V,ce,0),me=`${fe.getFullYear()}-${(fe.getMonth()+1).toString().padStart(2,"0")}-${fe.getDate().toString().padStart(2,"0")}`,de=new Date(V,ce+1,1),R=`${de.getFullYear()}-${(de.getMonth()+1).toString().padStart(2,"0")}-${de.getDate().toString().padStart(2,"0")}`;let G;X?(G=ot+1,S.current=0):(G=ot+S.current+1,S.current+=ot);const K=await h.v2.search.fetch({q:`from:${m.acct} after:${me} before:${R}`,type:"statuses",limit:G,offset:S.current});if((ye=K==null?void 0:K.statuses)!=null&&ye.length){const ie=K.statuses.slice(0,ot);ie.forEach(Le=>{Ae(Le,r)});const we=K.statuses.length<=ot;return{value:ie,done:we}}else return{value:[],done:!0}}const ne=[];if(X){const{value:V}=await h.v1.accounts.$select(n).statuses.list({pinned:!0}).next();if(V!=null&&V.length&&!c&&!d){const Z=V.map(ce=>(Ae(ce,r),{...ce,_pinned:!0}));if(Z.length>=3){const ce=Z.map(fe=>fe.id);ne.push({id:ce,items:Z,type:"pinned"})}else ne.push(...Z)}}(X||!g.current)&&(g.current=h.v1.accounts.$select(n).statuses.list({limit:ot,exclude_replies:u,exclude_reblogs:l,only_media:d,tagged:c}));const{value:le,done:H}=await g.current.next();return le!=null&&le.length&&(ne.push(...le),le.forEach(V=>{Ae(V,r)})),{value:ne,done:H}}const[N,O]=$([]);_e(m!=null&&m.acct?`${m!=null&&m.displayName?m.displayName+" ":""}@${m.acct}${u?l?" (- Boosts)":c?` (#${c})`:d?" (Media)":s?` (${new Date(s).toLocaleString("default",{month:"long",year:"numeric"})})`:"":" (+ Replies)"}`:"Account posts","/:instance?/a/:id");const U=D(),P=Ve(()=>{const X=U.current||h.v1.accounts.$select(n).fetch();return U.current=X,X},[n,h]);B(()=>{(async()=>{try{const X=await P();y(X)}catch{}try{const X=await h.v1.accounts.$select(n).featuredTags.list();O(X)}catch{}})()},[n]);const{displayName:M,acct:C,emojis:_}=m||{},F=he(()=>{const X=t.accounts[`${n}@${r}`];return e(Jn,{instance:r,account:X||n,fetchAccount:P,authenticated:p,standalone:!0})},[n,r,p,P]),Y=D(),te=he(()=>e(A,{children:[F,e("div",{class:"filter-bar",ref:Y,style:{position:"relative"},children:[!u||l||c||d||!!s?e(ee,{to:`/${r}/a/${n}`,class:"insignificant filter-clear",title:"Clear filters",children:e(w,{icon:"x",size:"l"})},"clear-filters"):e(w,{icon:"filter",class:"insignificant",size:"l"}),e(ee,{to:`/${r}/a/${n}${u?"?replies=1":""}`,onClick:()=>{u&&pe("Showing post with replies")},class:u?"":"is-active",children:"+ Replies"}),e(ee,{to:`/${r}/a/${n}${l?"":"?boosts=0"}`,onClick:()=>{l||pe("Showing posts without boosts")},class:l?"is-active":"",children:"- Boosts"}),e(ee,{to:`/${r}/a/${n}${d?"":"?media=1"}`,onClick:()=>{d||pe("Showing posts with media")},class:d?"is-active":"",children:"Media"}),N.map(E=>e(ee,{to:`/${r}/a/${n}${c===E.name?"":`?tagged=${encodeURIComponent(E.name)}`}`,onClick:()=>{c!==E.name&&pe(`Showing posts tagged with #${E.name}`)},class:c===E.name?"is-active":"",children:e("span",{children:[e("span",{class:"more-insignificant",children:"#"}),E.name]})},E.id)),T&&(no?e("label",{class:`filter-field ${s?"is-active":""}`,children:[e(w,{icon:"month",size:"l"}),e("input",{type:"month",disabled:!(m!=null&&m.acct),value:s||"",min:Sn,max:new Date().toISOString().slice(0,7),onInput:E=>{const{value:j,validity:ne}=E.currentTarget;if(!ne.valid)return;a(j?{month:j}:{});const[le,H]=j.split("-"),ae=parseInt(H,10)-1,Q=new Date(le,ae);pe(`Showing posts in ${Q.toLocaleString("default",{month:"long",year:"numeric"})}`)}})]}):e(ao,{class:`filter-field ${s?"is-active":""}`,disabled:!(m!=null&&m.acct),value:s||"",min:Sn,max:new Date().toISOString().slice(0,7),onInput:E=>{const{value:j,validity:ne}=E;ne.valid&&a(j?{month:j}:{})}}))]})]}),[n,r,p,N,T,...v]);B(()=>{var E;const X=(E=Y.current)==null?void 0:E.querySelector(".is-active");X&&Y.current.scrollTo({behavior:"smooth",left:X.offsetLeft-(Y.current.offsetWidth-X.offsetWidth)/2})},[N,T,...v]);const W=he(()=>m!=null&&m.url?new URL(m.url).hostname:null,[m]),re=!!m&&!(r===W);return e(Ye,{title:`${m!=null&&m.acct?"@"+m.acct:"Posts"}`,titleComponent:e("h1",{class:"header-double-lines header-account",children:[e("b",{children:e(Nn,{text:M,emojis:_})}),e("div",{children:e("span",{children:["@",C]})})]}),id:"account-statuses",instance:r,emptyText:"Nothing to see here yet.",errorText:"Unable to load posts",fetchItems:L,useItemID:!0,view:d?"media":void 0,boostsCarousel:t.settings.boostsCarousel,timelineStart:te,refresh:[u,l,c,d,s+(m==null?void 0:m.acct)].toString(),headerEnd:e(Fe,{portal:!0,overflow:"auto",viewScroll:"close",position:"anchor",menuButton:e("button",{type:"button",class:"plain",children:e(w,{icon:"more",size:"l"})}),children:[e(oe,{disabled:!re,onClick:()=>{(async()=>{try{const{masto:X}=z({instance:W}),E=await X.v1.accounts.lookup({acct:m.acct}),{id:j}=E;location.hash=`/${W}/a/${j}`}catch{alert("Unable to fetch account info")}})()},children:[e(w,{icon:"transfer"})," ",e("small",{class:"menu-double-lines",children:["Switch to account's instance (",e("b",{children:W}),")"]})]}),!I&&e(oe,{onClick:()=>{(async()=>{try{const X=await f.v1.accounts.lookup({acct:m.acct+"@"+r}),{id:E}=X;location.hash=`/${b}/a/${E}`}catch{alert("Unable to fetch account info")}})()},children:[e(w,{icon:"transfer"})," ",e("small",{class:"menu-double-lines",children:["Switch to my instance (",e("b",{children:b}),")"]})]})]})},n)}function ao(t){const{class:n,disabled:i,value:o,min:a,max:s,onInput:u=()=>{}}=t,[l,c]=(o==null?void 0:o.split("-"))||[],d=D(),h=D(),r=(p,f)=>{const[b,g]=(a==null?void 0:a.split("-"))||[],[v,m]=(s==null?void 0:s.split("-"))||[];return!(f<b||f>v||f===b&&p<g||f===v&&p>m)};return e("div",{class:n,children:[e(w,{icon:"month",size:"l"}),e("select",{ref:d,disabled:i,value:c||"",onInput:p=>{const{value:f}=p.currentTarget,b=h.current.value;if(!r(f,b))return{value:"",validity:{valid:!1}};u({value:f?`${b}-${f}`:"",validity:{valid:!0}})},children:[e("option",{value:"",children:"Month"}),e("option",{disabled:!0,children:"-----"}),Array.from({length:12},(p,f)=>e("option",{value:(f+1).toString().padStart(2,"0"),children:new Date(0,f).toLocaleString("default",{month:"long"})},f))]})," ",e("input",{ref:h,type:"number",disabled:i,value:l||new Date().getFullYear(),min:(a==null?void 0:a.slice(0,4))||Zt,max:(s==null?void 0:s.slice(0,4))||new Date().getFullYear(),onInput:p=>{const{value:f,validity:b}=p.currentTarget,g=d.current.value;if(!b.valid||!r(g,f))return{value:"",validity:{valid:!1}};u({value:f?`${f}-${g}`:"",validity:{valid:!0}})},style:{width:"4.5em"}})]})}const co=20;function ss(){_e("Bookmarks","/b");const{masto:t,instance:n}=z(),i=D();async function o(a){return(a||!i.current)&&(i.current=t.v1.bookmarks.list({limit:co})),await i.current.next()}return e(Ye,{title:"Bookmarks",id:"bookmarks",emptyText:"No bookmarks yet. Go bookmark something!",errorText:"Unable to load bookmarks",instance:n,fetchItems:o})}const ro=20;function is(){_e("Likes","/f");const{masto:t,instance:n}=z(),i=D();async function o(a){return(a||!i.current)&&(i.current=t.v1.favourites.list({limit:ro})),await i.current.next()}return e(Ye,{title:"Likes",id:"favourites",emptyText:"No likes yet. Go like something!",errorText:"Unable to load likes",instance:n,fetchItems:o})}function lo(){const{masto:t,instance:n}=z();_e("Followed Hashtags","/ft");const[i,o]=$("default"),[a,s]=$([]);return B(()=>{o("loading"),(async()=>{try{const u=await Tt();s(u),o("default")}catch{o("error")}})()},[]),e("div",{id:"followed-hashtags-page",class:"deck-container",tabIndex:"-1",children:e("div",{class:"timeline-deck deck",children:[e("header",{children:e("div",{class:"header-grid",children:[e("div",{class:"header-side",children:[e(mt,{}),e(ee,{to:"/",class:"button plain",children:e(w,{icon:"home",size:"l"})})]}),e("h1",{children:"Followed Hashtags"}),e("div",{class:"header-side"})]})}),e("main",{children:a.length>0?e("ul",{class:"link-list",children:a.map(u=>e("li",{children:e(ee,{to:n?`/${n}/t/${u.name}`:`/t/${u.name}`,children:[e(w,{icon:"hashtag"})," ",e("span",{children:u.name})]})}))}):i==="loading"?e("p",{class:"ui-state",children:e(Ie,{abrupt:!0})}):i==="error"?e("p",{class:"ui-state",children:"Unable to load followed hashtags."}):e("p",{class:"ui-state",children:"No hashtags followed yet."})})]})})}const uo=20;function Jt({title:t,path:n,id:i,...o}){_e(t||"Following",n||"/following");const{masto:a,streaming:s,instance:u}=z(),l=Se(k),c=D(),d=D();async function h(p){(p||!c.current)&&(c.current=a.v1.timelines.home.list({limit:uo}));const f=await c.current.next();let{value:b}=f;if(b!=null&&b.length){let g=!1;p&&(b[0].id!==d.current&&(g=!0),d.current=b[0].id),b.forEach(v=>{Ae(v,u)}),b=wn(b,u),p&&g&&Wi(),Yi(b,u),b.sort((v,m)=>{const y=new Date(v.createdAt);return new Date(m.createdAt)-y})}return{...f,value:b}}async function r(){try{const p=await a.v1.timelines.home.list({limit:5,since_id:d.current}).next();let{value:f}=p;return!!(f!=null&&f.length&&(d.current=f[0].id,f=wn(f,u),f=rt(f,"home"),f.some(b=>!b.reblog)))}catch{return!1}}return B(()=>{let p;return(async()=>{if(s){p=s.user.subscribe();for await(const f of p){if(!p)break;if(f.event==="status.update"){const b=f.payload;Ae(b,u)}else if(f.event==="delete"){const b=f.payload,g=zn(b,u);g&&(g._deleted=!0)}}}})(),()=>{var f;(f=p==null?void 0:p.unsubscribe)==null||f.call(p),p=null}},[s]),e(Ye,{title:t||"Following",id:i||"following",emptyText:"Nothing to see here.",errorText:"Unable to load posts.",instance:u,fetchItems:h,checkForUpdates:r,useItemID:!0,boostsCarousel:l.settings.boostsCarousel,...o,filterContext:"home",showFollowedTags:!0})}const ho=20,fo=4,kn=fo+1;function os({media:t,columnMode:n,...i}){let{hashtag:o,...a}=n?{}:nt();i.hashtag&&(o=i.hashtag);let s=o.trim().split(/[\s+]+/);s.sort(),o=s[0];const[u,l]=qe(),c=t||!!u.get("media"),d=c?"?media=1":"",{masto:h,instance:r,authenticated:p}=z({instance:(i==null?void 0:i.instance)||a.instance}),{masto:f,instance:b,authenticated:g}=z(),v=s.map(M=>`#${M}`).join(" "),m=c?" (Media only)":"",y=r?`${v}${m} on ${r}`:`${v}${m}`;_e(y,"/:instance?/t/:hashtag");const S=D(),I=D(void 0);async function T(M){const C=await h.v1.timelines.tag.$select(o).list({limit:ho,any:s.slice(1),maxId:M?void 0:I.current,onlyMedia:c}).next();let{value:_}=C;return _!=null&&_.length&&(M&&(S.current=_[0].id),_.forEach(F=>{Ae(F,r,{skipThreading:c})}),I.current=_[_.length-1].id),{...C,value:_}}async function x(){try{const M=await h.v1.timelines.tag.$select(o).list({limit:1,any:s.slice(1),since_id:S.current,onlyMedia:c}).next();let{value:C}=M;return C=rt(C,"public"),!!(C!=null&&C.length)}catch{return!1}}const[L,N]=$("default"),[O,U]=$();B(()=>{(async()=>{try{const M=await h.v1.tags.$select(o).fetch();U(M)}catch{}})()},[o]);const P=s.length>=kn;return e(Ye,{title:y,titleComponent:!!r&&e("h1",{class:"header-double-lines",children:[e("b",{children:v}),e("div",{children:r})]}),id:"hashtag",instance:r,emptyText:"No one has posted anything with this tag yet.",errorText:"Unable to load posts with this tag",fetchItems:T,checkForUpdates:x,useItemID:!0,view:c?"media":void 0,refresh:c,filterContext:"public",headerEnd:e(Fe,{portal:!0,setDownOverflow:!0,overflow:"auto",viewScroll:"close",position:"anchor",menuButton:e("button",{type:"button",class:"plain",children:e(w,{icon:"more",size:"l"})}),children:[!!O&&s.length===1&&e(A,{children:[e(Be,{subMenu:!0,confirm:O.following,confirmLabel:`Unfollow #${o}?`,disabled:L==="loading"||!p,onClick:()=>{N("loading"),O.following?h.v1.tags.$select(o).unfollow().then(()=>{U({...O,following:!1}),pe(`Unfollowed #${o}`)}).catch(M=>{alert(M)}).finally(()=>{N("default")}):h.v1.tags.$select(o).follow().then(()=>{U({...O,following:!0}),pe(`Followed #${o}`)}).catch(M=>{alert(M)}).finally(()=>{N("default")})},children:O.following?e(A,{children:[e(w,{icon:"check-circle"})," ",e("span",{children:"Following…"})]}):e(A,{children:[e(w,{icon:"plus"})," ",e("span",{children:"Follow"})]})}),e(De,{})]}),e(jn,{className:"plain",children:"Filters"}),e(oe,{type:"checkbox",checked:!!c,onClick:()=>{c?u.delete("media"):u.set("media","1"),l(u)},children:[e(w,{icon:"check-circle"})," ",e("span",{class:"menu-grow",children:"Media only"})]}),e(De,{}),e(Us,{className:"menu-field",disabled:P,children:({ref:M})=>e("form",{onSubmit:C=>{var F,Y;C.preventDefault();const _=(Y=(F=C.target[0].value)==null?void 0:F.trim)==null?void 0:Y.call(F);_&&!s.some(te=>te.toLowerCase()===_.toLowerCase())&&(s.push(_),s.sort(),location.hash=r?`/${r}/t/${s.join("+")}`:`/t/${s.join("+")}${d}`)},children:[e(w,{icon:"hashtag"}),e("input",{ref:M,type:"text",placeholder:P?`Max ${kn} tags`:"Add hashtag",required:!0,autocorrect:"off",autocapitalize:"off",spellcheck:!1,pattern:"[^#][^\\s#]+[^#]",disabled:P})]})}),e(Fs,{takeOverflow:!0,children:s.map((M,C)=>e(oe,{disabled:s.length===1,onClick:_=>{s.splice(C,1),s.sort(),location.hash=r?`/${r}/t/${s.join("+")}${d}`:`/t/${s.join("+")}${d}`},children:[e(w,{icon:"x",alt:"Remove hashtag",class:"danger-icon"}),e("span",{children:[e("span",{class:"more-insignificant",children:"#"}),M]})]},M))}),e(De,{}),e(oe,{disabled:!g,onClick:()=>{if(k.shortcuts.length>=Ze){alert(`Max ${Ze} shortcuts reached. Unable to add shortcut.`);return}const M={type:"hashtag",hashtag:s.join(" "),instance:r,media:c?"on":void 0};k.shortcuts.some(_=>_.type===M.type&&_.hashtag.split(/[\s+]+/).sort().join(" ")===M.hashtag.split(/[\s+]+/).sort().join(" ")&&(_.instance?_.instance===M.instance:!0)&&(_.media?!!_.media==!!M.media:!0))?alert("This shortcut already exists"):(k.shortcuts.push(M),pe("Hashtag shortcut added"))},children:[e(w,{icon:"shortcut"})," ",e("span",{children:"Add to Shorcuts"})]}),e(oe,{onClick:()=>{let M=prompt('Enter a new instance e.g. "mastodon.social"');if(!/\./.test(M)){M&&alert("Invalid instance");return}M&&(M=M.toLowerCase().trim(),location.hash=`/${M}/t/${s.join("+")}${d}`)},children:[e(w,{icon:"bus"})," ",e("span",{children:"Go to another instance…"})]}),b!==r&&e(oe,{onClick:()=>{location.hash=`/${b}/t/${s.join("+")}${d}`},children:[e(w,{icon:"bus"})," ",e("small",{class:"menu-double-lines",children:["Go to my instance (",e("b",{children:b}),")"]})]})]})},r+v)}const po=20;function as(t){var g;const n=Se(k),{masto:i,instance:o}=z(),a=(t==null?void 0:t.id)||((g=nt())==null?void 0:g.id),s=D(),u=D();async function l(v){(v||!u.current)&&(u.current=i.v1.timelines.list.$select(a).list({limit:po}));const m=await u.current.next();let{value:y}=m;return y!=null&&y.length&&(v&&(s.current=y[0].id),y.forEach(S=>{Ae(S,o)})),{...m,value:y}}async function c(){try{const v=await i.v1.timelines.list.$select(a).list({limit:1,since_id:s.current});let{value:m}=v;return m=rt(m,"home"),!!(m!=null&&m.length)}catch{return!1}}const[d,h]=$({title:"List"});_e(d.title,"/l/:id"),B(()=>{(async()=>{try{const v=await i.v1.lists.$select(a).fetch();h(v)}catch{}})()},[a]);const[r,p]=$(!1),[f,b]=$(!1);return e(A,{children:[e(Ye,{title:d.title,id:"list",emptyText:"Nothing yet.",errorText:"Unable to load posts.",instance:o,fetchItems:l,checkForUpdates:c,useItemID:!0,boostsCarousel:n.settings.boostsCarousel,filterContext:"home",headerStart:e(ee,{to:"/l",class:"button plain",children:e(w,{icon:"list",size:"l"})}),headerEnd:e(Fe,{portal:!0,setDownOverflow:!0,overflow:"auto",viewScroll:"close",position:"anchor",menuButton:e("button",{type:"button",class:"plain",children:e(w,{icon:"more",size:"l"})}),children:[e(oe,{onClick:()=>p({list:d}),children:[e(w,{icon:"pencil",size:"l"}),e("span",{children:"Edit"})]}),e(oe,{onClick:()=>b(!0),children:[e(w,{icon:"group",size:"l"}),e("span",{children:"Manage members"})]})]})},a),r&&e(Ce,{class:"light",onClick:v=>{v.target===v.currentTarget&&p(!1)},children:e(Yt,{list:r==null?void 0:r.list,onClose:v=>{v.state==="success"&&v.list?h(v.list):v.state==="deleted"&&(location.hash="/l"),p(!1)}})}),f&&e(Ce,{class:"light",onClick:v=>{v.target===v.currentTarget&&b(!1)},children:e(go,{listID:a,onClose:()=>b(!1)})})]})}const mo=40;function go({listID:t,onClose:n}){const{masto:i,instance:o}=z(),[a,s]=$([]),[u,l]=$("default"),[c,d]=$(!1),h=D();async function r(p){d(!1),l("loading"),(async()=>{try{(p||!h.current)&&(h.current=i.v1.lists.$select(t).accounts.list({limit:mo}));const f=await h.current.next();let{done:b,value:g}=f;g!=null&&g.length?(s(p?g:a.concat(g)),d(!b)):d(!1),l("default")}catch{l("error")}})()}return B(()=>{r(!0)},[]),e("div",{class:"sheet",id:"list-manage-members-container",children:[!!n&&e("button",{type:"button",class:"sheet-close",onClick:n,children:e(w,{icon:"x"})}),e("header",{children:e("h2",{children:"Manage members"})}),e("main",{children:e("ul",{children:[a.map(p=>e("li",{children:[e(He,{account:p,instance:o}),e(bo,{account:p,listID:t})]},p.id)),c&&u==="default"&&e(je,{as:"li",onChange:p=>p&&r(),children:e("button",{type:"button",class:"light block",onClick:r,children:"Show more…"})})]})})]})}function bo({account:t,listID:n}){const{masto:i}=z(),[o,a]=$("default"),[s,u]=$(!1);return e(Be,{confirm:!s,confirmLabel:e("span",{children:["Remove @",t.username," from list?"]}),align:"end",menuItemClassName:"danger",onClick:()=>{s?(a("loading"),(async()=>{try{await i.v1.lists.$select(n).accounts.create({accountIds:[t.id]}),a("default"),u(!1)}catch{a("error")}})()):(a("loading"),(async()=>{try{await i.v1.lists.$select(n).accounts.remove({accountIds:[t.id]}),a("default"),u(!0)}catch{a("error")}})())},children:e("button",{type:"button",class:`light ${s?"":"danger"}`,disabled:o==="loading",children:s?"Add":"Remove…"})})}const In=20,yo=new URLSearchParams;function cs({columnMode:t,...n}){const{masto:i,instance:o}=z(),[a]=t?[yo]:qe(),[s,u]=$(null),l=(n==null?void 0:n.type)||a.get("type")||s;_e(`Mentions${l==="private"?" (Private)":""}`,"/mentions");const c=D(),d=D();async function h(m){(m||!c.current)&&(c.current=i.v1.notifications.list({limit:In,types:["mention"]}));const y=await c.current.next();let{value:S}=y;return S!=null&&S.length&&(m&&(d.current=S[0].id),S.forEach(({status:I})=>{Ae(I,o)})),{...y,value:S==null?void 0:S.map(I=>I.status)}}const r=D(),p=D();async function f(m){(m||!r.current)&&(r.current=i.v1.conversations.list({limit:In}));const y=await r.current.next();let{value:S}=y;return S=S==null?void 0:S.filter(I=>I.lastStatus),S!=null&&S.length&&(m&&(p.current=S[0].lastStatus.id),S.forEach(({lastStatus:I})=>{Ae(I,o)})),{...y,value:S==null?void 0:S.map(I=>I.lastStatus)}}function b(...m){return l==="private"?f(...m):h(...m)}async function g(){if(l==="private")try{const m=await i.v1.conversations.list({limit:1,since_id:p.current}).next();let{value:y}=m;return y!=null&&y.length?(p.current=y[0].lastStatus.id,!0):!1}catch{return!1}else try{const m=await i.v1.notifications.list({limit:1,types:["mention"],since_id:d.current}).next();let{value:y}=m;return y!=null&&y.length?(d.current=y[0].id,!0):!1}catch{return!1}}const v=he(()=>e("div",{class:"filter-bar centered",children:[e(ee,{to:"/mentions",class:l?"":"is-active",onClick:m=>{t&&(m.preventDefault(),u(null))},children:"All"}),e(ee,{to:"/mentions?type=private",class:l==="private"?"is-active":"",onClick:m=>{t&&(m.preventDefault(),u("private"))},children:"Private"})]}),[l]);return e(Ye,{title:"Mentions",id:"mentions",emptyText:"No one mentioned you :(",errorText:"Unable to load mentions.",instance:o,fetchItems:b,checkForUpdates:g,useItemID:!0,timelineStart:v,refresh:l})}const wo={mention:["account","status"],status:["account","status"],reblog:["account","status"],follow:["account"],follow_request:["account"],favourite:["account","status"],poll:["status"],update:["status"]};function vo(t){return t.filter(n=>{const{type:i,id:o,createdAt:a}=n;if(!i)return!1;const s=wo[i];return s!=null&&s.length?s.every(u=>!!n[u]):!0})}function rs(t){t=vo(t);const n={},i=[];for(let s=0,u=0;s<t.length;s++){const l=t[s],{id:c,status:d,account:h,type:r,createdAt:p}=l,f=p?new Date(p).toLocaleDateString():"";let b=r;(r==="favourite"||r==="reblog")&&(b="favourite+reblog");const g=`${d==null?void 0:d.id}-${b}-${f}`,v=n[g];if(b==="follow_request")i[u++]=l;else if(v!=null&&v.account){const m=v._accounts.find(y=>y.id===h.id);m?(m._types.push(r),m._types.sort().reverse(),v.id+=`-${c}`):(h._types=[r],v._accounts.push(h),v.id+=`-${c}`)}else{h._types=[r];let m=n[g]={...l,type:b,_accounts:[h]};i[u++]=m}}const o={},a=[];for(let s=0,u=0;s<i.length;s++){const l=i[s],{id:c,account:d,_accounts:h,type:r,createdAt:p}=l,f=p?new Date(p).toLocaleDateString():"";if(r==="favourite+reblog"&&d&&h.length===1){const b=`${d==null?void 0:d.id}-${r}-${f}`,g=o[b];if(g)g._statuses.push(l.status),g.id+=`-${c}`;else{let v=o[b]={...l,type:r,_statuses:[l.status]};a[u++]=v}}else a[u++]=l}return a}const So=30,ko=new URLSearchParams;function Io({columnMode:t}){_e("Notifications","/notifications");const{masto:n,instance:i}=z(),o=Se(k),[a,s]=$("default"),[u]=t?[ko]:qe(),l=u.get("id"),c=u.get("access_token"),[d,h]=$(!1),[r,p]=$(!1),f=D(),{nearReachEnd:b,scrollDirection:g,reachStart:v,nearReachStart:m}=Ki({scrollableRef:f}),y=g==="end"&&!m,[S,I]=$([]),[T,x]=$([]),L=D();async function N(E){(E||!L.current)&&(L.current=n.v1.notifications.list({limit:So,excludeTypes:["follow_request"]}));const j=await L.current.next(),ne=j.value;if(ne!=null&&ne.length){ne.forEach(H=>{Ae(H.status,i,{skipThreading:!0})});const le=rs(ne);E?(k.notificationsLast=ne[0],k.notifications=le,n.v1.markers.create({notifications:{lastReadId:ne[0].id}}).catch(()=>{})):k.notifications.push(...le)}return k.notificationsShowNew=!1,k.notificationsLastFetchTime=Date.now(),j}async function O(){try{return await n.v1.followRequests.list({limit:80})}catch{return[]}}const U=()=>{s("loading"),(async()=>{try{const E=await O();I(E),s("default")}catch{s("error")}})()};async function P(){try{return await n.v1.announcements.list()}catch{return[]}}const M=E=>{_(!1),s("loading"),(async()=>{try{const j=N(E);E&&(P().then(le=>{le.sort((H,ae)=>{const Q=new Date(H.updatedAt||H.createdAt);return new Date(ae.updatedAt||ae.createdAt)-Q}),x(le)}).catch(()=>{}),O().then(le=>{I(le)}).catch(()=>{}));const{done:ne}=await j;h(!ne),s("default")}catch{s("error")}})()};B(()=>{M(!0)},[]),B(()=>{v&&M(!0)},[v]);const[C,_]=$(!1),F=Ve(({disableIdleCheck:E=!1}={})=>{var j;a!=="loading"&&o.settings.autoRefresh&&((j=f.current)==null?void 0:j.scrollTop)<16&&(E||window.__IDLE__)&&!To()&&M(!0)},[o.notificationsShowNew,o.settings.autoRefresh,a]),Y=D();ct(E=>{let j;if(E){const ne=Date.now()-Y.current;!Y.current||ne>1e3*3?F({disableIdleCheck:!0}):Y.current=Date.now(),j=Os(k,"notificationsShowNew",le=>{le&&F(),_(le)})}return()=>{j==null||j()}});const te=new Date,W=new Date(te-24*60*60*1e3);let ke=new Date;const re=!o.notifications.some(E=>new Date(E.createdAt).toDateString()===te.toDateString()),X=D();return B(()=>{l&&(k.routeNotification={id:l,accessToken:atob(c)})},[l,c]),e("div",{id:"notifications-page",class:"deck-container",ref:f,tabIndex:"-1",children:e("div",{class:`timeline-deck deck ${r?"only-mentions":""}`,children:[e("header",{hidden:y,onClick:E=>{var j;E.target.closest("a, button")||(j=f.current)==null||j.scrollTo({top:0,behavior:"smooth"})},class:a==="loading"?"loading":"",children:[e("div",{class:"header-grid",children:[e("div",{class:"header-side",children:[e(mt,{}),e(ee,{to:"/",class:"button plain",children:e(w,{icon:"home",size:"l",alt:"Home"})})]}),e("h1",{children:"Notifications"}),e("div",{class:"header-side"})]}),C&&a!=="loading"&&e("button",{class:"updates-button shiny-pill",type:"button",onClick:()=>{var E;M(!0),(E=f.current)==null||E.scrollTo({top:0,behavior:"smooth"})},children:[e(w,{icon:"arrow-up"})," New notifications"]})]}),T.length>0&&e("div",{class:"shazam-container",children:e("div",{class:"shazam-container-inner",children:e("details",{class:"announcements",children:[e("summary",{children:[e("span",{children:[e(w,{icon:"announce",class:"announcement-icon",size:"l"})," ",e("b",{children:["Announcement",T.length>1?"s":""]})," ",e("small",{class:"insignificant",children:i})]}),T.length>1&&e("span",{class:"announcements-nav-buttons",children:T.map((E,j)=>e("button",{type:"button",class:"plain2 small",onClick:()=>{var ne;(ne=X.current)==null||ne.children[j].scrollIntoView({behavior:"smooth",block:"nearest"})},children:j+1}))})]}),e("ul",{class:`announcements-list-${T.length>1?"multiple":"single"}`,ref:X,children:T.map(E=>e("li",{children:e(Co,{announcement:E})}))})]})})}),S.length>0&&e("div",{class:"follow-requests",children:[e("h2",{class:"timeline-header",children:"Follow requests"}),S.length>5?e("details",{children:[e("summary",{children:[S.length," follow requests"]}),e("ul",{children:S.map(E=>e("li",{children:[e(He,{account:E}),e(Ft,{accountID:E.id,onChange:()=>{}})]},E.id))})]}):e("ul",{children:S.map(E=>e("li",{children:[e(He,{account:E}),e(Ft,{accountID:E.id,onChange:()=>{}})]},E.id))})]}),e("div",{id:"mentions-option",children:e("label",{children:[e("input",{type:"checkbox",checked:r,onChange:E=>{p(E.target.checked)}})," ","Only mentions"]})}),e("h2",{class:"timeline-header",children:"Today"}),re&&!!o.notifications.length&&e("p",{class:"ui-state insignificant",children:a==="default"?"You're all caught up.":e(A,{children:"…"})}),o.notifications.length?e(A,{children:o.notifications.filter(E=>E.type!=="follow_request").map(E=>{if(r&&E.type!=="mention")return null;const j=new Date(E.createdAt),ne=j.toDateString()!==ke.toDateString();ne&&(ke=j);const le=j.toDateString()===W.toDateString()?"Yesterday":Ke(ke,{hideTime:!0});return e(A,{children:[ne&&e("h2",{class:"timeline-header",children:le}),e(Kt,{instance:i,notification:E},E.id)]},E.id)})}):e(A,{children:[a==="loading"&&e(A,{children:e("ul",{class:"timeline flat",children:Array.from({length:5}).map((E,j)=>e("li",{class:"notification skeleton",children:[e("div",{class:"notification-type",children:e(w,{icon:"notification",size:"xl"})}),e("div",{class:"notification-content",children:e("p",{children:"███████████ ████"})})]}))})}),a==="error"&&e("p",{class:"ui-state",children:["Unable to load notifications",e("br",{}),e("br",{}),e("button",{type:"button",onClick:()=>M(!0),children:"Try again"})]})]}),d&&e(je,{onChange:E=>{E&&M()},children:e("button",{type:"button",class:"plain block",disabled:a==="loading",onClick:()=>M(),style:{marginBlockEnd:"6em"},children:a==="loading"?e(Ie,{abrupt:!0}):e(A,{children:"Show more…"})})})]})})}function To(){return!!document.querySelector(".deck-backdrop, #modal-container > *")}function Co({announcement:t}){const{instance:n}=z(),{contact:i}=Cs(),o=i==null?void 0:i.account,{id:a,content:s,startsAt:u,endsAt:l,published:c,allDay:d,publishedAt:h,updatedAt:r,read:p,mentions:f,statuses:b,tags:g,emojis:v,reactions:m}=t,y=new Date(h),S=Ke(y),I=new Date(r),T=Ke(I);return e("div",{class:"announcement-block",children:[e(He,{account:o}),e("div",{class:"announcement-content",onClick:Pn({mentions:f,instance:n}),dangerouslySetInnerHTML:{__html:Pt(s,{emojis:v})}}),e("p",{class:"insignificant",children:[e("time",{datetime:y.toISOString(),children:Ke(y)}),r&&T!==S&&e(A,{children:[" ","•"," ",e("span",{class:"ib",children:["Updated"," ",e("time",{datetime:I.toISOString(),children:Ke(I)})]})]})]}),e("div",{class:"announcement-reactions",hidden:!0,children:m.map(x=>{const{name:L,count:N,me:O,staticUrl:U,url:P}=x;return e("button",{type:"button",class:`plain4 small ${O?"reacted":""}`,children:[P||U?e("img",{src:P||U,alt:L,width:"16",height:"16"}):e("span",{children:L})," ",e("span",{class:"count",children:Ue(N)})]})})})]})}const ls=ze(Io),$o=20;function Ot({local:t,columnMode:n,...i}){const o=Se(k),a=!!t,s=n?{}:nt(),{masto:u,instance:l}=z({instance:(i==null?void 0:i.instance)||s.instance}),{masto:c,instance:d}=z(),h=`${a?"Local":"Federated"} timeline (${l})`;_e(h,a?"/:instance?/p/l":"/:instance?/p");const r=D(),p=D();async function f(g){(g||!p.current)&&(p.current=u.v1.timelines.public.list({limit:$o,local:a}));const v=await p.current.next();let{value:m}=v;return m!=null&&m.length&&(g&&(r.current=m[0].id),m.forEach(y=>{Ae(y,l)})),{...v,value:m}}async function b(){try{const g=await u.v1.timelines.public.list({limit:1,local:a,since_id:r.current}).next();let{value:v}=g;return v=rt(v,"public"),!!(v!=null&&v.length)}catch{return!1}}return e(Ye,{title:h,titleComponent:e("h1",{class:"header-double-lines",children:[e("b",{children:a?"Local timeline":"Federated timeline"}),e("div",{children:l})]}),id:"public",instance:l,emptyText:"No one has posted anything yet.",errorText:"Unable to load posts",fetchItems:f,checkForUpdates:b,useItemID:!0,headerStart:e(A,{}),boostsCarousel:o.settings.boostsCarousel,filterContext:"public",headerEnd:e(Fe,{portal:!0,overflow:"auto",viewScroll:"close",position:"anchor",menuButton:e("button",{type:"button",class:"plain",children:e(w,{icon:"more",size:"l"})}),children:[e(oe,{href:a?`/#/${l}/p`:`/#/${l}/p/l`,children:a?e(A,{children:[e(w,{icon:"transfer"})," ",e("span",{children:"Switch to Federated"})]}):e(A,{children:[e(w,{icon:"transfer"})," ",e("span",{children:"Switch to Local"})]})}),e(De,{}),e(oe,{onClick:()=>{let g=prompt('Enter a new instance e.g. "mastodon.social"');if(!/\./.test(g)){g&&alert("Invalid instance");return}g&&(g=g.toLowerCase().trim(),location.hash=a?`/${g}/p/l`:`/${g}/p`)},children:[e(w,{icon:"bus"})," ",e("span",{children:"Go to another instance…"})]}),d!==l&&e(oe,{onClick:()=>{location.hash=a?`/${d}/p/l`:`/${d}/p`},children:[e(w,{icon:"bus"})," ",e("small",{class:"menu-double-lines",children:["Go to my instance (",e("b",{children:d}),")"]})]})]})},l+a)}const yt=5,Et=40,xo=new URLSearchParams;function ds({columnMode:t,...n}){const i=t?{}:nt(),{masto:o,instance:a,authenticated:s}=z({instance:i.instance}),[u,l]=$("default"),[c]=t?[xo]:qe(),d=D(),h=(n==null?void 0:n.query)||c.get("q"),r=t?"statuses":(n==null?void 0:n.type)||c.get("type");_e(h?`Search: ${h}${r?` (${{statuses:"Posts",accounts:"Accounts",hashtags:"Hashtags"}[r]})`:""}`:"Search","/search");const[p,f]=$(!1),b=D(0);B(()=>{b.current=0},[h,r]);const g=D();Je(()=>{var C,_;(_=(C=g.current)==null?void 0:C.scrollTo)==null||_.call(C,0,0)},[h,r]);const[v,m]=$([]),[y,S]=$([]),[I,T]=$([]);B(()=>{m([]),S([]),T([])},[h]);const x={statuses:m,accounts:S,hashtags:T},[L,N]=$({}),O=async C=>{if(!(C!=null&&C.length))return;const _=await Wt(C,L);_&&N({...L,..._})};function U(C){C&&(b.current=0),!(!C&&!s)&&(l("loading"),C&&!r&&(m(v.slice(0,yt)),S(y.slice(0,yt)),T(I.slice(0,yt))),(async()=>{var F,Y;const _={q:h,resolve:s,limit:yt};r&&(_.limit=Et,_.type=r,s&&(_.offset=b.current));try{const te=await o.v2.search.fetch(_);if(r)if(C){x[r](te[r]);const W=(F=te[r])==null?void 0:F.length;b.current=Et,f(!!W)}else{x[r](ke=>[...ke,...te[r]]);const W=(Y=te[r])==null?void 0:Y.length;b.current=b.current+Et,f(!!W)}else m(te.statuses||[]),S(te.accounts||[]),T(te.hashtags||[]),b.current=0,f(!1);O(te.accounts),l("default")}catch{l("error")}})())}const P=D();ct(C=>{var F;const _=((F=g.current)==null?void 0:F.scrollTop)===0;if(C&&_){const Y=Date.now()-P.current;!P.current||Y>1e3*3?U(!0):P.current=Date.now()}}),B(()=>{var C,_,F,Y;(_=(C=d.current)==null?void 0:C.setValue)==null||_.call(C,h||""),h?U(!0):(Y=(F=d.current)==null?void 0:F.focus)==null||Y.call(F)},[h,r,a]),Re("/",C=>{var _,F;(F=(_=d.current)==null?void 0:_.focus)==null||F.call(_)},{preventDefault:!0});const[M]=Ht();return e("div",{id:"search-page",class:"deck-container",ref:g,children:e("div",{class:"timeline-deck deck",children:[e("header",{class:u==="loading"?"loading":"",children:e("div",{class:"header-grid",children:[e("div",{class:"header-side",children:e(mt,{})}),e(ns,{ref:d}),e("div",{class:"header-side",children:e("button",{type:"button",class:"plain",onClick:()=>{U(!0)},disabled:u==="loading",children:e(w,{icon:"search",size:"l"})})})]})}),e("main",{children:[!!h&&!t&&e("div",{ref:M,class:`filter-bar ${u==="loading"?"loading":""}`,children:[!!r&&e(ee,{to:`/search${h?`?q=${encodeURIComponent(h)}`:""}`,children:" All"}),[{label:"Accounts",type:"accounts",to:`/search?q=${encodeURIComponent(h)}&type=accounts`},{label:"Hashtags",type:"hashtags",to:`/search?q=${encodeURIComponent(h)}&type=hashtags`},{label:"Posts",type:"statuses",to:`/search?q=${encodeURIComponent(h)}&type=statuses`}].sort((C,_)=>C.type===r?-1:_.type===r?1:0).map(C=>e(ee,{to:C.to,children:C.label},C.type))]}),h?e(A,{children:[(!r||r==="accounts")&&e(A,{children:[r!=="accounts"&&e("h2",{class:"timeline-header",children:"Accounts"}),y.length>0?e(A,{children:[e("ul",{class:"timeline flat accounts-list",children:y.map(C=>e("li",{children:e(He,{account:C,instance:a,showStats:!0,relationship:L[C.id]})},C.id))}),r!=="accounts"&&e("div",{class:"ui-state",children:e(ee,{class:"plain button",to:`/search?q=${h}&type=accounts`,children:["See more accounts ",e(w,{icon:"arrow-right"})]})})]}):!r&&(u==="loading"?e("p",{class:"ui-state",children:e(Ie,{abrupt:!0})}):e("p",{class:"ui-state",children:"No accounts found."}))]}),(!r||r==="hashtags")&&e(A,{children:[r!=="hashtags"&&e("h2",{class:"timeline-header",children:"Hashtags"}),I.length>0?e(A,{children:[e("ul",{class:"link-list hashtag-list",children:I.map(C=>{var te;const{name:_,history:F}=C,Y=(te=F==null?void 0:F.reduce)==null?void 0:te.call(F,(W,ke)=>W+ +ke.uses,0);return e("li",{children:e(ee,{to:a?`/${a}/t/${_}`:`/t/${_}`,children:[e(w,{icon:"hashtag"}),e("span",{children:_}),!!Y&&e("span",{class:"count",children:Ue(Y)})]})},`${_}-${Y}`)})}),r!=="hashtags"&&e("div",{class:"ui-state",children:e(ee,{class:"plain button",to:`/search?q=${h}&type=hashtags`,children:["See more hashtags ",e(w,{icon:"arrow-right"})]})})]}):!r&&(u==="loading"?e("p",{class:"ui-state",children:e(Ie,{abrupt:!0})}):e("p",{class:"ui-state",children:"No hashtags found."}))]}),(!r||r==="statuses")&&e(A,{children:[r!=="statuses"&&e("h2",{class:"timeline-header",children:"Posts"}),v.length>0?e(A,{children:[e("ul",{class:"timeline",children:v.map(C=>e("li",{children:e(ee,{class:"status-link",to:a?`/${a}/s/${C.id}`:`/s/${C.id}`,children:e(Me,{status:C})})},C.id))}),r!=="statuses"&&e("div",{class:"ui-state",children:e(ee,{class:"plain button",to:`/search?q=${h}&type=statuses`,children:["See more posts ",e(w,{icon:"arrow-right"})]})})]}):!r&&(u==="loading"?e("p",{class:"ui-state",children:e(Ie,{abrupt:!0})}):e("p",{class:"ui-state",children:"No posts found."}))]}),!!r&&(u==="default"?p?e(je,{onChange:C=>{C&&U()},children:e("button",{type:"button",class:"plain block",onClick:()=>U(),style:{marginBlockEnd:"6em"},children:"Show more…"})}):e("p",{class:"ui-state insignificant",children:"The end."}):u==="loading"&&e("p",{class:"ui-state",children:e(Ie,{abrupt:!0})}))]}):u==="loading"?e("p",{class:"ui-state",children:e(Ie,{abrupt:!0})}):e("p",{class:"ui-state",children:"Enter your search term or paste a URL above to get started."})]})]})})}const Ao=20,Lo=tt(t=>t.v1.trends.links.list().next(),{maxAge:10*60*1e3});function us({columnMode:t,...n}){const i=Se(k),o=t?{}:nt(),{masto:a,instance:s}=z({instance:(n==null?void 0:n.instance)||o.instance}),{masto:u,instance:l}=z(),c=`Trending (${s})`;_e(c,"/:instance?/trending");const d=D(),[h,r]=$([]),[p,f]=$([]),b=D();async function g(y){var T;if(y||!b.current){b.current=a.v1.trends.statuses.list({limit:Ao});try{const x=a.v1.trends.tags.list(),{value:L}=await x.next();L!=null&&L.length&&r(L)}catch{}try{const{value:x}=await Lo(a),L=(T=x==null?void 0:x.filter)==null?void 0:T.call(x,N=>N.type==="link");L!=null&&L.length&&f(L)}catch{}}const S=await b.current.next();let{value:I}=S;return I!=null&&I.length&&(y&&(d.current=I[0].id),I.forEach(x=>{Ae(x,s)})),{...S,value:I}}async function v(){try{const y=await a.v1.trends.statuses.list({limit:1}).next();let{value:S}=y;return S=rt(S,"public"),S!=null&&S.length&&S[0].id!==d.current?(d.current=S[0].id,!0):!1}catch{return!1}}const m=he(()=>e(A,{children:[!!h.length&&e("div",{class:"filter-bar expandable",children:[e(w,{icon:"chart",class:"insignificant",size:"l"}),h.map((y,S)=>{const{name:I,history:T}=y,x=T.reduce((L,N)=>L+ +N.uses,0);return e(ee,{to:`/${s}/t/${I}`,children:[e("span",{children:[e("span",{class:"more-insignificant",children:"#"}),I]}),e("span",{class:"filter-count",children:Ue(x)})]},I)})]}),!!p.length&&e("div",{class:"links-bar",children:[e("header",{children:e("h3",{children:"Trending News"})}),p.map(y=>{const{authorName:S,authorUrl:I,blurhash:T,description:x,height:L,image:N,imageDescription:O,language:U,providerName:P,providerUrl:M,publishedAt:C,title:_,url:F,width:Y}=y,te=new URL(F).hostname.replace(/^www\./,"").replace(/\/$/,"");let W;if(T){const ke=qn(T),re=Xn(ke);W=Qn([.6,re[1],re[2]])}return e("a",{href:F,target:"_blank",rel:"noopener noreferrer",style:W?{"--accent-color":`rgb(${W.join(",")})`,"--accent-alpha-color":`rgba(${W.join(",")}, 0.4)`}:{},children:e("article",{children:[e("figure",{children:e("img",{src:N,alt:O,width:Y,height:L,loading:"lazy"})}),e("div",{class:"article-body",children:[e("header",{children:[e("div",{class:"article-meta",children:[e("span",{class:"domain",children:te})," ",!!C&&e(A,{children:"· "}),!!C&&e(A,{children:e($t,{datetime:C,format:"micro"})})]}),!!_&&e("h1",{class:"title",lang:U,dir:"auto",children:_})]}),!!x&&e("p",{class:"description",lang:U,dir:"auto",children:x})]})]})},F)})]})]}),[h,p]);return e(Ye,{title:c,titleComponent:e("h1",{class:"header-double-lines",children:[e("b",{children:"Trending"}),e("div",{children:s})]}),id:"trending",instance:s,emptyText:"No trending posts.",errorText:"Unable to load posts",fetchItems:g,checkForUpdates:v,checkForUpdatesInterval:5*60*1e3,useItemID:!0,headerStart:e(A,{}),boostsCarousel:i.settings.boostsCarousel,filterContext:"public",timelineStart:m,headerEnd:e(Fe,{portal:!0,overflow:"auto",viewScroll:"close",position:"anchor",menuButton:e("button",{type:"button",class:"plain",children:e(w,{icon:"more",size:"l"})}),children:[e(oe,{onClick:()=>{let y=prompt('Enter a new instance e.g. "mastodon.social"');if(!/\./.test(y)){y&&alert("Invalid instance");return}y&&(y=y.toLowerCase().trim(),location.hash=`/${y}/trending`)},children:[e(w,{icon:"bus"})," ",e("span",{children:"Go to another instance…"})]}),l!==s&&e(oe,{onClick:()=>{location.hash=`/${l}/trending`},children:[e(w,{icon:"bus"})," ",e("small",{class:"menu-double-lines",children:["Go to my instance (",e("b",{children:l}),")"]})]})]})},s)}function Mo(){_e("Home","/");const t=Se(k),{shortcuts:n}=t,i=n.map(o=>{if(!o)return null;const{type:a,...s}=o,u={following:Jt,notifications:ls,list:as,public:Ot,bookmarks:ss,favourites:is,hashtag:os,mentions:cs,trending:us,search:ds}[a];return!u||a==="search"&&!s.query?null:e(u,{...s,columnMode:!0},a+JSON.stringify(s))});return Re(["1","2","3","4","5","6","7","8","9"],(o,a)=>{try{const s=parseInt(a.keys[0],10)-1;document.querySelectorAll("#columns > *")[s].focus()}catch{}}),e("div",{id:"columns",onContextMenu:o=>{o.target.closest(".deck > header")&&!o.target.closest("a")&&!o.target.closest("button")&&(o.preventDefault(),k.showShortcutsSettings=!0)},children:i})}function Ro(){var n;const t=Se(k);return B(()=>{(async()=>{const i=await ht.drafts.keys();if(i.length){const o=Un();i.filter(s=>s.startsWith(o)).length&&(k.showDrafts=!0)}})()},[]),e(A,{children:(t.settings.shortcutsViewMode==="multi-column"||!t.settings.shortcutsViewMode&&t.settings.shortcutsColumnsMode)&&((n=t.shortcuts)!=null&&n.length)?e(Mo,{}):e(Jt,{title:"Home",path:"/",id:"home",headerStart:!1,headerEnd:e(_o,{})})})}function _o(){const t=Se(k),n=D(),[i,o]=$(void 0);return e(A,{children:[e(ee,{ref:n,to:"/notifications",class:`button plain notifications-button ${t.notificationsShowNew?"has-badge":""} ${i||""}`,onClick:a=>{a.stopPropagation(),window.matchMedia("(min-width: calc(40em))").matches&&(a.preventDefault(),o(s=>s?void 0:"open"))},children:e(w,{icon:"notification",size:"l",alt:"Notifications"})}),e(No,{state:i,anchorRef:n,onClose:()=>o(void 0)})]})}const Eo=30,Po=5;function No({anchorRef:t,state:n,onClose:i}){const{masto:o,instance:a}=z(),s=Se(k),[u,l]=$("default"),c=o.v1.notifications.list({limit:Eo});async function d(){const b=await c.next(),g=b.value;if(g!=null&&g.length){g.forEach(m=>{Ae(m.status,a,{skipThreading:!0})});const v=rs(g);k.notificationsLast=g[0],k.notifications=v,o.v1.markers.create({notifications:{lastReadId:g[0].id}}).catch(()=>{})}return k.notificationsShowNew=!1,k.notificationsLastFetchTime=Date.now(),b}const[h,r]=$(!1);function p(){return o.v1.followRequests.list({limit:1})}function f(){l("loading"),(async()=>{try{await d();const b=await p();r(!!(b!=null&&b.length)),l("default")}catch{l("error")}})()}return B(()=>{n==="open"&&f()},[n]),e(Gn,{menuClassName:"notifications-menu",state:n,anchorRef:t,onClose:i,portal:{target:document.body},overflow:"auto",viewScroll:"close",position:"anchor",align:"center",boundingBoxPadding:"8 8 8 8",children:[e("header",{children:e("h2",{children:"Notifications"})}),e("main",{children:s.notifications.length?e(A,{children:s.notifications.slice(0,Po).map(b=>e(Kt,{instance:a,notification:b,disableContextMenu:!0},b.id))}):u==="loading"?e("div",{class:"ui-state",children:e(Ie,{abrupt:!0})}):u==="error"&&e("div",{class:"ui-state",children:[e("p",{children:"Unable to fetch notifications."}),e("p",{children:e("button",{type:"button",onClick:f,children:"Try again"})})]})}),e("footer",{children:[e(ee,{to:"/mentions",class:"button plain",children:[e(w,{icon:"at"})," ",e("span",{children:"Mentions"})]}),e(ee,{to:"/notifications",class:"button plain2",children:[h?e(A,{children:[e("span",{class:"tag collapsed",children:"New"})," ",e("span",{children:"Follow Requests"})]}):e("b",{children:"See all"})," ",e(w,{icon:"arrow-right"})]})]})]})}const Do=ze(Ro),Uo=[/^\/@[^@\/]+\/(?:statuses|posts)\/([^\/]+)/i,/\/notes\/([^\/]+)/i,/^\/(?:notice|objects)\/([a-z0-9-]+)/i,/\/@[^@\/]+@?[^\/]+?\/([^\/]+)/i];function hs(t){const{hostname:n,pathname:i}=new URL(t);for(const o of Uo){const[,a]=i.match(o)||[];if(a)return{instance:n,id:a}}return{}}function Fo(t){const{instance:n,id:i}=hs(t);return n&&i?`/${n}/s/${i}`:null}function Oo(){const n=lt().pathname.replace(/^\//,""),i=hs(n),o=i!=null&&i.instance?`/${i.instance}/s/${i.id}`:null,[a,s]=$("loading");return Je(()=>{s("loading"),(async()=>{try{const{instance:u,id:l}=i,{masto:c}=z({instance:u});if(await c.v1.statuses.$select(l).fetch()){window.location.hash=o+"?view=full";return}}catch{}{const{masto:u,instance:l}=z(),c=await u.v2.search.fetch({q:n,type:"statuses",limit:1,resolve:!0});if(c.statuses.length){const d=c.statuses[0];window.location.hash=`/${l}/s/${d.id}?view=full`}else window.location.hash=o+"?view=full"}})()},[o]),e("div",{class:"ui-state",tabIndex:"-1",children:[a==="loading"?e(A,{children:[e(Ie,{abrupt:!0}),e("h2",{children:"Resolving…"}),e("p",{children:e("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:n})})]}):e(A,{children:[e("h2",{children:"Unable to resolve URL"}),e("p",{children:e("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:n})})]}),e("hr",{}),e("p",{children:e(ee,{to:"/",children:"Go home"})})]})}function Bo(){const{masto:t}=z();_e("Lists","/l");const[n,i]=$("default"),[o,a]=xt(d=>d+1,0),[s,u]=$([]);B(()=>{i("loading"),(async()=>{try{const d=await t.v1.lists.list();d.sort((h,r)=>h.title.localeCompare(r.title)),u(d),i("default")}catch{i("error")}})()},[o]);const[l,c]=$(!1);return e("div",{id:"lists-page",class:"deck-container",tabIndex:"-1",children:[e("div",{class:"timeline-deck deck",children:[e("header",{children:e("div",{class:"header-grid",children:[e("div",{class:"header-side",children:[e(mt,{}),e(ee,{to:"/",class:"button plain",children:e(w,{icon:"home",size:"l"})})]}),e("h1",{children:"Lists"}),e("div",{class:"header-side",children:e("button",{type:"button",class:"plain",onClick:()=>c(!0),children:e(w,{icon:"plus",size:"l",alt:"New list"})})})]})}),e("main",{children:s.length>0?e("ul",{class:"link-list",children:s.map(d=>e("li",{children:e(ee,{to:`/l/${d.id}`,children:e("span",{children:[e(w,{icon:"list"})," ",e("span",{children:d.title})]})})}))}):n==="loading"?e("p",{class:"ui-state",children:e(Ie,{})}):n==="error"?e("p",{class:"ui-state",children:"Unable to load lists."}):e("p",{class:"ui-state",children:"No lists yet."})})]}),l&&e(Ce,{class:"light",onClick:d=>{d.target===d.currentTarget&&c(!1)},children:e(Yt,{list:l==null?void 0:l.list,onClose:d=>{d.state==="success"&&a(),c(!1)}})})]})}const zo=""+new URL("instances-cddSOnAA.json",import.meta.url).href;var qo={PHANPY_CLIENT_NAME:"Phanpy",PHANPY_WEBSITE:"https://phanpy.social",PHANPY_LINGVA_INSTANCES:"lingva.phanpy.social lingva.lunar.icu lingva.garudalinux.org translate.plausibility.cloud",PHANPY_PRIVACY_POLICY_URL:"https://github.com/cheeaun/phanpy/blob/main/PRIVACY.MD",VITE_APP_ENV:"production",BASE_URL:"./",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{PHANPY_CLIENT_NAME:Ho,PHANPY_WEBSITE:Vo}=qo,Xt="read write follow push";async function Go({instanceURL:t}){const n=new URLSearchParams({client_name:Ho,redirect_uris:location.origin+location.pathname,scopes:Xt,website:Vo});return await(await fetch(`https://${t}/api/v1/apps`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:n.toString()})).json()}async function jo({instanceURL:t,client_id:n}){const i=new URLSearchParams({client_id:n,scope:Xt,redirect_uri:location.origin+location.pathname,response_type:"code"});return`https://${t}/oauth/authorize?${i.toString()}`}async function Yo({instanceURL:t,client_id:n,client_secret:i,code:o}){const a=new URLSearchParams({client_id:n,client_secret:i,redirect_uri:location.origin+location.pathname,grant_type:"authorization_code",code:o,scope:Xt});return await(await fetch(`https://${t}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:a.toString()})).json()}var Wo={PHANPY_CLIENT_NAME:"Phanpy",PHANPY_WEBSITE:"https://phanpy.social",PHANPY_LINGVA_INSTANCES:"lingva.phanpy.social lingva.lunar.icu lingva.garudalinux.org translate.plausibility.cloud",PHANPY_PRIVACY_POLICY_URL:"https://github.com/cheeaun/phanpy/blob/main/PRIVACY.MD",VITE_APP_ENV:"production",BASE_URL:"./",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{PHANPY_DEFAULT_INSTANCE:Ko}=Wo;function Zo(){_e("Log in");const t=D(),n=se.local.get("instanceURL"),[i,o]=$("default"),[a]=qe(),s=a.get("instance"),u=a.get("submit"),[l,c]=$(s||(n==null?void 0:n.toLowerCase())||""),[d,h]=$([]);B(()=>{(async()=>{try{const y=await(await fetch(zo)).json();h(y)}catch{}})()},[]);const r=m=>{m&&(se.local.set("instanceURL",m),(async()=>{o("loading");try{const{client_id:y,client_secret:S,vapid_key:I}=await Go({instanceURL:m});y&&S?(se.session.set("clientID",y),se.session.set("clientSecret",S),se.session.set("vapidKey",I),location.href=await jo({instanceURL:m,client_id:y})):alert("Failed to register application"),o("default")}catch{o("error")}})())},p=l?l.replace(/^https?:\/\//,"").replace(/\/+$/,"").replace(/^@?[^@]+@/,"").trim():null,f=/[^\s\r\n\t\/\\]+\.[^\s\r\n\t\/\\]+/.test(p)&&!/[\s\/\\@]/.test(p),b=p?d.filter(m=>m.includes(l)).sort((m,y)=>{const S=m.toLowerCase().startsWith(l.toLowerCase()),I=y.toLowerCase().startsWith(l.toLowerCase());return S&&!I?-1:!S&&I?1:0}).slice(0,10):[],g=f?p:b!=null&&b.length?b[0]:l?d.find(m=>m.includes(l)):null,v=m=>{m.preventDefault(),r(g)};return u&&B(()=>{r(s||g)},[]),e("main",{id:"login",style:{textAlign:"center"},children:e("form",{onSubmit:v,children:[e("h1",{children:[e("img",{src:Gt,alt:"",width:"80",height:"80"}),e("br",{}),"Log in"]}),e("label",{children:[e("p",{children:"Instance"}),e("input",{value:l,required:!0,type:"text",class:"large",id:"instanceURL",ref:t,disabled:i==="loading",autocorrect:"off",autocapitalize:"off",autocomplete:"off",spellcheck:!1,placeholder:"instance domain",onInput:m=>{c(m.target.value)}}),(b==null?void 0:b.length)>0?e("ul",{id:"instances-suggestions",children:b.map((m,y)=>e("li",{children:e("button",{type:"button",class:"plain5",onClick:()=>{r(m)},children:m})}))}):e("div",{id:"instances-eg",children:"e.g. “mastodon.social”"})]}),i==="error"&&e("p",{class:"error",children:"Failed to log in. Please try again or another instance."}),e("div",{children:[e("button",{disabled:i==="loading"||!l||!g,children:g?`Continue with ${g}`:"Continue"})," "]}),e(Ie,{hidden:i!=="loading"}),e("hr",{}),!Ko&&e("p",{children:e("a",{href:"https://joinmastodon.org/servers",target:"_blank",children:"Don't have an account? Create one!"})}),e("p",{children:e(ee,{to:"/",children:"Go home"})})]})})}const wt=40,Jo=10,Xo=5;let Bt={},St={},kt={};function zt(t){delete St[t],delete kt[t]}const dt={block:"nearest",inline:"center",behavior:"smooth"},Tn=".status-link:not(details:not([open]) > summary ~ *, details:not([open]) > summary ~ * *), .status-focus:not(details:not([open]) > summary ~ *, details:not([open]) > summary ~ * *)",Cn=/\/s\//i;function Qo(t){const{id:n}=t,{masto:i,instance:o}=z({instance:t.instance}),a=Se(k),[s,u]=qe(),l=s.get("media"),c=s.get("media-only"),d=parseInt(l||c,10);let h=d>0;const r=s.get("mediaStatusID"),p=zn(r,o);r&&!p&&(h=!1);const f=h&&!!c,b=Ge(n,o),[g,v]=$(k.statuses[b]);B(()=>{k.statuses[b]&&v(k.statuses[b])},[b]);const m=he(()=>{const{prevLocation:I}=k,T=((I==null?void 0:I.pathname)||"")+((I==null?void 0:I.search)||""),x=pt("/:instance/s/:id",T)||pt("/s/:id",T);return!T||x?"/":T},[]);B(()=>{!g&&h&&(async()=>{try{const I=await i.v1.statuses.$select(n).fetch();Ae(I,o),v(I)}catch{alert("Unable to load post."),location.hash=m}})()},[h]);const y=r?p==null?void 0:p.mediaAttachments:g==null?void 0:g.mediaAttachments,S=Ve(()=>{!window.matchMedia("(min-width: calc(40em + 350px))").matches&&a.prevLocation?history.back():f?location.hash=m:(s.delete("media"),s.delete("mediaStatusID"),u(s))},[f,m,a.prevLocation]);return B(()=>{let I=setTimeout(()=>{const T=document.querySelector(".carousel");T&&T.focus()},100);return()=>clearTimeout(I)},[f]),e("div",{class:"deck-backdrop",children:[h?y!=null&&y.length?e(es,{mediaAttachments:y,statusID:r||n,instance:o,lang:g==null?void 0:g.language,index:d-1,onClose:S}):e("div",{class:"media-modal-container loading",children:e(Ie,{abrupt:!0})}):e(ee,{to:m}),!f&&e(ea,{id:n,instance:t.instance,closeLink:m})]})}function ea({id:t,closeLink:n="/",instance:i}){var me,de;const[o,a]=qe(),s=o.get("media"),u=o.get("mediaStatusID"),l=parseInt(s,10)>0,c=D(!k.prevLocation&&(history.length===1||"navigation"in window&&((de=(me=navigation==null?void 0:navigation.entries)==null?void 0:me.call(navigation))==null?void 0:de.length)===1)),[d,h]=$(o.get("view")||c.current?"full":null),r=!!parseInt(o.get("translate")),{masto:p,instance:f}=z({instance:i}),{masto:b,instance:g,authenticated:v}=z(),m=f===g,y=Se(k),[S,I]=$([]),[T,x]=$("default"),L=D(),N=Ge(t,f),O=D(0),U=D();B(()=>{var R;(R=U.current)==null||R.focus()},[]),B(()=>{var G;const R=Yn(()=>{if(!U.current)return;const{scrollTop:K}=U.current;T!=="loading"&&(kt[t]=K)},50);return(G=U.current)==null||G.addEventListener("scroll",R,{passive:!0}),R(),()=>{var K;R.cancel(),(K=U.current)==null||K.removeEventListener("scroll",R)}},[t,T!=="loading"]);const P=D(),M=({reloadHero:R}={})=>{x("loading");let G;const K=St[t];if(K){const ie=K.filter(we=>k.statuses[N]);I(ie)}else I([{id:t}]);return(async()=>{var q,ge;const ie=()=>cn(()=>p.v1.statuses.$select(t).fetch(),{retries:4}),we=cn(()=>p.v1.statuses.$select(t).context.fetch(),{retries:8}),Le=!!y.statuses[N];let $e=y.statuses[N];if(!(Le&&!R))try{$e=await ie(),Ae($e,f),await new Promise(be=>{setTimeout(be,100)})}catch{x("error");return}try{let be=function(J){return J==null?void 0:J.map(ve=>({id:ve.id,account:ve.account,repliesCount:ve.repliesCount,content:ve.content,weight:ft(ve),replies:be(ve.__replies)}))};const ue=await we,{ancestors:xe,descendants:Pe}=ue;O.current=(Pe==null?void 0:Pe.length)||0;const Ne=new Set;xe.forEach(J=>{Ae(J,f,{skipThreading:!0}),J.inReplyToId&&!xe.find(ve=>ve.id===J.inReplyToId)&&Ne.add(J.inReplyToId)});const st=xe.every(J=>J.account.id===$e.account.id),Oe=[];Pe.forEach(J=>{if(Ae(J,f,{skipThreading:!0}),J.inReplyToId&&!Pe.find(ve=>ve.id===J.inReplyToId)&&J.inReplyToId!==$e.id&&Ne.add(J.inReplyToId),J.inReplyToAccountId===J.account.id)Oe.push(J);else if(J.inReplyToId===$e.id)Oe.push(J);else if(!J.inReplyToAccountId&&Oe.find(ve=>ve.id===J.inReplyToId)&&J.account.id===$e.account.id)Oe.push(J);else{const ve=Pe.find(ps=>ps.id===J.inReplyToId);ve&&(ve.__replies||(ve.__replies=[]),ve.__replies.push(J))}}),Ne.size;const We=[...xe.map(J=>({id:J.id,ancestor:!0,isThread:st,accountID:J.account.id,account:J.account,repliesCount:J.repliesCount,weight:ft(J)})),{id:t,accountID:$e.account.id,weight:ft($e)},...Oe.map(J=>({id:J.id,account:J.account,accountID:J.account.id,descendant:!0,thread:J.account.id===$e.account.id,weight:ft(J),replies:be(J.__replies)}))];x("default"),P.current={offsetTop:(q=L.current)==null?void 0:q.offsetTop,scrollTop:(ge=U.current)==null?void 0:ge.scrollTop};const Xe=We.findIndex(J=>J.id===t);Xe>=W&&ke(Xe+1),I(We),St[t]=We,$s($e,f)}catch{x("error")}})(),()=>{clearTimeout(G)}};B(M,[t,p]),B(()=>{var G,K;if(!S.length)return;const R=kt[t];if(R)U.current.scrollTop=R;else if(P.current){const ie={offsetTop:(G=L.current)==null?void 0:G.offsetTop,scrollTop:(K=U.current)==null?void 0:K.scrollTop},we=ie.offsetTop-P.current.offsetTop+ie.scrollTop;U.current.scrollTop=we}else S.length===1&&(U.current.scrollTop=0);P.current=null},[S]),B(()=>{y.reloadStatusPage<=0||(async()=>{try{const{instanceURL:R}=at(),G=`https://${R}/api/v1/statuses/${t}/context`;return await(await caches.open("api")).delete(G,{ignoreVary:!0}),M({reloadHero:!0})}catch{}})()},[y.reloadStatusPage]),B(()=>()=>{kt={},k.reloadStatusPage=0,St={},Bt={},qt.clear()},[]);const C=y.statuses[N]||y.statuses[t],_=he(()=>{if(!C)return"";const{account:R}=C,G=document.createElement("div");return G.innerHTML=R.displayName,G.innerText.trim()},[C]),F=he(()=>{if(!C)return"";let R=Bn(C);return R.length>64&&(R=R.slice(0,64)+"…"),R},[C]);_e(_&&F?`${_}: "${F}"`:"Status","/:instance?/s/:id");const Y=he(()=>{if(!C)return;const{url:R}=C;if(R)return new URL(R).hostname},[C]),te=he(()=>{if(Y)return Y===f},[Y,f]),[W,ke]=$(wt),re=he(()=>S.length-W,[S.length,W]),X=S.some(R=>R.descendant),E=S.filter(R=>R.ancestor),[j,ne]=$(!0),le=he(()=>{if(!L.current||j)return null;const{top:R}=L.current.getBoundingClientRect();return R>0?"down":"up"},[j]);Re("esc",()=>{location.hash=n},{enabled:!l,ignoreEventWhen:R=>!!document.querySelector("#modal-container > *")}),Re("backspace",()=>{location.hash=n}),Re("j",()=>{const R=document.activeElement.closest(".status-link, .status-focus"),G=R==null?void 0:R.getBoundingClientRect(),K=Array.from(U.current.querySelectorAll(Tn));if(R&&G.top<U.current.clientHeight&&G.bottom>0){const ie=K.indexOf(R);let we=K[ie+1];we&&(we.focus(),we.scrollIntoView(dt))}else{const ie=K.find(we=>{const Le=we.getBoundingClientRect();return Le.top>=44&&Le.left>=0});ie&&(ie.focus(),ie.scrollIntoView(dt))}}),Re("k",()=>{const R=document.activeElement.closest(".status-link, .status-focus"),G=R==null?void 0:R.getBoundingClientRect(),K=Array.from(U.current.querySelectorAll(Tn));if(R&&G.top<U.current.clientHeight&&G.bottom>0){const ie=K.indexOf(R);let we=K[ie-1];we&&(we.focus(),we.scrollIntoView(dt))}else{const ie=K.find(we=>{const Le=we.getBoundingClientRect();return Le.top>=44&&Le.left>=0});ie&&(ie.focus(),ie.scrollIntoView(dt))}}),Re("x",()=>{const R=document.activeElement.closest(".status-link, .status-focus");if(R){const G=R.nextElementSibling;G&&G.tagName.toLowerCase()==="details"&&(G.open=!G.open)}});const[H,ae]=$(!1),Q=D(l?"media+status":"status"),ye=Ve((R,G,K,ie)=>{R.preventDefault(),R.stopPropagation(),a({media:G+1,mediaStatusID:ie.id})},[t]),V=Ve((R,G)=>{zt(G.id)},[]);B(()=>{let R;return u&&l&&(R=setTimeout(()=>{var K;const G=(K=U.current)==null?void 0:K.querySelector(`.status-link[href*="/${u}"]`);G&&G.scrollIntoView(dt)},400)),()=>{clearTimeout(R)}},[u,l]);const Z=Ve((R,G)=>{const{id:K,ancestor:ie,isThread:we,descendant:Le,thread:$e,replies:q,repliesCount:ge,weight:be}=R,ue=K===t;return e("li",{ref:ue?L:null,class:`${ie?"ancestor":""} ${Le?"descendant":""} ${$e?"thread":""} ${ue?"hero":""}`,children:[ue?e(A,{children:[e(je,{threshold:.1,onChange:xe=>{queueMicrotask(()=>{requestAnimationFrame(()=>{ne(xe)})})},class:"status-focus",tabIndex:0,children:e(Me,{statusID:K,instance:f,withinContext:!0,size:"l",enableTranslate:!0,forceTranslate:r})}),T!=="loading"&&!v?e("div",{class:"post-status-banner",children:[e("p",{children:"You're not logged in. Interactions (reply, boost, etc) are not possible."}),e(ee,{to:"/login",class:"button",children:"Log in"})]}):!m&&e("div",{class:"post-status-banner",children:[e("p",{children:["This post is from another instance (",e("b",{children:f}),"). Interactions (reply, boost, etc) are not possible."]}),e("button",{type:"button",disabled:T==="loading",onClick:()=>{x("loading"),(async()=>{try{const xe=await b.v2.search.fetch({q:C.url,type:"statuses",resolve:!0,limit:1});if(xe.statuses.length){const Pe=xe.statuses[0];location.hash=g?`/${g}/s/${Pe.id}`:`/s/${Pe.id}`}else throw new Error("No results")}catch(xe){x("default"),alert("Error: "+xe)}})()},children:[e(w,{icon:"transfer"})," Switch to my instance to enable interactions"]})]})]}):e(ee,{class:"status-link",to:f?`/${f}/s/${K}`:`/s/${K}`,onClick:()=>{zt(K)},children:[e(je,{skip:G!==0||!ie,threshold:.5,onChange:xe=>{queueMicrotask(()=>{requestAnimationFrame(()=>{ae(xe)})})},children:e(Me,{statusID:K,instance:f,withinContext:!0,size:$e||ie?"m":"s",enableTranslate:!0,onMediaClick:ye,onStatusLinkClick:V})}),ie&&ge>1&&e("div",{class:"replies-link",children:[e(w,{icon:"comment2"})," ",e("span",{title:ge,children:Ue(ge)})]})," "]}),Le&&(q==null?void 0:q.length)>0&&e(fs,{instance:f,replies:q,hasParentThread:$e,level:1,accWeight:be,openAll:O.current<Jo}),T==="loading"&&ue&&!!(C!=null&&C.repliesCount)&&!X&&e("div",{class:"status-loading",children:e(Ie,{})}),T==="error"&&ue&&!!(C!=null&&C.repliesCount)&&!X&&e("div",{class:"status-error",children:["Unable to load replies.",e("br",{}),e("button",{type:"button",class:"plain",onClick:()=>{k.reloadStatusPage++},children:"Try again"})]})]},K)},[t,f,T,v,m,r,ye,V,X]),ce=he(()=>{var R;if("navigation"in window&&(navigation!=null&&navigation.entries)){const G=navigation.entries()[navigation.currentEntry.index-1];if(G!=null&&G.url)return Cn.test(G.url)}return Cn.test((R=k.prevLocation)==null?void 0:R.pathname)},[N]),fe=he(()=>{if(!re)return[];const R=[];function G(K){R.push(K.id),K.replies&&K.replies.forEach(G)}return S.slice(W).forEach(G),R.map(K=>Ge(K,f))},[re,S,W,f]);return e("div",{tabIndex:"-1",ref:U,class:`status-deck deck contained ${S.length>1?"padded-bottom":""} ${Q.current==="status"&&!c.current?"slide-in":""} ${d?`deck-view-${d}`:""}`,onAnimationEnd:R=>{Q.current==="status"&&(Q.current=null)},children:[e("header",{class:`${T==="loading"?"loading":""}`,onDblClick:R=>{k.reloadStatusPage++},children:e("div",{class:"header-grid header-grid-2",children:[e("h1",{children:[ce&&e("button",{type:"button",class:"plain deck-back",onClick:()=>{history.back()},children:e(w,{icon:"chevron-left",size:"xl"})}),!j&&C&&T!=="loading"?e(A,{children:[e("span",{class:"hero-heading",children:[e(It,{account:C.account,instance:f,showAvatar:!0,short:!0})," ",e("span",{class:"insignificant",children:["•"," ",e($t,{datetime:C.createdAt,format:"micro"})]})]})," ",e("button",{type:"button",class:"ancestors-indicator light small",onClick:R=>{R.preventDefault(),R.stopPropagation(),L.current.scrollIntoView({behavior:"smooth",block:"start"})},title:"Go to main post",children:e(w,{icon:le==="down"?"arrow-down":"arrow-up"})})]}):e(A,{children:["Post"," ",e("button",{type:"button",class:"ancestors-indicator light small",onClick:R=>{R.preventDefault(),R.stopPropagation(),U.current.scrollTo({top:0,behavior:"smooth"})},hidden:!E.length||H,title:`${E.length} posts above Go to top`,children:[e(w,{icon:"arrow-up"}),E.filter((R,G,K)=>K.findIndex(ie=>ie.accountID===R.accountID)===G).slice(0,3).map(R=>e(et,{url:R.account.avatar,alt:R.account.displayName},R.account.id)),E.length>3&&e(A,{children:[" ",e("span",{class:"insignificant",children:Ue(E.length)})]})]})]})]}),e("div",{class:"header-side",children:[e("button",{type:"button",class:"plain4 button-switch-view",style:{display:d==="full"?"":"none"},onClick:()=>{h(null),o.delete("media"),o.delete("media-only"),o.delete("view"),a(o)},title:"Switch to Side Peek view",children:e(w,{icon:"layout4",size:"l"})}),e(Fe,{align:"end",portal:{target:U.current},menuButton:e("button",{type:"button",class:"button plain4",children:e(w,{icon:"more",alt:"Actions",size:"xl"})}),children:[e(oe,{disabled:T==="loading",onClick:()=>{k.reloadStatusPage++},children:[e(w,{icon:"refresh"}),e("span",{children:"Refresh"})]}),e(oe,{className:"menu-switch-view",onClick:()=>{h(d==="full"?null:"full"),o.delete("media"),o.delete("media-only"),d==="full"?o.delete("view"):o.set("view","full"),a(o)},children:[e(w,{icon:{"":"layout5",full:"layout4"}[d||""]}),e("span",{children:["Switch to ",d==="full"?"Side Peek":"Full"," view"]})]}),e(oe,{onClick:()=>{Array.from(U.current.querySelectorAll(".spoiler-button:not(.spoiling), .spoiler-media-button:not(.spoiling)")).forEach(G=>{G.click()})},children:[e(w,{icon:"eye-open"})," ",e("span",{children:"Show all sensitive content"})]}),e(De,{}),e(jn,{className:"plain",children:"Experimental"}),e(oe,{disabled:!Y||te,onClick:()=>{const R=Fo(C.url);R?location.hash=R:alert("Unable to switch")},children:[e(w,{icon:"transfer"}),e("small",{class:"menu-double-lines",children:["Switch to post's instance",Y?e(A,{children:[" ","(",e("b",{children:Y}),")"]}):""]})]})]}),e(ee,{class:"button plain deck-close",to:n,children:e(w,{icon:"x",size:"xl"})})]})]})}),S.length&&C?e("ul",{class:`timeline flat contextual grow ${T==="loading"?"loading":""}`,children:[S.slice(0,W).map(Z),re>0&&e("li",{children:e("button",{type:"button",class:"plain block show-more",disabled:T==="loading",onClick:()=>ke(R=>R+wt),style:{marginBlockEnd:"6em"},"data-state-post-ids":fe.join(" "),children:[e("div",{class:"ib avatars-bunch",children:S.slice(W,W+5).map(R=>e(et,{url:R.account.avatarStatic},R.id))})," ",e("div",{class:"ib",children:["Show more…"," ",e("span",{class:"tag",children:re>wt?`${wt}+`:re})]})]})})]}):e(A,{children:[T==="loading"&&e("ul",{class:"timeline flat contextual grow loading",children:e("li",{children:e(Me,{skeleton:!0,size:"l"})})}),T==="error"&&e("p",{class:"ui-state",children:["Unable to load post",e("br",{}),e("br",{}),e("button",{type:"button",onClick:()=>{k.reloadStatusPage++},children:"Try again"})]})]})]})}function fs({replies:t,instance:n,hasParentThread:i,level:o,accWeight:a,openAll:s}){const[u,l]=qe(),c=m=>m.reduce((y,S)=>{const{repliesCount:I,replies:T}=S,x=(T==null?void 0:T.length)||I;return y+x+c(T||[])},0),d=t.length+c(t),h=t.length===d,r=t.map(m=>m.account).filter((m,y,S)=>S.findIndex(I=>I.id===m.id)===y).slice(0,3),p=he(()=>t==null?void 0:t.reduce((m,y)=>m+(y==null?void 0:y.weight),a),[a,t==null?void 0:t.length]);let f=!1;(s||p<=Xo||!i&&d===1&&ft(t[0])<2)&&(f=!0);const b=Bt[t[0].id],g=Ve((m,y,S,I)=>{m.preventDefault(),m.stopPropagation(),l({media:y+1,mediaStatusID:I.id})},[]),v=D();return Je(()=>{var y;function m(S){S.target.dataset.scrollLeft=S.target.scrollLeft}return(y=v.current)==null||y.addEventListener("scroll",m,{passive:!0}),()=>{var S;(S=v.current)==null||S.removeEventListener("scroll",m)}},[]),e("details",{ref:v,class:"replies",open:b||f,onToggle:m=>{const{open:y}=m.target;Bt[t[0].id]=y},style:{"--comments-level":o},"data-comments-level":o,"data-comments-level-overflow":o>4,children:[e("summary",{class:"replies-summary",hidden:f,children:[e("span",{class:"avatars",children:r.map(m=>e(et,{url:m.avatarStatic,title:`${m.displayName} @${m.username}`,squircle:m==null?void 0:m.bot},m.id))}),e("b",{children:[e("span",{title:t.length,children:Ue(t.length)})," ","repl",t.length===1?"y":"ies"]}),!h&&d>1&&e(A,{children:[" ","·"," ",e("span",{children:[e("span",{title:d,children:Ue(d)})," ","comment",d===1?"":"s"]})]})]}),e("ul",{children:t.map(m=>{var y,S;return e("li",{children:[e(ee,{class:"status-link",to:n?`/${n}/s/${m.id}`:`/s/${m.id}`,onClick:()=>{zt(m.id)},children:[e(Me,{statusID:m.id,instance:n,withinContext:!0,size:"s",enableTranslate:!0,onMediaClick:g}),!((y=m.replies)!=null&&y.length)&&m.repliesCount>0&&e("div",{class:"replies-link",children:[e(w,{icon:"comment2"})," ",e("span",{title:m.repliesCount,children:Ue(m.repliesCount)})]})]}),((S=m.replies)==null?void 0:S.length)&&e(fs,{instance:n,replies:m.replies,level:o+1,accWeight:f?p:m.weight,openAll:s})]},m.id)})})]})}const ta=140,na=35,sa=70,ia=140,qt=new Map;function ft(t){var f,b;const n=qt.get(t.id);if(n)return n;const{spoilerText:i,content:o,mediaAttachments:a,poll:s,card:u}=t,l=xs(i+o),c=a!=null&&a.length?ta:0,d=(((f=s==null?void 0:s.options)==null?void 0:f.length)||0)*na,h=u&&(a!=null&&a.length||(b=s==null?void 0:s.options)!=null&&b.length)?0:sa,p=(l+c+d+h)/ia;return qt.set(t.id,p),p}const oa=ze(Qo);function aa(){const t=nt(),{id:n,instance:i}=t;return e(oa,{id:n,instance:i})}const ca=""+new URL("boosts-carousel-YjmjXTE6.jpg",import.meta.url).href,ra=""+new URL("grouped-notifications-xYMFVY91.jpg",import.meta.url).href,la=""+new URL("multi-column-ETnJNDVb.jpg",import.meta.url).href,da=""+new URL("multi-hashtag-timeline-x-SDVR4g.jpg",import.meta.url).href,ua=""+new URL("nested-comments-thread-Ib-fZGS3.jpg",import.meta.url).href,ha="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20fill-rule='evenodd'%20stroke-linejoin='round'%20stroke-miterlimit='2'%20clip-rule='evenodd'%20viewBox='0%200%20102%2028'%3e%3cpath%20fill='none'%20d='M0%200h101.5v27.5H0z'/%3e%3cg%20fill-rule='nonzero'%3e%3cpath%20fill='url(%23a)'%20d='M2.32%2021.85c1.4%200%202.21-.85%202.21-2.3v-4.64H8.5c4.45%200%207.54-2.9%207.54-7.24%200-4.35-2.98-7.24-7.32-7.24h-6.4C.93.43.11%201.28.11%202.73v16.82c0%201.45.82%202.3%202.21%202.3Zm2.21-10.4V3.94h3c2.54%200%204%201.34%204%203.75s-1.47%203.76-4%203.76h-3Z'/%3e%3cpath%20fill='url(%23b)'%20d='M20.52%2021.88c1.25%200%202.13-.76%202.13-2.23v-7.04c0-2.07%201.2-3.49%203.21-3.49%201.95%200%202.95%201.23%202.95%203.25v7.28c0%201.47.89%202.23%202.13%202.23%201.26%200%202.14-.76%202.14-2.23v-8.18c0-3.64-1.99-5.9-5.48-5.9-2.38%200-4.1%201.12-4.93%203.1h-.09V2.3c0-1.38-.78-2.2-2.1-2.2-1.31%200-2.1.82-2.1%202.2v17.34c0%201.47.9%202.23%202.14%202.23Z'/%3e%3cpath%20fill='url(%23c)'%20d='M40.45%2021.82c1.96%200%203.93-.98%204.8-2.65h.1v.8c.08%201.27.89%201.91%202.05%201.91%201.21%200%202.08-.73%202.08-2.15v-8.95c0-3.17-2.63-5.25-6.65-5.25-3.26%200-5.78%201.16-6.5%203.04-.15.32-.23.63-.23.96%200%20.97.75%201.64%201.79%201.64.69%200%201.23-.26%201.7-.79.95-1.23%201.74-1.65%203.04-1.65%201.62%200%202.64.85%202.64%202.31v1.04l-3.95.24c-3.93.23-6.13%201.88-6.13%204.74%200%202.83%202.27%204.76%205.26%204.76Zm1.4-3.09c-1.43%200-2.4-.73-2.4-1.9%200-1.12.91-1.83%202.51-1.95l3.31-.2v1.14c0%201.7-1.54%202.91-3.41%202.91Z'/%3e%3cpath%20fill='url(%23d)'%20d='M54.37%2021.88c1.26%200%202.14-.76%202.14-2.23v-7.09c0-2.03%201.21-3.44%203.13-3.44s2.89%201.17%202.89%203.22v7.31c0%201.47.88%202.23%202.14%202.23%201.24%200%202.13-.76%202.13-2.23v-8.2c0-3.68-1.96-5.87-5.45-5.87-2.41%200-4%201.07-4.83%203.01h-.09v-.87c0-1.35-.85-2.17-2.14-2.17-1.28%200-2.06.82-2.06%202.15v11.95c0%201.47.9%202.23%202.14%202.23Z'/%3e%3cpath%20fill='url(%23e)'%20d='M71.65%2027.17c1.26%200%202.14-.76%202.14-2.23v-6h.09a5.15%205.15%200%200%200%204.88%202.88c3.92%200%206.35-3.05%206.35-8.1%200-5.07-2.44-8.1-6.43-8.1a5.12%205.12%200%200%200-4.86%202.99h-.09v-.85c0-1.45-.88-2.21-2.1-2.21-1.24%200-2.11.76-2.11%202.2v17.2c0%201.46.89%202.22%202.13%202.22Zm5.6-8.8c-2.1%200-3.47-1.8-3.47-4.65%200-2.81%201.37-4.67%203.47-4.67%202.14%200%203.49%201.83%203.49%204.67%200%202.86-1.35%204.66-3.5%204.66Z'/%3e%3cpath%20fill='url(%23f)'%20d='M89.61%2027.39c3.44%200%205.26-1.5%206.73-5.55l4.81-13.1a4%204%200%200%200%20.24-1.26c0-1.13-.85-1.93-2.08-1.93-1.1%200-1.71.51-2.07%201.7l-3.4%2010.9h-.08L90.35%207.28c-.36-1.25-.94-1.73-2.07-1.73-1.26%200-2.21.83-2.21%201.99%200%20.35.09.82.25%201.26l5%2013.21-.21.56c-.52%201.1-1.32%201.42-2.07%201.42l-.75-.01c-.96%200-1.56.54-1.56%201.4%200%201.29%201%202%202.88%202Z'/%3e%3c/g%3e%3cdefs%3e%3cradialGradient%20id='a'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='rotate(28.51%20.06%20.22)%20scale(57.6252)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23a4bff7'/%3e%3cstop%20offset='1'%20stop-color='%236081e6'/%3e%3c/radialGradient%3e%3cradialGradient%20id='b'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='rotate(28.51%20.06%20.22)%20scale(57.6252)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23a4bff7'/%3e%3cstop%20offset='1'%20stop-color='%236081e6'/%3e%3c/radialGradient%3e%3cradialGradient%20id='c'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='rotate(28.51%20.06%20.22)%20scale(57.6252)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23a4bff7'/%3e%3cstop%20offset='1'%20stop-color='%236081e6'/%3e%3c/radialGradient%3e%3cradialGradient%20id='d'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='rotate(28.51%20.06%20.22)%20scale(57.6252)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23a4bff7'/%3e%3cstop%20offset='1'%20stop-color='%236081e6'/%3e%3c/radialGradient%3e%3cradialGradient%20id='e'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='rotate(28.51%20.06%20.22)%20scale(57.6252)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23a4bff7'/%3e%3cstop%20offset='1'%20stop-color='%236081e6'/%3e%3c/radialGradient%3e%3cradialGradient%20id='f'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='rotate(28.51%20.06%20.22)%20scale(57.6252)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23a4bff7'/%3e%3cstop%20offset='1'%20stop-color='%236081e6'/%3e%3c/radialGradient%3e%3c/defs%3e%3c/svg%3e";var fa={PHANPY_CLIENT_NAME:"Phanpy",PHANPY_WEBSITE:"https://phanpy.social",PHANPY_LINGVA_INSTANCES:"lingva.phanpy.social lingva.lunar.icu lingva.garudalinux.org translate.plausibility.cloud",PHANPY_PRIVACY_POLICY_URL:"https://github.com/cheeaun/phanpy/blob/main/PRIVACY.MD",VITE_APP_ENV:"production",BASE_URL:"./",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{PHANPY_DEFAULT_INSTANCE:ut,PHANPY_WEBSITE:$n,PHANPY_PRIVACY_POLICY_URL:pa,PHANPY_DEFAULT_INSTANCE_REGISTRATION_URL:xn}=fa,An=$n?$n.replace(/https?:\/\//g,"").replace(/\/$/,""):null,Ln=`${"2024-01-05T02:16:32.524Z".slice(0,10).replace(/-/g,".")}.adf0b35`;function Mn(){return _e(null,["/","/welcome"]),e("main",{id:"welcome",children:[e("div",{class:"hero-container",children:[e("div",{class:"hero-content",children:[e("h1",{children:[e("img",{src:Gt,alt:"",width:"160",height:"160",style:{aspectRatio:"1/1",marginBlockEnd:-16}}),e("img",{src:ha,alt:"Phanpy",width:"200"})]}),e("p",{class:"desc",children:"A minimalistic opinionated Mastodon web client."}),e("p",{children:e(ee,{to:ut?`/login?instance=${ut}&submit=1`:"/login",class:"button",children:ut?"Log in":"Log in with Mastodon"})}),ut&&xn&&e("p",{children:e("a",{href:xn,class:"button plain5",children:"Sign up"})}),!ut&&e("p",{class:"insignificant",children:e("small",{children:["Connect your existing Mastodon/Fediverse account.",e("br",{}),"Your credentials are not stored on this server."]})})]}),(An||Ln)&&e("p",{class:"app-site-version",children:e("small",{children:[An," ",Ln]})}),e("p",{children:[e("a",{href:"https://github.com/cheeaun/phanpy",target:"_blank",children:"Built"})," ","by"," ",e("a",{href:"https://mastodon.social/@cheeaun",target:"_blank",onClick:t=>{t.preventDefault(),k.showAccount="cheeaun@mastodon.social"},children:"@cheeaun"}),"."," ",e("a",{href:pa,target:"_blank",children:"Privacy Policy"}),"."]})]}),e("div",{id:"why-container",children:e("div",{class:"sections",children:[e("section",{children:[e("img",{src:ca,alt:"Screenshot of Boosts Carousel",loading:"lazy"}),e("h4",{children:"Boosts Carousel"}),e("p",{children:"Visually separate original posts and re-shared posts (boosted posts)."})]}),e("section",{children:[e("img",{src:ua,alt:"Screenshot of nested comments thread",loading:"lazy"}),e("h4",{children:"Nested comments thread"}),e("p",{children:"Effortlessly follow conversations. Semi-collapsible replies."})]}),e("section",{children:[e("img",{src:ra,alt:"Screenshot of grouped notifications",loading:"lazy"}),e("h4",{children:"Grouped notifications"}),e("p",{children:"Similar notifications are grouped and collapsed to reduce clutter."})]}),e("section",{children:[e("img",{src:la,alt:"Screenshot of multi-column UI",loading:"lazy"}),e("h4",{children:"Single or multi-column"}),e("p",{children:"By default, single column for zen-mode seekers. Configurable multi-column for power users."})]}),e("section",{children:[e("img",{src:da,alt:"Screenshot of multi-hashtag timeline with a form to add more hashtags",loading:"lazy"}),e("h4",{children:"Multi-hashtag timeline"}),e("p",{children:"Up to 5 hashtags combined into a single timeline."})]})]})})]})}const ma=window.alert;window.__nativeAlert||(window.__nativeAlert=ma);window.alert=function(t){t instanceof Error&&(t!=null&&t.message)&&(t=t.message),typeof t!="string"&&(t=JSON.stringify(t));const n=Bs({text:t,className:"alert",gravity:"top",position:"center",duration:1e4,offset:{y:48},onClick:()=>{n.hideToast()}});n.showToast()};window.__STATES__=k;window.__STATES_STATS__=()=>{const t=["statuses","accounts","spoilers","unfurledLinks","statusQuotes"],n={};t.forEach(a=>{n[a]=Object.keys(k[a]).length});const{statuses:i}=k,o=[];for(const a in i)document.querySelector(`[data-state-post-id~="${a}"], [data-state-post-ids~="${a}"]`)||o.push(a)};setInterval(()=>{if(!window.__IDLE__)return;const{statuses:t,unfurledLinks:n,notifications:i}=k;let o=0;const{instance:a}=z();for(const s in t){if(!window.__IDLE__)break;try{const u=document.querySelector(`[data-state-post-id~="${s}"], [data-state-post-ids~="${s}"]`),l=i.some(c=>{var d;return s===Ge((d=c.status)==null?void 0:d.id,a)});if(!u&&!l){delete k.statuses[s],delete k.statusQuotes[s];for(const c in n){const d=n[c];if(Ge(d.id,d.instance)===s){delete k.unfurledLinks[c];break}}o++}}catch{}}},15*60*1e3);setTimeout(()=>{for(const t in gt)queueMicrotask(()=>{var n,i,o,a;Array.isArray(gt[t])?(i=(n=gt[t])[0])==null||i.call(n):(a=(o=gt)[t])==null||a.call(o)})},5e3);(()=>{window.__IDLE__=!0;const t=["mousemove","mousedown","resize","keydown","touchstart","pointerdown","pointermove","wheel"],n=()=>{window.__IDLE__=!0},o=Yn(n,3e3),a=()=>{window.__IDLE__=!1,o()};t.forEach(s=>{window.addEventListener(s,a,{passive:!0,capture:!0})}),window.addEventListener("blur",n,{passive:!0}),document.documentElement.addEventListener("mouseleave",s=>{!s.relatedTarget&&!s.toElement&&n()},{passive:!0})})();const ga=/iPad|iPhone|iPod/.test(navigator.userAgent);ga&&document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="visible"){const t=se.local.get("theme");let n;if(t){if(n=document.querySelector('meta[name="theme-color"][data-theme-setting="manual"]'),n){const i=n.content,o=t==="light"?n.dataset.themeLightColorTemp:n.dataset.themeDarkColorTemp;n.content=o||"",setTimeout(()=>{n.content=i},10)}}else{const i=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";if(n=document.querySelector(`meta[name="theme-color"][media*="${i}"]`),n){const o=n.dataset.content,a=n.dataset.contentTemp;n.content=a||"",setTimeout(()=>{n.content=o},10)}}}});{const t=se.local.get("theme");if(t){document.documentElement.classList.add(`is-${t}`),document.querySelector('meta[name="color-scheme"]').setAttribute("content",t||"dark light");const i=document.querySelector('meta[data-theme-setting="manual"]');i&&(i.name="theme-color",i.content=t==="light"?i.dataset.themeLightColor:i.dataset.themeDarkColor),document.querySelectorAll('meta[data-theme-setting="auto"]').forEach(a=>{a.name=""})}const n=se.local.get("textSize");n&&document.documentElement.style.setProperty("--text-size",`${n}px`)}Hn(k,t=>{var n;for(const[i,o,a,s]of t){if(o.join(".")==="settings.shortcutsViewMode"){const u=document.getElementById("app");u&&(u.dataset.shortcutsViewMode=(n=k.shortcuts)!=null&&n.length?a:"")}o.join(".")==="settings.cloakMode"&&document.body.classList.toggle("cloak",a)}});function ba(){const[t,n]=$(!1),[i,o]=$("loading");B(()=>{const s=se.local.get("instanceURL"),u=decodeURIComponent((window.location.search.match(/code=([^&]+)/)||[,""])[1]);if(u){window.history.replaceState({},document.title,window.location.pathname||"/");const l=se.session.get("clientID"),c=se.session.get("clientSecret"),d=se.session.get("vapidKey");(async()=>{o("loading");const{access_token:h}=await Yo({instanceURL:s,client_id:l,client_secret:c,code:u}),r=As({instance:s,accessToken:h});await Promise.allSettled([nn(r,s),Ls(r,s,h,d)]),sn(),on(r),n(!0),o("default")})()}else{window.__IGNORE_GET_ACCOUNT_ERROR__=!0;const l=at();if(l){se.session.set("currentAccount",l.info.id);const{client:c}=z({account:l}),{instance:d}=c;sn(),on(c),o("loading"),(async()=>{try{await nn(c,d)}catch{}finally{n(!0),o("default")}})()}else o("default")}},[]);let a=lt();return k.currentLocation=a.pathname,B(Dt,[a,t]),/\/https?:/.test(a.pathname)?e(Oo,{}):e(A,{children:[e(ya,{isLoggedIn:t,loading:i==="loading"}),e(wa,{isLoggedIn:t}),i==="default"&&e(Vt,{children:e(Te,{path:"/:instance?/s/:id",element:e(aa,{})})}),t&&e(js,{}),t&&e(Vi,{}),e(Oi,{}),t&&e(zi,{}),e(Gs,{isLoggedIn:t}),i!=="loading"&&e(qi,{onClose:Dt}),e(Ys,{})]})}function ya({isLoggedIn:t,loading:n}){const i=lt(),o=he(()=>{const{pathname:a}=i;return!/^\/(login|welcome)/.test(a)},[i]);return e(Vt,{location:o||i,children:[e(Te,{path:"/",element:t?e(Do,{}):n?e(Ie,{id:"loader-root"}):e(Mn,{})}),e(Te,{path:"/login",element:e(Zo,{})}),e(Te,{path:"/welcome",element:e(Mn,{})})]})}function Rn(){return k.prevLocation||null}function wa({isLoggedIn:t}){const n=lt(),i=D(Rn());return he(()=>pt("/:instance/s/:id",n.pathname)||pt("/s/:id",n.pathname),[n.pathname,pt])?i.current||(i.current=Rn()):i.current=null,e(Vt,{location:i.current||n,children:[t&&e(A,{children:[e(Te,{path:"/notifications",element:e(ls,{})}),e(Te,{path:"/mentions",element:e(cs,{})}),e(Te,{path:"/following",element:e(Jt,{})}),e(Te,{path:"/b",element:e(ss,{})}),e(Te,{path:"/f",element:e(is,{})}),e(Te,{path:"/l",children:[e(Te,{index:!0,element:e(Bo,{})}),e(Te,{path:":id",element:e(as,{})})]}),e(Te,{path:"/ft",element:e(lo,{})})]}),e(Te,{path:"/:instance?/t/:hashtag",element:e(os,{})}),e(Te,{path:"/:instance?/a/:id",element:e(oo,{})}),e(Te,{path:"/:instance?/p",children:[e(Te,{index:!0,element:e(Ot,{})}),e(Te,{path:"l",element:e(Ot,{local:!0})})]}),e(Te,{path:"/:instance?/trending",element:e(us,{})}),e(Te,{path:"/:instance?/search",element:e(ds,{})})]})}"AbortSignal"in window&&(AbortSignal.timeout=AbortSignal.timeout||(t=>{const n=new AbortController;return setTimeout(()=>n.abort(),t),n.signal}));qs(e(zs,{children:e(ba,{})}),document.getElementById("app"));setTimeout(()=>{try{Object.keys(localStorage).forEach(t=>{t.startsWith("iconify")&&localStorage.removeItem(t)}),Object.keys(sessionStorage).forEach(t=>{t.startsWith("iconify")&&sessionStorage.removeItem(t)}),localStorage.removeItem("settings:boostsCarousel")}catch{}},5e3);window.__CLOAK__=()=>{document.body.classList.toggle("cloak")};
//# sourceMappingURL=main-93nxKW6L.js.map