1import{d as G,T as K,R as Y,Y as j,x as L,w,k as n,_ as J,o as s,f as e,e as a,F as R,j as V,t as i,G as N,n as b,h as C,y as S,p as y,Z as H,q as z,u as Q,g as D,$ as ee,a0 as te,a1 as ne,m as X,v as se,a2 as oe,l as le,a3 as Z,P as ae,b as ie,i as re,r as ue,a4 as de}from"./DgKpLXVQ.js";import{u as ce}from"./CfTZUfdY.js";import{d as pe,f as W,a as ve,b as me,r as fe}from"./DCKqD10M.js";function ye(p=new Date){return p.toLocaleDateString("sv-SE",{timeZone:"Asia/Taipei"}).slice(0,7)}const be={key:0,class:"entry-onboarding"},ge={class:"calendar-example",role:"img","aria-label":"æ¥æç¤ºæï¼ç¨æ¥ææ¥çæ¯æ¥æ¼²è·èæ¯æç´¯ç©ï¼é實éæç"},_e={class:"example-week","aria-hidden":"true"},ke={key:1,class:"entry-results"},he={class:"month-result"},we={class:"profit-line"},$e={key:0},Te={class:"market-result"},Se={key:0},Ee={key:1},xe={key:2,class:"entry-description"},De={key:3,class:"entry-description"},Ae={class:"entry-footer"},Fe={key:0},Pe={key:1},Ce=G({__name:"InvestmentDashboardCard",props:{userId:{},sessionRevision:{},previewEmpty:{type:Boolean}},setup(p){const o=p,u=S(null),$=S(!0),d=S(!1);let m=0,g=null,h=null,f=0,_=!1;const k=y(()=>o.previewEmpty||u.value?.state==="empty"),A=y(()=>!o.previewEmpty&&u.value?.state==="ready"),F=y(()=>k.value?"å å
¥ç¬¬ä¸æªæè¡":"æ¥çæè¡èæç"),T=y(()=>A.value?u.value:null);function O(l,t=!1){return l==null||!Number.isFinite(l)?"â":`${t&&l>0?"+":""}${l.toLocaleString("zh-TW",{maximumFractionDigits:0})}`}function B(l){return l==null||!Number.isFinite(l)?"â":`${l>0?"+":""}${(l*100).toFixed(2)}%`}function E(l){return l==null||l===0?"":l>0?"positive":"negative"}function P(){h!=null&&clearTimeout(h),h=null}function U(){if(P(),_||!o.userId||typeof document>"u"||document.visibilityState!=="visible")return;const l=u.value?.refreshing&&f++<20?3e3:6e4;h=setTimeout(()=>{c(!1)},l)}async function c(l=!0){if(_)return;P();const t=++m;if(g&&H(g),g=new AbortController,(l||u.value?.month!==ye())&&(u.value=null),d.value=!1,$.value=!u.value,!o.userId){$.value=!1;return}const v=g,x=setTimeout(()=>{v.abort(new DOMException("The summary request timed out","TimeoutError"))},1e4),I=()=>clearTimeout(x);v.signal.addEventListener("abort",I,{once:!0});try{const q=await $fetch("/api/user/investments/summary",{signal:v.signal,retry:0});t===m&&(u.value=q,q.refreshing||(f=0))}catch{t===m&&(d.value=!0,u.value?.state==="empty"&&(u.value=null))}finally{I(),v.signal.removeEventListener("abort",I),t===m&&($.value=!1,U())}}function M(){document.visibilityState==="visible"?c(!1):P()}return K([()=>o.userId,()=>o.sessionRevision],()=>{f=0,c()},{immediate:!0}),Y(()=>document.addEventListener("visibilitychange",M)),j(()=>{_=!0,m+=1,g&&H(g),P(),document.removeEventListener("visibilitychange",M)}),(l,t)=>{const v=J;return s(),L(v,{to:n(k)?"/my/holdings?start=holding":"/my/holdings",class:"holdings-entry","aria-label":n(F),"aria-describedby":n(k)?"investment-start-note":void 0},{default:w(()=>[t[6]||(t[6]=e("div",{class:"entry-heading"},[e("div",{class:"entry-title"},[e("h2",null,"æçæè¡")]),e("span",{class:"entry-arrow","aria-hidden":"true"},"âº")],-1)),n(k)?(s(),a("div",be,[t[2]||(t[2]=e("div",{class:"onboarding-copy"},[e("strong",null,"è®æ¯ä¸å¤©çæè³è¡¨ç¾ï¼çå¾è¦"),e("p",{id:"investment-start-note"},"å
å å
¥ä¸æªå°±è½éå§ï¼ä¸ç¨è£é½é廿¯ç交æã"),e("small",null,"å¡«å
¥ç®åè¡æ¸ï¼ææ¬å¯ä»¥ç¨å¾è£ã")],-1)),e("div",ge,[t[0]||(t[0]=e("span",{class:"example-caption"},"æçæ¥æç¤ºæ",-1)),e("div",_e,[(s(),a(R,null,V(["ä¸","äº","ä¸","å","äº"],x=>e("span",{key:x},i(x),1)),64)),(s(),a(R,null,V(["â","â","â","â","â"],(x,I)=>e("span",{key:I,class:N(["example-day",x==="â"?"example-up":"example-down"])},i(x),3)),64))]),t[1]||(t[1]=e("small",null,"æ¯æ¥æ¼²è· · æ¯æç´¯ç©",-1))])])):n(T)?(s(),a("div",ke,[e("div",he,[t[3]||(t[3]=e("span",null,"æ¬æç´¯ç©æç",-1)),e("div",we,[e("strong",{class:N(E(n(T).profitLoss))},i(O(n(T).profitLoss,!0)),3),e("span",{class:N(E(n(T).returnRate))},i(B(n(T).returnRate)),3)]),n(k)?b("",!0):(s(),a("small",$e,i(n(u)?.asOfDate?`çµ±è¨è³ ${n(u).asOfDate}`:"æ¬ææçå°æªæ´æ°"),1))]),e("div",Te,[t[4]||(t[4]=e("span",null,"åèå¸å¼",-1)),e("strong",null,i(O(n(T).marketValue)),1),n(k)?b("",!0):(s(),a(R,{key:0},[n(u)?.marketDate?(s(),a("small",Se,i(n(u).marketDate)+" æ¶ç¤å¹",1)):(s(),a("small",Ee,i(n(T).marketValue==null?"çå¾
é©ç¨çæ¶ç¤å¹":"ä¾åæ¨çææ°å¯ç¨æ¶ç¤å¹"),1))],64))])])):n(d)?(s(),a("p",xe,"æè¦æ«æç¡æ³é¡¯ç¤ºï¼ä»å¯å徿¥çèè¨éæè¡ã")):(s(),a("p",De,i(n($)?"æ£å¨è®åæè¡æè¦â¦":"æ¥çä½ çæè¡ãè²·è³£ç´éèæçæ¥æã"),1)),e("div",Ae,[!n(k)&&n(u)?.refreshing?(s(),a("small",Fe,"æ£å¨æ´æ°ææ°ç¤å¾è³æ")):n(A)?(s(),a("small",Pe,"ç¤å¾è³æã»åè試ç®")):b("",!0),e("span",{class:N(["entry-cta",{"entry-cta-primary":n(k)}])},[C(i(n(F))+" ",1),t[5]||(t[5]=e("span",{"aria-hidden":"true"},"â",-1))],2)])]),_:1},8,["to","aria-label","aria-describedby"])}}}
1),Re=z(Ce,[["__scopeId","data-v-3a889b3c"]]),Ie=new Set(["active","trialing","grace_period"]),Le=new Set(["revenuecat_ios","revenuecat_android"]);function Ne(p){if(!p)return null;try{const o=new URL(p);return o.protocol==="https:"||o.protocol==="http:"?o.toString():null}catch{return null}}function Oe(p){return!p||!Le.has(p.source??"")?"none":Ie.has(p.status)?"renewing":p.status==="canceled"?"canceled":"none"}function Ue(p){if(!p)return null;const o=Ne(p.managementUrl);return o||(p.source==="revenuecat_ios"?"https://apps.apple.com/account/subscriptions":p.source==="revenuecat_android"?"https://play.google.com/store/account/subscriptions":null)}function Me(p){if(!p)return null;const o=p instanceof Date?p:new Date(p);return Number.isFinite(o.getTime())?new Intl.DateTimeFormat("zh-TW",{year:"numeric",month:"numeric",day:"numeric",timeZone:"Asia/Taipei"}).format(o):null}const Be={class:"account-management","aria-labelledby":"account-management-title"},Ve={class:"account-delete-dialog",role:"dialog","aria-modal":"true","aria-label":"確èªåªé¤å¸³è"},qe={key:0,class:"account-delete-subscription-check","aria-live":"polite"},We={key:1,class:"account-delete-subscription-warning"},Ge={key:2,class:"account-delete-subscription-canceled"},ze={key:0},He={key:1},Ze={key:3,class:"account-delete-subscription-warning"},Ke=["href"],Ye={key:5,class:"account-delete-acknowledgement"},je={key:6,class:"account-delete-error",role:"alert"},Je={class:"account-delete-actions"},Qe=["disabled"],Xe=["disabled"],et=G({__name:"AccountDeletionPanel",setup(p){const o=Q(),u=ce(),$=S(!1),d=S(!1),m=S(!1),g=S(null),h=S(null),f=y(()=>Oe(u.data.value)),_=y(()=>Ue(u.data.value)),k=y(()=>Me(u.data.value?.expiresAt)),A=y(()=>!u.pending.value&&(u.data.value===null||u.providerSyncSucceeded.value===!1||u.error.value!==null)),F=y(()=>f.value==="renewing"||A.value),T=y(()=>!u.pending.value&&(!F.value||m.value)),O=y(()=>u.data.value?.status==="trialing"?"Pro 試ç¨ä»æèªåçºè¨":u.data.value?.status==="grace_period"?"Pro è¨é±ç®åå¨å¯¬éæ":"Pro è¨é±ä»æèªåçºè¨");async function B(){d.value=!1,m.value=!1,$.value=!0,u.refresh({syncProvider:!0,forceProviderSync:!0}),await Z(),h.value?.focus()}async function E(){o.pending.value||($.value=!1,await Z(),g.value?.focus())}async function P(){T.value&&(d.value=!0,await o.deleteAccount({acknowledgeActiveSubscription:m.value}),o.user.value?u.refresh({syncProvider:!0,forceProviderSync:!0}):$.value=!1)}return(U,c)=>{const M=le;return s(),a("section",Be,[c[8]||(c[8]=e("div",null,[e("h2",{id:"account-management-title"},"帳è管ç"),e("p",null,"æ°¸ä¹
ç§»é¤å¸³èèè·¨è£ç½®åæ¥è³æã")],-1)),e("button",{ref_key:"triggerButton",ref:g,type:"button",class:"delete-account-link",onClick:B}," åªé¤å¸³è ",512),D(M,null,{default:w(()=>[(s(),L(ee,{to:"body"},[n($)?(s(),a("div",{key:0,class:"account-delete-backdrop",role:"presentation",onClick:ne(E,["self"]),onKeydown:te(E,["esc"])},[e("section",Ve,[c[5]||(c[5]=e("p",{class:"account-delete-kicker"},"帳èè¨å®",-1)),c[6]||(c[6]=e("h2",null,"æ°¸ä¹
åªé¤å¸³èï¼",-1)),c[7]||(c[7]=e("p",null," éæåªé¤ ETFè³è¨ç¶²å¸³èï¼ä»¥åç¶²ç«è App 忥ç追蹤æ¸
å®ãæè³çµåèå
¶ä»æå¡è³æãæ¤åä½ç¡æ³å¾©åã ",-1)),n(u).pending.value?(s(),a("p",qe," æ£å¨ç¢ºèªç®åçè¨é±çæ
⦠")):n(f)==="renewing"?(s(),a("div",We,[e("strong",null,i(n(O)),1),c[1]||(c[1]=e("span",null,"åªé¤å¸³è䏿忶 App Store æ Google Play è¨é±ï¼ä¹å¾ä»å¯è½çºè¨æ£æ¬¾ã建è°å
åå¾å購買平å°åæ¶è¨é±ã",-1))])):n(f)==="canceled"?(s(),a("div",Ge,[c[2]||(c[2]=e("strong",null,"Pro 已忶èªåçºè¨",-1)),n(k)?(s(),a("span",ze,"ç®åå¯ä½¿ç¨è³ "+i(n(k))+"ï¼åªé¤å¸³èå¾ Pro æç«å³å¤±æã",1)):(s(),a("span",He,"åªé¤å¸³èå¾ï¼å©é¤ç Pro ä½¿ç¨æ¬æç«å³å¤±æã"))])):n(A)?(s(),a("div",Ze,[...c[3]||(c[3]=[e("strong",null,"ç®åç¡æ³ç¢ºèªè¨é±çæ
",-1),e("span",null,"è¥ä»æ App Store æ Google Play è¨é±ï¼åªé¤å¸³è䏿忢å¾çºæ£æ¬¾ã",-1)])])):b("",!0),n(f)!=="none"&&n(_)?(s(),a("a",{key:4,class:"account-delete-manage-link",href:n(_),target:"_blank",rel:"noopener noreferrer"}," åå¾ç®¡çè¨é± ",8,Ke)):b("",!0),n(F)?(s(),a("label",Ye,[X(e("input",{"onUpdate:modelValue":c[0]||(c[0]=l=>se(m)?m.value=l:null),type:"checkbox"},null,512),[[oe,n(m)]]),c[4]||(c[4]=e("span",null,"æäºè§£åªé¤ ETFè³è¨ç¶²å¸³è䏿忶ååºè¨é±ï¼ä¸åªé¤å¾æç«å³å¤±å» Pro ä½¿ç¨æ¬ã",-1))])):b("",!0),n(d)&&n(o).error.value?(s(),a("p",je,i(n(o).error.value),1)):b("",!0),e("div",Je,[e("button",{ref_key:"cancelButton",ref:h,type:"button",class:"account-delete-cancel",disabled:n(o).pending.value,onClick:E}," åæ¶ ",8,Qe),e("button",{type:"button",class:"account-delete-confirm",disabled:n(o).pending.value||!n(T),onClick:P},i(n(o).pending.value?"åªé¤ä¸â¦":"æ°¸ä¹
åªé¤å¸³è"),9,Xe)])])],32)):b("",!0)]))]),_:1})])}}}),tt=z(et,[["__scopeId","data-v-1b7e8760"]]),nt=["data-app-promo-ready"],st={key:0,class:"muted"},ot={key:2,class:"state-panel","aria-live":"polite"},lt={class:"login-panel"},at={class:"login-actions"},it=["disabled"],rt=["disabled"],ut={key:0,class:"inline-error"},dt={key:4,class:"state-panel","aria-live":"polite"},ct={key:5,class:"state-panel error-state",role:"alert"},pt=["disabled"],vt={key:6,class:"state-panel","aria-live":"polite"},mt={key:7,class:"state-panel error-state",role:"alert"},ft={class:"summary-strip","aria-label":"æçè³ææè¦"},yt={class:"summary-item"},bt={class:"summary-item"},gt={class:"summary-item"},_t={class:"summary-item"},kt={key:0,class:"notice-bar"},ht={class:"section-block"},wt={key:0,class:"data-list"},$t={class:"security-label"},Tt={class:"row-detail"},St={key:1,class:"empty-row"},Et={key:2,class:"subsection"},xt={class:"subsection-heading"},Dt={class:"schedule-list"},At={key:0},Ft={class:"section-block"},Pt={class:"section-heading"},Ct={key:0,class:"data-list"},Rt={class:"security-label"},It={class:"row-detail"},Lt={key:1,class:"empty-row"},Nt={class:"section-block portfolio-section"},Ot={class:"section-heading"},Ut={class:"portfolio-summary"},Mt={key:0},Bt={key:1},Vt={class:"section-block"},qt={class:"tool-grid"},Wt=G({__name:"index",setup(p){const o=Q();ae();const u=y(()=>!1),$=S(!1),d=S(null),m=S(!1),g=S(null);let h=0,f=null;const _=y(()=>fe({mounted:$.value,authReady:o.ready.value,userId:o.user.value?.uid??null,sessionReady:o.sessionReady.value,authPending:o.pending.value})),k=y(()=>d.value?.attention.slice(0,5)??[]),A=y(()=>d.value?.upcomingDividends.slice(0,3)??[]),F=y(()=>d.value?.watchlistPreview??[]),T=y(()=>_.value==="signed-out"||!!d.value);Y(()=>{$.value=!0});function O(l){return typeof l=="number"&&Number.isFinite(l)?l.toFixed(2):"â"}function B(l){return typeof l!="number"||!Number.isFinite(l)?"â":`${l>=0?"+":""}${l.toFixed(2)}%`}function E(l){return l.amount==null||!Number.isFinite(l.amount)?null:`$${l.amount.toFixed(4).replace(/0+$/,"").replace(/\.$/,"")}`}function P(l){return l.type==="price_move"?l.changePct>=0?"up":"down":l.type==="active_change"&&l.netAmount!=null?l.netAmount>=0?"up":"down":"neutral"}async function U(){const l=o.user.value?.uid;if(!l)return;const t=++h;m.value=!0,g.value=null;try{const v=await $fetch("/api/user/dashboard");t===h&&o.user.value?.uid===l&&(d.value=v,de("my_dashboard"))}catch{t===h&&o.user.value?.uid===l&&(d.value=null,g.value="ç®åç¡æ³åå¾ä½ çè³æï¼è«ç¨å¾é試ã")}finally{t===h&&(m.value=!1)}}function c(){f&&clearTimeout(f),d.value||(m.value=!0),f=setTimeout(()=>{f=null,U()},80)}async function M(){await o.refreshSession()&&c()}
1return K([()=>o.ready.value,()=>o.user.value?.uid??null,()=>o.sessionReady.value,()=>o.sessionRevision.value],([l,t,v])=>{if((!l||!t||!v)&&f&&(clearTimeout(f),f=null),!t){h+=1,d.value=null,g.value=null,m.value=!1;return}!l||!v||c()},{immediate:!0}),j(()=>{f&&clearTimeout(f)}),ie({title:"æçï½ETFè³è¨ç¶²",description:"è¨éåè¡è ETF æè¡ï¼æ¥çæè³æçã追蹤ç°åèè¿æé
æ¯ã",robots:"noindex,nofollow"}),(l,t)=>{const v=J,x=Re,I=tt,q=ue("login-source");return s(),a("section",{class:"shell my-page","data-app-promo-ready":n(T)?"my":void 0},[t[31]||(t[31]=e("header",{class:"page-header"},[e("p",{class:"eyebrow"},"MEMBER"),e("h1",null,"æç"),e("p",{class:"lead"},"æè¿½è¹¤ç°åãè¿æè¡ç¨èæè³å·¥å
·æ¶å¨åä¸åå°æ¹ã")],-1)),n(u)&&n(_)==="ready"?(s(),a("p",st,[t[3]||(t[3]=C(" ç®åé 覽æªå å
¥æè¡çå¼å°ç«é¢ï¼ä¸ææ´åä½ çè³æã ",-1)),D(v,{to:"/my"},{default:w(()=>[...t[2]||(t[2]=[C("åå°å¯¦éè³æ â",-1)])]),_:1})])):b("",!0),n(_)==="ready"?(s(),L(x,{key:1,"user-id":n(o).user.value?.uid??"","session-revision":n(o).sessionRevision.value,"preview-empty":n(u)},null,8,["user-id","session-revision","preview-empty"])):b("",!0),n(_)==="auth-loading"?(s(),a("div",ot,[...t[4]||(t[4]=[e("span",{class:"loading-dot"},null,-1),e("p",null,"æ£å¨ç¢ºèªç»å
¥çæ
",-1)])])):n(_)==="signed-out"?(s(),a(R,{key:3},[X((s(),a("section",lt,[t[5]||(t[5]=e("div",null,[e("p",{class:"section-kicker"},"è·¨è£ç½®åæ¥"),e("h2",null,"ç»å
¥å¾æ¥çä½ ç ETF 總覽"),e("p",null,"ç¶²ç«è App 使ç¨åä¸ä»½è¿½è¹¤æ¸
å®ï¼ä¹è½è¼å
¥å·²å²åçæè³çµåã")],-1)),e("div",at,[e("button",{class:"btn btn-primary",type:"button",disabled:n(o).pending.value,onClick:t[0]||(t[0]=(...r)=>n(o).signInWithGoogle&&n(o).signInWithGoogle(...r))},"ä½¿ç¨ Google ç»å
¥",8,it),e("button",{class:"btn btn-outline",type:"button",disabled:n(o).pending.value,onClick:t[1]||(t[1]=(...r)=>n(o).signInWithApple&&n(o).signInWithApple(...r))},"ä½¿ç¨ Apple ç»å
¥",8,rt)]),n(o).error.value?(s(),a("p",ut,i(n(o).error.value),1)):b("",!0)])),[[q,"my_dashboard"]]),t[6]||(t[6]=re('<section class="section-block" data-v-7b77c54d><div class="section-heading" data-v-7b77c54d><div data-v-7b77c54d><p class="section-kicker" data-v-7b77c54d>ç»å
¥å¾å¯ç¨</p><h2 data-v-7b77c54d>ä½ çåæå·¥å
·</h2></div></div><div class="tool-grid" data-v-7b77c54d><article class="tool-item" data-v-7b77c54d><div data-v-7b77c54d><h3 data-v-7b77c54d>æçæè¡</h3><p data-v-7b77c54d>è¨éåè¡è ETF æè¡ï¼ç¨æ¥ææ¥çæ¯æ¥ãæ¯æçæè³è¡¨ç¾ã</p></div><span data-v-7b77c54d>ç»å
¥å¾ä½¿ç¨</span></article><article class="tool-item" data-v-7b77c54d><div data-v-7b77c54d><h3 data-v-7b77c54d>ETF 夿ªæ¯è¼</h3><p data-v-7b77c54d>䏿¬¡æ¯è¼æå¤ 5 æª ETF çå ±é
¬ã風éªèé
æ¯ã</p></div><span data-v-7b77c54d>ç»å
¥å¾ä½¿ç¨</span></article><article class="tool-item" data-v-7b77c54d><div data-v-7b77c54d><h3 data-v-7b77c54d>æçµåæ</h3><p data-v-7b77c54d>å²åå¤çµæè³çµåï¼æ¥çé
ç½®ã忏¬èé
æ¯ç¾éæµã</p></div><span data-v-7b77c54d>ç»å
¥å¾ä½¿ç¨</span></article></div></section>',1))],64)):n(_)==="session-loading"?(s(),a("div",dt,[...t[7]||(t[7]=[e("span",{class:"loading-dot"},null,-1),e("p",null,"æ£å¨é£æ¥é²ç«¯è³æ",-1)])])):n(_)==="session-error"?(s(),a("div",ct,[e("p",null,i(n(o).error.value||"ç»å
¥å·²å®æï¼ä½é²ç«¯åæ¥é£ç·æ«æå¤±æã"),1),e("button",{class:"btn btn-outline btn-sm",type:"button",disabled:n(o).pending.value,onClick:M},"éæ°é£ç·",8,pt)])):n(m)&&!n(d)?(s(),a("div",vt,[...t[8]||(t[8]=[e("span",{class:"loading-dot"},null,-1),e("p",null,"æ£å¨æ´çä½ çè³æ",-1)])])):n(g)?(s(),a("div",mt,[e("p",null,i(n(g)),1),e("button",{class:"btn btn-outline btn-sm",type:"button",onClick:U},"éæ°è¼å
¥")])):n(d)?(s(),a(R,{key:8},[e("div",ft,[e("div",yt,[e("strong",null,i(n(d).summary.trackedEtfCount),1),t[9]||(t[9]=e("span",null,"追蹤 ETF",-1))]),e("div",bt,[e("strong",null,i(n(d).summary.changedEtfCount),1),t[10]||(t[10]=e("span",null,"仿¥ç°å",-1))]),e("div",gt,[e("strong",null,i(n(d).summary.upcomingDividendCount),1),t[11]||(t[11]=e("span",null,"7 æ¥é
æ¯",-1))]),e("div",_t,[e("strong",null,i(n(d).portfolioSummary.count),1),t[12]||(t[12]=e("span",null,"å²åæçµ",-1))])]),n(d).partialErrors.length?(s(),a("div",kt,[t[13]||(t[13]=e("span",null,"é¨åè³ææ«æç¡æ³æ´æ°",-1)),e("button",{type:"button",onClick:U},"é試")])):b("",!0),e("section",ht,[t[18]||(t[18]=e("div",{class:"section-heading"},[e("div",null,[e("p",{class:"section-kicker"},"TODAY"),e("h2",null,"éè¦æ³¨æ")])],-1)),n(k).length?(s(),a("div",wt,[(s(!0),a(R,null,V(n(k),r=>(s(),L(v,{key:`${r.type}-${r.code}-${r.date}`,to:n(ve)(r),class:"data-row"},{default:w(()=>[e("div",$t,[e("strong",null,i(r.code),1),e("span",null,i(r.name||"ETF"),1)]),e("div",Tt,[e("strong",{class:N(P(r))},i(n(pe)(r)),3),e("span",null,i(n(W)(r.date)),1)]),t[14]||(t[14]=e("span",{class:"row-arrow","aria-hidden":"true"},"âº",-1))]),_:2},1032,["to"]))),128))])):(s(),a("div",St,[...t[15]||(t[15]=[e("strong",null,"ç®åæ²æéè¦ç¹å¥æ³¨æçç°å",-1),e("span",null,"追蹤 ETF ææ°çæè¡è®åæè¿æäºä»¶ææé¡¯ç¤ºå¨é裡ã",-1)])])),n(A).length?(s(),a("div",Et,[e("div",xt,[t[17]||(t[17]=e("h3",null,"è¿æè¡ç¨",-1)),D(v,{to:"/calendar"},{default:w(()=>[...t[16]||(t[16]=[C("æ¥çé
æ¯æ¥æ",-1)])]),_:1})]),e("div",Dt,[(s(!0),a(R,null,V(n(A),r=>(s(),L(v,{key:`${r.type}-${r.code}-${r.date}`,to:r.route,class:"schedule-item"},{default:w(()=>[e("span",{class:N(["event-tag",r.type])},i(n(me)(r.type)),3),e("strong",null,i(r.code),1),e("span",null,i(n(W)(r.date)),1),E(r)?(s(),a("b",At,i(E(r)),1)):b("",!0)]),_:2},1032,["to"]))),128))])])):b("",!0)]),e("section",Ft,[e("div",Pt,[t[20]||(t[20]=e("div",null,[e("p",{class:"section-kicker"},"WATCHLIST"),e("h2",null,"æç追蹤")],-1)),D(v,{to:"/watchlist",class:"section-link"},{default:w(()=>[...t[19]||(t[19]=[C("å
¨é¨è¿½è¹¤",-1)])]),_:1}
1)]),n(F).length?(s(),a("div",Ct,[(s(!0),a(R,null,V(n(F),r=>(s(),L(v,{key:r.code,to:r.route,class:"data-row watchlist-row"},{default:w(()=>[e("div",Rt,[e("strong",null,i(r.code),1),e("span",null,i(r.name||"ETF"),1)]),e("div",It,[e("strong",null,i(O(r.price)),1),e("span",{class:N({up:(r.changePct??0)>0,down:(r.changePct??0)<0})},i(B(r.changePct)),3)]),t[21]||(t[21]=e("span",{class:"row-arrow","aria-hidden":"true"},"âº",-1))]),_:2},1032,["to"]))),128))])):(s(),a("div",Lt,[t[23]||(t[23]=e("strong",null,"éæ²æè¿½è¹¤ ETF",-1)),t[24]||(t[24]=e("span",null,"å å
¥è¿½è¹¤å¾ï¼éè£¡ææ´ç广 ¼ãç°åèè¿æé
æ¯ã",-1)),D(v,{to:"/etf",class:"btn btn-primary btn-sm"},{default:w(()=>[...t[22]||(t[22]=[C("æå° ETF",-1)])]),_:1})]))]),e("section",Nt,[e("div",Ot,[t[26]||(t[26]=e("div",null,[e("p",{class:"section-kicker"},"PORTFOLIO"),e("h2",null,"æçµåæ")],-1)),D(v,{to:"/portfolio",class:"section-link"},{default:w(()=>[...t[25]||(t[25]=[C("管çæçµ",-1)])]),_:1})]),e("div",Ut,[e("div",null,[e("strong",null,i(n(d).portfolioSummary.count),1),t[27]||(t[27]=e("span",null,"çµå·²å²å",-1))]),n(d).portfolioSummary.latestUpdatedAt?(s(),a("p",Mt,"æè¿æ´æ° "+i(n(W)(n(d).portfolioSummary.latestUpdatedAt)),1)):(s(),a("p",Bt,"å»ºç«æè³çµåå¾ï¼å¯æ¥çé
ç½®ã忏¬èé
æ¯ç¾éæµã")),D(v,{to:"/portfolio",class:"btn btn-outline btn-sm"},{default:w(()=>[C(i(n(d).portfolioSummary.count?"éåæçµ":"建ç«ç¬¬ä¸çµæçµ"),1)]),_:1})])]),e("section",Vt,[t[30]||(t[30]=e("div",{class:"section-heading"},[e("div",null,[e("p",{class:"section-kicker"},"TOOLS"),e("h2",null,"åæå·¥å
·")])],-1)),e("div",qt,[D(v,{to:"/compare/multi",class:"tool-item tool-link"},{default:w(()=>[...t[28]||(t[28]=[e("div",null,[e("h3",null,"ETF 夿ªæ¯è¼"),e("p",null,"æ¯è¼æå¤ 5 æª ETF çå ±é
¬ã風éªèé
æ¯è¡¨ç¾ã")],-1),e("span",{"aria-hidden":"true"},"âº",-1)])]),_:1}),D(v,{to:"/portfolio",class:"tool-item tool-link"},{default:w(()=>[...t[29]||(t[29]=[e("div",null,[e("h3",null,"æçµåæ"),e("p",null,"èª¿æ´æ¬éãæ¥ç忏¬ï¼ä¸¦å²åä¸åçé
ç½®æ¹æ¡ã")],-1),e("span",{"aria-hidden":"true"},"âº",-1)])]),_:1})])])],64)):b("",!0),n(_)==="ready"?(s(),L(I,{key:9})):b("",!0)],8,nt)}}}),Zt=z(Wt,[["__scopeId","data-v-7b77c54d"]]);export{Zt 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.