| 1 |
- import{a as e,n as t}from"./react-dom-stZKkA6x.js";import{f as n,i as r,o as i,r as a}from"./theme-JEAJA3Ef.js";import{M as o,i as s,kt as c,n as l,st as u,t as d}from"./jsx-runtime-dm82oUI8.js";import{i as f,o as p}from"./grid-oQFtU3R0.js";import{t as m}from"./table-DZMCIB4H.js";import{n as h,t as g}from"./SectionCard-DDGEHf10.js";import{t as _}from"./descriptions-vs1os_w7.js";import{t as v}from"./list-B0gNP0uN.js";import{t as y}from"./ExportOutlined-659DgC0r.js";import{t as b}from"./ReloadOutlined-B6H5UA27.js";import{_ as x,i as S,n as C,p as w,s as T,t as E}from"./index-avDTLp8M.js";import{t as D}from"./EmptyState-rI31ioMm.js";import{t as O}from"./MailboxPermissionTags-ORMgZe2y.js";var k=e(t(),1),A=d();function j(){let{message:e}=n.useApp(),{config:t,user:o}=C(),{locale:d,t:y}=i(),j=w(),I=E(`(min-width: 768px)`),[L,R]=(0,k.useState)([]),[z,B]=(0,k.useState)(!0),[V,H]=(0,k.useState)(``),[U,W]=(0,k.useState)(()=>new Set),G=(0,k.useCallback)(async()=>{B(!0),H(``);try{let e=await a.inboundMailboxes(`effective`);R(e.mailboxes||[])}catch(e){H(e instanceof Error?e.message:y(`common.error`))}finally{B(!1)}},[y]);(0,k.useEffect)(()=>{G()},[G]);let K=(0,k.useMemo)(()=>({owned:L.filter(e=>N(e).type===`owner`).length,assigned:L.filter(e=>N(e).type===`assigned`).length}),[L]);function q(e){j(`/inbox?mailboxId=${e.id}&folder=INBOX`)}function J(e){j(`/inbox?workspace=routing&mailboxId=${e.id}`)}async function Y(n){if(!(t?.webmailSsoEnabled!==!0||!P(n)||n.status!==`active`||U.has(n.id))){W(e=>new Set(e).add(n.id));try{r((await a.createWebmailLogin(n.id)).webmailLogin)}catch(t){e.error(t instanceof Error?t.message:y(`common.error`))}finally{W(e=>{let t=new Set(e);return t.delete(n.id),t})}}}let X=[{title:y(`inbox.mailboxAddress`),render:(e,t)=>(0,A.jsxs)(s,{direction:`vertical`,size:0,children:[(0,A.jsx)(l.Text,{strong:!0,children:t.address}),t.displayName?(0,A.jsx)(l.Text,{type:`secondary`,children:t.displayName}):null]})},{title:y(`account.accessSource`),width:160,render:(e,t)=>(0,A.jsx)(M,{mailbox:t})},{title:y(`account.permissions`),width:280,render:(e,t)=>(0,A.jsx)(O,{permissions:N(t).permissions})},{title:y(`common.actions`),width:430,render:(e,n)=>(0,A.jsxs)(s,{wrap:!0,children:[N(n).permissions.receive?(0,A.jsx)(c,{"aria-label":`${y(`account.openInbox`)} · ${n.address}`,icon:(0,A.jsx)(T,{}),style:{minHeight:44},onClick:()=>q(n),children:y(`account.openInbox`)}):null,t?.webmailSsoEnabled===!0&&P(n)?(0,A.jsx)(F,{mailbox:n,locale:d,loading:U.has(n.id),onClick:()=>void Y(n)}):null,N(n).type===`owner`?(0,A.jsx)(c,{"aria-label":`${y(`account.manageMailbox`)} · ${n.address}`,icon:(0,A.jsx)(S,{}),style:{minHeight:44},onClick:()=>J(n),children:y(`account.manageMailbox`)}):null]})}];return(0,A.jsxs)(s,{direction:`vertical`,size:20,className:`full-width account-page`,children:[(0,A.jsx)(h,{title:y(`account.title`),subtitle:y(`account.subtitle`)}),(0,A.jsx)(g,{title:y(`account.summary`),children:(0,A.jsxs)(_,{column:I?2:1,bordered:!0,size:`small`,children:[(0,A.jsx)(_.Item,{label:y(`auth.username`),children:o?.username||`—`}),(0,A.jsx)(_.Item,{label:y(`auth.email`),children:o?.email||`—`}),(0,A.jsx)(_.Item,{label:y(`account.role`),children:o?.role||`—`}),(0,A.jsx)(_.Item,{label:y(`common.status`),children:o?.status||`—`})]})}),V?(0,A.jsx)(p,{type:`error`,showIcon:!0,message:V,action:(0,A.jsx)(c,{icon:(0,A.jsx)(b,{}),onClick:()=>void G(),children:y(`common.refresh`)})}):null,(0,A.jsx)(g,{title:y(`account.mailboxAccess`),extra:(0,A.jsxs)(s,{wrap:!0,children:[(0,A.jsxs)(x,{children:[y(`account.owned`),` `,K.owned]}),(0,A.jsxs)(x,{children:[y(`account.assigned`),` `,K.assigned]})]}),children:z&&!L.length?(0,A.jsx)(u,{active:!0,paragraph:{rows:7}}):L.length?I?(0,A.jsx)(m,{rowKey:`id`,columns:X,dataSource:L,scroll:{x:900}}):(0,A.jsx)(v,{dataSource:L,renderItem:e=>(0,A.jsx)(v.Item,{children:(0,A.jsx)(f,{size:`small`,title:e.address,className:`full-width account-mailbox-card`,children:(0,A.jsxs)(s,{direction:`vertical`,size:12,className:`full-width`,children:[(0,A.jsx)(M,{mailbox:e}),(0,A.jsx)(O,{permissions:N(e).permissions}),N(e).permissions.receive?(0,A.jsx)(c,{block:!0,"aria-label":`${y(`account.openInbox`)} · ${e.address}`,icon:(0,A.jsx)(T,{}),style:{minHeight:44},onClick:()=>q(e),children:y(`account.openInbox`)}):null,t?.webmailSsoEnabled===!0&&P(e)?(0,A.jsx)(F,{block:!0,mailbox:e,locale:d,loading:U.has(e.id),onClick:()=>void Y(e)}):null,N(e).type===`owner`?(0,A.jsx)(c,{block:!0,"aria-label":`${y(`account.manageMailbox`)} · ${e.address}`,icon:(0,A.jsx)(S,{}),style:{minHeight:44},onClick:()=>J(e),children:y(`account.manageMailbox`)}):null]})})})}):(0,A.jsx)(D,{description:y(`account.noMailboxes`),action:(0,A.jsx)(c,{onClick:()=>j(`/inbox?workspace=routing`),children:y(`inbox.createMailbox`)})})})]})}function M({mailbox:e}){let{t}=i(),n=N(e);return n.type===`owner`?(0,A.jsx)(x,{color:`blue`,children:t(`account.ownedMailbox`)}):n.type===`admin`?(0,A.jsx)(x,{color:`gold`,children:t(`account.adminAccess`)}):(0,A.jsx)(x,{color:`purple`,children:t(`account.adminAssigned`)})}function N(e){return e.access||{type:`owner`,permissions:{view:!0,receive:!0,send:!0}}}function P(e){let t=N(e);return(t.type===`owner`||t.type===`assigned`)&&t.permissions.receive}function F({block:e=!1,mailbox:t,locale:n,loading:r,onClick:i}){let a=n.startsWith(`en`)?`Open Webmail`:`一键登录 Webmail`,s=t.status===`active`?``:n.startsWith(`en`)?`This mailbox is disabled and cannot sign in to Webmail.`:`该邮箱已停用,无法登录 Webmail。`,l=(0,A.jsx)(c,{block:e,"aria-label":`${a} · ${t.address}${s?` · ${s}`:``}`,disabled:!!s,icon:(0,A.jsx)(y,{}),loading:r,onClick:i,style:{minHeight:44},title:s||void 0,children:a});return s?(0,A.jsx)(o,{title:s,children:(0,A.jsx)(`span`,{style:e?{display:`block`}:void 0,children:l})}):l}export{j as default};
|