| 123 |
- import{a as e,n as t,r as n}from"./react-dom-stZKkA6x.js";import{d as r,f as i,i as a,l as o,o as s,r as c}from"./theme-JEAJA3Ef.js";import{G as l,M as u,i as d,kt as f,n as p,st as ee,t as m}from"./jsx-runtime-dm82oUI8.js";import{a as te,i as ne,o as h,t as re}from"./grid-oQFtU3R0.js";import{n as ie,t as ae}from"./table-DZMCIB4H.js";import{t as g}from"./badge-CT2dDAGA.js";import{i as oe,n as se,t as ce}from"./SectionCard-DDGEHf10.js";import{t as le}from"./input-number-5vwSxUlw.js";import{t as _}from"./descriptions-vs1os_w7.js";import{t as v}from"./form-lkDIWt8f.js";import{t as y}from"./input-0_Xo22Fl.js";import{t as b}from"./list-B0gNP0uN.js";import{t as ue}from"./modal-DFePRHO7.js";import{t as x}from"./CopyOutlined-CqLRh6yQ.js";import{n as de,t as fe}from"./EditOutlined-BiwqHVQr.js";import{t as S}from"./ExportOutlined-659DgC0r.js";import{t as pe}from"./PlusOutlined-YlpF_uyR.js";import{t as me}from"./ReloadOutlined-B6H5UA27.js";import{t as he}from"./SearchOutlined-DQht26Mm.js";import{_ as C,a as ge,b as _e,f as ve,h as ye,i as be,m as xe,n as Se,p as Ce,r as w,s as T,t as we}from"./index-avDTLp8M.js";import{t as E}from"./EmptyState-rI31ioMm.js";import{t as Te}from"./MailboxPermissionTags-ORMgZe2y.js";import{t as Ee}from"./StatusPill-BM21x0ED.js";import{t as D}from"./CodeBlock-ZqtC96TH.js";import{n as De,t as Oe}from"./navigation-state-ixI_efPF.js";var ke=n((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V687h97.9c11.6 32.8 32 62.3 59.1 84.7 34.5 28.5 78.2 44.3 123 44.3s88.5-15.7 123-44.3c27.1-22.4 47.5-51.9 59.1-84.7H792v-63H643.6l-5.2 24.7C626.4 708.5 573.2 752 512 752s-114.4-43.5-126.5-103.3l-5.2-24.7H232V136h560v752zM320 341h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 160h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z`}}]},name:`container`,theme:`outlined`}})),O=e(t()),k=e(ke());function Ae(){return Ae=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ae.apply(this,arguments)}var A=O.forwardRef((e,t)=>O.createElement(r,Ae({},e,{ref:t,icon:k.default}))),je=e(n((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z`}}]},name:`file-text`,theme:`outlined`}}))());function j(){return j=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},j.apply(this,arguments)}var Me=O.forwardRef((e,t)=>O.createElement(r,j({},e,{ref:t,icon:je.default}))),Ne=e(n((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z`}}]},name:`folder`,theme:`outlined`}}))());function M(){return M=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},M.apply(this,arguments)}var Pe=O.forwardRef((e,t)=>O.createElement(r,M({},e,{ref:t,icon:Ne.default}))),N=m(),Fe=[`INBOX`,`Sent`,`Drafts`,`Trash`,`Junk`,`Archive`];function Ie(){let{message:e}=i.useApp(),t=re.useBreakpoint(),n=we(`(min-width: 1280px)`),{locale:r,t:u}=s(),{config:m,user:g}=Se(),x=ve(),S=Ce(),ge=xe(),[w,T]=ye(),[D]=v.useForm(),[ke]=v.useForm(),[k,Ae]=(0,O.useState)([]),[A,je]=(0,O.useState)([]),[j,Me]=(0,O.useState)([]),[Ne,M]=(0,O.useState)(Ze()),[Pe,Fe]=(0,O.useState)([]),[Ie,Ve]=(0,O.useState)(0),[P,F]=(0,O.useState)(null),[$e,et]=(0,O.useState)(!0),[tt,I]=(0,O.useState)(!1),[ut,dt]=(0,O.useState)(!1),[ft,pt]=(0,O.useState)(!1),[mt,ht]=(0,O.useState)(``),[gt,_t]=(0,O.useState)(``),[vt,yt]=(0,O.useState)(``),[bt,xt]=(0,O.useState)(``),[St,Ct]=(0,O.useState)(``),[wt,Tt]=(0,O.useState)(``),[R,z]=(0,O.useState)(``),[Et,Dt]=(0,O.useState)(()=>new Set),[Ot,kt]=(0,O.useState)(w.get(`q`)||``),[At,jt]=(0,O.useState)(!1),[B,Mt]=(0,O.useState)(null),[V,Nt]=(0,O.useState)(null),[Pt,Ft]=(0,O.useState)(null),[H,It]=(0,O.useState)(``),[Lt,Rt]=(0,O.useState)(``),[zt,Bt]=(0,O.useState)(`activity`),[Vt,Ht]=(0,O.useState)(``),[Ut,Wt]=(0,O.useState)(`domain`),[Gt,U]=(0,O.useState)(null),[Kt,qt]=(0,O.useState)(null),Jt=(0,O.useRef)(null),Yt=(0,O.useRef)(0),W=(0,O.useRef)(0),Xt=(0,O.useRef)(0),G=(0,O.useRef)(0),Zt=(0,O.useRef)(0),K=w.get(`workspace`)===`routing`?`routing`:`messages`,q=Number(w.get(`mailboxId`)||0)||null,Qt=w.get(`folder`)||`INBOX`,$t=w.get(`read`)||`all`,en=w.get(`q`)||``,tn=Math.max(1,Number(w.get(`page`)||1)||1),J=Number(ge.messageId||0)||null,nn=Be(w.get(`tab`));(0,O.useEffect)(()=>{kt(en)},[en]);let Y=(0,O.useMemo)(()=>j.filter(e=>it(e).receive),[j]),rn=(0,O.useMemo)(()=>Y.map(e=>({value:e.id,label:r.startsWith(`en`)?`${e.address} · ${L(e.unreadCount)} unread / ${L(e.messageCount)} total${e.access?.type===`assigned`?` · Admin assigned`:``}`:`${e.address} · ${L(e.unreadCount)} 未读 / ${L(e.messageCount)} 封${e.access?.type===`assigned`?` · 管理员分配`:``}`})),[r,Y]),an=(0,O.useMemo)(()=>A.map(e=>{let t=g?.id===e.userId;return{value:e.domain,label:(0,N.jsxs)(d,{size:8,children:[(0,N.jsxs)(p.Text,{children:[`@`,e.domain]}),(0,N.jsx)(C,{color:t?`blue`:`purple`,children:u(t?`inbox.ownDomain`:`inbox.sharedDomain`)})]})}}),[A,u,g?.id]),on=(0,O.useMemo)(()=>Ke(Ge(j,Lt),zt),[Lt,zt,j]),sn=(0,O.useMemo)(()=>j.filter(e=>e.id!==V?.id&&ct(e,g?.id)),[V?.id,j,g?.id]),X=(0,O.useMemo)(()=>sn.find(e=>e.id===Pt)||null,[Pt,sn]),cn=(0,O.useMemo)(()=>sn.map(e=>({value:e.id,label:r.startsWith(`en`)?`${e.address} · ${L(e.messageCount)} messages`:`${e.address} · ${L(e.messageCount)} 封邮件`})),[sn,r]),Z=V?.messageCount===0,ln=(0,O.useMemo)(()=>Ye(Je(k,Vt),Ut),[k,Vt,Ut]),Q=(0,O.useCallback)(async()=>{let e=++Yt.current;et(!0),ht(``),_t(``);let[t,n,r]=await Promise.allSettled([c.domains(),c.inboundMailboxDomains(),c.inboundMailboxes(`effective`)]);e===Yt.current&&(t.status===`fulfilled`?Ae(t.value.domains||[]):_t(t.reason instanceof Error?t.reason.message:u(`common.error`)),n.status===`fulfilled`?je(n.value.domains||[]):_t(n.reason instanceof Error?n.reason.message:u(`common.error`)),r.status===`fulfilled`?Me(r.value.mailboxes||[]):ht(r.reason instanceof Error?r.reason.message:u(`common.error`)),et(!1))},[u]);(0,O.useEffect)(()=>(Q(),()=>{Yt.current+=1}),[Q]),(0,O.useEffect)(()=>{Nt(e=>e&&(j.find(t=>t.id===e.id)||e))},[j]),(0,O.useEffect)(()=>{if(!Y.length||J&&(!w.has(`mailboxId`)||!w.has(`folder`))||q&&Y.some(e=>e.id===q))return;let e=We(Y,q);if(!e)return;let t=new URLSearchParams(w);t.set(`mailboxId`,String(e)),t.set(`folder`,`INBOX`),t.set(`page`,`1`),T(t,{replace:!0})},[Y,J,w,q,T]);let $=(0,O.useCallback)(async()=>{let e=++W.current;if(!q||!Y.some(e=>e.id===q)){M(Ze()),Ct(``),pt(!1);return}pt(!0),Ct(``),M(Ze());try{let t=await c.inboundFolders(q);if(e!==W.current)return;if(!t.folders?.length)throw Error(r.startsWith(`en`)?`Folder counts are unavailable.`:`文件夹计数暂不可用。`);M(t.folders.map(e=>({...e,countsAvailable:!0})))}catch(t){if(e!==W.current)return;M(Ze()),Ct(t instanceof Error?t.message:r.startsWith(`en`)?`Unable to load folder counts.`:`文件夹计数加载失败。`)}finally{e===W.current&&pt(!1)}},[r,Y,q]);(0,O.useEffect)(()=>($(),()=>{W.current+=1}),[$]);let un=(0,O.useCallback)(async()=>{let e=++Xt.current;if(!q||K!==`messages`||!Y.some(e=>e.id===q)){Fe([]),Ve(0),yt(``),I(!1);return}I(!0),yt(``);try{let t=await c.inboundMessages({mailboxId:q,folder:Qt,page:tn,pageSize:25,q:en||void 0,read:$t===`read`?!0:$t===`unread`?!1:void 0});if(e!==Xt.current)return;Fe(t.messages||[]),Ve(t.total??t.messages?.length??0)}catch(t){e===Xt.current&&yt(t instanceof Error?t.message:u(`common.error`))}finally{e===Xt.current&&I(!1)}},[Qt,tn,en,$t,Y,q,u,K]);(0,O.useEffect)(()=>(un(),()=>{Xt.current+=1}),[un]),(0,O.useEffect)(()=>{let e=++G.current;if(Zt.current+=1,Tt(``),!J){F(null),xt(``),dt(!1);return}return dt(!0),xt(``),c.inboundMessage(J).then(t=>{if(e!==G.current)return;let n=t.message;if(!n){xt(u(`inbox.messageNotFound`));return}if(F(n),!n.read){let t=++Zt.current;c.markInboundMessageRead(n.id,!0).then(()=>{e!==G.current||t!==Zt.current||(F(e=>e?.id===n.id?{...e,read:!0}:e),Fe(e=>e.map(e=>e.id===n.id?{...e,read:!0}:e)),Me(e=>e.map(e=>e.id===n.mailboxId?{...e,unreadCount:Math.max(0,(e.unreadCount??0)-1)}:e)),$())}).catch(n=>{e!==G.current||t!==Zt.current||Tt(n instanceof Error?n.message:r.startsWith(`en`)?`Unable to mark this message as read.`:`邮件标记已读失败。`)})}}).catch(t=>{e===G.current&&xt(t instanceof Error?t.message:u(`inbox.detailLoadFailed`))}).finally(()=>{e===G.current&&dt(!1)}),()=>{G.current===e&&(G.current+=1),Zt.current+=1}},[$,r,J,u]),(0,O.useEffect)(()=>{if(!J||P?.id!==J||w.has(`mailboxId`)&&w.has(`folder`))return;let e=new URLSearchParams(w);e.set(`mailboxId`,String(P.mailboxId)),e.set(`folder`,P.folder||`INBOX`),T(e,{replace:!0})},[J,w,P,T]),(0,O.useEffect)(()=>{let e=Jt.current;!e||De(x.state)?.origin===`direct`||(Jt.current=null,S(e,{replace:!0}))},[x.key,x.state,S]);function dn(e){let t=new URLSearchParams(w);Object.entries(e).forEach(([e,n])=>{n===null||n===``?t.delete(e):t.set(e,String(n))}),T(t)}function fn(e){let t=new URLSearchParams(w);e===`routing`?t.set(`workspace`,`routing`):t.delete(`workspace`);let n=t.toString();S(`/inbox${n?`?${n}`:``}`)}function pn(e){let t=new URLSearchParams(w);t.set(`mailboxId`,String(e)),t.set(`folder`,`INBOX`),t.set(`page`,`1`);let n=t.toString();S(`/inbox${n?`?${n}`:``}`)}function mn(e){let t=new URLSearchParams(w);t.set(`folder`,e),t.set(`page`,`1`);let n=t.toString();S(`/inbox${n?`?${n}`:``}`)}function hn(e){F(e);let t=w.toString(),n=`/inbox/messages/${e.id}${t?`?${t}`:``}`,r=De(x.state);if(r){S(n,{state:Oe(r.listPath,r.depth+1,r.origin)});return}if(J){S(n,{replace:!0});return}S(n,{state:Oe(`${x.pathname}${x.search}`,1)})}function gn(){let e=De(x.state);if(e?.origin===`list`){S(-e.depth);return}let t=P?.id===J?P:null,n=He(w,t);if(e?.origin===`direct`){Jt.current=n,S(-e.depth);return}S(n,{replace:!0})}function _n(e){let t=new URLSearchParams(w);e===`text`?t.delete(`tab`):t.set(`tab`,e);let n=De(x.state),r=P?.id===J?P:null,i=t.toString();S({pathname:x.pathname,search:i?`?${i}`:``},{state:Oe(n?.listPath||He(w,r),(n?.depth||0)+1,n?.origin||`direct`)})}async function vn(t){t&&(await navigator.clipboard.writeText(t),e.success(u(`common.copied`)))}async function yn(t){if(!(m?.webmailSsoEnabled!==!0||!at(t)||t.status!==`active`||Et.has(t.id))){Dt(e=>new Set(e).add(t.id));try{a((await c.createWebmailLogin(t.id)).webmailLogin)}catch(t){e.error(t instanceof Error?t.message:u(`common.error`))}finally{Dt(e=>{let n=new Set(e);return n.delete(t.id),n})}}}function bn(){Mt(null),D.resetFields(),D.setFieldsValue({domain:A[0]?.domain,password:rt(),quotaMb:1024,keepForwarded:!0,status:`active`}),jt(!0)}function xn(e){Mt(e),D.resetFields(),D.setFieldsValue({localPart:e.localPart,domain:e.domain,password:``,displayName:e.displayName,quotaMb:e.quotaMb,aliases:e.aliases.join(`
- `),forwardTo:e.forwardTo.join(`
- `),keepForwarded:e.keepForwarded,status:e.status}),jt(!0)}function Sn(){jt(!1),Mt(null),D.resetFields()}async function Cn(){let t=await D.validateFields(),n=B?`mailbox:update:${B.id}`:`mailbox:create`;z(n);try{if(B){let n=String(t.password||``).trim(),i=await c.updateInboundMailbox(B.id,{displayName:t.displayName||``,aliases:t.aliases||``,forwardTo:t.forwardTo||``,keepForwarded:!!t.keepForwarded,quotaMb:t.quotaMb??null,status:t.status||B.status,...n?{password:n}:{}});e.success(r.startsWith(`en`)?`Mailbox updated`:`收信邮箱已更新`),n&&U(i.clientConfig||nt(i.mailbox,m,n))}else{let n=await c.createInboundMailbox({address:`${t.localPart}@${t.domain}`,displayName:t.displayName,password:t.password,aliases:t.aliases,forwardTo:t.forwardTo,keepForwarded:t.keepForwarded,quotaMb:t.quotaMb});e.success(u(`actions.inboundMailboxCreated`)),U(n.clientConfig||nt(n.mailbox,m,t.password))}Sn(),await Q()}catch(t){e.error(t instanceof Error?t.message:u(`common.error`))}finally{z(``)}}function wn(e){st(e,g?.id)&&(Nt(e),Ft(null),It(``))}function Tn(){V&&R===`mailbox:delete:${V.id}`||(Nt(null),Ft(null),It(``))}async function En(){let t=V,n=X;if(!t||H!==t.address||!Z&&!n)return;let i=`mailbox:delete:${t.id}`;if(R!==i){z(i);try{let i=await c.deleteInboundMailbox(t.id,{targetMailboxId:n?.id??null,confirmAddress:H});if(q===t.id){let e=new URLSearchParams(w);n?(e.set(`mailboxId`,String(n.id)),e.set(`folder`,`INBOX`)):(e.delete(`mailboxId`),e.delete(`folder`)),e.delete(`page`),T(e,{replace:!0})}Nt(null),Ft(null),It(``),await Q();let a=Number(i.migratedMessageCount)||0;e.success(i.targetMailbox?r.startsWith(`en`)?`Mailbox deleted. ${a} messages migrated to ${i.targetMailbox.address}.`:`邮箱已删除,已将 ${a} 封邮件迁移到 ${i.targetMailbox.address}。`:r.startsWith(`en`)?`Mailbox deleted.`:`邮箱已删除`)}catch(t){e.error(t instanceof Error?t.message:u(`common.error`)),await Q()}finally{z(``)}}}function Dn(e){qt(e),ke.setFieldsValue({catchAllAddress:e.catchAllAddress||``})}async function On(){if(!Kt)return;let t=await ke.validateFields();z(`catch-all:${Kt.id}`);try{let n=await c.patchDomain(Kt.id,{catchAllAddress:String(t.catchAllAddress||``).trim()});Ae(e=>e.map(e=>e.id===n.domain.id?n.domain:e)),qt(null),e.success(u(`actions.domainSaved`))}catch(t){e.error(t instanceof Error?t.message:u(`common.error`))}finally{z(``)}}function kn(e,t=!1){let n=st(e,g?.id);return(0,N.jsxs)(d,{direction:`vertical`,size:8,className:t?`full-width`:void 0,children:[m?.webmailSsoEnabled===!0&&at(e)?(0,N.jsx)(ot,{block:t,mailbox:e,locale:r,loading:Et.has(e.id),onClick:()=>void yn(e)}):null,n?(0,N.jsxs)(d,{wrap:!0,children:[(0,N.jsx)(f,{icon:(0,N.jsx)(fe,{}),onClick:()=>xn(e),children:u(`common.edit`)}),(0,N.jsx)(f,{icon:(0,N.jsx)(be,{}),onClick:()=>U(nt(e,m)),children:u(`inbox.clientConfig`)}),(0,N.jsx)(f,{icon:(0,N.jsx)(o,{}),onClick:()=>S(`/integrations/webhooks?mailboxId=${e.id}`),children:u(`inbox.mailboxWebhooks`)}),(0,N.jsx)(f,{danger:!0,"aria-label":`${u(`inbox.deleteMailbox`)} ${e.address}`,icon:(0,N.jsx)(de,{}),onClick:()=>wn(e),style:{minHeight:44},children:u(`inbox.deleteMailbox`)})]}):(0,N.jsx)(p.Text,{type:`secondary`,children:u(`inbox.ownerManaged`)})]})}let An=[{title:u(`inbox.mailboxAddress`),dataIndex:`address`,render:(e,t)=>(0,N.jsxs)(d,{direction:`vertical`,size:0,children:[(0,N.jsx)(p.Text,{strong:!0,children:e}),t.displayName?(0,N.jsx)(p.Text,{type:`secondary`,children:t.displayName}):null]})},{title:u(`account.accessSource`),width:150,render:(e,t)=>(0,N.jsx)(lt,{mailbox:t,t:u})},{title:u(`account.permissions`),width:240,render:(e,t)=>(0,N.jsx)(Te,{permissions:it(t)})},{title:u(`common.status`),dataIndex:`status`,width:120,render:e=>(0,N.jsx)(Ee,{tone:e===`active`?`success`:`warning`,children:e})},{title:u(`inbox.forwardTo`),dataIndex:`forwardTo`,render:(e,t)=>e?.length?(0,N.jsxs)(d,{direction:`vertical`,size:2,children:[(0,N.jsx)(p.Text,{children:e.join(`, `)}),(0,N.jsx)(C,{children:t.keepForwarded?u(`inbox.keepForwarded`):u(`inbox.forwardOnly`)})]}):`—`},{title:u(`inbox.unread`),dataIndex:`unreadCount`,width:90,render:L},{title:u(`inbox.messageCount`),dataIndex:`messageCount`,width:100,render:L},{title:u(`common.actions`),width:390,render:(e,t)=>kn(t)}],jn=[{title:u(`domains.domain`),dataIndex:`domain`,render:e=>(0,N.jsx)(p.Text,{strong:!0,children:e})},{title:u(`inbox.catchAllAddress`),dataIndex:`catchAllAddress`,render:e=>e?(0,N.jsx)(C,{color:e===`/dev/null`?`default`:`blue`,children:e}):(0,N.jsx)(C,{children:u(`inbox.catchAllDisabled`)})},{title:u(`common.actions`),width:130,render:(e,t)=>(0,N.jsx)(f,{icon:(0,N.jsx)(be,{}),onClick:()=>Dn(t),children:u(`common.edit`)})}];return $e?(0,N.jsx)(ce,{children:(0,N.jsx)(ee,{active:!0,paragraph:{rows:12}})}):(0,N.jsxs)(d,{direction:`vertical`,size:20,className:`full-width`,children:[(0,N.jsx)(se,{title:u(`inbox.title`),subtitle:u(`inbox.subtitle`),extra:K===`routing`?(0,N.jsx)(f,{type:`primary`,icon:(0,N.jsx)(pe,{}),disabled:!A.length,onClick:bn,style:{minHeight:44},children:u(`inbox.createMailbox`)}):null}),mt?(0,N.jsx)(h,{type:`error`,showIcon:!0,message:mt,action:(0,N.jsx)(f,{icon:(0,N.jsx)(me,{}),onClick:()=>void Q(),children:u(`common.refresh`)})}):null,gt?(0,N.jsx)(h,{type:`warning`,showIcon:!0,message:r.startsWith(`en`)?`Domain and routing options are temporarily unavailable.`:`域名与路由选项暂不可用。`,description:gt,action:(0,N.jsx)(f,{icon:(0,N.jsx)(me,{}),onClick:()=>void Q(),children:u(`common.refresh`)})}):null,m?.submission?.inboundEnabled===!1?(0,N.jsx)(h,{type:`warning`,showIcon:!0,message:u(`inbox.inboundDisabled`)}):null,(0,N.jsx)(te,{activeKey:K,onChange:fn,items:[{key:`messages`,label:(0,N.jsxs)(d,{children:[(0,N.jsx)(o,{}),r.startsWith(`en`)?`Mail`:`邮件`]})},{key:`routing`,label:(0,N.jsxs)(d,{children:[(0,N.jsx)(be,{}),r.startsWith(`en`)?`Mailboxes & routing`:`邮箱与路由`]})}]}),K===`messages`?mt&&!j.length?null:Y.length?(0,N.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:n?`220px minmax(320px, 380px) minmax(0, 1fr)`:t.md?`220px minmax(0, 1fr)`:`minmax(0, 1fr)`,gap:16,minWidth:0},children:[t.md?(0,N.jsx)(Le,{mailboxOptions:rn,selectedMailboxId:q,folders:Ne,foldersLoading:ft,foldersError:St,activeFolder:Qt,onMailbox:pn,onFolder:mn,onRetryFolders:$,locale:r,mailboxLabel:u(`inbox.mailboxFilter`),refreshLabel:u(`common.refresh`)}):null,(0,N.jsxs)(ne,{styles:{body:{padding:0,minWidth:0}},children:[(0,N.jsxs)(`div`,{style:{padding:12,borderBottom:`1px solid #EAECF0`},children:[t.md?null:(0,N.jsxs)(d,{direction:`vertical`,size:8,className:`full-width`,style:{marginBottom:8},children:[(0,N.jsx)(l,{value:q||void 0,onChange:pn,options:rn,showSearch:!0,optionFilterProp:`label`,className:`full-width`,"aria-label":u(`inbox.mailboxFilter`)}),St?(0,N.jsx)(h,{type:`warning`,showIcon:!0,message:r.startsWith(`en`)?`Folder counts are unavailable.`:`文件夹计数暂不可用。`,action:(0,N.jsx)(f,{size:`small`,loading:ft,onClick:()=>void $(),children:u(`common.refresh`)})}):null,(0,N.jsx)(l,{value:Qt,onChange:mn,loading:ft,options:Ne.map(e=>({value:e.name,label:Qe(e,r)})),className:`full-width`,"aria-label":r.startsWith(`en`)?`Folder`:`文件夹`})]}),(0,N.jsxs)(d.Compact,{block:!0,children:[(0,N.jsx)(y,{value:Ot,allowClear:!0,prefix:(0,N.jsx)(he,{}),placeholder:u(`inbox.searchPlaceholder`),onChange:e=>kt(e.target.value),onPressEnter:()=>dn({q:Ot.trim(),page:1})}),(0,N.jsx)(f,{"aria-label":u(`common.refresh`),icon:(0,N.jsx)(me,{}),loading:tt,onClick:()=>void un()})]}),(0,N.jsx)(l,{value:$t,onChange:e=>dn({read:e===`all`?null:e,page:1}),style:{width:`100%`,marginTop:8},"aria-label":r.startsWith(`en`)?`Read state`:`阅读状态`,options:[{value:`all`,label:r.startsWith(`en`)?`All mail`:`全部邮件`},{value:`unread`,label:u(`inbox.unread`)},{value:`read`,label:u(`inbox.read`)}]})]}),vt?(0,N.jsx)(h,{type:`error`,showIcon:!0,message:vt,action:(0,N.jsx)(f,{onClick:()=>void un(),children:u(`common.refresh`)})}):null,(0,N.jsx)(Re,{items:Pe,loading:tt,activeId:J,onOpen:hn,locale:r,t:u}),Ie>25?(0,N.jsx)(`div`,{style:{padding:12,display:`flex`,justifyContent:`center`},children:(0,N.jsx)(oe,{size:`small`,current:tn,pageSize:25,total:Ie,showSizeChanger:!1,onChange:e=>dn({page:e})})}):null]}),n?(0,N.jsx)(ne,{styles:{body:{padding:20,minWidth:0}},children:(0,N.jsx)(ze,{message:P,loading:ut,error:bt,mutationError:wt,activeTab:nn,onTabChange:_n,onCopy:vn,t:u})}):null]}):j.length?(0,N.jsx)(E,{description:u(`inbox.noReceivingAccess`),action:(0,N.jsx)(f,{onClick:()=>S(`/account`),children:u(`account.title`)})}):(0,N.jsx)(E,{description:A.length?r.startsWith(`en`)?`No receiving mailbox has been created yet.`:`尚未创建收信邮箱。`:u(`inbox.noMailboxDomain`),action:(0,N.jsx)(f,{icon:(0,N.jsx)(pe,{}),disabled:!A.length,onClick:()=>{fn(`routing`),bn()},children:u(`inbox.createMailbox`)})}):(0,N.jsxs)(d,{direction:`vertical`,size:20,className:`full-width`,children:[(0,N.jsx)(ce,{title:u(`inbox.mailboxes`),extra:(0,N.jsx)(Ee,{tone:`neutral`,children:j.length}),children:j.length?(0,N.jsxs)(d,{direction:`vertical`,size:12,className:`full-width`,children:[(0,N.jsxs)(d,{wrap:!0,className:`full-width`,children:[(0,N.jsx)(y,{allowClear:!0,"aria-label":r.startsWith(`en`)?`Search mailboxes`:`搜索收信邮箱`,prefix:(0,N.jsx)(he,{}),placeholder:r.startsWith(`en`)?`Search address, alias, or forwarding target`:`搜索邮箱、别名或转发地址`,value:Lt,onChange:e=>Rt(e.target.value),style:{flex:`1 1 280px`}}),(0,N.jsx)(l,{"aria-label":r.startsWith(`en`)?`Sort mailboxes`:`收信邮箱排序`,value:zt,onChange:Bt,style:{minWidth:180},options:qe(r)})]}),t.md?(0,N.jsx)(ae,{rowKey:`id`,columns:An,dataSource:on,scroll:{x:1420}}):(0,N.jsx)(b,{dataSource:on,renderItem:e=>(0,N.jsx)(b.Item,{children:(0,N.jsx)(ne,{size:`small`,className:`full-width`,title:e.address,children:(0,N.jsxs)(d,{direction:`vertical`,className:`full-width`,children:[(0,N.jsx)(lt,{mailbox:e,t:u}),(0,N.jsx)(Te,{permissions:it(e)}),(0,N.jsxs)(p.Text,{type:`secondary`,children:[L(e.messageCount),` `,u(`inbox.messageCount`),` · `,L(e.unreadCount),` `,u(`inbox.unread`)]}),kn(e,!0)]})})})})]}):mt?null:(0,N.jsx)(E,{description:A.length?r.startsWith(`en`)?`No receiving mailbox has been created yet.`:`尚未创建收信邮箱。`:u(`inbox.noMailboxDomain`),action:(0,N.jsx)(f,{icon:(0,N.jsx)(pe,{}),disabled:!A.length,onClick:bn,children:u(`inbox.createMailbox`)})})}),(0,N.jsx)(ce,{title:u(`inbox.domainRoutes`),extra:(0,N.jsx)(Ee,{tone:`neutral`,children:k.length}),children:k.length?(0,N.jsxs)(d,{direction:`vertical`,size:12,className:`full-width`,children:[(0,N.jsxs)(d,{wrap:!0,className:`full-width`,children:[(0,N.jsx)(y,{allowClear:!0,"aria-label":r.startsWith(`en`)?`Search receiving routes`:`搜索域名收信路由`,prefix:(0,N.jsx)(he,{}),placeholder:r.startsWith(`en`)?`Search domain or catch-all address`:`搜索域名或未知地址收件邮箱`,value:Vt,onChange:e=>Ht(e.target.value),style:{flex:`1 1 280px`}}),(0,N.jsx)(l,{"aria-label":r.startsWith(`en`)?`Sort receiving routes`:`域名收信路由排序`,value:Ut,onChange:Wt,style:{minWidth:180},options:Xe(r)})]}),t.md?(0,N.jsx)(ae,{rowKey:`id`,columns:jn,dataSource:ln}):(0,N.jsx)(b,{dataSource:ln,renderItem:e=>(0,N.jsx)(b.Item,{actions:[(0,N.jsx)(f,{onClick:()=>Dn(e),children:u(`common.edit`)},`edit`)],children:(0,N.jsx)(b.Item.Meta,{title:e.domain,description:e.catchAllAddress||u(`inbox.catchAllDisabled`)})})})]}):gt?null:(0,N.jsx)(E,{description:u(`inbox.noDomain`),action:(0,N.jsx)(f,{onClick:()=>S(`/domains?create=1`),children:u(`common.addDomain`)})})})]}),n?null:(0,N.jsx)(_e,{title:u(`inbox.messageDetail`),width:t.md?680:`100%`,open:!!J,onClose:gn,children:(0,N.jsx)(ze,{message:P,loading:ut,error:bt,mutationError:wt,activeTab:nn,onTabChange:_n,onCopy:vn,t:u})}),(0,N.jsx)(_e,{title:B?r.startsWith(`en`)?`Edit mailbox`:`编辑收信邮箱`:u(`inbox.createMailbox`),width:560,open:At,onClose:Sn,destroyOnHidden:!0,footer:(0,N.jsxs)(d,{style:{display:`flex`,justifyContent:`flex-end`},children:[(0,N.jsx)(f,{onClick:Sn,children:u(`common.cancel`)}),(0,N.jsx)(f,{type:`primary`,loading:R===`mailbox:create`||R===`mailbox:update:${B?.id}`,onClick:()=>void Cn(),children:u(B?`common.save`:`inbox.createMailbox`)})]}),children:A.length?(0,N.jsxs)(v,{form:D,layout:`vertical`,children:[B?(0,N.jsx)(_,{bordered:!0,column:1,size:`small`,style:{marginBottom:20},children:(0,N.jsx)(_.Item,{label:u(`inbox.mailboxAddress`),children:(0,N.jsx)(p.Text,{code:!0,children:B.address})})}):(0,N.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:t.sm?`minmax(0, 1fr) minmax(220px, 0.8fr)`:`minmax(0, 1fr)`,columnGap:t.sm?0:8},children:[(0,N.jsx)(v.Item,{name:`localPart`,label:u(`inbox.localPart`),rules:[{required:!0,message:u(`inbox.localPartRequired`)},{pattern:/^[^@\s]+$/,message:u(`inbox.localPartInvalid`)}],children:(0,N.jsx)(y,{autoComplete:`off`})}),(0,N.jsx)(v.Item,{name:`domain`,label:u(`domains.domain`),rules:[{required:!0,message:u(`inbox.domainRequired`)}],children:(0,N.jsx)(l,{options:an})})]}),(0,N.jsx)(v.Item,{name:`displayName`,label:u(`inbox.displayName`),children:(0,N.jsx)(y,{})}),(0,N.jsx)(v.Item,{name:`password`,label:B?r.startsWith(`en`)?`New password`:`新密码`:u(`inbox.password`),extra:B?r.startsWith(`en`)?`Leave blank to keep the current password.`:`留空表示保留当前密码。`:void 0,rules:[{required:!B,message:u(`inbox.passwordRequired`)},{min:8,message:u(`inbox.passwordMin`)}],children:(0,N.jsx)(y.Password,{autoComplete:`new-password`})}),(0,N.jsx)(f,{onClick:()=>D.setFieldValue(`password`,rt()),children:u(`inbox.generatePassword`)}),(0,N.jsx)(v.Item,{name:`quotaMb`,label:`${u(`inbox.quotaMb`)} (MB)`,style:{marginTop:20},children:(0,N.jsx)(le,{min:1,className:`full-width`})}),(0,N.jsx)(v.Item,{name:`aliases`,label:u(`inbox.aliases`),extra:u(`inbox.aliasesExtra`),children:(0,N.jsx)(y.TextArea,{rows:3})}),(0,N.jsx)(v.Item,{name:`forwardTo`,label:u(`inbox.forwardTo`),extra:u(`inbox.forwardToExtra`),children:(0,N.jsx)(y.TextArea,{rows:3})}),(0,N.jsx)(v.Item,{name:`keepForwarded`,valuePropName:`checked`,children:(0,N.jsx)(ie,{children:u(`inbox.keepForwarded`)})}),B?(0,N.jsx)(v.Item,{name:`status`,label:u(`common.status`),rules:[{required:!0}],children:(0,N.jsx)(l,{options:[{value:`active`,label:r.startsWith(`en`)?`Active`:`启用`},{value:`disabled`,label:r.startsWith(`en`)?`Disabled`:`停用`}]})}):null]}):(0,N.jsx)(h,{type:`warning`,showIcon:!0,message:u(`inbox.noMailboxDomain`)})}),(0,N.jsx)(ue,{title:u(Z?`inbox.deleteMailbox`:`inbox.deleteMailboxTitle`),open:!!V,width:560,okText:u(Z?`inbox.deleteMailboxEmptyAction`:`inbox.deleteMailboxAction`),cancelText:u(`common.cancel`),okButtonProps:{danger:!0,disabled:!V||H!==V.address||!Z&&!X,loading:!!(V&&R===`mailbox:delete:${V.id}`),style:{minHeight:44}},cancelButtonProps:{style:{minHeight:44}},closable:!(V&&R===`mailbox:delete:${V.id}`),maskClosable:!(V&&R===`mailbox:delete:${V.id}`),onCancel:Tn,onOk:()=>void En(),destroyOnHidden:!0,children:(0,N.jsxs)(d,{direction:`vertical`,size:16,className:`full-width`,children:[(0,N.jsx)(h,{type:`warning`,showIcon:!0,message:u(Z?`inbox.deleteMailboxEmptyWarning`:`inbox.deleteMailboxWarning`)}),(0,N.jsxs)(_,{bordered:!0,column:1,size:`small`,children:[(0,N.jsx)(_.Item,{label:u(`inbox.deleteMailboxSource`),children:(0,N.jsx)(p.Text,{code:!0,children:V?.address})}),(0,N.jsx)(_.Item,{label:u(`inbox.deleteMailboxMessages`),children:(0,N.jsx)(p.Text,{strong:!0,children:L(V?.messageCount)})})]}),(0,N.jsx)(v,{layout:`vertical`,className:`full-width`,children:(0,N.jsx)(v.Item,{label:u(`inbox.deleteMailboxConfirmAddress`),required:!0,extra:u(`inbox.deleteMailboxConfirmAddressExtra`),validateStatus:H&&H!==V?.address?`error`:void 0,help:H&&H!==V?.address?u(`inbox.deleteMailboxConfirmAddressMismatch`):void 0,children:(0,N.jsx)(y,{"aria-label":u(`inbox.deleteMailboxConfirmAddress`),autoComplete:`off`,value:H,placeholder:V?.address,onChange:e=>It(e.target.value)})})}),!Z&&cn.length?(0,N.jsx)(v,{layout:`vertical`,className:`full-width`,children:(0,N.jsx)(v.Item,{label:u(`inbox.deleteMailboxTarget`),required:!0,extra:u(`inbox.deleteMailboxTargetRequired`),children:(0,N.jsx)(l,{"aria-label":u(`inbox.deleteMailboxTarget`),value:Pt??void 0,options:cn,placeholder:u(`inbox.deleteMailboxTargetPlaceholder`),showSearch:!0,optionFilterProp:`label`,onChange:Ft,style:{minHeight:44}})})}):Z?null:(0,N.jsx)(h,{type:`error`,showIcon:!0,message:u(`inbox.deleteMailboxNoTarget`)}),!Z&&V&&X?(0,N.jsx)(h,{type:`info`,showIcon:!0,message:r.startsWith(`en`)?`${L(V.messageCount)} messages will be moved to ${X.address} before deletion.`:`删除前会先将 ${L(V.messageCount)} 封邮件移入 ${X.address}。`}):null]})}),(0,N.jsx)(ue,{title:u(`inbox.catchAllTitle`),open:!!Kt,confirmLoading:R.startsWith(`catch-all:`),onCancel:()=>qt(null),onOk:()=>void On(),children:(0,N.jsx)(v,{form:ke,layout:`vertical`,children:(0,N.jsx)(v.Item,{name:`catchAllAddress`,label:u(`inbox.catchAllAddress`),extra:u(`inbox.catchAllExtra`),children:(0,N.jsx)(y,{placeholder:`catchall@example.com / /dev/null`})})})}),(0,N.jsx)(ue,{title:u(`inbox.clientConfig`),open:!!Gt,width:720,footer:(0,N.jsx)(f,{type:`primary`,onClick:()=>U(null),children:u(`common.confirm`)}),onCancel:()=>U(null),children:Gt?(0,N.jsx)(Ue,{config:Gt,onCopy:vn,t:u}):null})]})}function Le({mailboxOptions:e,selectedMailboxId:t,folders:n,foldersLoading:r,foldersError:i,activeFolder:a,onMailbox:o,onFolder:s,onRetryFolders:c,locale:u,mailboxLabel:ee,refreshLabel:m}){return(0,N.jsxs)(ne,{styles:{body:{padding:8}},children:[(0,N.jsx)(l,{"aria-label":ee,value:t||void 0,onChange:o,options:e,showSearch:!0,optionFilterProp:`label`,className:`full-width`,style:{marginBottom:12}}),i?(0,N.jsx)(h,{type:`warning`,showIcon:!0,message:u.startsWith(`en`)?`Folder counts are unavailable.`:`文件夹计数暂不可用。`,description:i,action:(0,N.jsx)(f,{size:`small`,loading:r,onClick:()=>void c(),children:m}),style:{marginBottom:8}}):null,(0,N.jsx)(d,{direction:`vertical`,size:2,className:`full-width`,children:n.map(e=>(0,N.jsxs)(f,{type:a===e.name?`primary`:`text`,icon:tt(e.name),onClick:()=>s(e.name),style:{width:`100%`,minHeight:44,display:`flex`,alignItems:`center`,justifyContent:`flex-start`},children:[(0,N.jsx)(`span`,{style:{flex:1,textAlign:`left`},children:et(e.name,u)}),e.countsAvailable?e.unreadCount?(0,N.jsx)(g,{count:e.unreadCount,size:`small`}):(0,N.jsx)(p.Text,{type:`secondary`,children:e.messageCount}):(0,N.jsx)(p.Text,{type:`secondary`,"aria-label":u.startsWith(`en`)?`Count unavailable`:`计数不可用`,children:`—`})]},e.name))})]})}function Re({items:e,loading:t,activeId:n,onOpen:r,locale:i,t:a}){return t?(0,N.jsx)(`div`,{style:{padding:16},children:(0,N.jsx)(ee,{active:!0,paragraph:{rows:8}})}):e.length?(0,N.jsx)(b,{dataSource:e,split:!0,renderItem:e=>(0,N.jsx)(b.Item,{style:{padding:0},children:(0,N.jsx)(`button`,{type:`button`,"aria-label":`${e.subject||a(`inbox.noSubject`)} · ${e.sender}`,onClick:()=>r(e),style:{width:`100%`,minHeight:88,padding:`12px 16px`,border:0,textAlign:`left`,background:n===e.id?`#EEF2FF`:e.read?`#FFFFFF`:`#F8FAFF`,cursor:`pointer`},children:(0,N.jsxs)(d,{direction:`vertical`,size:4,style:{width:`100%`},children:[(0,N.jsxs)(d,{style:{width:`100%`,justifyContent:`space-between`},children:[(0,N.jsx)(p.Text,{strong:!e.read,ellipsis:!0,style:{maxWidth:`65%`},children:e.sender||`—`}),(0,N.jsx)(p.Text,{type:`secondary`,style:{fontSize:12},children:ut(e.receivedAt)})]}),(0,N.jsx)(p.Text,{strong:!e.read,ellipsis:!0,children:e.subject||a(`inbox.noSubject`)}),(0,N.jsx)(p.Text,{type:`secondary`,ellipsis:!0,children:e.preview||`—`})]})})})}):(0,N.jsx)(E,{description:i.startsWith(`en`)?`No messages match this folder and filter.`:`当前文件夹和筛选条件下没有邮件。`})}function ze({message:e,loading:t,error:n,mutationError:r,activeTab:i,onTabChange:a,onCopy:o,t:s}){if(t)return(0,N.jsx)(ee,{active:!0,paragraph:{rows:12}});if(n)return(0,N.jsx)(h,{type:`error`,showIcon:!0,message:n});if(!e)return(0,N.jsx)(E,{description:s(`inbox.messageDetail`)});let c=i===`text`&&!e.textBody&&e.htmlBody?`html`:i;return(0,N.jsxs)(d,{direction:`vertical`,size:20,className:`full-width`,children:[r?(0,N.jsx)(h,{type:`warning`,showIcon:!0,message:r}):null,(0,N.jsxs)(`div`,{children:[(0,N.jsx)(p.Title,{level:4,style:{marginBottom:4},children:e.subject||s(`inbox.noSubject`)}),(0,N.jsx)(p.Text,{type:`secondary`,children:dt(e.receivedAt)})]}),(0,N.jsxs)(_,{column:1,size:`small`,children:[(0,N.jsx)(_.Item,{label:s(`inbox.sender`),children:e.sender||`—`}),(0,N.jsx)(_.Item,{label:s(`inbox.recipients`),children:e.recipients.join(`, `)||`—`}),(0,N.jsx)(_.Item,{label:s(`logs.messageId`),children:(0,N.jsx)(p.Text,{code:!0,copyable:{onCopy:()=>o(e.messageId)},children:e.messageId||`—`})})]}),(0,N.jsx)(te,{activeKey:c,onChange:e=>a(Be(e)),items:[{key:`text`,label:s(`inbox.textBody`),children:e.textBody?(0,N.jsx)(`pre`,{className:`inbox-message-body`,children:e.textBody}):(0,N.jsx)(E,{description:s(`inbox.noTextBody`)})},{key:`html`,label:s(`inbox.htmlBody`),children:e.htmlBody?(0,N.jsx)(Ve,{html:e.htmlBody,title:s(`inbox.htmlBody`)}):(0,N.jsx)(E,{description:s(`inbox.noHtmlBody`)})},{key:`source`,label:s(`inbox.htmlSource`),children:e.htmlBody?(0,N.jsx)(D,{value:e.htmlBody,onCopy:o}):(0,N.jsx)(E,{description:s(`inbox.noHtmlBody`)})},{key:`raw`,label:s(`inbox.rawMessage`),children:e.rawMessage?(0,N.jsx)(D,{value:e.rawMessage,onCopy:o}):(0,N.jsx)(E,{description:s(`inbox.noRawMessage`)})}]})]})}function Be(e){return e===`html`||e===`source`||e===`raw`?e:`text`}function Ve({html:e,title:t}){return(0,N.jsx)(`iframe`,{title:t,className:`inbox-html-preview`,sandbox:``,referrerPolicy:`no-referrer`,srcDoc:P(e)})}function P(e){let t=[`<meta charset="utf-8">`,`<meta name="viewport" content="width=device-width, initial-scale=1">`,`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src data: blob: http: https:; style-src 'unsafe-inline' http: https:; font-src data: http: https:; script-src 'none'; connect-src 'none'; frame-src 'none'; object-src 'none'; base-uri 'none'; form-action 'none'">`,`<base target="_blank">`,`<style>html,body{margin:0;padding:12px;background:#fff;color:#111827;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-wrap:anywhere;}img{max-width:100%;height:auto;}table{max-width:100%;}a{color:#4F46E5;}</style>`].join(``),n=String(e||``);return/<head(?:\s[^>]*)?>/i.test(n)?n.replace(/<head(?:\s[^>]*)?>/i,e=>`${e}${t}`):/<html(?:\s[^>]*)?>/i.test(n)?n.replace(/<html(?:\s[^>]*)?>/i,e=>`${e}<head>${t}</head>`):`<!doctype html><html><head>${t}</head><body>${n}</body></html>`}function He(e,t){let n=new URLSearchParams(e);n.delete(`tab`),t&&(!n.has(`mailboxId`)||!n.has(`folder`))&&(n.set(`mailboxId`,String(t.mailboxId)),n.set(`folder`,t.folder||`INBOX`));let r=n.toString();return`/inbox${r?`?${r}`:``}`}function Ue({config:e,onCopy:t,t:n}){let r=[{key:`imap`,label:n(`inbox.incomingConfig`),value:e.incoming},...e.pop3?[{key:`pop3`,label:n(`inbox.pop3Config`),value:e.pop3}]:[],{key:`smtp`,label:n(`inbox.outgoingConfig`),value:e.outgoing}];return(0,N.jsxs)(d,{direction:`vertical`,size:16,className:`full-width`,children:[(0,N.jsx)(h,{type:`info`,showIcon:!0,message:n(`inbox.clientConfigHelpSummary`)}),(0,N.jsxs)(_,{bordered:!0,column:1,size:`small`,children:[(0,N.jsx)(_.Item,{label:n(`inbox.configUsername`),children:F(e.username,t)}),(0,N.jsx)(_.Item,{label:n(`inbox.configPassword`),children:e.password?F(e.password,t):(0,N.jsx)(p.Text,{type:`secondary`,children:n(`inbox.passwordNotShown`)})})]}),(0,N.jsx)(te,{items:r.map(e=>({key:e.key,label:e.label,children:(0,N.jsxs)(_,{bordered:!0,column:1,size:`small`,children:[(0,N.jsx)(_.Item,{label:n(`inbox.configHost`),children:F(e.value.host,t)}),(0,N.jsx)(_.Item,{label:n(`inbox.configPort`),children:F(e.value.port,t)}),(0,N.jsx)(_.Item,{label:n(`inbox.configSecurity`),children:e.value.security}),(0,N.jsx)(_.Item,{label:n(`inbox.configAuthMethod`),children:e.value.authMethod})]})}))})]})}function F(e,t){return(0,N.jsxs)(d,{children:[(0,N.jsx)(p.Text,{code:!0,children:e}),(0,N.jsx)(f,{"aria-label":`Copy`,icon:(0,N.jsx)(x,{}),onClick:()=>void t(String(e))})]})}function We(e,t){return t&&e.some(e=>e.id===t)?t:[...e].filter(e=>e.lastMessageAt).sort((e,t)=>Date.parse(t.lastMessageAt||``)-Date.parse(e.lastMessageAt||``))[0]?.id||e.find(e=>(e.messageCount??0)>0)?.id||e[0]?.id||null}function Ge(e,t){let n=t.trim().toLocaleLowerCase();return n?e.filter(e=>[e.address,e.displayName,...e.aliases,...e.forwardTo].some(e=>String(e||``).toLocaleLowerCase().includes(n))):e}function Ke(e,t){return[...e].sort((e,n)=>{if(t===`address`)return e.address.localeCompare(n.address);if(t===`unread`)return(n.unreadCount??-1)-(e.unreadCount??-1)||e.address.localeCompare(n.address);if(t===`messages`)return(n.messageCount??-1)-(e.messageCount??-1)||e.address.localeCompare(n.address);let r=Date.parse(e.lastMessageAt||``)||0;return(Date.parse(n.lastMessageAt||``)||0)-r||e.address.localeCompare(n.address)})}function qe(e){return e.startsWith(`en`)?[{value:`activity`,label:`Recent activity`},{value:`address`,label:`Address`},{value:`unread`,label:`Unread count`},{value:`messages`,label:`Message count`}]:[{value:`activity`,label:`最近收信`},{value:`address`,label:`邮箱地址`},{value:`unread`,label:`未读数`},{value:`messages`,label:`邮件数`}]}function Je(e,t){let n=t.trim().toLocaleLowerCase();return n?e.filter(e=>[e.domain,e.catchAllAddress].some(e=>String(e||``).toLocaleLowerCase().includes(n))):e}function Ye(e,t){return[...e].sort((e,n)=>{if(t===`configured`){let t=Number(!!n.catchAllAddress)-Number(!!e.catchAllAddress);if(t)return t}return e.domain.localeCompare(n.domain)})}function Xe(e){return e.startsWith(`en`)?[{value:`domain`,label:`Domain`},{value:`configured`,label:`Configured first`}]:[{value:`domain`,label:`域名`},{value:`configured`,label:`已配置优先`}]}function Ze(){return Fe.map(e=>({name:e,specialUse:$e(e),messageCount:0,unreadCount:0,countsAvailable:!1}))}function Qe(e,t){let n=e.countsAvailable?e.unreadCount:`—`;return`${et(e.name,t)} (${n})`}function $e(e){return{INBOX:null,Sent:`\\Sent`,Drafts:`\\Drafts`,Trash:`\\Trash`,Junk:`\\Junk`,Archive:`\\Archive`}[e]??null}function et(e,t){return t.startsWith(`en`)?e:{INBOX:`收件箱`,Sent:`已发送`,Drafts:`草稿`,Trash:`已删除`,Junk:`垃圾邮件`,Archive:`归档`}[e]||e}function tt(e){return e===`INBOX`?(0,N.jsx)(T,{}):e===`Sent`?(0,N.jsx)(ge,{}):e===`Drafts`?(0,N.jsx)(Me,{}):e===`Trash`?(0,N.jsx)(de,{}):e===`Junk`?(0,N.jsx)(w,{}):e===`Archive`?(0,N.jsx)(A,{}):(0,N.jsx)(Pe,{})}function nt(e,t,n=``){let r=I(t?.submission?.ports||[],[587,465]),i=I(t?.mailAccess?.imap.ports||[],[993,143]),a=I(t?.mailAccess?.pop3.ports||[],[995,110]),o=t?.mailAccess?.host||t?.submission?.host||t?.mailHostname||e.domain;return{username:e.address,password:n,incoming:{protocol:`IMAP`,host:o,port:i?.port||143,security:i?.protocol||`IMAP + STARTTLS`,authMethod:`Normal password`,username:e.address,password:n},pop3:{protocol:`POP3`,host:o,port:a?.port||110,security:a?.protocol||`POP3 + STLS`,authMethod:`Normal password`,username:e.address,password:n},outgoing:{protocol:`SMTP`,host:t?.submission?.host||t?.mailHostname||e.domain,port:r?.port||587,security:r?.protocol||`SMTP + STARTTLS`,authMethod:`Normal password`,username:e.address,password:n}}}function I(e,t){for(let n of t){let t=e.find(e=>e.port===n);if(t)return t}return e[0]||null}function rt(){let e=new Uint8Array(14);return globalThis.crypto.getRandomValues(e),Array.from(e,e=>(e%36).toString(36)).join(``)}function it(e){let t=e.access?.permissions,n=e.access?e.access.type===`owner`:!0;return{view:t?.view??n,receive:t?.receive??n,send:t?.send??n}}function at(e){let t=e.access?.type||`owner`;return(t===`owner`||t===`assigned`)&&it(e).receive}function ot({block:e=!1,mailbox:t,locale:n,loading:r,onClick:i}){let a=n.startsWith(`en`)?`Open Webmail`:`一键登录 Webmail`,o=t.status===`active`?``:n.startsWith(`en`)?`This mailbox is disabled and cannot sign in to Webmail.`:`该邮箱已停用,无法登录 Webmail。`,s=(0,N.jsx)(f,{block:e,"aria-label":`${a} · ${t.address}${o?` · ${o}`:``}`,disabled:!!o,icon:(0,N.jsx)(S,{}),loading:r,onClick:i,style:{minHeight:44},title:o||void 0,children:a});return o?(0,N.jsx)(u,{title:o,children:(0,N.jsx)(`span`,{style:e?{display:`block`}:void 0,children:s})}):s}function st(e,t){return t?e.access?e.access.type===`owner`:(e.ownerUserId||e.userId)===t:!1}function ct(e,t){if(!st(e,t)||e.status!==`active`)return!1;if(!e.temporary||!e.expiresAt)return!0;let n=Date.parse(e.expiresAt);return!Number.isFinite(n)||n>Date.now()}function lt({mailbox:e,t}){return e.access?.type===`assigned`?(0,N.jsx)(C,{color:`purple`,children:t(`account.adminAssigned`)}):e.access?.type===`admin`?(0,N.jsx)(C,{color:`gold`,children:t(`account.adminAccess`)}):(0,N.jsx)(C,{color:`blue`,children:t(`account.ownedMailbox`)})}function L(e){return e??`—`}function ut(e){let t=new Date(e),n=new Date;return t.toDateString()===n.toDateString()?t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}):t.toLocaleDateString()}function dt(e){return e?new Date(e).toLocaleString():`—`}export{Ie as default};
|