1import{V as v,bI as ee,i as A,j as e,C as D,T as se,bK as te}from"./index-Ci3s9Vyp.js";import{E as re}from"./EmptyState-DnRCpYKD.js";import{r as i,u as ae,c as ie}from"./react-DBTFCQ9V.js";import{m as ne,F as de,j as E}from"./firebase-DUmv6NEE.js";import{p as ce,g as le}from"./laborReceiptPdfImages-Bxhep7k9.js";import{I as k}from"./ImagePreview-CTY-7vV4.js";import{C as xe}from"./CreditBalanceBadge-CF_QKFBD.js";import{R as oe}from"./CreditConfirmDialogs-BtQyoS6P.js";import{S as me,g as pe}from"./laborReceiptStatus-CnZhXQse.js";import{I as ge}from"./incomeTypes-rSvOMh9w.js";import{a as ue,f as ve}from"./format-CdRYU-v6.js";import{n as T,w as he,q as w,aG as P,G as je,ac as C,a2 as be,s as $,R as B,ae as _,T as z,o as Ne,F as S,j as fe,f as ye,u as ke,k as we,x as Ce,X as M}from"./utils-DRBGurlB.js";import"./FileSaver.min-4ypyifxH.js";const Me=()=>{const F=i.useId(),m=ae(),{id:p}=ie(),[s,O]=i.useState(null),[V,R]=i.useState(!0),[L,n]=i.useState(null),[l,g]=i.useState(null),[G,H]=i.useState(""),[X,x]=i.useState(!1),[U,h]=i.useState(""),[q,b]=i.useState(!1),[Re,Le]=i.useState(!1),[K,j]=i.useState(!1),[d,W]=i.useState(null);i.useEffect(()=>{window.scrollTo(0,0)},[]),i.useEffect(()=>{if(!p){m("/labor-receipts");return}const t=v();if(!t){R(!1);return}(async()=>{try{const c=await te(t);c&&H(c.name||"")}catch(c){console.error("Error loading company name:",c)}})();const a=ee(t),o=ne(a,p),y=de(o,c=>{c.exists()?O({id:c.id,...c.data()}):(n({type:"error",message:"æ¾ä¸å°æ¤åå ±å®"}),m("/labor-receipts")),R(!1)},c=>{console.error("Error fetching receipt:",c),n({type:"error",message:"è¼å
¥å¤±æ"}),R(!1)});return()=>y()},[p,m]),i.useEffect(()=>{const t=v();if(!p||!t||!s||!!!(s.idFrontUrl||s.idBackUrl||s.bankbookUrl||s.signatureUrl))return;let a=!0;return(async()=>{try{const y=await E(A(),"getReceiptFileUrls")({companyId:t,receiptId:p});a&&W(y.data)}catch(o){console.warn("åå¾åå ±å®åççæ URL 失æ",o)}})(),()=>{a=!1}},[p,s==null?void 0:s.idFrontUrl,s==null?void 0:s.idBackUrl,s==null?void 0:s.bankbookUrl,s==null?void 0:s.signatureUrl]);const Y=async()=>{if(s!=null&&s.id){g("void");try{const t=A();await E(t,"voidLaborReceipt")({companyId:v(),receiptId:s.id,reason:U}),n({type:"success",message:"åå ±å®å·²ä½å»¢"}),x(!1),h("")}catch(t){console.error("Error voiding receipt:",t),n({type:"error",message:t.message||"ä½å»¢å¤±æ"})}finally{g(null)}}},I=()=>{var r,a;return s!=null&&s.tokenExpiresAt?(((a=(r=s.tokenExpiresAt)==null?void 0:r.toDate)==null?void 0:a.call(r))||new Date(s.tokenExpiresAt))<new Date:!0},J=async()=>{if(!s)return;if(!s.signingToken||!s.tokenExpiresAt){n({type:"error",message:"簽署é£çµä¸åå¨ï¼è«éæ°ç¼é確èªä¿¡"});return}if(I()){n({type:"error",message:"簽署é£çµå·²éæï¼è«éæ°ç¼é確èªä¿¡"});return}const t=v(),a=`${window.location.origin}/sign/${t}/${s.id}/${s.signingToken}`;try{await navigator.clipboard.writeText(a),n({type:"success",message:"簽署é£çµå·²è¤è£½å°åªè²¼ç°¿"})}catch(o){console.error("Failed to copy:",o),window.prompt("è«æåè¤è£½ç°½ç½²é£çµï¼",a)}},Q=async()=>{var t;if(s!=null&&s.id){g("resend");try{const r=A(),c=(await E(r,"resendLaborReceiptEmail")({companyId:v(),receiptId:s.id})).data.wasFree?"éµä»¶å·²éæ°ç¼éï¼é¦æ¬¡éç¼å
è²»ï¼":"éµä»¶å·²éæ°ç¼é";n({type:"success",message:c}),j(!1)}catch(r){console.error("Error resending email:",r);const a=r.message||((t=r.details)==null?void 0:t.message)||"";throw a.includes("INSUFFICIENT_CREDITS")?n({type:"error",message:"黿¸ä¸è¶³ï¼è«å
å²å¼å¾åéç¼"}):a.includes("OPERATION_IN_PROGRESS")?n({type:"error",message:"æä½é²è¡ä¸ï¼è«ç¨å¾å試"}):n({type:"error",message:a||"ç¼é失æ"}),r}finally{g(null)}}},Z=async()=>{if(s){g("pdfCopy");try{const t=await ce(s,v());await le(t,G),n({type:"success",message:"PDF 坿¬å·²ä¸è¼"})}catch(t){console.error("Error generating PDF copy:",t),n({type:"error",message:"PDF çæå¤±æ"})}finally{g(null)}}},u=t=>ve(t),N=t=>ue(t,{symbol:!1});if(V)return e.jsx("div",{className:"flex items-center justify-center h-full",children:e.jsx("div",{className:"w-8 h-8 border-4 border-[var(--accent)]/30 border-t-[var(--accent)] rounded-full animate-spin"})});if(!s)return e.jsx(re,{icon:T,title:e.jsx(e.Fragment,{children:"æ¾ä¸å°æ¤åå ±å®"}),className:"h-full"});const f=me[pe(s)];return e.jsxs("div",{className:"p-6 max-w-4xl mx-auto",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4 mb-6",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("button",{onClick:()=>m("/labor-receipts"),className:"p-2 text-[var(--text-muted)] hover:text-[var(--text-primary)] hover:bg-[var(--bg-card-alt)] rounded-lg transition-colors",children:e.jsx(he,{size:20})}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("h1",{className:"text-2xl font-bold text-[var(--text-primary)]",children:"åå ±å®è©³æ
"}),e.jsxs("span",{className:`inline-flex items-center gap-1.5 px-3 py-1 text-sm font-medium rounded-full ${f.bgColor} ${f.color}`,children:[f.icon(16),f.label]})]}),e.jsx("p",{className:"text-sm text-[var(--text-muted)] font-mono mt-1",children:s.serialNumber})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(xe,{}),(s.status==="pending"||s.status==="expired")&&e.jsxs(e.Fragment,{children:[s.status==="expired"||I()?e.jsxs("button",{onClick:()=>j(!0),disabled:l==="resend",className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-orange-500 rounded-lg hover:bg-orange-600 transition-colors disabled:opacity-50",children:[l==="resend"?e.jsx(w,{size:16,className:"animate-spin"}):e.jsx(P,{size:16}),"éæ°ç¼é"]}):e.jsxs("button",{onClick:J,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-[var(--text-secondary)] bg-[var(--bg-card)] border border-[var(--border)] rounded-lg hover:bg-[var(--bg-card-alt)] transition-colors",children:[e.jsx(je,{size:16}),"åå¾é£çµ"]}),e.jsxs("button",{onClick:()=>x(!0),className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-[var(--error)] bg-[var(--error)]/10 border border-[var(--error)]/25 rounded-lg hover:border-[var(--error)]/70 transition-colors",children:[e.jsx(C,{size:16}),"ä½å»¢"]})]}),s.status==="completed"&&e.jsxs("button",{onClick:Z,disabled:l==="pdfCopy",className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-green-500 rounded-lg hover:bg-green-600 transition-colors disabled:opacity-50",children:[l==="pdfCopy"?e.jsx(w,{size:16,className:"animate-spin"}):e.jsx(be,{size:16}),"ä¸è¼ PDF 坿¬"]}),s.status==="completed"&&s.auditLog&&e.jsxs("button",{onClick:()=>b(!0),className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-[var(--text-secondary)] bg-[var(--bg-card)] border border-[var(--border)] rounded-lg hover:bg-[var(--bg-card-alt)] transition-colors",children:[e.jsx($,{size:16}),"å¯©è¨æ¥èª"]}),s.status==="draft"&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>m(`/labor-receipts/${s.id}/edit`),className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-[var(--text-secondary)] bg-[var(--bg-card)] border border-[var(--border)] rounded-lg hover:bg-[var(--bg-card-alt)] transition-colors",children:[e.jsx(B,{size:16}),"編輯"]}),e.jsxs("button",{onClick:()=>x(!0),className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-[var(--error)] bg-[var(--error)]/10 border border-[var(--error)]/25 rounded-lg hover:border-[var(--error)]/70 transition-colors",children:[e.jsx(C,{size:16}),"ä½å»¢"]})]}),s.status==="rejected"&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>m(`/labor-receipts/${s.id}/edit`),className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-[var(--text-secondary)] bg-[var(--bg-card)] border border-[var(--border)] rounded-lg hover:bg-[var(--bg-card-alt)] transition-colors",children:[e.jsx(B,{size:16}),"編輯"]}),e.jsxs("button",{onClick:()=>j(!0),disabled:l==="resend",className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-orange-500 rounded-lg hover:bg-orange-600 transition-colors disabled:opacity-50",children:[l==="resend"?e.jsx(w,{size:16,className:"animate-spin"}):e.jsx(_,{size:16}),"éæ°ç¼é"]})]}),s.status==="send_failed"&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>j(!0),disabled:l==="resend",className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-orange-500 rounded-lg hover:bg-orange-600 transition-colors disabled:opacity-50",children:[l==="resend"?e.jsx(w,{size:16,className:"animate-spin"}):e.jsx(_,{size:16}),"éæ°ç¼é"]}),e.jsxs("button",{onClick:()=>x(!0),className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-[var(--error)] bg-[var(--error)]/10 border border-[var(--error)]/25 rounded-lg hover:border-[var(--error)]/70 transition-colors",children:[e.jsx(C,{size:16}),"ä½å»¢"]})]})]})]}),s.status==="send_failed"&&s.lastSendError&&e.jsxs("div",{className:"flex items-start gap-3 p-4 mb-6 bg-red-500/10 border border-red-500/20 rounded-xl",children:[e.jsx(z,{size:18,className:"text-red-500 mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-[var(--text-primary)]",children:"éµä»¶ç¼é失æ"}),e.jsx("p",{className:"text-sm text-[var(--text-secondary)] mt-1",children:s.lastSendError})]})]}),s.status==="signed"&&s.processingError&&e.jsxs("div",{className:"flex items-start gap-3 p-4 mb-6 bg-yellow-500/10 border border-yellow-500/20 rounded-xl",children:[e.jsx(z,{size:18,className:"text-yellow-500 mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-[var(--text-primary)]",children:"簽署å¾èç失æ"}),e.jsx("p",{className:"text-sm text-[var(--text-secondary)] mt-1",children:s.processingError})]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"bg-[var(--bg-card)] border border-[var(--border)] rounded-xl p-6",children:[e.jsxs("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-4 flex items-center gap-2",children:[e.jsx(Ne,{size:20}),"簽署人è³è¨"]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"é»åéµä»¶"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.signerEmail})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"å§å"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.signerName||"-"})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"åç±"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.signerNationality||"-"})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"身åèåè"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1 font-mono",children:s.signerIdNumber||"-"})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"è¯çµ¡é»è©±"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.signerPhone||"-"})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"填寫模å¼"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.fillingMode==="signer_fill"?"ç±æå¾äººå¡«å¯«":"ç±å
¬å¸æ¹å¡«å¯«"})]}),e.jsxs("div",{className:"sm:col-span-2",children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"ç¾å±
å°å"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.signerAddress||"-"})]}),e.jsxs("div",{className:"sm:col-span-2",children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"æ¶ç±å°å"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.signerRegAddress||"-"})]})]})]}),e.jsxs("div",{className:"bg-[var(--bg-card)] border border-[var(--border)] rounded-xl p-6",children:[e.jsxs("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-4 flex items-center gap-2",children:[e.jsx(S,{size:20}),"ååå
§å®¹"]}),e.jsxs("div",{className:"grid grid-cols-2 gap-x-6 gap-y-3",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"ååå
§å®¹æè¿°"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1 whitespace-pre-wrap",children:s.serviceDescription})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"ååæé"}),e.jsxs("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:[s.servicePeriodStart," ~ ",s.servicePeriodEnd]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"æå¾é¡å¥"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:ge[s.incomeType]||s.incomeType})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"坿¬¾æ¥æ"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.paymentDate||"-"})]})]})]}),e.jsxs("div",{className:"bg-[var(--bg-card)] border border-[var(--border)] rounded-xl p-6",children:[e.jsxs("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-4 flex items-center gap-2",children:[e.jsx(fe,{size:20}),"ååéé¡"]}),e.jsxs("div",{className:"bg-[var(--bg-page)] rounded-lg p-4 space-y-3",children:[e.jsxs("div",{className:"flex justify-between items-center text-sm",children:[e.jsx("span",{className:"text-[var(--text-muted)]",children:"仿¬¾éé¡"}),e.jsxs("span",{className:"font-medium text-[var(--text-primary)]",children:["$",N(s.paymentAmount)]})]}),e.jsxs("div",{className:"flex justify-between items-center text-sm",children:[e.jsx("span",{className:"text-[var(--text-muted)]",children:"ä»£æ£æå¾ç¨
"}),e.jsxs("span",{className:"text-red-500",children:["-$",N(s.withholdingTax)]})]}),e.jsxs("div",{className:"flex justify-between items-center text-sm",children:[e.jsx("span",{className:"text-[var(--text-muted)]",children:"äºä»£å¥ä¿"}),e.jsxs("span",{className:"text-red-500",children:["-$",N(s.healthInsurance)]})]}),e.jsxs("div",{className:"border-t border-[var(--border)] pt-3 flex justify-between items-center",children:[e.jsx("span",{className:"font-medium text-[var(--text-primary)]",children:"實é仿¬¾éé¡"}),e.jsxs("span",{className:"text-xl font-bold text-[var(--accent)]",children:["$",N(s.netAmount)]})]})]})]}),(s.bankName||s.bankAccountNumber)&&e.jsxs("div",{className:"bg-[var(--bg-card)] border border-[var(--border)] rounded-xl p-6",children:[e.jsxs("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-4 flex items-center gap-2",children:[e.jsx(ye,{size:20}),"仿¬¾è³æ"]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"éè¡å稱"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.bankName||"-"})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"éè¡ä»£ç¢¼"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1 font-mono",children:s.bankCode||"-"})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"åè¡å稱"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.bankBranch||"-"})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"帳è"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1 font-mono",children:s.bankAccountNumber||"-"})]}),e.jsxs("div",{className:"sm:col-span-2",children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"æ¶å"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.bankAccountName||"-"})]})]})]}),s.note
1&&e.jsxs("div",{className:"bg-[var(--bg-card)] border border-[var(--border)] rounded-xl p-6",children:[e.jsxs("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-4 flex items-center gap-2",children:[e.jsx(S,{size:20}),"å註"]}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] whitespace-pre-wrap",children:s.note})]}),(s.idFrontUrl||s.idBackUrl||s.bankbookUrl||s.signatureUrl)&&e.jsxs("div",{className:"bg-[var(--bg-card)] border border-[var(--border)] rounded-xl p-6",children:[e.jsxs("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-4 flex items-center gap-2",children:[e.jsx(ke,{size:20}),"èä»¶èç°½å"]}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-4",children:[s.idFrontUrl&&e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider mb-2 block",children:"身åèæ£é¢"}),e.jsx(k,{src:(d==null?void 0:d.idFrontUrl)??s.idFrontUrl,alt:"身åèæ£é¢",aspectRatio:"video"})]}),s.idBackUrl&&e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider mb-2 block",children:"身åèåé¢"}),e.jsx(k,{src:(d==null?void 0:d.idBackUrl)??s.idBackUrl,alt:"身åèåé¢",aspectRatio:"video"})]}),s.bankbookUrl&&e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider mb-2 block",children:"åæºå°é¢"}),e.jsx(k,{src:(d==null?void 0:d.bankbookUrl)??s.bankbookUrl,alt:"åæºå°é¢",aspectRatio:"video"})]}),s.signatureUrl&&e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider mb-2 block",children:"ç°½å"}),e.jsx(k,{src:(d==null?void 0:d.signatureUrl)??s.signatureUrl,alt:"ç°½å",aspectRatio:"video",className:"bg-white"})]})]})]}),s.status==="completed"&&s.signedAt&&e.jsxs("div",{className:"bg-[var(--bg-card)] border border-[var(--border)] rounded-xl p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("h2",{className:"text-lg font-semibold text-[var(--text-primary)] flex items-center gap-2",children:[e.jsx($,{size:20}),"簽署è³è¨"]}),s.auditLog&&e.jsx("button",{onClick:()=>b(!0),className:"text-sm text-[var(--accent)] hover:underline",children:"æ¥ç宿´å¯©è¨æ¥èª"})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"簽署æé"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:u(s.signedAt)})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"簽署人 UID"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1 font-mono text-xs",children:s.signedByUid||"-"})]}),s.pdfHash&&e.jsxs("div",{className:"sm:col-span-2",children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"PDF éæ¹å¼ (SHA-256)"}),e.jsx("p",{className:"text-xs text-[var(--text-primary)] mt-1 font-mono break-all",children:s.pdfHash})]})]})]}),e.jsxs("div",{className:"bg-[var(--bg-card)] border border-[var(--border)] rounded-xl p-6",children:[e.jsxs("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-4 flex items-center gap-2",children:[e.jsx(we,{size:20}),"æé軸"]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-[var(--success)]/15 flex items-center justify-center flex-shrink-0",children:e.jsx(S,{size:14,className:"text-[var(--success)]"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-[var(--text-primary)]",children:"建ç«åå ±å®"}),e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:u(s.createdAt)})]})]}),s.emailSentAt&&e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-[var(--accent)]/15 flex items-center justify-center flex-shrink-0",children:e.jsx(P,{size:14,className:"text-[var(--accent)]"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-[var(--text-primary)]",children:"ç¼é確èªä¿¡"}),e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:u(s.emailSentAt)})]})]}),s.signedAt&&e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-[var(--id-purple)]/15 flex items-center justify-center flex-shrink-0",children:e.jsx(Ce,{size:14,className:"text-[var(--id-purple)]"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-[var(--text-primary)]",children:"å®æç°½ç½²"}),e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:u(s.signedAt)})]})]}),s.rejectedAt&&e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-[var(--id-orange)]/15 flex items-center justify-center flex-shrink-0",children:e.jsx(T,{size:14,className:"text-[var(--id-orange)]"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-[var(--text-primary)]",children:"é§å"}),e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:u(s.rejectedAt)}),s.rejectionCategory&&e.jsxs("p",{className:"text-xs text-[var(--text-secondary)] mt-1",children:["é¡åï¼",s.rejectionCategory==="personal_info"?"å人è³è¨æèª¤":s.rejectionCategory==="amount"?"éé¡æèª¤":s.rejectionCategory==="service"?"ååå
§å®¹æèª¤":"å
¶ä»"]}),s.rejectionReason&&e.jsxs("p",{className:"text-xs text-[var(--text-secondary)] mt-0.5",children:["è£å
ï¼",s.rejectionReason]})]})]}),s.voidedAt&&e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-[var(--error)]/15 flex items-center justify-center flex-shrink-0",children:e.jsx(C,{size:14,className:"text-[var(--error)]"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-[var(--text-primary)]",children:"ä½å»¢"}),e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:u(s.voidedAt)}),s.voidReason&&e.jsxs("p",{className:"text-xs text-[var(--text-secondary)] mt-1",children:["åå ï¼",s.voidReason]})]})]})]})]})]}),e.jsx(D,{isOpen:X,onClose:()=>{x(!1),h("")},children:e.jsxs("div",{className:"bg-[var(--bg-card)] rounded-2xl p-6 border border-[var(--border)]",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h3",{className:"text-lg font-semibold text-[var(--text-primary)]",children:"ä½å»¢åå ±å®"}),e.jsx("button",{onClick:()=>{x(!1),h("")},className:"p-1 text-[var(--text-muted)] hover:text-[var(--text-primary)] rounded-lg transition-colors",children:e.jsx(M,{size:20})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{className:"text-sm text-[var(--text-secondary)]",children:["確å®è¦ä½å»¢æ¤åå ±å®åï¼æ¤æä½",e.jsx("strong",{children:"ä¸å¯é"}),"ã"]}),s.status!=="draft"&&e.jsxs("div",{className:"flex items-start gap-2 p-3 bg-amber-500/10 rounded-lg border border-amber-500/20",children:[e.jsx(z,{size:16,className:"text-amber-500 flex-shrink-0 mt-0.5"}),e.jsxs("div",{className:"text-xs text-[var(--text-secondary)] space-y-1",children:[e.jsxs("p",{children:["å·²æ£é¤ç黿¸",e.jsx("strong",{className:"text-[var(--text-primary)]",children:"ä¸äºéé
1"})]}),(s.status==="pending"||s.status==="rejected")&&e.jsx("p",{children:"簽署é£çµå°ç«å³å¤±æ"})]})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:`${F}-0`,className:"block text-sm font-medium text-[var(--text-primary)] mb-1",children:"ä½å»¢åå ï¼é¸å¡«ï¼"}),e.jsx("textarea",{id:`${F}-0`,value:U,onChange:t=>h(t.target.value),placeholder:"è«è¼¸å
¥ä½å»¢åå ...",className:"w-full px-3 py-2 text-sm bg-[var(--bg-page)] border border-[var(--border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--accent)]/50 resize-none",rows:3})]}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx("button",{onClick:()=>{x(!1),h("")},className:"px-4 py-2 text-sm font-medium text-[var(--text-secondary)] bg-[var(--bg-card-alt)] rounded-lg hover:bg-[var(--border)] transition-colors",children:"åæ¶"}),e.jsx("button",{onClick:Y,disabled:l==="void",className:"px-4 py-2 text-sm font-medium text-white bg-red-500 rounded-lg hover:bg-red-600 transition-colors disabled:opacity-50",children:l==="void"?"èçä¸...":"確èªä½å»¢"})]})]})]})}),e.jsx(D,{isOpen:q,onClose:()=>b(!1),maxWidth:"max-w-2xl",children:e.jsxs("div",{className:"bg-[var(--bg-card)] rounded-2xl p-6 border border-[var(--border)]",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h3",{className:"text-lg font-semibold text-[var(--text-primary)]",children:"å¯©è¨æ¥èª"}),e.jsx("button",{onClick:()=>b(!1),className:"p-1 text-[var(--text-muted)] hover:text-[var(--text-primary)] rounded-lg transition-colors",children:e.jsx(M,{size:20})})]}),(s==null?void 0:s.auditLog)&&e.jsx("div",{className:"space-y-4 max-h-[60vh] overflow-y-auto",children:e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"簽署人 Email"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.auditLog.signerEmail})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"簽署人 UID"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1 font-mono text-xs",children:s.auditLog.signerUid})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"IP ä½å"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1 font-mono",children:s.auditLog.ipAddress})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"æå"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.auditLog.timezone})]}),s.auditLog.geoLocation&&e.jsxs("div",{className:"col-span-2",children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"å°çä½ç½®"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:[s.auditLog.geoLocation.city,s.auditLog.geoLocation.region,s.auditLog.geoLocation.country].filter(Boolean).join(", ")})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"User Agent"}),e.jsx("p",{className:"text-xs text-[var(--text-primary)] mt-1 font-mono break-all",children:s.auditLog.userAgent})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"è¢å¹è§£æåº¦"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.auditLog.screenResolution||"-"})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"å¹³å°"}),e.jsx("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:s.auditLog.platform||"-"})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"ç°½åèæ"}),e.jsxs("p",{className:"text-sm text-[var(--text-primary)] mt-1",children:[s.auditLog.signatureDuration," ç§"]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)] uppercase tracking-wider",children:"Session ID"}),e.jsx("p",{className:"text-xs text-[var(--text-primary)] mt-1 font-mono",children:s.auditLog.sessionId})]})]})})]})}),e.jsx(oe,{isOpen:K,onClose:()=>j(!1),onConfirm:Q,signerEmail:s.signerEmail||"",serialNumber:s.seri
1alNumber||"",resendCount:s.resendCount||0}),L&&e.jsx(se,{message:L.message,type:L.type,onClose:()=>n(null)})]})};export{Me as default};
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.