PageSourceSearch

https://bazaarlink.ai/_next/static/chunks/13549.2fcc7aa28e4306b4.js

js bazaarlink.ai collected 2026-10-05 13:18:17 UTC 41,528 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[13549],{1659:(e,t,a)=>{a.d(t,{CY:()=>x,xi:()=>v,Gv:()=>f,tf:()=>b,s9:()=>y});var i=a(95155),r=a(12115),n=a(20063);let s={"zh-TW":()=>a.e(78902).then(a.bind(a,78902)),en:()=>a.e(71479).then(a.bind(a,71479)),ja:()=>a.e(97185).then(a.bind(a,97185)),de:()=>a.e(1727).then(a.bind(a,1727)),"zh-CN":()=>a.e(15624).then(a.bind(a,15624)),vi:()=>Promise.all([a.e(37005),a.e(53189)]).then(a.bind(a,53189)),ko:()=>a.e(91854).then(a.bind(a,91854)),id:()=>a.e(80945).then(a.bind(a,80945)),hi:()=>Promise.all([a.e(37005),a.e(5511)]).then(a.bind(a,5511)),th:()=>Promise.all([a.e(37005),a.e(56664)]).then(a.bind(a,56664)),ru:()=>Promise.all([a.e(37005),a.e(39261)]).then(a.bind(a,39261))};function l(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var o=a(34154);let d=null;async function c(e){let t=(await s[e]()).default;return"zh-TW"===e?t:function e(t,a){let i={...t};for(let t of Object.keys(a)){let r=a[t],n=i[t];l(n)&&l(r)?i[t]=e(n,r):i[t]=r}return i}(await (!d&&(d=s["zh-TW"]().then(e=>e.default)),d),t)}let u={"zh-TW":{label:"繁體中文",flag:"\uD83C\uDDF9\uD83C\uDDFC"},en:{label:"English",flag:"\uD83C\uDDFA\uD83C\uDDF8"},ja:{label:"日本語",flag:"\uD83C\uDDEF\uD83C\uDDF5"},de:{label:"Deutsch",flag:"\uD83C\uDDE9\uD83C\uDDEA"},"zh-CN":{label:"简体中文",flag:"\uD83C\uDDE8\uD83C\uDDF3"},vi:{label:"Tiếng Việt",flag:"\uD83C\uDDFB\uD83C\uDDF3"},ko:{label:"한국어",flag:"\uD83C\uDDF0\uD83C\uDDF7"},id:{label:"Bahasa Indonesia",flag:"\uD83C\uDDEE\uD83C\uDDE9"},hi:{label:"हिन्दी",flag:"\uD83C\uDDEE\uD83C\uDDF3"},th:{label:"ไทย",flag:"\uD83C\uDDF9\uD83C\uDDED"},ru:{label:"Русский",flag:"\uD83C\uDDF7\uD83C\uDDFA"}},p=Object.keys(u),m=(0,r.createContext)(()=>{}),h={},g=(0,r.createContext)({locale:"zh-TW",setLocale:()=>{},t:h});function x(e){let{initialLocale:t,initialDict:a,children:s}=e,l=(0,n.useRouter)(),d=(0,n.usePathname)(),[u,p]=(0,r.useState)(t),[x,y]=(0,r.useState)(null!=a?a:h),v=(0,r.useRef)(0);(0,r.useEffect)(()=>{if(a)return;let e=!1;return c(t).then(t=>{e||y(t)}),()=>{e=!0}},[]);let b=(0,r.useCallback)(e=>{let t=++v.current;"undefined"!=typeof document&&(document.cookie="rf-locale=".concat(e,"; path=/; max-age=").concat(31536e3,"; SameSite=Lax"));let a=null!==(0,o.Sk)(d),i=(0,o.jw)(d,e);if(a&&i){let t="".concat(window.location.pathname).concat(window.location.search).concat(window.location.hash),a=(0,o._0)(t,e);window.location.assign(a);return}c(e).then(a=>{t===v.current&&(y(a),p(e),l.refresh())})},[d,l]);(0,r.useEffect)(()=>{"undefined"!=typeof document&&(document.documentElement.lang=o.an[u])},[u]);let f=(0,r.useCallback)(e=>{y(t=>({...t,...e}))},[]);return(0,i.jsx)(g.Provider,{value:{locale:u,setLocale:b,t:x},children:(0,i.jsx)(m.Provider,{value:f,children:s})})}function y(){return(0,r.useContext)(g)}function v(e){let{slice:t,children:a}=e,n=(0,r.useContext)(g),s=(0,r.useMemo)(()=>{var e;return e=n.t,{...e,...t}},[n.t,t]);return(0,i.jsx)(g.Provider,{value:{locale:n.locale,setLocale:n.setLocale,t:s},children:a})}function b(e){for(var t=arguments.length,a=Array(t>1?t-1:0),i=1;i<t;i++)a[i-1]=arguments[i];return e?a.reduce((e,t,a)=>e.replaceAll("{".concat(a,"}"),String(t)),e):a.join(" ")}function f(){var e,t;let{locale:a,setLocale:s}=y(),l=(0,n.usePathname)(),[d,c]=(0,r.useState)(!1),m=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(d)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e);function e(e){m.current&&!m.current.contains(e.target)&&c(!1)}},[d]);let h=u[a],g=(0,o.Sk)(l),x=(0,o.VR)(l),v=null!=(t=null==(e=(0,o.qI)(x))?void 0:e.strippedPath)?t:x,b=(0,o.l5)(v),f=g?g.readyLocales:p;return g||b?(0,i.jsxs)("div",{ref:m,style:{position:"relative"},children:[(0,i.jsxs)("button",{onClick:()=>c(!d),"aria-label":"Select language","aria-expanded":d,style:{display:"flex",alignItems:"center",gap:5,padding:"4px 10px",fontSize:12,fontWeight:500,color:"var(--fg-muted)",background:d?"var(--sl3)":"none",border:"1px solid ".concat(d?"var(--border-hi)":"var(--border)"),borderRadius:0,cursor:"pointer",transition:"all 0.12s",whiteSpace:"nowrap"},onMouseEnter:e=>{d||(e.currentTarget.style.borderColor="var(--border-hi)",e.currentTarget.style.background="var(--sl2)")},onMouseLeave:e=>{d||(e.currentTarget.style.borderColor="var(--border)",e.currentTarget.style.background="none")},children:[(0,i.jsx)("span",{style:{fontSize:14,lineHeight:1},children:h.flag}),(0,i.jsx)("span",{children:h.label}),(0,i.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",style:{marginLeft:2,transform:d?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.15s"},children:(0,i.jsx)("path",{d:"M2 3.5L5 6.5L8 3.5",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})]}),d&&(0,i.jsx)("div",{style:{position:"absolute",top:"calc(100% + 6px)",right:0,minWidth:180,maxHeight:320,overflowY:"auto",borderRadius:0,border:"1px solid var(--border)",background:"var(--bg)",boxShadow:"0 8px 30px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.06)",zIndex:100,animation:"langDropIn 0.15s ease-out",padding:"4px 0"},children:f.map(e=>{let t=u[e],r=e===a;return(0,i.jsxs)("button",{onClick:()=>{s(e),c(!1)},style:{display:"flex",alignItems:"center",gap:8,width:"100%",textAlign:"left",padding:"8px 14px",fontSize:13,fontWeight:r?600:4
100,color:r?"var(--fg)":"var(--fg-muted)",background:r?"var(--sl2)":"transparent",border:"none",cursor:"pointer",transition:"background 0.08s, color 0.08s"},onMouseEnter:e=>{r||(e.currentTarget.style.background="var(--sl2)",e.currentTarget.style.color="var(--fg)")},onMouseLeave:e=>{r||(e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--fg-muted)")},children:[(0,i.jsx)("span",{style:{fontSize:16,lineHeight:1},children:t.flag}),(0,i.jsx)("span",{children:t.label}),r&&(0,i.jsx)("span",{style:{marginLeft:"auto",fontSize:11,color:"var(--fg-subtle)"},children:"✓"})]},e)})})]}):null}},13549:(e,t,a)=>{a.r(t),a.d(t,{default:()=>V});var i=a(95155),r=a(12115),n=a(65341),s=a(55867),l=a(76907),o=a(46046),d=a(1659),c=a(28536);let u=c.Ikc({no_credit:c.aig().int().nonnegative(),credit:c.aig().int().nonnegative(),subscriber:c.aig().int().nonnegative()}).strict();c.Ikc({enabled:c.zMY(),allowances:u,requireVerifiedEmail:c.zMY(),exhaustedStatus:c.KCZ([c.euz(432),c.euz(429)]),includeCrawlMap:c.zMY(),globalDailyFreeCredits:c.aig().int().nonnegative(),alertPercent:c.aig().int().min(0).max(100),autoStopAtBudget:c.zMY()}).strict(),c.Ikc({enabled:c.zMY().optional(),allowances:u.partial().optional(),requireVerifiedEmail:c.zMY().optional(),exhaustedStatus:c.KCZ([c.euz(432),c.euz(429)]).optional(),includeCrawlMap:c.zMY().optional(),globalDailyFreeCredits:c.aig().int().nonnegative().optional(),alertPercent:c.aig().int().min(0).max(100).optional(),autoStopAtBudget:c.zMY().optional()}).strict();let p={enabled:!0,allowances:{no_credit:5,credit:10,subscriber:10},requireVerifiedEmail:!0,exhaustedStatus:432,includeCrawlMap:!0,globalDailyFreeCredits:500,alertPercent:80,autoStopAtBudget:!0},m={border:"1px solid var(--border)",borderRadius:10,background:"var(--bg)",padding:16},h={width:"100%",minHeight:34,boxSizing:"border-box",padding:"6px 9px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg)",color:"var(--fg)",fontSize:13},g={display:"block",marginBottom:5,color:"var(--fg-subtle)",fontSize:12,fontWeight:600};function x(e){return""===e?0:Number(e)}function y(){let[e,t]=(0,r.useState)(p),[a,n]=(0,r.useState)(0),[s,l]=(0,r.useState)(!0),[o,d]=(0,r.useState)(!1),[c,u]=(0,r.useState)(null),[y,v]=(0,r.useState)(null);function b(e,a){t(t=>({...t,allowances:{...t.allowances,[e]:a}}))}async function f(){d(!0),u(null),v(null);try{var a,i;let r=await fetch("/api/admin/web-search-free-quota",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),s=await r.json().catch(()=>({}));if(!r.ok)throw Error(null!=(i=null==s||null==(a=s.error)?void 0:a.message)?i:"HTTP ".concat(r.status));t(s.settings),n(s.globalFreeCreditsUsed),u("免費搜尋設定已儲存")}catch(e){v(e instanceof Error?e.message:"儲存失敗")}finally{d(!1)}}(0,r.useEffect)(()=>{let e=!1;return fetch("/api/admin/web-search-free-quota",{cache:"no-store"}).then(async e=>{if(!e.ok)throw Error("HTTP ".concat(e.status));return e.json()}).then(a=>{!e&&((null==a?void 0:a.settings)&&t(a.settings),Number.isFinite(null==a?void 0:a.globalFreeCreditsUsed)&&n(a.globalFreeCreditsUsed))}).catch(t=>{e||v(t instanceof Error?t.message:"無法讀取免費搜尋設定")}).finally(()=>{e||l(!1)}),()=>{e=!0}},[]);let C=(e,t)=>(0,i.jsxs)("div",{children:[(0,i.jsx)("label",{style:g,children:e}),t]});return(0,i.jsxs)("section",{"data-testid":"web-search-free-quota-card",style:m,children:[(0,i.jsx)("h4",{style:{margin:"0 0 6px",fontSize:14},children:"免費搜尋額度"}),(0,i.jsxs)("p",{style:{margin:"0 0 14px",color:"var(--fg-subtle)",fontSize:12},children:["依帳戶擁有者與 UTC 日期計算;今日全域使用量:",a," / ",e.globalDailyFreeCredits," credits"]}),s?(0,i.jsx)("p",{style:{margin:0,color:"var(--fg-subtle)",fontSize:13},children:"讀取中..."}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, minmax(0, 1fr))",gap:12},className:"admin-grid-3",children:[C("啟用免費搜尋",(0,i.jsx)("input",{"aria-label":"free search enabled",type:"checkbox",checked:e.enabled,onChange:e=>t(t=>({...t,enabled:e.target.checked}))})),C("未儲值每日 credits",(0,i.jsx)("input",{"aria-label":"no credit allowance",type:"number",min:"0",step:"1",value:e.allowances.no_credit,onChange:e=>b("no_credit",x(e.target.value)),style:h})),C("有餘額每日 credits",(0,i.jsx)("input",{"aria-label":"credit allowance",type:"number",min:"0",step:"1",value:e.allowances.credit,onChange:e=>b("credit",x(e.target.value)),style:h})),C("訂閱者每日 credits",(0,i.jsx)("input",{"aria-label":"subscriber allowance",type:"number",min:"0",step:"1",value:e.allowances.subscriber,onChange:e=>b("subscriber",x(e.target.value)),style:h})),C("要求驗證 email",(0,i.jsx)("input",{"aria-label":"require verified email",type:"checkbox",checked:e.requireVerifiedEmail,onChange:e=>t(t=>({...t,requireVerifiedEmail:e.target.checked}))})),C("允許 crawl / map",(0,i.jsx)("input",{"aria-label":"include crawl map",type:"checkbox",checked:e.includeCrawlMap,onChange:e=>t(t=>({...t,includeCrawlMap:e.target.checked}))})),C("耗盡回應狀態",(0,i.jsxs)("select",{"aria-label":"exhausted status",value:e.exhaustedStatus,onChange:e=>t(t=>({...t,exhaustedStatus:Number(e.target.value)})),style:h,children:[(0,i.jsx)("option",{value:"432",children:"432"}),(0,i.jsx)("option",{value:"429",children:"429"})]})),C("每日全域免費 credits",(0,i.jsx)("input",{"aria-label":"global daily free credits",type:"number",min:"0",step:"1",value:e.globalDailyFreeCredits,onChange:e=>t(t=>({...t,globalDailyFreeCredits:x(e.target.value)})),style:h})),C("告警百分比",(0,i.jsx)("input",{"aria-label":"alert percent",type:"number",min:"0",max:"100",step:"1",value:e.alertPercent,onChange:e=>t(t=>({...t,alertPercent:x(e.target.value)})),style:h})),C("達預算自動停止",(0,i.jsx)("input",{"aria-label":"auto stop at budget",type:"checkbox",checked:e.autoStopAtBudget,onChange:e=>t(t=>({...t,autoStopAtBudget:e.target.checked}))}))]}),(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginTop:14},children:[(0,i.jsx)("button",{type:"button",onClick:f,disabled:o,style:{padding:"8px 16px",border:0,borderRadius:7,background:"var(--fg)",color:"var(--bg)",cursor:o?"not-allowed":"pointer",opacity:o?.65:1},children:o?"更新中...":"更新免費搜尋設定"}),c&&(0,i.jsx)("span",{style:{color:"#16a34a",fontSize:13},children:c}),y&&(0,i.jsx)("span",{style:{color:"#dc2626",fontSize:13},children:y})]})]})]})}let v={search:{autoParametersCredits:2},extract:{unitUrls:5,basicCreditsPerUnit:1,advancedCreditsPerUnit:2,t
1imeoutCapSeconds:60},map:{unitPages:10,creditsPerUnit:1,instructionsCreditsPerUnit:2,timeoutCapSeconds:90},crawl:{timeoutCapSeconds:90},research:{miniMinCredits:4,miniMaxCredits:110,proMinCredits:15,proMaxCredits:250}},b=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e4;return c.aig().int("".concat(e," must be a positive integer")).positive("".concat(e," must be a positive integer")).max(t,"".concat(e," must be at most ").concat(t))},f=c.Ikc({search:c.Ikc({autoParametersCredits:b("autoParametersCredits").default(v.search.autoParametersCredits)}).strict().default(v.search),extract:c.Ikc({unitUrls:b("unitUrls").default(v.extract.unitUrls),basicCreditsPerUnit:b("basicCreditsPerUnit").default(v.extract.basicCreditsPerUnit),advancedCreditsPerUnit:b("advancedCreditsPerUnit").default(v.extract.advancedCreditsPerUnit),timeoutCapSeconds:b("extract timeout cap seconds",100).default(v.extract.timeoutCapSeconds)}).strict().default(v.extract),map:c.Ikc({unitPages:b("unitPages").default(v.map.unitPages),creditsPerUnit:b("creditsPerUnit").default(v.map.creditsPerUnit),instructionsCreditsPerUnit:b("instructionsCreditsPerUnit").default(v.map.instructionsCreditsPerUnit),timeoutCapSeconds:b("map timeout cap seconds").max(100,"map timeout cap must be at most 100 seconds (Cloudflare proxy limit)").default(v.map.timeoutCapSeconds)}).strict().default(v.map),crawl:c.Ikc({timeoutCapSeconds:b("crawl timeout cap seconds").max(100,"crawl timeout cap must be at most 100 seconds (Cloudflare proxy limit)").default(v.crawl.timeoutCapSeconds)}).strict().default(v.crawl),research:c.Ikc({miniMinCredits:b("miniMinCredits").default(v.research.miniMinCredits),miniMaxCredits:b("miniMaxCredits").default(v.research.miniMaxCredits),proMinCredits:b("proMinCredits").default(v.research.proMinCredits),proMaxCredits:b("proMaxCredits").default(v.research.proMaxCredits)}).strict().default(v.research)}).strict().default(v),C=["low","medium","high","fast"],j=c.Ikc({basic:c.aig().int().nonnegative(),fast:c.aig().int().nonnegative(),"ultra-fast":c.aig().int().nonnegative(),advanced:c.aig().int().nonnegative()}).strict(),S=c.Ikc({depth:c.k5n(["basic","fast","ultra-fast","advanced"]),maxResults:c.aig().int().positive()}).strict(),k=c.YjP().max(200).refine(e=>!/[<>\u0000-\u001f\u007f]/.test(e),"attribution text must be plain text").refine(e=>!/(?:javascript|vbscript|data):/i.test(e),"attribution text must not contain script URLs"),w=c.Ikc({enabled:c.zMY().default(!1),text:k.default("")}).strict().default({enabled:!1,text:""}),T=c.Ikc({perKeyPerMinute:c.aig().int().min(1).max(1e4).nullable().default(null)}).strict().default({perKeyPerMinute:null}),z=c.Ikc({monthlyCredits:c.aig().int().positive(),alertThresholds:c.YOg(c.aig().int().positive()).min(1).max(10),periodResetDay:c.aig().int().min(1).max(28)}).strict().default({monthlyCredits:1e3,alertThresholds:[700,900],periodResetDay:1});c.Ikc({dailyCreditsCap:c.aig().int().positive().nullable().default(null)}).strict().default({dailyCreditsCap:null}),c.Ikc({dailyCreditsCap:c.aig().int().positive().nullable()}).strict();let M={costPerCreditUsd:c.aig().finite().positive(),markup:c.aig().finite().nonnegative(),depthCredits:j,levelMappings:c.Ikc({low:S,medium:S,high:S,fast:S}).strict(),defaultLevel:c.k5n(C).default("medium"),maxResultsCap:c.aig().int().positive().max(100),contextTokenBudget:c.aig().int().positive(),perResultTokenBudget:c.aig().int().positive(),failureAlertDedupWindowSeconds:c.aig().int().positive(),reconcileThresholdCredits:c.aig().int().nonnegative(),reconcileThresholdUsd:c.aig().finite().nonnegative(),reconcileSource:c.k5n(["usage_api","ledger_only"]),topicPolicy:c.k5n(["auto","general","news"]),attribution:w,rateLimit:T,quota:z,endpoints:f},P=(e,t)=>{for(let a of C)e.levelMappings[a].maxResults>e.maxResultsCap&&t.addIssue({code:"custom",path:["levelMappings",a,"maxResults"],message:"maxResults cannot exceed maxResultsCap"});for(let a=1;a<e.quota.alertThresholds.length;a+=1)if(e.quota.alertThresholds[a-1]>=e.quota.alertThresholds[a]){t.addIssue({code:"custom",path:["quota","alertThresholds"],message:"alertThresholds must be strictly ascending"});break}for(let[a,i]of e.quota.alertThresholds.entries())i>e.quota.monthlyCredits&&t.addIssue({code:"custom",path:["quota","alertThresholds",a],message:"alert threshold cannot exceed monthlyCredits"});e.endpoints.research.miniMinCredits>e.endpoints.research.miniMaxCredits&&t.addIssue({code:"custom",path:["endpoints","research","miniMinCredits"],message:"miniMinCredits cannot exceed miniMaxCredits"}),e.endpoints.research.proMinCredits>e.endpoints.research.proMaxCredits&&t.addIssue({code:"custom",path:["endpoints","research","proMinCredits"],message:"proMinCredits cannot exceed proMaxCredits"})};c.Ikc({...M,zhTWCountry:c.L5J().optional(),jaCountry:c.L5J().optional()}).strict().superRefine((e,t)=>
1{P(e,t)}).transform(e=>{let{zhTWCountry:t,jaCountry:a,...i}=e;return i}),c.Ikc(M).strict().superRefine(P);let R={costPerCreditUsd:.008,markup:1.5,depthCredits:{basic:1,fast:1,"ultra-fast":1,advanced:2},levelMappings:{low:{depth:"basic",maxResults:5},medium:{depth:"basic",maxResults:10},high:{depth:"advanced",maxResults:10},fast:{depth:"fast",maxResults:10}},defaultLevel:"medium",maxResultsCap:10,contextTokenBudget:6e3,perResultTokenBudget:1e3,failureAlertDedupWindowSeconds:900,reconcileThresholdCredits:5,reconcileThresholdUsd:.04,reconcileSource:"usage_api",topicPolicy:"general",attribution:{enabled:!1,text:""},rateLimit:{perKeyPerMinute:null},quota:{monthlyCredits:1e3,alertThresholds:[700,900],periodResetDay:1},endpoints:v},U={dailyCreditsCap:null},I=["low","medium","high","fast"],A=["basic","fast","ultra-fast","advanced"],L={border:"1px solid var(--border)",borderRadius:10,background:"var(--bg)",padding:16},E={width:"100%",minHeight:34,boxSizing:"border-box",padding:"6px 9px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg)",color:"var(--fg)",fontSize:13},D={display:"block",marginBottom:5,color:"var(--fg-subtle)",fontSize:12,fontWeight:600},q={db:"DB",env:"env",none:"none"},B={standaloneDailyCapTitle:"Standalone search daily cap",standaloneDailyCreditsCap:"Standalone daily credits cap",standaloneDailyCreditsCapHint:"Leave empty to disable the UTC daily kill switch."},N={sourceSplitTitle:"Source split",source:"Source",successRate:"Success rate",customerRevenue:"Customer revenue",standaloneSource:"Standalone API",onlineSource:":online",noData:"No data"};function H(e){return""===e?0:Number(e)}function W(){var e,t,a,c,u;let{t:p}=(0,d.s9)(),m=null!=(e=p.adminWebSearchSettings)?e:B,h=null!=(t=p.adminWebSearchAnalytics)?t:N,[g,x]=(0,r.useState)(R),[v,b]=(0,r.useState)(U),[f,C]=(0,r.useState)([]),[j,S]=(0,r.useState)({configured:!1,source:"none",mask:null}),[k,w]=(0,r.useState)(""),[T,z]=(0,r.useState)(!0),[M,P]=(0,r.useState)(!1),[W,F]=(0,r.useState)(null),[_,V]=(0,r.useState)(null);function Y(e,t){x(a=>({...a,[e]:t}))}function K(e,t,a){x(i=>({...i,levelMappings:{...i.levelMappings,[e]:{...i.levelMappings[e],[t]:a}}}))}function O(e,t){x(a=>({...a,attribution:{...a.attribution,[e]:t}}))}function J(e,t){x(a=>({...a,quota:{...a.quota,[e]:t}}))}function $(e,t,a){x(i=>({...i,endpoints:{...i.endpoints,[e]:{...i.endpoints[e],[t]:a}}}))}async function Z(){P(!0),F(null),V(null);try{let i=await fetch("/api/admin/web-search-settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({...g,standalone:v,...k.trim()?{apiKey:k.trim()}:{}})}),r=await i.json().catch(()=>({}));if(!i.ok){var e,t,a;throw Error(null!=(a=null!=(t=null==r||null==(e=r.error)?void 0:e.message)?t:null==r?void 0:r.error)?a:"HTTP ".concat(i.status))}x(r.pricing),r.standalone&&b(r.standalone),S(r.keyStatus),w(""),F("已套用,下一個搜尋請求會使用新設定。")}catch(e){V(e instanceof Error?e.message:"套用失敗")}finally{P(!1)}}(0,r.useEffect)(()=>{let e=!1;return fetch("/api/admin/web-search-settings",{cache:"no-store"}).then(async e=>{if(!e.ok)throw Error("HTTP ".concat(e.status));return e.json()}).then(t=>{if(!e){if(null==t?void 0:t.pricing){var a,i,r,n,s;x({...R,...t.pricing,attribution:{...R.attribution,...t.pricing.attribution},rateLimit:{...R.rateLimit,...t.pricing.rateLimit},quota:{...R.quota,...t.pricing.quota},endpoints:{...R.endpoints,...t.pricing.endpoints,search:{...R.endpoints.search,...null==(a=t.pricing.endpoints)?void 0:a.search},extract:{...R.endpoints.extract,...null==(i=t.pricing.endpoints)?void 0:i.extract},map:{...R.endpoints.map,...null==(r=t.pricing.endpoints)?void 0:r.map},crawl:{...R.endpoints.crawl,...null==(n=t.pricing.endpoints)?void 0:n.crawl},research:{...R.endpoints.research,...null==(s=t.pricing.endpoints)?void 0:s.research}}})}(null==t?void 0:t.keyStatus)&&S(t.keyStatus),(null==t?void 0:t.standalone)&&b({...U,...t.standalone})}}).catch(t=>{e||V(t instanceof Error?t.message:"無法載入網路搜尋設定")}).finally(()=>{e||z(!1)}),()=>{e=!0}},[]),(0,r.useEffect)(()=>{let e=!1;
1return fetch("/api/admin/web-search-analytics?period=month",{cache:"no-store"}).then(async e=>e.ok?e.json():null).then(t=>{var a;e||C(null!=(a=null==t?void 0:t.sources)?a:[])}).catch(()=>{e||C([])}),()=>{e=!0}},[]);let G=(e,t)=>(0,i.jsxs)("div",{children:[(0,i.jsx)("label",{style:D,children:e}),t]});return(0,i.jsxs)("section",{style:{display:"flex",flexDirection:"column",gap:16},"data-testid":"web-search-settings-panel",children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[(0,i.jsx)(n.A,{size:20,style:{color:"var(--fg-subtle)",marginTop:2,flexShrink:0}}),(0,i.jsxs)("div",{children:[(0,i.jsx)("h3",{style:{margin:0,fontSize:17},children:"網路搜尋定價"}),(0,i.jsx)("p",{style:{margin:"6px 0 0",fontSize:13,color:"var(--fg-subtle)"},children:"管理 :online 搜尋的 credits、客戶倍率、語系國家與查詢政策。設定套用後立即失效快取。"})]})]}),T?(0,i.jsx)("p",{style:{margin:0,color:"var(--fg-subtle)",fontSize:13},children:"載入中…"}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{style:L,children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:14},children:[(0,i.jsx)(s.A,{size:16}),(0,i.jsx)("strong",{style:{fontSize:14},children:"Tavily API 金鑰"}),(0,i.jsxs)("span",{style:{marginLeft:"auto",color:j.configured?"#16a34a":"var(--fg-subtle)",fontSize:12},children:[j.configured?"已設定":"未設定"," \xb7 來源:",q[j.source]]})]}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1fr)",gap:12},className:"admin-grid-2",children:[G("目前遮罩",(0,i.jsx)("div",{style:{...E,display:"flex",alignItems:"center",color:"var(--fg-subtle)"},children:null!=(a=j.mask)?a:"—"})),G("輸入新 Tavily API key(留空不變更)",(0,i.jsx)("input",{"aria-label":"new Tavily API key",type:"password",autoComplete:"new-password",value:k,onChange:e=>w(e.target.value),style:E}))]}),(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:10,color:"var(--fg-subtle)",fontSize:12},children:[(0,i.jsx)(l.A,{size:14})," 金鑰只會寫入加密欄位;畫面與 audit 永遠只顯示遮罩。"]})]}),(0,i.jsxs)("div",{style:L,children:[(0,i.jsx)("h4",{style:{margin:"0 0 12px",fontSize:14},children:m.standaloneDailyCapTitle}),G(m.standaloneDailyCreditsCap,(0,i.jsx)("input",{"aria-label":"standalone daily credits cap",type:"number",min:"1",step:"1",value:null!=(c=v.dailyCreditsCap)?c:"",onChange:e=>{b({dailyCreditsCap:""===e.target.value?null:H(e.target.value)})},style:E})),(0,i.jsx)("p",{style:{margin:"8px 0 0",color:"var(--fg-subtle)",fontSize:12},children:m.standaloneDailyCreditsCapHint})]}),(0,i.jsxs)("div",{style:L,children:[(0,i.jsx)("h4",{style:{margin:"0 0 12px",fontSize:14},children:"基礎定價"}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:12},className:"admin-grid-2",children:[G("每 credit 成本(USD)",(0,i.jsx)("input",{"aria-label":"cost per credit",type:"number",min:"0.000001",step:"0.001",value:g.costPerCreditUsd,onChange:e=>Y("costPerCreditUsd",H(e.target.value)),style:E})),G("客戶倍率",(0,i.jsx)("input",{"aria-label":"markup",type:"number",min:"0",step:"0.05",value:g.markup,onChange:e=>Y("markup",H(e.target.value)),style:E}))]})]}),(0,i.jsxs)("div",{style:L,children:[(0,i.jsx)("h4",{style:{margin:"0 0 12px",fontSize:14},children:"Extract / Map / Crawl / Research 計價"}),(0,i.jsxs)("div",{style:{display:"grid",gap:14},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("strong",{style:{display:"block",marginBottom:9,fontSize:13},children:"Search"}),G("search auto parameters credits",(0,i.jsx)("input",{"aria-label":"search auto parameters credits",type:"number",min:"1",step:"1",value:g.endpoints.search.autoParametersCredits,onChange:e=>$("search","autoParametersCredits",H(e.target.value)),style:E}))]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("strong",{style:{display:"block",marginBottom:9,fontSize:13},children:"Extract"}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, minmax(0, 1fr))",gap:12},className:"admin-grid-4",children:[G("extract unit URLs",(0,i.jsx)("input",{"aria-label":"extract unit URLs",type:"number",min:"1",step:"1",value:g.endpoints.extract.unitUrls,onChange:e=>$("extract","unitUrls",H(e.target.value)),style:E})),G("extract basic credits per unit",(0,i.jsx)("input",{"aria-label":"extract basic credits per unit",type:"number",min:"1",step:"1",value:g.endpoints.extract.basicCreditsPerUnit,onChange:e=>$("extract","basicCreditsPerUnit",H(e.target.value)),style:E})),G("extract advanced credits per unit",(0,i.jsx)("input",{"aria-label":"extract advanced credits per unit",type:"number",min:"1",step:"1",value:g.endpoints.extract.advancedCreditsPerUnit,onChange:e=>$("extract","advancedCreditsPerUnit",H(e.target.value)),style:E})),G("extract timeout cap seconds",(0,i.jsx)("input",{"aria-label":"extract timeout cap seconds",type:"number",min:"1",max:"100",step:"1",value:g.endpoints.extract.t
1imeoutCapSeconds,onChange:e=>$("extract","timeoutCapSeconds",H(e.target.value)),style:E}))]})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("strong",{style:{display:"block",marginBottom:9,fontSize:13},children:"Map"}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, minmax(0, 1fr))",gap:12},className:"admin-grid-4",children:[G("map unit pages",(0,i.jsx)("input",{"aria-label":"map unit pages",type:"number",min:"1",step:"1",value:g.endpoints.map.unitPages,onChange:e=>$("map","unitPages",H(e.target.value)),style:E})),G("map credits per unit",(0,i.jsx)("input",{"aria-label":"map credits per unit",type:"number",min:"1",step:"1",value:g.endpoints.map.creditsPerUnit,onChange:e=>$("map","creditsPerUnit",H(e.target.value)),style:E})),G("map instructions credits per unit",(0,i.jsx)("input",{"aria-label":"map instructions credits per unit",type:"number",min:"1",step:"1",value:g.endpoints.map.instructionsCreditsPerUnit,onChange:e=>$("map","instructionsCreditsPerUnit",H(e.target.value)),style:E})),G("map timeout cap seconds",(0,i.jsx)("input",{"aria-label":"map timeout cap seconds",type:"number",min:"1",max:"100",step:"1",value:g.endpoints.map.timeoutCapSeconds,onChange:e=>$("map","timeoutCapSeconds",H(e.target.value)),style:E}))]})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("strong",{style:{display:"block",marginBottom:9,fontSize:13},children:"Crawl"}),G("crawl timeout cap seconds",(0,i.jsx)("input",{"aria-label":"crawl timeout cap seconds",type:"number",min:"1",max:"100",step:"1",value:g.endpoints.crawl.timeoutCapSeconds,onChange:e=>$("crawl","timeoutCapSeconds",H(e.target.value)),style:E}))]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("strong",{style:{display:"block",marginBottom:9,fontSize:13},children:"Research"}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, minmax(0, 1fr))",gap:12},className:"admin-grid-4",children:[G("research mini min credits",(0,i.jsx)("input",{"aria-label":"research mini min credits",type:"number",min:"1",step:"1",value:g.endpoints.research.miniMinCredits,onChange:e=>$("research","miniMinCredits",H(e.target.value)),style:E})),G("research mini max credits",(0,i.jsx)("input",{"aria-label":"research mini max credits",type:"number",min:"1",step:"1",value:g.endpoints.research.miniMaxCredits,onChange:e=>$("research","miniMaxCredits",H(e.target.value)),style:E})),G("research pro min credits",(0,i.jsx)("input",{"aria-label":"research pro min credits",type:"number",min:"1",step:"1",value:g.endpoints.research.proMinCredits,onChange:e=>$("research","proMinCredits",H(e.target.value)),style:E})),G("research pro max credits",(0,i.jsx)("input",{"aria-label":"research pro max credits",type:"number",min:"1",step:"1",value:g.endpoints.research.proMaxCredits,onChange:e=>$("research","proMaxCredits",H(e.target.value)),style:E}))]})]})]})]}),(0,i.jsxs)("section",{"data-testid":"web-search-source-analytics",style:L,children:[(0,i.jsx)("h4",{style:{margin:"0 0 12px",fontSize:14},children:h.sourceSplitTitle}),0===f.length?(0,i.jsx)("p",{style:{margin:0,color:"var(--fg-subtle)",fontSize:12},children:h.noData}):(0,i.jsx)("div",{style:{display:"grid",gap:12},children:f.map(e=>(0,i.jsxs)("div",{style:{borderTop:"1px solid var(--border)",paddingTop:10},children:[(0,i.jsxs)("strong",{style:{display:"block",marginBottom:8,fontSize:13},children:[(0,i.jsx)("code",{children:e.source})," (","v1/search"===e.source?h.standaloneSource:h.onlineSource,")"]}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(6, minmax(0, 1fr))",gap:10},className:"admin-grid-6",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{style:{fontSize:11,color:"var(--fg-subtle)"},children:h.requests}),(0,i.jsx)("strong",{children:e.requests})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{style:{fontSize:11,color:"var(--fg-subtle)"},children:h.successRate}),(0,i.jsxs)("strong",{children:[(100*e.successRate).toFixed(1),"%"]})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{style:{fontSize:11,color:"var(--fg-subtle)"},children:h.credits}),(0,i.jsx)("strong",{children:e.credits})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{style:{fontSize:11,color:"var(--fg-subtle)"},children:h.customerRevenue}),(0,i.jsxs)("strong",{children:["$",e.customerRevenue.toFixed(4)]})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{style:{fontSize:11,color:"var(--fg-subtle)"},children:h.upstreamCost}),(0,i.jsxs)("strong",{children:["$",e.upstreamCost.toFixed(4)]})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{style:{fontSize:11,color:"var(--fg-subtle)"},children:h.profit}),(0,i.jsxs)("strong",{children:["$",e.profit.toFixed(4)]})]})]})]},e.source))})]}),(0,i.jsxs)("div",{style:L,children:[(0,i.jsx)("h4",{style:{margin:"0 0 12px",fontSize:14},children:"四級 depth credits"}),(0,i.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, minmax(0, 1fr))",gap:12},className:"admin-grid-4",children:A.map(e=>(0,i.jsx)("div",{children:G("".concat(e," credits"),(0,i.jsx)("input",{"aria-label":"".concat(e," credits"),type:"number",min:"0",step:"1",value:g.depthCredits[e],onChange:t=>{var a;return a=H(t.target.value),void x(t=>({...t,depthCredits:{...t.depthCredits,[e]:a}}))},style:E}))},e))})]}),(0,i.jsxs)("div",{style:L,children:[(0,i.jsx)("h4",{style:{margin:"0 0 12px",fontSize:14},children:"Level 對應"}),(0,i.jsx)("div",{style:{display:"grid",gap:10},children:I.map(e=>(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"100px minmax(0, 1fr) minmax(0, 1fr)",gap:10,alignItems:"end"},className:"admin-grid-3",children:[(0,i.jsx)("strong",{style:{fontSize:13,paddingBottom:9},children:e}),G("".concat(e," depth"),(0,i.jsx)("select",{"aria-label":"".concat(e," depth"),value:g.levelMappings[e].depth,onChange:t=>K(e,"depth",t.target.value),style:E,children:A.map(e=>(0,i.jsx)("option",{value:e,children:e},e))})),G("".concat(e," max results"),(0,i.jsx)("input",{"aria-label":"".concat(e," max results"),t
1ype:"number",min:"1",max:"10",step:"1",value:g.levelMappings[e].maxResults,onChange:t=>K(e,"maxResults",H(t.target.value)),style:E}))]},e))})]}),(0,i.jsxs)("div",{style:L,children:[(0,i.jsx)("h4",{style:{margin:"0 0 12px",fontSize:14},children:"搜尋與對帳策略"}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, minmax(0, 1fr))",gap:12},className:"admin-grid-3",children:[G("預設 level",(0,i.jsx)("select",{"aria-label":"default level",value:g.defaultLevel,onChange:e=>Y("defaultLevel",e.target.value),style:E,children:I.map(e=>(0,i.jsx)("option",{value:e,children:e},e))})),G("max results 上限(最多 10)",(0,i.jsx)("input",{"aria-label":"max results cap",type:"number",min:"1",max:"10",step:"1",value:g.maxResultsCap,onChange:e=>Y("maxResultsCap",H(e.target.value)),style:E})),G("topic policy",(0,i.jsxs)("select",{"aria-label":"topic policy",value:g.topicPolicy,onChange:e=>Y("topicPolicy",e.target.value),style:E,children:[(0,i.jsx)("option",{value:"auto",children:"auto"}),(0,i.jsx)("option",{value:"general",children:"general"}),(0,i.jsx)("option",{value:"news",children:"news"})]})),G("context token budget",(0,i.jsx)("input",{"aria-label":"context token budget",type:"number",min:"1",step:"100",value:g.contextTokenBudget,onChange:e=>Y("contextTokenBudget",H(e.target.value)),style:E})),G("per-result token budget",(0,i.jsx)("input",{"aria-label":"per-result token budget",type:"number",min:"1",step:"100",value:g.perResultTokenBudget,onChange:e=>Y("perResultTokenBudget",H(e.target.value)),style:E})),G("failure alert dedup(秒)",(0,i.jsx)("input",{"aria-label":"failure alert dedup window",type:"number",min:"1",step:"60",value:g.failureAlertDedupWindowSeconds,onChange:e=>Y("failureAlertDedupWindowSeconds",H(e.target.value)),style:E})),G("reconcile credits 門檻",(0,i.jsx)("input",{"aria-label":"reconcile credits threshold",type:"number",min:"0",step:"1",value:g.reconcileThresholdCredits,onChange:e=>Y("reconcileThresholdCredits",H(e.target.value)),style:E})),G("reconcile USD 門檻",(0,i.jsx)("input",{"aria-label":"reconcile USD threshold",type:"number",min:"0",step:"0.01",value:g.reconcileThresholdUsd,onChange:e=>Y("reconcileThresholdUsd",H(e.target.value)),style:E})),G("reconcile source",(0,i.jsxs)("select",{"aria-label":"reconcile source",value:g.re
1concileSource,onChange:e=>Y("reconcileSource",e.target.value),style:E,children:[(0,i.jsx)("option",{value:"usage_api",children:"usage API"}),(0,i.jsx)("option",{value:"ledger_only",children:"ledger only"})]}))]})]}),(0,i.jsxs)("div",{style:L,children:[(0,i.jsx)("h4",{style:{margin:"0 0 12px",fontSize:14},children:"Web search controls"}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr)",gap:12},className:"admin-grid-3",children:[G("Attribution enabled",(0,i.jsx)("input",{"aria-label":"attribution enabled",type:"checkbox",checked:g.attribution.enabled,onChange:e=>O("enabled",e.target.checked)})),G("Attribution text",(0,i.jsx)("textarea",{"aria-label":"attribution text",maxLength:200,value:g.attribution.text,onChange:e=>O("text",e.target.value),style:{...E,minHeight:72,resize:"vertical"}})),G("Per-key search rate limit",(0,i.jsx)("input",{"aria-label":"per-key search rate limit",type:"number",min:"1",max:"10000",step:"1",value:null!=(u=g.rateLimit.perKeyPerMinute)?u:"",onChange:e=>{var t;return t=""===e.target.value?null:H(e.target.value),void x(e=>({...e,rateLimit:{...e.rateLimit,perKeyPerMinute:t}}))},style:E}))]})]}),(0,i.jsx)(y,{}),(0,i.jsxs)("div",{style:L,children:[(0,i.jsx)("h4",{style:{margin:"0 0 12px",fontSize:14},children:"Monthly quota alerts"}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, minmax(0, 1fr))",gap:12},className:"admin-grid-3",children:[G("Monthly credits",(0,i.jsx)("input",{"aria-label":"monthly credits",type:"number",min:"1",step:"1",value:g.quota.monthlyCredits,onChange:e=>J("monthlyCredits",H(e.target.value)),style:E})),G("Alert thresholds (credits)",(0,i.jsx)("input",{"aria-label":"quota alert thresholds",type:"text",inputMode:"numeric",value:g.quota.alertThresholds.join(", "),onChange:e=>{J("alertThresholds",e.target.value.split(",").map(e=>Number(e.trim())).filter(e=>Number.isInteger(e)&&e>0))},style:E})),G("UTC period reset day",(0,i.jsx)("input",{"aria-label":"quota period reset day",type:"number",min:"1",max:"28",step:"1",value:g.quota.peri
1odResetDay,onChange:e=>J("periodResetDay",H(e.target.value)),style:E}))]}),(0,i.jsx)("p",{style:{margin:"8px 0 0",color:"var(--fg-subtle)",fontSize:12},children:"Day of month, 1-28. Use commas for multiple thresholds."})]}),(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12},children:[(0,i.jsxs)("button",{type:"button",onClick:Z,disabled:M,style:{display:"inline-flex",alignItems:"center",gap:7,minHeight:36,padding:"0 16px",border:0,borderRadius:7,background:"var(--fg)",color:"var(--bg)",cursor:M?"not-allowed":"pointer",opacity:M?.65:1},children:[(0,i.jsx)(o.A,{size:15})," ",M?"套用中…":"套用網路搜尋設定"]}),W&&(0,i.jsx)("span",{style:{color:"#16a34a",fontSize:13},children:W}),_&&(0,i.jsx)("span",{style:{color:"#dc2626",fontSize:13},children:_})]})]})]})}let F=[{key:"invoiceDefaultItemLabel",label:"預設品項名稱(中文)",type:"text",hint:"例:軟體服務費"},{key:"invoiceDefaultItemLabelEn",label:"預設品項名稱(英文)",type:"text",hint:"例:Software Service Fee"},{key:"invoiceDefaultMarkupRate",label:"預設服務費率(ratio)",type:"number",hint:"0.10 = 10%"},{key:"invoiceDefaultTaxRate",label:"營業稅率(ratio,全域唯一ï¼
1Œçµ„織不可覆寫)",type:"number",hint:"0.05 = 5%"}],_={display:"block",width:"100%",maxWidth:420,padding:"6px 10px",marginTop:4,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:6,color:"var(--fg)",fontSize:14};function V(){let[e,t]=(0,r.useState)({}),[a,n]=(0,r.useState)(!0),[s,l]=(0,r.useState)(!1),[o,d]=(0,r.useState)("");async function c(){l(!0),d("");try{let a=await fetch("/api/admin/platform-settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.fromEntries(F.map(t=>{var a;let{key:i}=t;return[i,null!=(a=e[i])?a:""]})))});if(a.ok)d("✓ 已儲存");else{var t;let e=await a.json().catch(()=>({}));d("錯誤:".concat(null!=(t=e.error)?t:"HTTP ".concat(a.status)))}}catch(e){d("錯誤:".concat(e instanceof Error?e.message:String(e)))}finally{l(!1)}}return(0,r.useEffect)(()=>{fetch("/api/admin/platform-settings").then(e=>e.ok?e.json():Promise.reject(Error("HTTP ".concat(e.status)))).then(e=>{var a;let i=null!=(a=null==e?void 0:e.settings)?a:{};t(Object.fromEntries(F.map(e=>{var t;let{key:a}=e;return[a,String(null!=(t=i[a])?t:"")]})))}).catch(e=>d("錯誤:".concat(e instanceof Error?e.message:String(e)))).finally(()=>n(!1))},[]),(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16,padding:16},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("h3",{style:{margin:0,fontSize:16},children:"帳單全域預設"}),(0,i.jsx)("p",{style:{margin:"6px 0 0",fontSize:13,color:"var(--fg-subtle)"},children:"組織月結帳單的全域預設值。品項名稱與服務費率可被單一組織覆寫;營業稅率為全域唯一。 生成帳單時凍結進快照,改這裡不影響已生成的帳單。"})]}),a?(0,i.jsx)("p",{style:{color:"var(--fg-subtle)",fontSize:13},children:"載入中..."}):(0,i.jsxs)(i.Fragment,{children:[F.map(a=>{var r;let{key:n,label:s,type:l,hint:o}=a;return(0,i.jsxs)("div",{children:[(0,i.jsx)("label",{style:{fontSize:12,color:"var(--fg-subtle)",textTransform:"uppercase"},children:s}),(0,i.jsx)("input",{type:l,step:"number"===l?"0.01":void 0,value:null!=(r=e[n])?r:"",onChange:e=>t(t=>({...t,[n]:e.target.value})),style:_}),(0,i.jsx)("div",{style:{fontSize:11,color:"var(--fg-subtle)",marginTop:2},children:o})]},n)}),(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12},children:[(0,i.jsx)("button",{onClick:c,disabled:s,style:{padding:"8px 20px",background:"var(--sl2)",color:"var(--fg)",border:"none",borderRadius:6,cursor:s?"not-allowed":"pointer",fontSize:14,opacity:s?.7:1},children:s?"儲存中...":"儲存"}),o&&(0,i.jsx)("span",{style:{fontSize:13,color:o.startsWith("✓")?"#4ade80":"#f87171"},children:o})]})]}),(0,i.jsx)("div",{style:{borderTop:"1px solid var(--border)",margin:"8px 0"}}),(0,i.jsx)(W,{})]})}},46046:(e,t,a)=>{a.d(t,{A:()=>i});let i=(0,a(71847).A)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]])},55867:(e,t,a)=>{a.d(t,{A:()=>i});let i=(0,a(71847).A)("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]])},65341:(e,t,a)=>{a.d(t,{A:()=>i});let i=(0,a(71847).A)("Earth",[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},76907:(e,t,a)=>{a.d(t,{A:()=>i});let i=(0,a(71847).A)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])}}]);

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.