1import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t,t as n}from"./jsx-runtime-D3F0h15I.js";import{c as r,s as i}from"./react-intl-CZJDGRhA.js";import{E as a}from"./initial_state-Bq_NJi1A.js";import{o}from"./locales-C0Rt51KI.js";import{go as s,ho as c,wo as l}from"./time-KXiROFCN.js";import{o as u,s as d}from"./typed_functions-C61D5Gin.js";import{t as f}from"./react-router-dom-o_eSX_Kh.js";import{n as p}from"./modal-BQa-v0tD.js";import{Kt as m,bn as h,vn as g}from"./mood-Cw3vXYdp.js";import{t as _}from"./classnames-CfLRLWYq.js";import{G as v,nt as y}from"./poll-BYWZg_XP.js";var b=e(t()),x=e(_()),S=n(),C=i({unfollow:{id:`account.unfollow`,defaultMessage:`Unfollow`},unblock:{id:`account.unblock_short`,defaultMessage:`Unblock`},unmute:{id:`account.unmute_short`,defaultMessage:`Unmute`},follow:{id:`account.follow`,defaultMessage:`Follow`},followBack:{id:`account.follow_back`,defaultMessage:`Follow back`},followRequest:{id:`account.follow_request`,defaultMessage:`Request to follow`},followRequestCancel:{id:`account.follow_request_cancel`,defaultMessage:`Cancel request`},edit_profile:{id:`account.edit_profile`,defaultMessage:`Edit profile`}}),w={...C,...i({followBack:{id:`account.follow_back_short`,defaultMessage:`Follow back`},followRequest:{id:`account.follow_request_short`,defaultMessage:`Request`},followRequestCancel:{id:`account.follow_request_cancel_short`,defaultMessage:`Cancel`},editProfile:{id:`account.edit_profile_short`,defaultMessage:`Edit`}})};function T({accountId:e,labelLength:t=`auto`,withUnmute:n=!0,reference:i}){let o=r(),f=u(),{signedIn:m}=v(),h=d(t=>e?t.accounts.get(e):void 0),_=d(t=>e?t.relationships.get(e):void 0),x=_?.following||_?.requested||!1,T=x||_?.blocking||!1,E=e===a?`/profile/edit`:void 0;(0,b.useEffect)(()=>{e&&m&&f(c([e]))},[f,e,m]);let D=(0,b.useCallback)(()=>{m||f(p({modalType:`INTERACTION`,modalProps:{intent:`follow`,accountId:e,url:h?.url}})),_&&e&&e!==a&&(_.blocking?f(p({modalType:`CONFIRM_UNBLOCK`,modalProps:{account:h}})):_.muting&&n?f(l(e)):h&&_.following?f(p({modalType:`CONFIRM_UNFOLLOW`,modalProps:{account:h}})):h&&_.requested?f(p({modalType:`CONFIRM_WITHDRAW_REQUEST`,modalProps:{account:h}})):f(s(e,{ref:i})))},[m,_,e,n,h,f,i]),O=g(`narrow`),k=t===`short`||t===`auto`&&O?w:C,A=h?.locked?k.followRequest:k.follow,j,M=_?.blocked_by||h?.suspended||!!h?.moved;m?e===a?j=o.formatMessage(k.edit_profile):_?_.muting&&n?(j=o.formatMessage(k.unmute),M=!1):_.following?(j=o.formatMessage(k.unfollow),M=!1):_.blocking?(j=o.formatMessage(k.unblock),M=!1):_.requested?(j=o.formatMessage(k.followRequestCancel),M=!1):j=_.followed_by&&!h?.locked?o.formatMessage(k.followBack):o.formatMessage(A):j=(0,S.jsx)(y,{}):j=o.formatMessage(A);let N=h?.moved&&!_?.following||!1;return{onClick:D,link:E,label:j,disabled:M,following:x,secondary:T,hidden:N}}var E=({compact:e,className:t,...n})=>{let{onClick:r,link:i,label:a,disabled:o,following:s,secondary:c}=T(n);if(i){let n=(0,x.default)(t,`button button-secondary`,{"button--compact":e});return(0,S.jsx)(f,{to:`/profile/edit`,className:n,children:a})}return(0,S.jsx)(m,{onClick:r,disabled:o,secondary:c,compact:e,className:(0,x.default)(t,{"button--destructive":s}),children:a})},D=({accountId:e,labelLength:t,withUnmute:n,reference:r,...i})=>{let{onClick:a,link:o,label:s,disabled:c,secondary:l,hidden:u}=T({accountId:e,labelLength:t,withUnmute:n,reference:r});return u?null:o?(0,S.jsx)(h,{as:`link`,to:o,...i,children:s}):(0,S.jsx)(h,{...i,onClick:a,disabled:c,variant:l?`tonal`:`solid`,children:s})},O=({compact:e,...t})=>o()?(0,S.jsx)(D,{...t,size:e?`sm`:`md`}):(0,S.jsx)(E,{compact:e,...t});export{O as t}; 2//# sourceMappingURL=follow_button-D6MGP9O6.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.