PageSourceSearch

https://www.hypeduck.ai/_next/static/chunks/43298.f2127b1f19692e0d.js

js hypeduck.ai collected 2026-10-02 01:13:45 UTC 43,794 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[43298],{6696:(e,t,r)=>{r.d(t,{fm:()=>o,kC:()=>n,r5:()=>l,zX:()=>a});let a="x-hd-correlation-id",n="x-hd-request-id",i=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-9a-f][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i,s=null;function l(e){s="string"==typeof e&&i.test(e)?e.toLowerCase():null}function o(){let e={[n]:globalThis.crypto.randomUUID()};return s&&(e[a]=s),e}},12283:(e,t,r)=>{r.d(t,{C5:()=>o,Q1:()=>d,dR:()=>n,hb:()=>s,xA:()=>i,xN:()=>l});var a=r(71011);let n=a.Hd;function i(e){let t=[...e];for(let e=0;t.length<2;e+=1){let r="empty-tail-".concat(e);t.some(e=>e.id===r)||t.push({id:r,text:"",media:[]})}return t}function s(e){return e.map(e=>({text:e.text.trim(),media:e.media.map(e=>{let{kind:t,url:r}=e;return{kind:t,url:r}})})).filter(e=>e.text.length>0).map(e=>e.media.length?e:{text:e.text})}function l(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",a=arguments.length>3?arguments[3]:void 0;return JSON.stringify({threadsPost:e,tail:s(t),brief:r,...void 0===a?{}:{manualWriting:a}})}function o(e){let t=(0,a.ud)(e);return t.ok?t.tail.map((e,t)=>{var r;return{id:"restored-".concat(t),text:e.text,media:(null!=(r=e.media)?r:[]).map(e=>({...e,previewUrl:e.url}))}}):[]}function d(e,t){let r=t.trim().slice(0,n);return r?e.length>=a.u9?{ok:!1,reason:"full"}:{ok:!0,next:[...e,{id:crypto.randomUUID(),text:r,media:[]}]}:{ok:!1,reason:"empty"}}},15948:(e,t,r)=>{r.d(t,{T:()=>i});var a=r(18756);r(26760);var n=r(27633);function i(e){let{className:t,...r}=e;return(0,a.jsx)("textarea",{"data-slot":"textarea",className:(0,n.cn)("flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",t),...r})}},15965:(e,t,r)=>{r.d(t,{DR:()=>i,HP:()=>s,br:()=>x,em:()=>l,gB:()=>m,gP:()=>c,oE:()=>g,q9:()=>u,qu:()=>o,x9:()=>d});var a=r(6696),n=r(6517);function i(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>globalThis.crypto.randomUUID(),a={text:t.text.trim(),scheduledAt:t.scheduledAt,accountId:t.accountId},n=JSON.stringify({...a,channel:"official_api"});return(null==e?void 0:e.fingerprint)===n?e:{fingerprint:n,requestKey:r(),payload:a}}function s(e,t,r){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:()=>globalThis.crypto.randomUUID(),n=JSON.stringify(t);return(null==e?void 0:e.fingerprint)===n?e:{fingerprint:n,requestKey:a(),slots:[...r],slotByItemKey:Object.fromEntries(t.items.flatMap((e,t)=>r[t]?[[e.key,r[t]]]:[])),payload:t,mayHaveCreated:!1}}function l(e,t,r){return t.map((t,a)=>{var n;return null!=(n=e.slotByItemKey[t])?n:r[a]})}function o(e,t,r){if(!e||e.requestKey!==t)return e;let a=e.mayHaveCreated||r.done>0||r.ambiguous>0,n=r.submitted>0&&0===r.ambiguous&&0===r.failed&&r.done===r.submitted,i=!a&&0===r.ambiguous&&0===r.done;return n||i?null:a===e.mayHaveCreated?e:{...e,mayHaveCreated:a}}function d(e,t){return(null==e?void 0:e.requestKey)===t?null:e}function c(e,t){return 408===e||429===e||e>=500||"request_key_requires_publication_verification"===t||"request_key_state_changed"===t}let u=12e4,m=e=>(null==e?void 0:e.name)==="TimeoutError",x=e=>(null==e?void 0:e.submitNoResponse)===!0;function h(e){try{let t=e.timedOut?"publish_submit_timeout":"publish_submit_no_response";(0,n.IS)({name:"PublishSubmitError",message:t,stack:"",route:window.location.pathname,kind:"error",category:"availability",errorCode:t,operation:e.operation,...e.requestId?{requestId:e.requestId}:{},context:{durationMs:e.durationMs,retryable:!0}})}catch(e){}}async function g(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h,n={};try{n=(0,a.fm)()}catch(e){}let i=n[a.kC],s=Date.now();return fetch("/api/scheduled-posts/multi",{method:"POST",headers:{"content-type":"application/json",...n},body:e,signal:AbortSignal.timeout(u)}).catch(e=>{let a=m(e);throw r({operation:t,timedOut:a,durationMs:Date.now()-s,...i?{requestId:i}:{}}),Object.assign(Error(a?"publish_submit_timeout":"publish_submit_no_response",{cause:e}),{submitNoResponse:!0,timedOut:a,...i?{requestId:i}:{}})})}},24280:(e,t,r)=>{r.d(t,{BT:()=>o,Wu:()=>d,ZB:()=>l,Zp:()=>i,aR:()=>s});var a=r(18756);r(26760);var n=r(27633);function i(e){let{className:t,size:r="default",...i}=e;return(0,a.jsx)("div",{"data-slot":"card","data-size":r,className:(0,n.cn)("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground
1/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",t),...i})}function s(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-header",className:(0,n.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",t),...r})}function l(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-title",className:(0,n.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",t),...r})}function o(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-description",className:(0,n.cn)("text-sm text-muted-foreground",t),...r})}function d(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-content",className:(0,n.cn)("px-(--card-spacing)",t),...r})}},34068:(e,t,r)=>{r.d(t,{Ou:()=>l,lM:()=>s,yJ:()=>o});var a=r(2502),n=r(63770);function i(e){return(null!=e?e:"").trim().replace(/^@/,"").toLowerCase()}function s(e){let t=i(e.liveUsername);if("no_extension"===e.phase)return{ok:!1,reason:"no_extension",liveUsername:t};if("checking"===e.phase||"sw_unresponsive"===e.phase)return{ok:!1,reason:"sw_unresponsive",liveUsername:t};if("logged_in"!==e.phase||!t)return{ok:!1,reason:"not_logged_in",liveUsername:t};let r=i(e.targetUsername);if(!r)return{ok:!1,reason:"no_account",liveUsername:t};if("match"!==(0,n.h)(t,r,e.registeredUsernames).kind)return{ok:!1,reason:"account_mismatch",liveUsername:t};if(e.media.length>10)return{ok:!1,reason:"too_many_media",liveUsername:t};for(let r of e.media){var a;if(r.url)continue;let e=null!=(a=r.dataUrl)?a:"";if("image"===r.kind){if(!/^data:image\/[a-z0-9.+-]+;base64,/i.test(e))return{ok:!1,reason:"invalid_media",liveUsername:t};continue}if(!/^data:video\/[a-z0-9.+-]+;base64,/i.test(e))return{ok:!1,reason:"invalid_media",liveUsername:t};if(!/^data:video\/(?:mp4|quicktime|x-m4v);base64,/i.test(e))return{ok:!1,reason:"unsupported_video",liveUsername:t}}let s=e.text.trim();if(!s&&0===e.media.length)return{ok:!1,reason:"empty_text",liveUsername:t};if(s.length>500)return{ok:!1,reason:"text_too_long",liveUsername:t};let l=e.scheduledAtMs-e.nowMs;return l<3e5?{ok:!1,reason:"too_soon",liveUsername:t}:l>648e7?{ok:!1,reason:"too_far",liveUsername:t}:e.outdated?{ok:!1,reason:"version_older",liveUsername:t}:{ok:!0,liveUsername:t}}function l(e){if(!e.hasTail||"checking"===e.phase||"no_extension"===e.phase||"sw_unresponsive"===e.phase)return!1;let t=e.installedVersion;return null==t||"unknown"===t||(0,a.rc)(t,e.minVersion)}function o(e,t){switch(e){case"no_extension":return"예약하려면 PC Chrome의 하입덕 확장이 필요해요. 폰 브라우저에서는 확장 예약을 할 수 없어요.";case"sw_unresponsive":return"확장이 응답하지 않아요 — 크롬 확장 관리에서 하입덕을 새로고침한 뒤 다시 시도해 주세요.";case"not_logged_in":return"threads.com 로그인 계정을 확인하지 못했어요 — threads.com 탭을 열어 로그인한 뒤 다시 시도해 주세요.";case"account_mismatch":return"지금 threads.com에는 @".concat(t.liveUsername,"로 로그인돼 있어요 — @").concat(t.targetUsername,"로 로그인해야 이 계정에 예약할 수 있어요.");case"no_account":return"발행할 스레드 계정을 먼저 선택해 주세요.";case"too_many_media":return"사진\xb7영상은 합계 ".concat(10,"개까지 예약할 수 있어요.");case"unsupported_video":return"영상은 MP4\xb7MOV\xb7M4V만 예약할 수 있어요 — 변환한 뒤 다시 시도해 주세요.";case"invalid_media":return"첨부한 사진\xb7영상을 읽을 수 없어요 — 다시 첨부해 주세요.";case"empty_text":return"글 내용이나 사진\xb7영상을 하나는 넣어 주세요.";case"text_too_long":return"글은 ".concat(500,"자까지 예약할 수 있어요.");case"too_soon":return"예약은 지금부터 5분 뒤 이후로 잡아 주세요 — 더 빠르면 즉시발행을 써 주세요.";case"too_far":return"예약은 75일 이내로 잡아 주세요.";case"version_older":return"확장이 예전 버전이라 예약을 걸 수 없어요 — 크롬 확장을 최신으로 업데이트해 주세요."}}},43298:(e,t,r)=>{r.r(t),r.d(t,{ScheduleComposer:()=>D});var a=r(18756),n=r(1670),i=r.n(n),s=r(97471),l=r(84862),o=r(26760),d=r(95128),
1c=r(47970),u=r(74941),m=r(75394),x=r(45094),h=r(31790),g=r(52070),p=r(34068),f=r(97551),v=r(75970),b=r(52411),y=r(74699),k=r(68226),j=r(62705),w=r(44375),N=r(15965),_=r(57027),I=r(12283),S=r(93259),U=r(71011);let C=e=>"reschedule:".concat(e),M="500자를 넘는 글이 있어요. 본문을 줄여 주세요",T=(0,w.qE)(0,Number.MAX_SAFE_INTEGER);function z(e){let t=e=>String(e).padStart(2,"0");return"".concat(e.getFullYear(),"-").concat(t(e.getMonth()+1),"-").concat(t(e.getDate()),"T").concat(t(e.getHours()),":").concat(t(e.getMinutes()))}function D(e){var t,r,n,D;let{open:O,onOpenChange:P,editing:A,onSaved:q}=e,B=(0,o.useMemo)(()=>z(new Date(Date.now()+36e5)),[]),[E,X]=(0,o.useState)(""),[K,R]=(0,o.useState)([]),J=(0,o.useMemo)(()=>{var e;return(0,S.y)(null!=(e=null==A?void 0:A.tailJson)?e:"")},[null==A?void 0:A.tailJson]),L=(null==A?void 0:A.channel)==="node"&&(null!=(t=A.platform)?t:"threads")==="threads",H=K.some(e=>{var t,r,a;return!e.text.trim()&&e.id.startsWith("stored-")&&(null!=(a=null==J||null==(r=J[Number(e.id.slice(7))])||null==(t=r.media)?void 0:t.length)?a:0)>0}),[F,$]=(0,o.useState)(B),[G,W]=(0,o.useState)(!1),[Y,V]=(0,o.useState)(null),Z=null!=A&&Y===A.id,[Q,ee]=(0,o.useState)(null),[et,er]=(0,o.useState)(null),[ea,en,ei]=(0,j.Z)(w._x.plannerOfficialAccountId,0,T),es=(0,o.useRef)(null),el=(null==A?void 0:A.channel)==="threads_native",[eo,ed]=(0,o.useState)(null),ec=(0,o.useMemo)(()=>{var e,t,r,a;return(0,p.lM)({phase:null!=(e=null==eo?void 0:eo.phase)?e:"checking",liveUsername:null!=(t=null==eo?void 0:eo.username)?t:null,targetUsername:null!=(r=null==A?void 0:A.targetUsername)?r:null,registeredUsernames:(null==A?void 0:A.targetUsername)?[A.targetUsername]:[],text:E,media:[],scheduledAtMs:new Date(F).getTime(),nowMs:Date.now(),outdated:null!=(a=null==eo?void 0:eo.outdated)&&a})},[eo,A,E,F]),{paywallAction:eu,openPaywall:em,closePaywall:ex}=(0,g._t)();(0,o.useEffect)(()=>{if(!O)return;let e=!1;if(ed(null),A){var t,r,a;X(A.text),R((null!=(r=(0,S.y)(null!=(t=A.tailJson)?t:""))?r:[]).map((e,t)=>({id:"stored-".concat(t),text:e.text,media:[]}))),$(z(new Date(A.scheduledAt))),er(null!=(a=A.accountId)?a:null),("extension"===A.channel||"threads_native"===A.channel)&&(0,f.y)().then(ed).catch(()=>ed({phase:"sw_unresponsive",username:null,outdated:!1}))}else{R([]);let t=es.current;t?(X(t.payload.text),$(z(new Date(t.payload.scheduledAt))),er(t.payload.accountId)):(X(""),$(z(new Date(Date.now()+36e5))),er(null)),ee(null),fetch("/api/integrations/threads/publish").then(e=>e.ok?e.json():null).then(t=>{var r;e||ee((null!=(r=null==t?void 0:t.accounts)?r:[]).filter(e=>e.verified&&e.canPublish))}).catch(()=>{e||ee([])})}return()=>{e=!0}},[O,A]),(0,o.useEffect)(()=>{var e,t;if(!O||A||null===Q||!ei)return;let r=null==(e=es.current)?void 0:e.payload.accountId,a=(t=null!=r?r:ea,Q.some(e=>e.id===t)?t:1===Q.length?Q[0].id:null);er(a),void 0===r&&null!==a&&a!==ea?en(a):void 0===r&&null===a&&0!==ea&&en(0)},[A,Q,O,ea,ei,en]);let eh=(0,v.pg)([E.trim()]).texts[0],eg=E.trim().length>0&&E.length<=500&&eh.length<=500&&!G&&!Z&&(!L||!H&&null!==J&&K.every(e=>e.text.length<=I.dR))&&(A?"extension"!==A.channel&&!el||ec.ok:null!==et&&(null==Q?void 0:Q.some(e=>e.id===et))===!0);async function ep(e,t,r){for(let a=0;a<3;a+=1)if(a>0&&await new Promise(e=>setTimeout(e,8e3)),await ef(e,t,r))return!0;return!1}async function ef(e,t,r){let a=await (0,f.cL)(e).catch(()=>null);if(!(null==a?void 0:a.ok))return!1;let n=t.normalize("NFC").replace(/\s+/g," ").trim().slice(0,80);return!(n.length<8)&&a.drafts.some(e=>{var t;return 18e4>=Math.abs(e.scheduledAtMs-r)&&String(null!=(t=e.text)?t:"").normalize("NFC").replace(/\s+/g," ").trim().slice(0,80)===n})}async function ev(e,t){var r,a,n,i;if(eh.length>500)return void d.o.error(M);let o=await (0,b.Rv)({id:e.id,channel:e.channel,status:e.status,text:e.text,scheduledAt:e.scheduledAt,targetUsername:null!=(r=e.targetUsername)?r:"",nativeDraftId:null!=(a=e.nativeDraftId)?a:null});if("ready"!==o.kind)return void d.o.error(o.message,{duration:1e4});if(!window.confirm("기존 Threads 예약을 취소하고 ".concat(z(t).replace("T"," ")," 으로 다시 예약할까요?\n\n먼저 Threads 임시 저장본에서 기존 글이 삭제됩니다. 되돌릴 수 없습니다.")))return;let c=await (0,b.Z1)(e.id,o);if(!c.ok)return void d.o.error((0,b.Wv)(c.error),{duration:1e4});let u=o.username||e.targetUsername||"";await new Promise(e=>setTimeout(e,8e3));let m=await (0,f.M7)({entryPoint:"planner",recovery:{identity:{scopeKey:C(e.id),accountId:e.accountId,username:u},payload:{accounts:[{accountId:null!=(n=e.accountId)?n:0,username:u}],text:eh,scheduledAt:t.toISOString(),media:[],tail:[],draftId:null!=(i=e.draftId)?i:void 0,channel:"threads_native",mode:"schedule",requestKey:"native:".concat(crypto.randomUUID())}},text:eh,scheduledAtMs:t.getTime(),username:u});if(!m.ok){let e=m.error.includes("reservation_guard");if(!e&&await ep(u,eh,t.getTime())){d.o.success("예약을 새 시각으로 다시 잡았어요. 하입덕 기록은 캘린더의 [Threads 예약 확인]으로 맞춰 주세요.",{duration:12e3}),P(!1),q();return}d.o.error(e?"기존 예약은 취소했지만 새 예약을 시작하지 못했어요. 내용이 그대로 남아 있으니 다시 저장해 주세요.":(0,l.j)(m.error)?"기존 예약은 취소했지만 새 예약이 등록됐는지 확인하지 못했어요. Threads 임시 저장본을 확인한 뒤 다시 잡아 주세요.":"기존 예약은 취소했지만 새 예약 등록에 실패했어요. 내용이 그대로 남아 있으니 다시 저장해 주세요.",{duration:12e3}),q();return}if(!(m.pending&&await (0,s.iu)(m.pending,m))){d.o.error("Threads에 새로 예약했지만 하입덕 기록 저장이 안 됐어요. 캘린더에서 예약 확인을 진행해 주세요.",{duration:12e3}),q();return}d.o.success("@".concat(m.username||u," 예약을 새 시각으로 다시 잡았어요")),P(!1),q()}async function eb(){if(!eg)return;let e=new Date(F);if(Number.isNaN(e.getTime()))return void d.o.error("예약 시간이 올바르지 않아요");if(e.getTime()<Date.now()+3e4)return void d.o.error("예약 시간은 최소 1분 뒤로 잡아 주세요");W(!0);try{var t,r,a,n,i;if(A&&await (0,s.LW)(el?{scopeKey:C(A.id),accountId:A.accountId,username:A.targetUsername}:{draftId:A.draftId,postId:A.id,accountId:A.accountId,username:A.targetUsername}))return void d.o.error(s.eM);if(el&&A)return void await ev(A,e);let o=(null==A?void 0:A.channel)==="extension",c=null,u=A?await fetch("/api/scheduled-posts/".concat(A.id),{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({text:E.trim(),scheduledAt:e.toISOString(),...L?{expectedTailJson:null!=(t=A.tailJson)?t:"",tail:K.filter(e=>e.text.trim()).map(e=>({text:e.text.trim(),...e.id.startsWith("stored-")?{sourceIndex:Number(e.id.slice(7))}:{}}))}:{},...o?{channel:"threads_native"}:{}})}):await (0,N.oE)(JSON.stringify((()=>{let t={text:E.trim(),scheduledAt:e.toISOString(),accountId:et};return c=(0,N.DR)(es.current,t),es.current=c,{accounts:[{accountId:et}],text:t.text,scheduledAt:t.scheduledAt,mode:"schedule",channel:"official_api",requestKey:c.requestKey}})()),"planner.schedule.submit");
1if(!u.ok){let e=await u.clone().json().catch(()=>({}));if(A||!c||(0,N.gP)(u.status,null==e?void 0:e.error)||(es.current=(0,N.x9)(es.current,c.requestKey)),await (0,g.AM)(u)){P(!1),em("scheduled_post");return}if((null==e?void 0:e.error)==="request_key_requires_publication_verification"||(null==e?void 0:e.error)==="request_key_state_changed")return void d.o.error("같은 예약이 이미 처리됐을 수 있어 새로 만들지 않았어요. 예약 목록과 Threads 프로필에서 발행 여부를 먼저 확인해 주세요.",{duration:1e4});if((null==e?void 0:e.error)==="state_changed")return void d.o.error("그 사이 예약이 바뀌었어요. 목록을 새로고침한 뒤 다시 수정해 주세요.");if((null==e?void 0:e.error)==="partial_retry_required")return void d.o.error("이미 발행된 본문이나 타래가 있어 예약 내용을 바꿀 수 없어요. 발행 결과를 먼저 확인해 주세요.");if((null==e?void 0:e.error)==="too_many_links")return void d.o.error(U.HK);if((null==e?void 0:e.error)==="disclosure_overflow")return void d.o.error(M);if((null==e?void 0:e.error)==="node_not_ready")return void d.o.error((0,y.mg)(e));if((null==e?void 0:e.error)==="result_conflict_pending")return void d.o.error(y.iM,{action:k.Ep});throw Error((null==e?void 0:e.error)||String(u.status))}if(!A&&c&&(es.current=(0,N.x9)(es.current,c.requestKey)),o&&A){let t=await (0,f.M7)({entryPoint:"planner",recovery:{identity:{draftId:A.draftId,postId:A.id,accountId:A.accountId,username:A.targetUsername},payload:{accounts:[{accountId:null!=(r=A.accountId)?r:0,username:null!=(a=A.targetUsername)?a:""}],text:eh,scheduledAt:e.toISOString(),media:[],tail:[],draftId:null!=(n=A.draftId)?n:void 0,channel:"threads_native",mode:"schedule",requestKey:"native:".concat(crypto.randomUUID())}},text:eh,scheduledAtMs:e.getTime(),username:null!=(i=A.targetUsername)?i:""});if(t.ok){if(!(t.pending&&await (0,s.iu)(t.pending,t))){V(A.id),d.o.error(s.eM),q();return}d.o.success("@".concat(t.username||A.targetUsername," threads에 예약했어요 — 컴퓨터를 꺼둬도 그 시각에 올라가요"))}else if((0,l.j)(t.error)){V(A.id),d.o.error(l.h,{duration:1e4}),q();return}else{let e=await fetch("/api/scheduled-posts/".concat(A.id),{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({action:"demote_native"})}).catch(()=>null);d.o.error((null==e?void 0:e.ok)?"threads에 예약을 걸지 못해 이 예약을 취소했어요 (".concat(t.error.split(":")[0],") — 다시 잡아 주세요"):"threads에 예약을 걸지 못했고 정리도 실패했어요 — 캘린더에서 이 예약을 취소해 주세요",{duration:1e4})}}else d.o.success("예약했어요");P(!1),q()}catch(e){(0,N.br)(e)?d.o.error("서버 응답이 없어 예약 결과를 확인하지 못했어요 — 예약 목록을 새로고침해 확인하고, 없으면 같은 내용으로 다시 눌러 주세요",{duration:1e4}):d.o.error("저장에 실패했어요 (".concat(e.message,")"))}finally{W(!1)}}return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(x.lG,{open:O,onOpenChange:P,children:(0,a.jsxs)(x.Cf,{className:"max-h-[85dvh] overflow-y-auto sm:max-w-lg",children:[Z&&(0,a.jsxs)("p",{role:"alert",className:"rounded-xl bg-point-bg p-3 text-sm leading-6 text-point-ink",children:[l.h," ",(0,a.jsx)("a",{href:"https://www.threads.com/",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"Threads에서 확인하기"})]}),(0,a.jsx)(x.c7,{children:(0,a.jsx)(x.L3,{children:A?"예약 수정":"새 예약"})}),(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsx)("div",{className:"mt-1 size-10 shrink-0 rounded-full bg-muted"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)(u.A,{autoFocus:!0,value:E,maxLength:500,onChange:e=>X(e.target.value),placeholder:"새로운 소식이 있나요?",rows:3,maxAutoGrowPx:200,className:"max-w-none",isLoading:G,loadingText:"저장하는 중…",onSend:()=>void eb()}),(0,a.jsx)("p",{className:"mt-1 text-right text-xs text-muted-foreground",children:"".concat(E.length,"/").concat(500)})]})]}),L&&(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(_.C,{drafts:K,onChange:R,disabled:G||null===J}),H&&(0,a.jsx)("p",{role:"alert",className:"text-xs text-destructive",children:"첨부가 있는 타래는 내용을 적거나 타래 삭제 버튼으로 지워 주세요."}),null===J?(0,a.jsx)("p",{role:"alert",className:"text-xs text-destructive",children:"타래 정보를 읽지 못했어요. 목록을 새로고침해 주세요."}):J.some(e=>{var t;return null==(t=e.media)?void 0:t.length})&&(0,a.jsx)("p",{className:"text-xs leading-5 text-muted-foreground",children:"기존 타래의 사진\xb7영상은 그대로 유지돼요. 타래 삭제 버튼을 누르면 해당 첨부도 함께 빠져요."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-3 rounded-xl border border-border p-3",children:[(0,a.jsxs)("label",{className:"flex items-center justify-between gap-3",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-foreground",children:"예약 시각"}),(0,a.jsx)(m.p,{type:"datetime-local",value:F,onChange:e=>$(e.target.value),className:"w-auto rounded-xl"})]}),!A&&(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-foreground",children:"공식 발행 계정"}),null===Q?(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:"연결 확인 중…"}):0===Q.length?(0,a.jsx)(i(),{href:"/dashboard/settings",className:"text-xs font-medium text-brand-600 underline-offset-4 hover:underline",children:"설정에서 Threads 공식 연결"}):1===Q.length?(0,a.jsxs)("span",{className:"text-sm font-semibold text-foreground",children:["@",Q[0].username]}):(0,a.jsxs)(h.l6,{value:null===et?void 0:String(et),onValueChange:e=>{let t=Number(e);er(t),en(t)},children:[(0,a.jsx)(h.bq,{className:"w-48 rounded-xl","aria-label":"공식 발행 계정 선택",children:(0,a.jsx)(h.yv,{placeholder:"계정 선택"})}),(0,a.jsx)(h.gC,{children:Q.map(e=>(0,a.jsxs)(h.eb,{value:String(e.id),children:["@",e.username]},e.id))})]})]}),(null==A?void 0:A.channel)==="official_api"&&(0,a.jsxs)("p",{className:"rounded-xl bg-muted px-3 py-2 text-xs text-muted-foreground",children:["공식 발행 계정 ",A.targetUsername?"@".concat(A.targetUsername):"#".concat(null!=(r=A.accountId)?r:"확인 필요"),"에 고정된 예약이에요."]}),el&&(0,a.jsx)("p",{className:ec.ok?"rounded-xl bg-point-bg px-3 py-2 text-xs leading-5 text-point-ink":"rounded-xl bg-muted px-3 py-2 text-xs leading-5 text-muted-foreground",children:ec.ok?"이 예약은 threads가 직접 발행해요. 저장하면 기존 예약을 먼저 취소하고 새 내용\xb7시각으로 다시 등록해요(되돌릴 수 없어요).":(0,p.yJ)(ec.reason,{liveUsername:ec.liveUsername,targetUsername:null!=(n=null==A?void 0:A.targetUsername)?n:""})}),(null==A?void 0:A.channel)==="extension"&&(0,a.jsx)("p",{className:ec.ok?"rounded-xl border border-brand-500/30 bg-brand-500/5 p-3 text-xs leading-5 text-foreground":"rounded-xl bg-point-bg px-3 py-2 text-xs leading-5 text-point-ink",children:ec.ok?"저장하면 threads에 예약이 등록돼요 — 컴퓨터를 꺼둬도 그 시각에 올라가요. 등록 뒤에는 여기서 수정할 수 없어요.":(0,p.yJ)(ec.reason,{liveUsername:ec.liveUsername,targetUsername:null!=(D=A.targetUsername)?D:""})})]}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)(c.$,{variant:"ghost",className:"rounded-xl",onClick:()=>P(!1),children:"취소"}),(0,a.jsx)(c.$,{className:"rounded-xl",disabled:!eg,onClick:eb,children:G?"저장 중…":A?"수정":"예약"})]})]})}),eu&&(0,a.jsx)(g.LF,{action:eu,open:!0,onOpenChange:e=>{e||ex()}})]})}},45002:(e,t,r)=>{r.d(t,{x:()=>i});var a=r(26760),n=r(39987);function i(){var e;let t=null!=(e=(0,n.I)())&&e,[r,i]=(0,a.useState)(!1);return(0,a.useEffect)(()=>i(!0),[]),r&&t}},57027:(e,t,r)=>{r.d(t,{C:()=>p});var a=r(18756),n=r(24280),i=r(47970),s=r(15948),l=r(93519),o=r(18889),d=r(46825),c=r(7697),u=r(38513),m=r(82442),x=r(27633),h=r(71011),g=r(12283);function p(e){let{drafts:t,onChange:r,onAttachMedia:p,disabled:f=!1,hideAddButton:v=!1,hideMedia:b=!1,headerAction:y}=e,k=(e,a)=>{r(t.map(t=>
1t.id===e?{...t,...a}:t))};return v&&0===t.length?null:(0,a.jsxs)("section",{"aria-label":"타래 편집",className:"flex shrink-0 flex-col gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("p",{className:"ml-4 min-w-0 break-keep text-[11px] font-semibold text-muted-foreground",children:"타래 댓글은 본문이 올라간 직후 순서대로 자동으로 달려요 — 따로 발행하지 않아도 돼요"}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1.5",children:[y,!v&&t.length<h.u9&&(0,a.jsxs)(i.$,{type:"button",size:"sm",variant:"outline",disabled:f,className:"hd-tap h-9 shrink-0 gap-1.5 rounded-full px-3.5 text-[13px] font-semibold",onClick:()=>r([...t,{id:crypto.randomUUID(),text:"",media:[]}]),children:[(0,a.jsx)(l.F,{className:"size-4"}),"타래 추가 (",(0,m.aS)(t.length),"/",(0,m.aS)(h.u9),")"]})]})]}),f&&(0,a.jsx)("p",{className:"ml-4 break-keep text-[11px] font-semibold text-muted-foreground",children:"지금은 편집할 수 없어요 — 생성\xb7업로드\xb7발행이 끝나면 다시 쓸 수 있어요. 적어둔 타래는 그대로 함께 올라가요"}),t.map((e,l)=>{let v=l+2,y=e.media.length>=h.w5,j=!e.text.trim(),w=f||y||j,N=e.text.length>g.dR;return(0,a.jsxs)(n.Zp,{className:(0,x.cn)("relative ml-4 gap-0 rounded-[20px] border-border bg-card p-4 shadow-none",e.text.length>g.dR&&"border-destructive/40"),children:[(0,a.jsx)("span",{"aria-hidden":!0,className:"absolute -left-4 top-6 h-px w-4 bg-border"}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsxs)("p",{className:"text-xs font-bold text-muted-foreground",children:[(0,m.aS)(v),"번 타래"]}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsxs)("span",{className:"text-[11px] font-semibold tabular-nums ".concat(N?"text-destructive":"text-muted-foreground"),children:[(0,m.aS)(e.text.length),"/",(0,m.aS)(g.dR)]}),(0,a.jsx)(i.$,{type:"button",variant:"ghost",size:"icon",disabled:f,"aria-label":"".concat((0,m.aS)(v),"번 타래 삭제"),onClick:()=>r(t.filter(t=>t.id!==e.id)),className:"size-8 rounded-xl text-muted-foreground hover:text-destructive",children:(0,a.jsx)(o.l,{className:"size-4"})})]})]}),(0,a.jsx)(s.T,{value:e.text,disabled:f,"aria-label":"".concat((0,m.aS)(v),"번 타래 내용"),placeholder:"이어질 내용 — 추가 후기\xb7안내\xb7링크 등을 적어주세요",maxLength:g.dR,className:"mt-2 min-h-20 resize-none rounded-xl",onChange:t=>k(e.id,{text:t.target.value}),onPaste:t=>{if(b||j||!p)return;let r=[...t.clipboardData.files];r.length&&(t.preventDefault(),p(e.id,r))}}),b&&e.media.length>0&&(0,a.jsxs)("p",{className:"mt-2 text-[11px] font-semibold text-muted-foreground",children:["사진\xb7영상 ",(0,m.aS)(e.media.length),"개가 붙어 있어요 \xb7 그대로 함께 올라가요"]}),!b&&e.media.length>0&&(0,a.jsx)("div",{"aria-label":"".concat((0,m.aS)(v),"번 타래 미디어"),className:"mt-2 flex gap-1.5 overflow-x-auto pb-1",children:e.media.map((t,r)=>(0,a.jsxs)("div",{className:"relative size-16 shrink-0",children:["image"===t.kind?(0,a.jsx)("img",{src:t.previewUrl,alt:"".concat((0,m.aS)(v),"번 타래 사진 ").concat((0,m.aS)(r+1)),loading:"lazy",decoding:"async",className:"size-full rounded-xl border border-border object-cover"}):(0,a.jsx)("video",{src:t.previewUrl,muted:!0,preload:"metadata","aria-label":"".concat((0,m.aS)(v),"번 타래 영상 ").concat((0,m.aS)(r+1)),className:"size-full rounded-xl border border-border object-cover"}),(0,a.jsx)(i.$,{type:"button",variant:"ghost",size:"icon",disabled:f,"aria-label":"".concat((0,m.aS)(v),"번 타래 미디어 ").concat((0,m.aS)(r+1)," 제거"),onClick:()=>k(e.id,{media:e.media.filter((e,t)=>t!==r)}),className:"absolute -right-1 -top-1 size-6 rounded-full bg-foreground text-background hover:bg-foreground
1/80",children:(0,a.jsx)(d.X,{className:"size-3"})})]},"".concat(t.url,"-").concat(r)))}),!b&&e.media.length>0&&(0,a.jsxs)("p",{className:"mt-2 flex items-start gap-1 text-[11px] font-semibold text-muted-foreground",children:[(0,a.jsx)(c.N,{className:"mt-px size-3 shrink-0"}),(0,a.jsx)("span",{children:"타래 미디어는 확장 발행에서만 올라가요 — 노드로 예약하면 거절돼요"})]}),!b&&p&&(0,a.jsx)(i.$,{asChild:!0,variant:"ghost",size:"sm","aria-disabled":w,className:"hd-tap mt-2 h-auto w-fit rounded-xl px-2 py-1.5 text-xs font-bold text-muted-foreground aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:text-foreground",children:(0,a.jsxs)("label",{role:"button",tabIndex:w?-1:0,"aria-disabled":w,onKeyDown:e=>{var t;w||"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),null==(t=e.currentTarget.querySelector('input[type="file"]'))||t.click())},children:[(0,a.jsx)(u.f,{className:"size-4"}),j?"내용을 적으면 사진\xb7영상을 붙일 수 있어요":y?"미디어 ".concat((0,m.aS)(h.w5),"개 첨부됨"):"사진\xb7영상 첨부 또는 붙여넣기",(0,a.jsx)("input",{type:"file",accept:"image/*,video/mp4,video/quicktime,video/x-m4v",multiple:!0,hidden:!0,disabled:w,onChange:t=>{var r;let a=[...null!=(r=t.target.files)?r:[]];t.target.value="",a.length&&p(e.id,a)}})]})})]},e.id)})]})}},63770:(e,t,r)=>{r.d(t,{h:()=>n});var a=r(49193);function n(e,t,r){let n=(0,a.p)(e),i=(0,a.p)(t);return n&&i&&n!==i?r.map(a.p).filter(Boolean).includes(n)?{kind:"other_account",live:n}:{kind:"unverified",live:n}:{kind:"match"}}},74941:(e,t,r)=>{r.d(t,{A:()=>N});var a=r(18756),n=r(46736),i=r(66296),s=r(75534),l=r(71966),o=r(68148),d=r(45002),c=r(26760),u=r(54275),m=r(72975),x=r(12058),h=r(27633);let g={default:{primaryBg:"linear-gradient(90deg, var(--tk-brand-500), var(--tk-point), color-mix(in oklch, var(--tk-brand-500) 60%, var(--tk-point)), var(--tk-brand-500))",secondaryBg:"linear-gradient(90deg, var(--tk-point), color-mix(in oklch, var(--tk-point) 55%, var(--tk-brand-500)), var(--tk-brand-500))",tertiaryBg:"linear-gradient(90deg, var(--tk-brand-500), color-mix(in oklch, var(--tk-brand-500) 40%, var(--tk-point)), var(--tk-point))"},success:{primaryBg:"linear-gradient(90deg, var(--tk-ok), color-mix(in oklch, var(--tk-ok) 70%, var(--tk-point)), var(--tk-ok))",secondaryBg:"linear-gradient(90deg, color-mix(in oklch, var(--tk-ok) 60%, transparent), var(--tk-ok))",tertiaryBg:"linear-gradient(90deg, var(--tk-ok), color-mix(in oklch, var(--tk-ok) 50%, var(--tk-brand-500)))"},destructive:{primaryBg:"linear-gradient(90deg, var(--tk-bad), color-mix(in oklch, var(--tk-bad) 70%, var(--tk-warn)), var(--tk-bad))",secondaryBg:"linear-gradient(90deg, color-mix(in oklch, var(--tk-bad) 60%, transparent), var(--tk-bad))",tertiaryBg:"linear-gradient(90deg, var(--tk-bad), color-mix(in oklch, var(--tk-bad) 55%, var(--tk-brand-500)))"}};function p(e){let{borderGlow:t,reduceMotion:r}=e;return(0,a.jsx)("div",{className:"pointer-events-none absolute inset-0 z-0 overflow-hidden rounded-2xl",children:(0,a.jsxs)(l.P.div,{animate:{opacity:r?.82*t.opacityIdle:t.opacityIdle},className:"absolute inset-x-0 bottom-0 h-[58%]",transition:{duration:.25,ease:"easeOut"},children:[(0,a.jsx)(l.P.div,{animate:{transform:t.primaryX},className:"absolute inset-0 will-change-transform",transition:{duration:r?.01:t.durationMain,repeat:r?0:1/0,ease:["easeInOut","easeInOut"]},children:(0,a.jsx)("div",{className:"-bottom-10 absolute left-0 h-32 w-88 blur-2xl",style:{background:t.primaryBg}})}),(0,a.jsx)(l.P.div,{animate:{transform:t.secondaryX},className:"absolute inset-0 will-change-transform",transition:{duration:r?.01:t.durationSec,repeat:r?0:1/0,ease:["easeInOut","easeInOut"]},children:(0,a.jsx)("div",{className:"-bottom-7 absolute left-0 h-24 w-52 blur-2xl",style:{background:t.secondaryBg}})}),(0,a.jsx)(l.P.div,{animate:{transform:t.tertiaryX},className:"absolute inset-0 will-change-transform",transition:{duration:r?.01:t.durationTer,repeat:r?0:1/0,ease:["easeInOut","easeInOut"]},children:(0,a.jsx)("div",{className:"-bottom-5 absolute left-0 h-20 w-44 blur-xl",style:{background:t.tertiaryBg}})})]})})}let f=e=>({duration:.2*!e,ease:"easeOut"}),v=e=>({exit:{opacity:+!!e,scale:e?1:.88},initial:{opacity:+!!e,scale:e?1:.88}});function b(e){let{className:t,reduceMotion:r}=e;return(0,a.jsx)("span",{className:(0,h.cn)("inline-flex origin-center text-muted-foreground",!r&&"animate-spin",t),children:(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-4 w-4",focusable:"false",viewBox:"0 0 24 24",children:[(0,a.jsx)("circle",{className:"opacity-[0.22]",cx:"12",cy:"12",fill:"none",r:"9",stroke:"currentColor",strokeWidth:"2.25"}),(0,a.jsx)("circle",{cx:"12",cy:"12",fill:"none",r:"9",stroke:"currentColor",strokeDasharray:"14 42",strokeLinecap:"round",strokeWidth:"2.25"})]})})}function y(e){let{text:t,animateKey:r,reduceMotion:n,staggerSec:i=.018,charDurationSec:s=.16,className:o,alignTop:d}=e,u=(0,c.useMemo)(()=>{let e=new Map;return Array.from(t,t=>{var r;let a=null!=(r=e.get(t))?r:0;return e.set(t,a+1),{char:t,key:"".concat(t,"-").concat(a)}})},[t]);return(0,a.jsx)(l.P.span,{animate:"visible",className:(0,h.cn)("pointer-events-none absolute inset-x-0 text-pretty text-muted-foreground",d?"top-0 max-h-full overflow-hidden flex flex-wrap content-start gap-x-0":"inset-y-0 flex items-center",o),initial:"hidden",variants:{hidden:{},visible:{transition:{staggerChildren:n?0:i}}},children:u.map(e=>(0,a.jsx)(l.P.span,{className:"inline-block whitespace-pre-wrap",transition:{duration:n?0:s,ease:"easeOut"},variants:{hidden:{opacity:+!!n},visible:{opacity:1}},children:e.char},e.key))},r)}function k(e){let{reduceMotion:t}=e,r=v(t);
1return(0,a.jsx)(l.P.div,{animate:{opacity:1,scale:1},"aria-hidden":!0,className:(0,h.cn)("absolute inset-0 flex items-center justify-center rounded-full","pointer-events-none bg-muted text-muted-foreground shadow-foreground/10 shadow-sm ring-1 ring-foreground/10"),exit:r.exit,initial:r.initial,layoutId:"animated-composer-trailing",transition:f(t),children:(0,a.jsx)(b,{reduceMotion:t})},"composer-trailing-loading")}function j(e){let{reduceMotion:t,disabled:r,onClick:s}=e,o=v(t);return(0,a.jsx)(l.P.div,{animate:{opacity:1,scale:1},className:"absolute inset-0",exit:o.exit,initial:o.initial,layoutId:"animated-composer-trailing",transition:f(t),children:(0,a.jsxs)(n.$,{className:(0,h.cn)("flex size-full min-h-10 min-w-10 select-none items-center justify-center rounded-full outline-none","t-tab shadow-foreground/10 shadow-sm ring-1 ring-foreground/10","focus-visible:ring-2 focus-visible:ring-ring/35","fine-hover:enabled:hover:bg-accent fine-hover:enabled:hover:text-accent-foreground","enabled:active:scale-[0.96] motion-reduce:enabled:active:scale-100",r?"pointer-events-none bg-muted/80 text-muted-foreground opacity-50":"bg-primary text-primary-foreground fine-hover:hover:bg-primary/90"),disabled:r,onClick:s,type:"button",children:[(0,a.jsx)(i.M,{"aria-hidden":!0,className:"size-4 shrink-0"}),(0,a.jsx)("span",{className:"sr-only",children:"보내기"})]})},"composer-trailing-send")}function w(e){let{reduceMotion:t,emphasis:r}=e,n=t?{duration:0}:{duration:18,repeat:1/0,ease:"easeInOut"},i={...n,ease:["easeInOut","easeInOut"]};return(0,a.jsxs)("div",{className:"pointer-events-none absolute inset-0 overflow-hidden rounded-2xl",children:[(0,a.jsx)(l.P.div,{animate:t?{opacity:r?.11:.07}:{opacity:r?[.08,.14,.08]:[.05,.1,.05],transform:["translateX(-4%) translateY(-2%)","translateX(5%) translateY(3%)","translateX(-4%) translateY(-2%)"]},className:"-top-32 -left-20 absolute size-88 blur-3xl",style:{background:"radial-gradient(ellipse 80% 70% at 35% 35%, rgba(255, 0, 128, 0.28) 0%, rgba(121, 40, 202, 0.14) 45%, transparent 72%)"},transition:{...n,transform:i}}),(0,a.jsx)(l.P.div,{animate:t?{opacity:r?.1:.06}:{opacity:r?[.07,.12,.07]:[.04,.09,.04],transform:["translateX(5%) translateY(2%)","translateX(-4%) translateY(-2%)","translateX(5%) translateY(2%)"]},className:"-top-28 -right-16 absolute size-80 blur-3xl",style:{background:"radial-gradient(ellipse 75% 68% at 65% 40%, rgba(0, 212, 255, 0.22) 0%, rgba(0, 112, 243, 0.12) 48%, transparent 70%)"},transition:{...n,duration:22*!t,transform:{...i,duration:22*!t}}}),(0,a.jsx)("div",{"aria-hidden":!0,className:"absolute inset-0 bg-[radial-gradient(ellipse_120%_80%_at_50%_100%,transparent_0%,color-mix(in_oklch,var(--background)_88%,transparent)_55%,transparent_100%)] opacity-70"})]})}let N=(0,c.forwardRef)(function(e,t){var r,i,l,f;let{className:v,value:b,onChange:N,placeholder:_="무슨 생각을 하고 있나요?",blobTranslucent:I=!1,isLoading:S=!1,loadingText:U="보내는 중…",loadingStaggerSec:C=.038,loadingCharDurationSec:M=.36,disabled:T,readOnly:z,onSend:D,onAttach:O,showAttach:P,attachHint:A,showSendButton:q=!0,leading:B,onFilesDrop:E,dropLabel:X="여기에 놓으면 첨부돼요",dropFormatHint:K="JPG \xb7 PNG \xb7 MP4 \xb7 MOV",dropAccept:R="image/*,video/*",submitOnEnter:J=!1,autoGrow:L=!0,maxAutoGrowPx:
1H=280,actions:F,onKeyDown:$,...G}=e,W=I||S,[Y,V]=(0,c.useState)(""),[Z,Q]=(0,c.useState)(!1),[ee,et]=(0,c.useState)(0),[er,ea]=(0,c.useState)(0),en=(0,c.useRef)(null),ei=(0,c.useRef)(!1),es=(0,c.useRef)(void 0);(0,c.useEffect)(()=>()=>{void 0!==es.current&&window.clearTimeout(es.current)},[]);let el=(0,c.useRef)(S),eo=(0,d.x)(),ed=(0,x.B)(),ec=(0,c.useId)();(0,c.useEffect)(()=>{S&&!el.current&&ea(e=>e+1),el.current=S},[S]);let eu=(0,c.useCallback)(e=>{en.current=e,"function"==typeof t?t(e):t&&(t.current=e)},[t]),em=void 0===b?Y:b,ex=String(em).trim().length>0,eh=ex&&!S&&!T&&!z,eg=(null!=P?P:!!O)&&!!O,ep=(0,c.useCallback)(()=>{let e=en.current;if(!(e&&L))return;e.style.height="auto";let t=Math.min(e.scrollHeight,H);e.style.height="".concat(t,"px")},[L,H]);(0,c.useEffect)(()=>{ep()},[ep,em]);let ef=(0,c.useCallback)(()=>{eh&&(null==D||D())},[eh,D]),ev=(0,c.useMemo)(()=>(function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"default",a=g[r];return{opacityIdle:e?t?.92:.72:t?.78:.5,primaryBg:a.primaryBg,secondaryBg:a.secondaryBg,tertiaryBg:a.tertiaryBg,primaryX:["translateX(-5%)","translateX(75%)","translateX(-5%)"],secondaryX:["translateX(65%)","translateX(10%)","translateX(65%)"],tertiaryX:["translateX(25%)","translateX(55%)","translateX(25%)"],durationMain:6,durationSec:5,durationTer:4}})(W,Z),[W,Z]),eb=(0,c.useRef)(0),[ey,ek]=(0,c.useState)(!1),ej=!!E&&!T&&!S,ew=e=>{var t,r;return Array.from(null!=(r=null==(t=e.dataTransfer)?void 0:t.types)?r:[]).includes("Files")},eN=ej?{onDragEnter:e=>{ew(e)&&(e.preventDefault(),eb.current+=1,ek(!0))},onDragOver:e=>{ew(e)&&e.preventDefault()},onDragLeave:()=>{eb.current=Math.max(0,eb.current-1),0===eb.current&&ek(!1)},onDrop:e=>{e.stopPropagation(),eb.current=0,ek(!1)}}:{};return ej&&ey?(0,a.jsx)("div",{className:(0,h.cn)("relative w-full max-w-2xl",v),...eN,children:(0,a.jsx)(u.zG,{accept:R,className:"max-w-none",emptyLabel:X,formatHint:K,multiple:!0,onFiles:e=>{eb.current=0,ek(!1),null==E||E(e)},showSuccessThumbnails:!1,successResetMs:1})}):(0,a.jsx)("div",{className:(0,h.cn)("relative w-full max-w-2xl",v),...eN,children:(0,a.jsxs)("div",{className:"relative rounded-2xl p-px",children:[(0,a.jsx)(w,{emphasis:Z||W,reduceMotion:eo}),(0,a.jsx)(p,{borderGlow:ev,reduceMotion:eo}),(0,a.jsxs)("div",{"aria-busy":S||void 0,onMouseDown:e=>{var t;if(T||S)return;let r=e.target;!r||r.closest("button, a, input, textarea, select, [role='button'], [contenteditable]")||(e.preventDefault(),null==(t=en.current)||t.focus())},className:(0,h.cn)("relative z-10 flex flex-col gap-2 rounded-2xl px-4 py-3","border border-border","shadow-black/5 shadow-sm dark:shadow-black/30","t-resize",Z&&"border-ring/70 dark:border-zinc-500/45",W&&"backdrop-blur-xl backdrop-saturate-150"),style:{background:W?"linear-gradient(to bottom, color-mix(in oklch, var(--card) 82%, transparent) 0%, color-mix(in oklch, var(--card) 70%, transparent) 100%)":"linear-gradient(to bottom, var(--card) 0%, color-mix(in oklch, var(--card) 94%, var(--muted)) 100%)"},children:[B?(0,a.jsx)("div",{className:"min-w-0",children:B}):null,(0,a.jsxs)("div",{className:"flex min-h-0 gap-3",children:[(0,a.jsx)(m.t6,{size:32,mood:S?"loading":"brand",still:ed&&!S,className:"mt-0.5 shrink-0"}),(0,a.jsxs)("div",{className:"relative min-w-0 flex-1",style:{minHeight:"calc(".concat(null!=(r=G.rows)?r:4," * 1.625rem)")},children:[(0,a.jsx)("textarea",{...G,"aria-label":null!=(i=G["aria-label"])?i:"메시지",className:(0,h.cn)("w-full resize-none bg-transparent text-base text-foreground leading-relaxed antialiased outline-none","caret-foreground placeholder:text-muted-foreground",(S||T)&&"text-transparent caret-transparent"),disabled:T,id:null!=(l=G.id)?l:ec,onBlur:()=>Q(!1),onChange:e=>{let t=String(em).length;0===e.target.value.length&&t>0&&et(e=>e+1),N?N(e):V(e.target.value),queueMicrotask(ep)},onCompositionStart:()=>{void 0!==es.current&&(window.clearTimeout(es.current),es.current=void 0),ei.current=!0},onCompositionEnd:()=>{es.current=window.setTimeout(()=>{ei.current=!1,es.current=void 0},0)},onFocus:()=>Q(!0),onKeyDown:e=>{if((null==$||$(e),!e.defaultPrevented&&"Enter"===e.key)&&!ei.current&&!e.nativeEvent.isComposing&&229!==e.nativeEvent.keyCode){if(e.metaKey||e.ctrlKey||J&&!e.shiftKey)e.preventDefault(),ef()}},placeholder:"",readOnly:z||S,ref:eu,rows:null!=(f=G.rows)?f:4,value:em}),S&&(0,a.jsx)(y,{alignTop:!0,animateKey:er,charDurationSec:M,className:"pr-1",reduceMotion:eo,staggerSec:C,text:U}),!(ex||S)&&(0,a.jsx)(y,{alignTop:!0,animateKey:ee,className:"pr-1",reduceMotion:eo,text:_})]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-end gap-2 border-border/50 border-t pt-2",children:[eg?(0,a.jsxs)(n.$,{className:(0,h.cn)("hd-tap flex min-h-10 min-w-10 shrink-0 select-none items-center justify-center rounded-full outline-none","t-tab bg-muted text-muted-foreground shadow-foreground
1/10 shadow-sm ring-1 ring-foreground/10","fine-hover:hover:bg-accent fine-hover:hover:text-accent-foreground","focus-visible:ring-2 focus-visible:ring-ring/35","enabled:active:scale-[0.96] motion-reduce:enabled:active:scale-100",(T||S)&&"pointer-events-none opacity-40"),disabled:T||S,onClick:O,title:null!=A?A:"사진\xb7영상 첨부",type:"button",children:[(0,a.jsx)(s.x,{"aria-hidden":!0,className:"size-4 shrink-0"}),(0,a.jsx)("span",{className:"sr-only",children:"사진\xb7영상 첨부"})]}):null,F?(0,a.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-1",children:F}):null,q?(0,a.jsx)("div",{className:"relative size-10 shrink-0",children:(0,a.jsx)(o.N,{initial:!1,mode:"popLayout",children:S?(0,a.jsx)(k,{reduceMotion:eo}):(0,a.jsx)(j,{disabled:!eh,onClick:ef,reduceMotion:eo})})}):null]})]})]})})})},84862:(e,t,r)=>{r.d(t,{h:()=>a,j:()=>n});let a="예약 결과를 확인하지 못했어요. 중복 예약을 막기 위해 다시 시도하기 전에 Threads 예약 목록을 확인해 주세요.";function n(e){let t=e.split(":",1)[0];return"schedule_outcome_unknown"===t||"bridge_timeout"===t}}}]);

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.