// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0-or-later
// @source: https://gitlab.com/soapbox-pub/ditto/-/tree/f0a3877c
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{_n as t,qi as n}from"./lucide-icons-BdRF0moN.js";import{t as r}from"./jsx-runtime-By8HlURe.js";import{o as i,r as a}from"./react-intl-eZirkCBg.js";import{s as o,t as s}from"./useCurrentUser-C6OJJlWo.js";import{n as c}from"./CustomEmoji-DRcU63lJ.js";import{t as l}from"./useUserStatus-Bgu4AAxG.js";import{t as u}from"./input-CM5Fnyvy.js";import{A as d}from"./index-CYEZWNq6.js";var f=e(n(),1),p=r();function m(){let e=i(),{user:n}=s(),r=l(n?.pubkey),m=d(),{toast:h}=o(),[g,_]=(0,f.useState)(!1),[v,y]=(0,f.useState)(``);return n?g?(0,p.jsxs)(`div`,{className:`space-y-2 px-1`,children:[(0,p.jsx)(u,{value:v,onChange:e=>y(e.target.value.slice(0,80)),placeholder:e.formatMessage({id:`widgets.status.placeholder`,defaultMessage:`What are you up to?`}),className:`h-8 text-base md:text-sm`,maxLength:80,autoFocus:!0,onKeyDown:t=>{if(t.key===`Enter`){t.preventDefault();let n=v.trim();m.mutateAsync({status:n}).then(()=>{_(!1),y(``),h({title:n?e.formatMessage({id:`widgets.status.updated`,defaultMessage:`Status updated`}):e.formatMessage({id:`widgets.status.cleared`,defaultMessage:`Status cleared`})})}).catch(()=>{h({title:e.formatMessage({id:`widgets.status.updateFailed`,defaultMessage:`Failed to update status`}),variant:`destructive`})})}else t.key===`Escape`&&(_(!1),y(``))}}),(0,p.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,p.jsx)(`button`,{onClick:()=>{let t=v.trim();m.mutateAsync({status:t}).then(()=>{_(!1),y(``),h({title:t?e.formatMessage({id:`widgets.status.updated`,defaultMessage:`Status updated`}):e.formatMessage({id:`widgets.status.cleared`,defaultMessage:`Status cleared`})})}).catch(()=>{h({title:e.formatMessage({id:`widgets.status.updateFailed`,defaultMessage:`Failed to update status`}),variant:`destructive`})})},disabled:m.isPending,className:`text-xs font-medium text-primary hover:underline disabled:opacity-50`,children:m.isPending?(0,p.jsx)(t,{className:`size-3 animate-spin`}):(0,p.jsx)(a,{id:`common.save`,defaultMessage:`Save`})}),r.status&&(0,p.jsx)(`button`,{onClick:()=>{m.mutateAsync({status:``}).then(()=>{_(!1),y(``),h({title:e.formatMessage({id:`widgets.status.cleared`,defaultMessage:`Status cleared`})})}).catch(()=>{h({title:e.formatMessage({id:`widgets.status.clearFailed`,defaultMessage:`Failed to clear status`}),variant:`destructive`})})},disabled:m.isPending,className:`text-xs font-medium text-destructive hover:underline disabled:opacity-50`,children:(0,p.jsx)(a,{id:`common.clear`,defaultMessage:`Clear`})}),(0,p.jsx)(`button`,{onClick:()=>{_(!1),y(``)},className:`text-xs text-muted-foreground hover:underline ml-auto`,children:(0,p.jsx)(a,{id:`common.cancel`,defaultMessage:`Cancel`})})]})]}):(0,p.jsx)(`button`,{onClick:()=>{_(!0),y(r.status??``)},className:`flex items-center w-full px-1 py-1 text-sm hover:bg-secondary/40 rounded-lg transition-colors text-left`,children:r.status?(0,p.jsx)(`span`,{className:`truncate text-muted-foreground italic text-xs`,children:(0,p.jsx)(c,{tags:r.tags,children:r.status})}):(0,p.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:(0,p.jsx)(a,{id:`widgets.status.setPrompt`,defaultMessage:`Click to set a status...`})})}):(0,p.jsx)(`p`,{className:`text-sm text-muted-foreground px-1`,children:(0,p.jsx)(a,{id:`widgets.status.loginPrompt`,defaultMessage:`Log in to set a status.`})})}export{m as StatusWidget};
// @license-end
