tokentracker-cli 0.46.0 → 0.47.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/dist/assets/{ActivityHeatmap-Dkjse731.js → ActivityHeatmap-DGu4RKPJ.js} +1 -1
- package/dashboard/dist/assets/{Card-BaxD5iI0.js → Card-BPXjagTk.js} +1 -1
- package/dashboard/dist/assets/DashboardPage-BvZHPzjM.js +19 -0
- package/dashboard/dist/assets/{DevicePage-D3OZwzTh.js → DevicePage-D4gq4Hs1.js} +1 -1
- package/dashboard/dist/assets/{DialogTitle-qBtQz6fD.js → DialogTitle-mXMp10c0.js} +1 -1
- package/dashboard/dist/assets/{FadeIn-Bld6aAMN.js → FadeIn-D1-m8c1E.js} +1 -1
- package/dashboard/dist/assets/{HeaderGithubStar-DnVGuydb.js → HeaderGithubStar-Bl7yL5df.js} +1 -1
- package/dashboard/dist/assets/{IpCheckPage-N8XST_ce.js → IpCheckPage-BJBNVZ2H.js} +1 -1
- package/dashboard/dist/assets/{LandingPage-CgdE_gwI.js → LandingPage-DsmD7Bc9.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardAvatar-Bg8Q3zl3.js → LeaderboardAvatar-DZChWIJ0.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardPage-DBvUMX7l.js → LeaderboardPage-Csey_LZK.js} +3 -3
- package/dashboard/dist/assets/{LeaderboardProfileModal-CP32cbih.js → LeaderboardProfileModal-BZaY_vhk.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardProfilePage-UQB5Stlc.js → LeaderboardProfilePage-DOUq2QCL.js} +1 -1
- package/dashboard/dist/assets/{LimitsPage-Bekyurgm.js → LimitsPage-DNu5qQXA.js} +1 -1
- package/dashboard/dist/assets/{LocalOnlyNotice-CV9qPf-2.js → LocalOnlyNotice-D1sEOL9f.js} +1 -1
- package/dashboard/dist/assets/{LoginPage-NgjgJz58.js → LoginPage-BKAxvzqI.js} +1 -1
- package/dashboard/dist/assets/{PopoverPopup-CSsvTzQM.js → PopoverPopup-BZrsl0_W.js} +1 -1
- package/dashboard/dist/assets/{Select-CSPGw-1V.js → Select-DeuduLFj.js} +1 -1
- package/dashboard/dist/assets/{SelectItemText-lLLlrhEU.js → SelectItemText-CzCwGV1H.js} +1 -1
- package/dashboard/dist/assets/{SettingsPage-CIOO2-e0.js → SettingsPage-BB3P4INL.js} +1 -1
- package/dashboard/dist/assets/{SkillsPage-C3dBzq9G.js → SkillsPage-eBgQpOB7.js} +1 -1
- package/dashboard/dist/assets/{WidgetsPage-BLdb8IoI.js → WidgetsPage-DO1QlR3g.js} +1 -1
- package/dashboard/dist/assets/{WrappedPage-CiCxobvN.js → WrappedPage-CDIIBWa9.js} +1 -1
- package/dashboard/dist/assets/{agent-logos-DJZi4dyE.js → agent-logos-DwRfQf43.js} +1 -1
- package/dashboard/dist/assets/{arrow-up-right-Ck0uvqjh.js → arrow-up-right-BsBKAYHH.js} +1 -1
- package/dashboard/dist/assets/{download-BNwS95W5.js → download-BAZbCKIp.js} +1 -1
- package/dashboard/dist/assets/{info-DugSjFYV.js → info-oAgug4YP.js} +1 -1
- package/dashboard/dist/assets/{main-waZd4gi1.js → main-CfK6gGg9.js} +2 -2
- package/dashboard/dist/assets/{use-limits-display-prefs-CMqTK8No.js → use-limits-display-prefs-COtnF8X6.js} +1 -1
- package/dashboard/dist/assets/{use-native-settings-RZBEnuIS.js → use-native-settings-ZoR_7BRA.js} +1 -1
- package/dashboard/dist/assets/{use-usage-limits-DnK1XIjd.js → use-usage-limits-DS0tsNVv.js} +1 -1
- package/dashboard/dist/assets/{useCurrency-BZVkM9vB.js → useCurrency-CTogvFAM.js} +1 -1
- package/dashboard/dist/assets/{useScrollLock-DZQ9v5FD.js → useScrollLock-CSiUPGUr.js} +1 -1
- package/dashboard/dist/index.html +1 -1
- package/dashboard/dist/share.html +1 -1
- package/package.json +1 -1
- package/src/lib/cloud-account.js +18 -4
- package/src/lib/local-api.js +58 -9
- package/src/lib/pricing/curated-overrides.json +1 -0
- package/src/lib/pricing/seed-snapshot.json +1 -1
- package/dashboard/dist/assets/DashboardPage-DCms1ksC.js +0 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Y as p,r as c,j as e,aK as f}from"./main-
|
|
1
|
+
import{Y as p,r as c,j as e,aK as f}from"./main-CfK6gGg9.js";const b={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_APP_VERSION:"0.47.1",VITE_INSFORGE_ANON_KEY:"ik_9f35735991b684f7cf57fa00bb4d0487",VITE_INSFORGE_BASE_URL:"https://srctyff5.us-east.insforge.app"};function x(){return f(),`${(b&&"https://srctyff5.us-east.insforge.app"||"https://srctyff5.us-east.insforge.app").replace(/\/$/,"")}/functions/tokentracker-device-flow-grant`}function l(a){return(a||"").toUpperCase().replace(/\s+/g,"").replace(/[^A-Z0-9-]/g,"")}function h(){const a=p(),[m,g]=c.useState(""),[t,r]=c.useState({kind:"idle",message:""});c.useEffect(()=>{try{const n=new URLSearchParams(window.location.search).get("user_code");n&&g(l(n))}catch{}},[]);async function u(d){if(d?.preventDefault?.(),!a?.signedIn){r({kind:"error",message:"Please sign in first."});return}const n=l(m);if(!/^[A-HJKMNP-Z2-9]{4}-[A-HJKMNP-Z2-9]{4}$/.test(n)){r({kind:"error",message:"Invalid code format. Expected XXXX-XXXX."});return}r({kind:"working",message:"Approving…"});try{const i=await a.getAccessToken?.();if(!i){r({kind:"error",message:"No access token — please sign in again."});return}const s=await fetch(x(),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify({user_code:n})}),o=await s.json().catch(()=>({}));s.ok?r({kind:"success",message:o.status==="already_approved"?`Already approved earlier${o.client_info?" ("+o.client_info+")":""}.`:`Approved${o.client_info?" for "+o.client_info:""}. You can close this tab — your CLI will pick it up within a few seconds.`}):s.status===404?r({kind:"error",message:"Code not found. Double-check what your CLI printed."}):s.status===410?r({kind:"error",message:"Code expired. Re-run `tracker device-login` and try again."}):s.status===401?r({kind:"error",message:"Session expired. Sign out, sign in, and try again."}):r({kind:"error",message:o?.error||`Server error (HTTP ${s.status}).`})}catch(i){r({kind:"error",message:`Network error: ${i?.message||i}`})}}return e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-white dark:bg-oai-gray-950 px-6 py-12",children:e.jsxs("div",{className:"w-full max-w-md rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-8",children:[e.jsx("h1",{className:"text-2xl font-semibold text-oai-gray-900 dark:text-white mb-2",children:"Approve your CLI"}),e.jsx("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400 mb-6",children:"Type the code your CLI showed you. We'll link it to your account so token usage from that machine flows into your leaderboard profile."}),a?.signedIn?null:e.jsx("div",{className:"rounded-md border border-amber-200 bg-amber-50 dark:bg-amber-900/20 dark:border-amber-800 p-4 mb-4",children:e.jsx("p",{className:"text-sm text-amber-700 dark:text-amber-300",children:"Sign in first, then return to this page."})}),e.jsxs("form",{onSubmit:u,className:"space-y-4",children:[e.jsxs("label",{className:"block",children:[e.jsx("span",{className:"block text-xs font-medium uppercase tracking-wide text-oai-gray-500 dark:text-oai-gray-400 mb-1",children:"CLI code"}),e.jsx("input",{type:"text",value:m,onChange:d=>g(l(d.target.value)),placeholder:"XXXX-XXXX",spellCheck:!1,autoCapitalize:"characters",maxLength:9,className:"w-full font-mono text-xl tracking-widest text-center rounded-md border border-oai-gray-300 dark:border-oai-gray-700 bg-white dark:bg-oai-gray-900 text-oai-gray-900 dark:text-white px-4 py-3 focus:outline-none focus:ring-inset focus:ring-2 focus:ring-emerald-600"})]}),e.jsx("button",{type:"submit",disabled:t.kind==="working"||!a?.signedIn,className:"w-full rounded-md bg-emerald-600 hover:bg-emerald-500 disabled:bg-oai-gray-300 disabled:cursor-not-allowed text-white font-medium py-3 transition-colors",children:t.kind==="working"?"Approving…":"Approve"})]}),t.kind==="success"&&e.jsx("div",{className:"mt-4 rounded-md border border-emerald-200 bg-emerald-50 dark:bg-emerald-900/20 dark:border-emerald-800 p-4",children:e.jsx("p",{className:"text-sm text-emerald-700 dark:text-emerald-300",children:t.message})}),t.kind==="error"&&e.jsx("div",{className:"mt-4 rounded-md border border-red-200 bg-red-50 dark:bg-red-900/20 dark:border-red-800 p-4",children:e.jsx("p",{className:"text-sm text-red-700 dark:text-red-300",children:t.message})})]})})}export{h as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{bQ as s,b9 as T,r as i,b4 as W,a as k,bf as K,be as ee,j as I,bY as te,b$ as ne,b as oe,bR as se,bG as re,bJ as ae,b8 as ie,bL as le}from"./main-waZd4gi1.js";import{x as z,P as G,w as L,A as x,l as H,v as ue,r as de,I as pe,h as ce,i as ge,j as fe,k as me,z as Se,m as Ce,s as Pe,e as Oe,f as Re,u as xe}from"./useScrollLock-DZQ9v5FD.js";function Ee(){return new z({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new G,floatingId:void 0,syncOnly:!1,nested:!1,onOpenChange:void 0})}function he(){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:Ee(),floatingId:void 0,triggerCount:0,preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:T,inactiveTriggerProps:T,popupProps:T}}function Ie(e,t,o=!1){return new z({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:e,floatingId:t,syncOnly:!0,nested:o,onOpenChange:void 0})}const w=s(e=>e.triggerIdProp??e.activeTriggerId),Y=s(e=>e.openProp??e.open),$=s(e=>(e.popupElement?.id??e.floatingId)||void 0);function Q(e,t){return t!==void 0&&Y(e)&&w(e)===t}function ve(e,t){return Q(e,t)?!0:t!==void 0&&Y(e)&&w(e)==null&&e.triggerCount===1}const ye={open:Y,mounted:s(e=>e.mounted),transitionStatus:s(e=>e.transitionStatus),floatingRootContext:s(e=>e.floatingRootContext),triggerCount:s(e=>e.triggerCount),preventUnmountingOnClose:s(e=>e.preventUnmountingOnClose),payload:s(e=>e.payload),activeTriggerId:w,activeTriggerElement:s(e=>e.mounted?e.activeTriggerElement:null),popupId:$,isTriggerActive:s((e,t)=>t!==void 0&&w(e)===t),isOpenedByTrigger:s((e,t)=>Q(e,t)),isMountedByTrigger:s((e,t)=>t!==void 0&&w(e)===t&&e.mounted),triggerProps:s((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),triggerPopupId:s((e,t)=>ve(e,t)?$(e):void 0),popupProps:s(e=>e.popupProps),popupElement:s(e=>e.popupElement),positionerElement:s(e=>e.positionerElement)},q=i.createContext(!1),X=i.createContext(void 0);function b(e){const t=i.useContext(X);if(e===!1&&t===void 0)throw new Error(W(27));return t}const be={...L,...K},Ye=i.forwardRef(function(t,o){const{render:r,className:a,style:l,forceRender:u=!1,...d}=t,{store:p}=b(),n=p.useState("open"),C=p.useState("nested"),m=p.useState("mounted"),S=p.useState("transitionStatus");return k("div",t,{state:{open:n,transitionStatus:S},ref:[p.context.backdropRef,o],stateAttributesMapping:be,props:[{role:"presentation",hidden:!m,style:{userSelect:"none",WebkitUserSelect:"none"}},d],enabled:u||!C})});let Te=(function(e){return e.nestedDialogs="--nested-dialogs",e})({}),we=(function(e){return e[e.open=x.open]="open",e[e.closed=x.closed]="closed",e[e.startingStyle=x.startingStyle]="startingStyle",e[e.endingStyle=x.endingStyle]="endingStyle",e.nested="data-nested",e.nestedDialogOpen="data-nested-dialog-open",e})({});const Z=i.createContext(void 0);function V(){const e=i.useContext(Z);if(e===void 0)throw new Error(W(26));return e}const De={...L,...K,nestedDialogOpen(e){return e?{[we.nestedDialogOpen]:""}:null}},_e=i.forwardRef(function(t,o){const{render:r,className:a,style:l,finalFocus:u,initialFocus:d,...p}=t,{store:n}=b(),C=n.useState("descriptionElementId"),m=n.useState("disablePointerDismissal"),S=n.useState("floatingRootContext"),O=n.useState("popupProps"),f=n.useState("modal"),R=n.useState("mounted"),E=n.useState("nested"),h=n.useState("nestedOpenDialogCount"),g=n.useState("open"),v=n.useState("openMethod"),P=n.useState("titleElementId"),c=n.useState("transitionStatus"),M=n.useState("role"),N=S.useState("floatingId"),F=p.id??N;V(),ee({open:g,ref:n.context.popupRef,onComplete(){g&&n.context.onOpenChangeComplete?.(!0)}});function B(D){return D==="touch"?n.context.popupRef.current:!0}const j=d===void 0?B:d,U=h>0,y=n.useStateSetter("popupElement"),A=k("div",t,{state:{open:g,nested:E,transitionStatus:c,nestedDialogOpen:U},props:[O,{id:F,"aria-labelledby":P??void 0,"aria-describedby":C??void 0,role:M,...H,hidden:!R,onKeyDown(D){ue.has(D.key)&&D.stopPropagation()},style:{[Te.nestedDialogs]:h}},p],ref:[o,n.context.popupRef,y],stateAttributesMapping:De});return I.jsx(de,{context:S,openInteractionType:v,disabled:!R,closeOnFocusOut:!m,initialFocus:j,returnFocus:u,modal:f!==!1,restoreFocus:"popup",children:A})}),$e=i.forwardRef(function(t,o){const{keepMounted:r=!1,...a}=t,{store:l}=b(),u=l.useState("mounted"),d=l.useState("modal"),p=l.useState("open");return u||r?I.jsx(Z.Provider,{value:r,children:I.jsxs(te,{ref:o,...a,children:[u&&d===!0&&I.jsx(pe,{ref:l.context.internalBackdropRef,inert:ne(!p)}),t.children]})}):null});function ke(e){const{store:t,parentContext:o,actionsRef:r,isDrawer:a}=e,l=t.useState("open");ce(t,l),ge(t);const{forceUnmount:u}=fe(l,t),d=i.useCallback(()=>{t.setOpen(!1,oe(se))},[t]);return i.useImperativeHandle(r,()=>({unmount:u,close:d}),[u,d]),{parentContext:o,isDrawer:a}}function Me({store:e,dialogRoot:t}){const{parentContext:o,isDrawer:r}=t,a=e.useState("open"),l=e.useState("disablePointerDismissal"),u=e.useState("modal"),d=e.useState("popupElement"),p=e.useState("floatingRootContext"),[n,C]=i.useState(0),[m,S]=i.useState(0),O=n===0,f=me(p,{outsidePressEvent(){return e.context.internalBackdropRef.current||e.context.backdropRef.current?"intentional":{mouse:u==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}},outsidePress(g){if(!e.context.outsidePressEnabledRef.current||"button"in g&&g.button!==0||"touches"in g&&g.touches.length!==1)return!1;const v=re(g);if(O&&!l){const P=v;return u&&(e.context.internalBackdropRef.current||e.context.backdropRef.current)?e.context.internalBackdropRef.current===P||e.context.backdropRef.current===P||ae(P,d)&&!P?.hasAttribute("data-base-ui-portal"):!0}return!1},escapeKey:O});Se(a&&u===!0,d),e.useContextCallback("onNestedDialogOpen",(g,v)=>{C(g),S(v)}),e.useContextCallback("onNestedDialogClose",()=>{C(0),S(0)}),i.useEffect(()=>(o?.onNestedDialogOpen&&a&&o.onNestedDialogOpen(n+1,m+(r?1:0)),o?.onNestedDialogClose&&!a&&o.onNestedDialogClose(),()=>{o?.onNestedDialogClose&&a&&o.onNestedDialogClose()}),[r,a,n,m,o]);const R=f.reference??T,E=f.trigger??T,h=i.useMemo(()=>ie(H,f.floating),[f.floating]);return Ce(e,{activeTriggerProps:R,inactiveTriggerProps:E,popupProps:h,nestedOpenDialogCount:n,nestedOpenDrawerCount:m}),null}const Ne={...ye,modal:s(e=>e.modal),nested:s(e=>e.nested),nestedOpenDialogCount:s(e=>e.nestedOpenDialogCount),nestedOpenDrawerCount:s(e=>e.nestedOpenDrawerCount),disablePointerDismissal:s(e=>e.disablePointerDismissal),openMethod:s(e=>e.openMethod),descriptionElementId:s(e=>e.descriptionElementId),titleElementId:s(e=>e.titleElementId),viewportElement:s(e=>e.viewportElement),role:s(e=>e.role)};class _ extends le{constructor(t,o,r=!1){const a=new G,l=Fe(t);l.floatingRootContext=Ie(a,o,r),super(l,{popupRef:i.createRef(),backdropRef:i.createRef(),internalBackdropRef:i.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:a,onOpenChange:void 0,onOpenChangeComplete:void 0},Ne)}setOpen=(t,o)=>{if(o.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},!t&&o.trigger==null&&this.state.activeTriggerId!=null&&(o.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(t,o),o.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(t,o);const r={open:t};Pe(r,t,o.trigger),this.update(r)};static useStore(t,o){return Oe(t,(a,l)=>new _(o,a,l),!0).store}}function Fe(e={}){return{...he(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:"dialog",...e}}function Be(e,t="dialog"){const{children:o,open:r,defaultOpen:a=!1,onOpenChange:l,onOpenChangeComplete:u,disablePointerDismissal:d=!1,modal:p=!0,actionsRef:n,handle:C,triggerId:m,defaultTriggerId:S=null}=e,O=t==="drawer",f=t==="alert-dialog",R=f?!0:p,E=f||d,h=f?"alertdialog":"dialog",g=b(!0),P={modal:R,disablePointerDismissal:E,nested:!!g,role:h},c=_.useStore(C?.store,{open:a,openProp:r,activeTriggerId:S,triggerIdProp:m,...P});Re(()=>{const y=r===void 0&&c.state.open===!1&&a===!0?{open:!0,activeTriggerId:S}:null;f?c.update(y?{...P,...y}:P):y&&c.update(y)}),c.useControlledProp("openProp",r),c.useControlledProp("triggerIdProp",m),c.useSyncedValues(P),c.useContextCallback("onOpenChange",l),c.useContextCallback("onOpenChangeComplete",u);const M=c.useState("open"),N=c.useState("mounted"),F=c.useState("payload"),B=ke({store:c,actionsRef:n,parentContext:g?.store.context,isDrawer:O}),j=M||N,U=i.useMemo(()=>({store:c}),[c]);return I.jsx(q.Provider,{value:!1,children:I.jsxs(X.Provider,{value:U,children:[j&&I.jsx(Me,{store:c,dialogRoot:B}),typeof o=="function"?o({payload:F}):o]})})}function Je(e){const t=i.useContext(q)?"drawer":"dialog";return Be(e,t)}let J=(function(e){return e[e.open=x.open]="open",e[e.closed=x.closed]="closed",e[e.startingStyle=x.startingStyle]="startingStyle",e[e.endingStyle=x.endingStyle]="endingStyle",e.nested="data-nested",e.nestedDialogOpen="data-nested-dialog-open",e})({});const je={...L,...K,nested(e){return e?{[J.nested]:""}:null},nestedDialogOpen(e){return e?{[J.nestedDialogOpen]:""}:null}},We=i.forwardRef(function(t,o){const{render:r,className:a,style:l,children:u,...d}=t,p=V(),{store:n}=b(),C=n.useState("open"),m=n.useState("nested"),S=n.useState("transitionStatus"),O=n.useState("nestedOpenDialogCount"),f=n.useState("mounted"),R=n.useStateSetter("viewportElement"),E=O>0;return k("div",t,{enabled:p||f,state:{open:C,nested:m,transitionStatus:S,nestedDialogOpen:E},ref:[o,R],stateAttributesMapping:je,props:[{role:"presentation",hidden:!f,style:{pointerEvents:C?void 0:"none"},children:u},d]})}),ze=i.forwardRef(function(t,o){const{render:r,className:a,style:l,id:u,...d}=t,{store:p}=b(),n=xe(u);return p.useSyncedValueWithCleanup("titleElementId",n),k("h2",t,{ref:o,props:[{id:n},d]})});export{Je as D,$e as a,Ye as b,We as c,_e as d,ze as e,Ie as f,he as g,ye as p,b as u};
|
|
1
|
+
import{bQ as s,b9 as T,r as i,b4 as W,a as k,bf as K,be as ee,j as I,bY as te,b$ as ne,b as oe,bR as se,bG as re,bJ as ae,b8 as ie,bL as le}from"./main-CfK6gGg9.js";import{x as z,P as G,w as L,A as x,l as H,v as ue,r as de,I as pe,h as ce,i as ge,j as fe,k as me,z as Se,m as Ce,s as Pe,e as Oe,f as Re,u as xe}from"./useScrollLock-CSiUPGUr.js";function Ee(){return new z({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new G,floatingId:void 0,syncOnly:!1,nested:!1,onOpenChange:void 0})}function he(){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:Ee(),floatingId:void 0,triggerCount:0,preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:T,inactiveTriggerProps:T,popupProps:T}}function Ie(e,t,o=!1){return new z({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:e,floatingId:t,syncOnly:!0,nested:o,onOpenChange:void 0})}const w=s(e=>e.triggerIdProp??e.activeTriggerId),Y=s(e=>e.openProp??e.open),$=s(e=>(e.popupElement?.id??e.floatingId)||void 0);function Q(e,t){return t!==void 0&&Y(e)&&w(e)===t}function ve(e,t){return Q(e,t)?!0:t!==void 0&&Y(e)&&w(e)==null&&e.triggerCount===1}const ye={open:Y,mounted:s(e=>e.mounted),transitionStatus:s(e=>e.transitionStatus),floatingRootContext:s(e=>e.floatingRootContext),triggerCount:s(e=>e.triggerCount),preventUnmountingOnClose:s(e=>e.preventUnmountingOnClose),payload:s(e=>e.payload),activeTriggerId:w,activeTriggerElement:s(e=>e.mounted?e.activeTriggerElement:null),popupId:$,isTriggerActive:s((e,t)=>t!==void 0&&w(e)===t),isOpenedByTrigger:s((e,t)=>Q(e,t)),isMountedByTrigger:s((e,t)=>t!==void 0&&w(e)===t&&e.mounted),triggerProps:s((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),triggerPopupId:s((e,t)=>ve(e,t)?$(e):void 0),popupProps:s(e=>e.popupProps),popupElement:s(e=>e.popupElement),positionerElement:s(e=>e.positionerElement)},q=i.createContext(!1),X=i.createContext(void 0);function b(e){const t=i.useContext(X);if(e===!1&&t===void 0)throw new Error(W(27));return t}const be={...L,...K},Ye=i.forwardRef(function(t,o){const{render:r,className:a,style:l,forceRender:u=!1,...d}=t,{store:p}=b(),n=p.useState("open"),C=p.useState("nested"),m=p.useState("mounted"),S=p.useState("transitionStatus");return k("div",t,{state:{open:n,transitionStatus:S},ref:[p.context.backdropRef,o],stateAttributesMapping:be,props:[{role:"presentation",hidden:!m,style:{userSelect:"none",WebkitUserSelect:"none"}},d],enabled:u||!C})});let Te=(function(e){return e.nestedDialogs="--nested-dialogs",e})({}),we=(function(e){return e[e.open=x.open]="open",e[e.closed=x.closed]="closed",e[e.startingStyle=x.startingStyle]="startingStyle",e[e.endingStyle=x.endingStyle]="endingStyle",e.nested="data-nested",e.nestedDialogOpen="data-nested-dialog-open",e})({});const Z=i.createContext(void 0);function V(){const e=i.useContext(Z);if(e===void 0)throw new Error(W(26));return e}const De={...L,...K,nestedDialogOpen(e){return e?{[we.nestedDialogOpen]:""}:null}},_e=i.forwardRef(function(t,o){const{render:r,className:a,style:l,finalFocus:u,initialFocus:d,...p}=t,{store:n}=b(),C=n.useState("descriptionElementId"),m=n.useState("disablePointerDismissal"),S=n.useState("floatingRootContext"),O=n.useState("popupProps"),f=n.useState("modal"),R=n.useState("mounted"),E=n.useState("nested"),h=n.useState("nestedOpenDialogCount"),g=n.useState("open"),v=n.useState("openMethod"),P=n.useState("titleElementId"),c=n.useState("transitionStatus"),M=n.useState("role"),N=S.useState("floatingId"),F=p.id??N;V(),ee({open:g,ref:n.context.popupRef,onComplete(){g&&n.context.onOpenChangeComplete?.(!0)}});function B(D){return D==="touch"?n.context.popupRef.current:!0}const j=d===void 0?B:d,U=h>0,y=n.useStateSetter("popupElement"),A=k("div",t,{state:{open:g,nested:E,transitionStatus:c,nestedDialogOpen:U},props:[O,{id:F,"aria-labelledby":P??void 0,"aria-describedby":C??void 0,role:M,...H,hidden:!R,onKeyDown(D){ue.has(D.key)&&D.stopPropagation()},style:{[Te.nestedDialogs]:h}},p],ref:[o,n.context.popupRef,y],stateAttributesMapping:De});return I.jsx(de,{context:S,openInteractionType:v,disabled:!R,closeOnFocusOut:!m,initialFocus:j,returnFocus:u,modal:f!==!1,restoreFocus:"popup",children:A})}),$e=i.forwardRef(function(t,o){const{keepMounted:r=!1,...a}=t,{store:l}=b(),u=l.useState("mounted"),d=l.useState("modal"),p=l.useState("open");return u||r?I.jsx(Z.Provider,{value:r,children:I.jsxs(te,{ref:o,...a,children:[u&&d===!0&&I.jsx(pe,{ref:l.context.internalBackdropRef,inert:ne(!p)}),t.children]})}):null});function ke(e){const{store:t,parentContext:o,actionsRef:r,isDrawer:a}=e,l=t.useState("open");ce(t,l),ge(t);const{forceUnmount:u}=fe(l,t),d=i.useCallback(()=>{t.setOpen(!1,oe(se))},[t]);return i.useImperativeHandle(r,()=>({unmount:u,close:d}),[u,d]),{parentContext:o,isDrawer:a}}function Me({store:e,dialogRoot:t}){const{parentContext:o,isDrawer:r}=t,a=e.useState("open"),l=e.useState("disablePointerDismissal"),u=e.useState("modal"),d=e.useState("popupElement"),p=e.useState("floatingRootContext"),[n,C]=i.useState(0),[m,S]=i.useState(0),O=n===0,f=me(p,{outsidePressEvent(){return e.context.internalBackdropRef.current||e.context.backdropRef.current?"intentional":{mouse:u==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}},outsidePress(g){if(!e.context.outsidePressEnabledRef.current||"button"in g&&g.button!==0||"touches"in g&&g.touches.length!==1)return!1;const v=re(g);if(O&&!l){const P=v;return u&&(e.context.internalBackdropRef.current||e.context.backdropRef.current)?e.context.internalBackdropRef.current===P||e.context.backdropRef.current===P||ae(P,d)&&!P?.hasAttribute("data-base-ui-portal"):!0}return!1},escapeKey:O});Se(a&&u===!0,d),e.useContextCallback("onNestedDialogOpen",(g,v)=>{C(g),S(v)}),e.useContextCallback("onNestedDialogClose",()=>{C(0),S(0)}),i.useEffect(()=>(o?.onNestedDialogOpen&&a&&o.onNestedDialogOpen(n+1,m+(r?1:0)),o?.onNestedDialogClose&&!a&&o.onNestedDialogClose(),()=>{o?.onNestedDialogClose&&a&&o.onNestedDialogClose()}),[r,a,n,m,o]);const R=f.reference??T,E=f.trigger??T,h=i.useMemo(()=>ie(H,f.floating),[f.floating]);return Ce(e,{activeTriggerProps:R,inactiveTriggerProps:E,popupProps:h,nestedOpenDialogCount:n,nestedOpenDrawerCount:m}),null}const Ne={...ye,modal:s(e=>e.modal),nested:s(e=>e.nested),nestedOpenDialogCount:s(e=>e.nestedOpenDialogCount),nestedOpenDrawerCount:s(e=>e.nestedOpenDrawerCount),disablePointerDismissal:s(e=>e.disablePointerDismissal),openMethod:s(e=>e.openMethod),descriptionElementId:s(e=>e.descriptionElementId),titleElementId:s(e=>e.titleElementId),viewportElement:s(e=>e.viewportElement),role:s(e=>e.role)};class _ extends le{constructor(t,o,r=!1){const a=new G,l=Fe(t);l.floatingRootContext=Ie(a,o,r),super(l,{popupRef:i.createRef(),backdropRef:i.createRef(),internalBackdropRef:i.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:a,onOpenChange:void 0,onOpenChangeComplete:void 0},Ne)}setOpen=(t,o)=>{if(o.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},!t&&o.trigger==null&&this.state.activeTriggerId!=null&&(o.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(t,o),o.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(t,o);const r={open:t};Pe(r,t,o.trigger),this.update(r)};static useStore(t,o){return Oe(t,(a,l)=>new _(o,a,l),!0).store}}function Fe(e={}){return{...he(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:"dialog",...e}}function Be(e,t="dialog"){const{children:o,open:r,defaultOpen:a=!1,onOpenChange:l,onOpenChangeComplete:u,disablePointerDismissal:d=!1,modal:p=!0,actionsRef:n,handle:C,triggerId:m,defaultTriggerId:S=null}=e,O=t==="drawer",f=t==="alert-dialog",R=f?!0:p,E=f||d,h=f?"alertdialog":"dialog",g=b(!0),P={modal:R,disablePointerDismissal:E,nested:!!g,role:h},c=_.useStore(C?.store,{open:a,openProp:r,activeTriggerId:S,triggerIdProp:m,...P});Re(()=>{const y=r===void 0&&c.state.open===!1&&a===!0?{open:!0,activeTriggerId:S}:null;f?c.update(y?{...P,...y}:P):y&&c.update(y)}),c.useControlledProp("openProp",r),c.useControlledProp("triggerIdProp",m),c.useSyncedValues(P),c.useContextCallback("onOpenChange",l),c.useContextCallback("onOpenChangeComplete",u);const M=c.useState("open"),N=c.useState("mounted"),F=c.useState("payload"),B=ke({store:c,actionsRef:n,parentContext:g?.store.context,isDrawer:O}),j=M||N,U=i.useMemo(()=>({store:c}),[c]);return I.jsx(q.Provider,{value:!1,children:I.jsxs(X.Provider,{value:U,children:[j&&I.jsx(Me,{store:c,dialogRoot:B}),typeof o=="function"?o({payload:F}):o]})})}function Je(e){const t=i.useContext(q)?"drawer":"dialog";return Be(e,t)}let J=(function(e){return e[e.open=x.open]="open",e[e.closed=x.closed]="closed",e[e.startingStyle=x.startingStyle]="startingStyle",e[e.endingStyle=x.endingStyle]="endingStyle",e.nested="data-nested",e.nestedDialogOpen="data-nested-dialog-open",e})({});const je={...L,...K,nested(e){return e?{[J.nested]:""}:null},nestedDialogOpen(e){return e?{[J.nestedDialogOpen]:""}:null}},We=i.forwardRef(function(t,o){const{render:r,className:a,style:l,children:u,...d}=t,p=V(),{store:n}=b(),C=n.useState("open"),m=n.useState("nested"),S=n.useState("transitionStatus"),O=n.useState("nestedOpenDialogCount"),f=n.useState("mounted"),R=n.useStateSetter("viewportElement"),E=O>0;return k("div",t,{enabled:p||f,state:{open:C,nested:m,transitionStatus:S,nestedDialogOpen:E},ref:[o,R],stateAttributesMapping:je,props:[{role:"presentation",hidden:!f,style:{pointerEvents:C?void 0:"none"},children:u},d]})}),ze=i.forwardRef(function(t,o){const{render:r,className:a,style:l,id:u,...d}=t,{store:p}=b(),n=xe(u);return p.useSyncedValueWithCleanup("titleElementId",n),k("h2",t,{ref:o,props:[{id:n},d]})});export{Je as D,$e as a,Ye as b,We as c,_e as d,ze as e,Ie as f,he as g,ye as p,b as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as d,j as n,m as a}from"./main-
|
|
1
|
+
import{e as d,j as n,m as a}from"./main-CfK6gGg9.js";function v({children:i,delay:t=0,duration:o=.35,y:e=12,className:s="",once:r=!0}){return d()?n.jsx("div",{className:s,children:i}):n.jsx(a.div,{initial:{opacity:0,y:e},animate:{opacity:1,y:0},transition:{duration:o,delay:t,ease:[.16,1,.3,1]},className:s,children:i})}function x({children:i,staggerDelay:t=.1,initialDelay:o=0,className:e=""}){return d()?n.jsx("div",{className:e,children:i}):n.jsx(a.div,{initial:"hidden",animate:"visible",variants:{hidden:{},visible:{transition:{staggerChildren:t,delayChildren:o}}},className:e,children:i})}function h({children:i,className:t="",y:o=12}){return d()?n.jsx("div",{className:t,children:i}):n.jsx(a.div,{variants:{hidden:{opacity:0,y:o},visible:{opacity:1,y:0,transition:{duration:.35,ease:[.16,1,.3,1]}}},className:t,children:i})}export{v as F,x as S,h as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s,aF as c,j as t}from"./main-
|
|
1
|
+
import{r as s,aF as c,j as t}from"./main-CfK6gGg9.js";function u({repo:r="mm7894215/TokenTracker"}){const[a,o]=s.useState(null);return s.useEffect(()=>{if(typeof window>"u")return;const n=typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,i=typeof document<"u"&&(document.documentElement?.classList.contains("screenshot-capture")||document.body?.classList.contains("screenshot-capture"));c({prefersReducedMotion:n,screenshotCapture:i})&&fetch(`https://api.github.com/repos/${r}`).then(e=>e.json()).then(e=>{e&&typeof e.stargazers_count=="number"&&o(e.stargazers_count)}).catch(()=>{})},[r]),t.jsxs("a",{href:`https://github.com/${r}`,target:"_blank",rel:"noopener noreferrer",className:"inline-flex shrink-0 items-center gap-2 px-3 py-1.5 rounded-md border border-oai-gray-200 dark:border-oai-gray-700 bg-oai-gray-50 dark:bg-oai-gray-800 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-700 transition-colors no-underline",children:[t.jsx("svg",{height:"16",viewBox:"0 0 16 16",width:"16",className:"shrink-0 fill-oai-gray-700 dark:fill-oai-gray-300",children:t.jsx("path",{d:"M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"})}),t.jsx("span",{className:"text-xs font-medium text-oai-gray-700 dark:text-oai-gray-300 whitespace-nowrap",children:"Star"}),a!==null&&t.jsx("span",{className:"text-xs font-semibold text-oai-gray-900 dark:text-oai-white tabular-nums whitespace-nowrap",children:a})]})}export{u as H};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as ce,G as t,j as n}from"./main-
|
|
1
|
+
import{r as ce,G as t,j as n}from"./main-CfK6gGg9.js";const Ge=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),$=Ge?"/proxy/ipcheck":"https://ip.net.coffee",le="claude_ip_history",be=6,Ue=["CN","HK","MO","RU","KP","IR","SY","CU","BY","VE"],ze={CN:"Asia/Shanghai",TW:"Asia/Taipei",HK:"Asia/Hong_Kong",MO:"Asia/Macau",JP:"Asia/Tokyo",KR:"Asia/Seoul",SG:"Asia/Singapore",MY:"Asia/Kuala_Lumpur",TH:"Asia/Bangkok",VN:"Asia/Ho_Chi_Minh",ID:"Asia/Jakarta",PH:"Asia/Manila",IN:"Asia/Kolkata",PK:"Asia/Karachi",BD:"Asia/Dhaka",IR:"Asia/Tehran",IL:"Asia/Jerusalem",AE:"Asia/Dubai",SA:"Asia/Riyadh",TR:"Europe/Istanbul",RU:"Europe/Moscow",UA:"Europe/Kyiv",GB:"Europe/London",IE:"Europe/Dublin",FR:"Europe/Paris",DE:"Europe/Berlin",IT:"Europe/Rome",ES:"Europe/Madrid",PT:"Europe/Lisbon",NL:"Europe/Amsterdam",BE:"Europe/Brussels",CH:"Europe/Zurich",AT:"Europe/Vienna",SE:"Europe/Stockholm",NO:"Europe/Oslo",DK:"Europe/Copenhagen",FI:"Europe/Helsinki",PL:"Europe/Warsaw",CZ:"Europe/Prague",GR:"Europe/Athens",RO:"Europe/Bucharest",US:"America/Los_Angeles",CA:"America/Toronto",MX:"America/Mexico_City",BR:"America/Sao_Paulo",AR:"America/Argentina/Buenos_Aires",CL:"America/Santiago",AU:"Australia/Sydney",NZ:"Pacific/Auckland",ZA:"Africa/Johannesburg",EG:"Africa/Cairo",NG:"Africa/Lagos",KE:"Africa/Nairobi"},We={CN:["zh"],TW:["zh"],HK:["zh","en"],MO:["zh","en"],JP:["ja"],KR:["ko"],TH:["th"],VN:["vi"],SG:["en","zh","ms","ta"],MY:["ms","en","zh","ta"],ID:["id","en"],PH:["en","tl","fil"],IN:["en","hi"],PK:["ur","en"],BD:["bn","en"],LK:["si","ta","en"],NP:["ne","en"],US:["en"],GB:["en"],IE:["en","ga"],AU:["en"],NZ:["en","mi"],CA:["en","fr"],DE:["de"],AT:["de"],CH:["de","fr","it","rm"],BE:["nl","fr","de"],FR:["fr"],IT:["it"],ES:["es","ca","gl","eu"],PT:["pt"],NL:["nl","fy"],LU:["lb","fr","de"],SE:["sv"],NO:["no","nb","nn"],DK:["da"],FI:["fi","sv"],IS:["is","en"],PL:["pl"],CZ:["cs"],SK:["sk"],HU:["hu"],RO:["ro"],BG:["bg"],GR:["el"],RU:["ru"],UA:["uk","ru"],BY:["be","ru"],TR:["tr"],IL:["he","ar","en"],SA:["ar"],AE:["ar","en"],EG:["ar"],IR:["fa"],IQ:["ar","ku"],ZA:["en","af","zu","xh"],KE:["en","sw"],NG:["en"],ET:["am","en"],BR:["pt"],AR:["es"],MX:["es"],CL:["es"],CO:["es"],PE:["es"],VE:["es"]},Be={jp:"Japan",tw:"Taiwan",hk:"Hong Kong",sg:"Singapore",us:"United States",de:"Germany",kr:"South Korea",fr:"France",nl:"Netherlands",gb:"United Kingdom",au:"Australia",ca:"Canada",br:"Brazil",in:"India"};function Z(d){return!!d&&d.includes(":")}function Ke(d){return!Z(d)||d.length<=20?d:d.substring(0,18)+"..."}function v(d){return d==null?"":String(d).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function W(d){if(!d||!/^[a-zA-Z]{2}$/.test(d))return"";const k=d.toLowerCase();return`<img src="${k==="cn"?`${$}/favicons/cn.png`:k==="tw"?`${$}/favicons/flags/tw.png`:`${$}/favicons/flags/${k}.png`}" alt="${k}" class="inline-block h-4 w-auto rounded-sm align-[-2px]" onerror="this.onerror=null;this.style.display='none'">`}function Fe(d){if(!d)return"";const k=String(d).trim();if(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(k)){const _=k.split(".");return _[0]+"."+_[1]+".*.*"}if(k.includes("…")){const _=k.lastIndexOf("…");return k.substring(0,_+1)+"*"}if(k.includes(":")){const _=k.split(":");if(_.length>=2)return _[0]+":"+_[1]+":*"}return k}function Ve(d){if(!d)return null;try{const _=new Intl.DateTimeFormat("en-US",{timeZone:d,timeZoneName:"longOffset"}).formatToParts(new Date).find(J=>J.type==="timeZoneName");if(!_)return null;if(_.value==="GMT"||_.value==="UTC")return 0;const N=_.value.match(/GMT([+-])(\d{1,2}):?(\d{0,2})/);return N?(N[1]==="+"?1:-1)*(parseInt(N[2],10)*60+parseInt(N[3]||"0",10)):null}catch{return null}}function Ye(d){if(d==null)return"";const k=d>=0?"+":"-",_=Math.abs(d),N=Math.floor(_/60),O=_%60;return"UTC"+k+N+(O?":"+String(O).padStart(2,"0"):"")}const we={safe:"bg-emerald-50 text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-300",warn:"bg-amber-50 text-amber-800 dark:bg-amber-500/15 dark:text-amber-300",danger:"bg-red-50 text-red-700 dark:bg-red-500/15 dark:text-red-300",info:"bg-blue-50 text-blue-700 dark:bg-blue-500/15 dark:text-blue-300",neutral:"bg-oai-gray-100 text-oai-gray-600 dark:bg-oai-gray-800 dark:text-oai-gray-400"};function qe(){const d=ce.useRef(null),[k,_]=ce.useState(!1);ce.useEffect(()=>{const L=d.current;if(!L)return;const b=a=>L.querySelector(`#${a}`);let ae=!1;const e={unknown:t("ipcheck.common.unknown"),failed:t("ipcheck.ip.failed"),regionAccessible:t("ipcheck.trust.region.accessible"),regionWarnTitle:a=>t("ipcheck.trust.region_warn.title",{region:a}),regionWarnBody:t("ipcheck.trust.region_warn.body"),regionRestrictedText:t("ipcheck.trust.text.restricted"),noData:t("ipcheck.trust.no_data"),noIp:t("ipcheck.trust.no_ip"),noScore:t("ipcheck.trust.no_score"),score:{pristine:t("ipcheck.trust.label.pristine"),clean:t("ipcheck.trust.label.clean"),good:t("ipcheck.trust.label.good"),neutral:t("ipcheck.trust.label.neutral"),suspicious:t("ipcheck.trust.label.suspicious"),unreachable:t("ipcheck.trust.label.unreachable")},scoreText:{excellent:t("ipcheck.trust.text.excellent"),great:t("ipcheck.trust.text.great"),minor:t("ipcheck.trust.text.minor"),moderate:t("ipcheck.trust.text.moderate"),severe:t("ipcheck.trust.text.severe")},propsRegion:t("ipcheck.props.region"),propsCity:t("ipcheck.props.city"),propsType:t("ipcheck.props.type"),propsAsn:t("ipcheck.props.asn"),propsOrg:t("ipcheck.props.org"),propsResidential:t("ipcheck.props.residential"),propsDatacenter:t("ipcheck.props.datacenter"),secVpn:t("ipcheck.security.vpn"),secProxy:t("ipcheck.security.proxy"),secTor:t("ipcheck.security.tor"),secCrawler:t("ipcheck.security.crawler"),secAbuser:t("ipcheck.security.abuser"),secProxyFlag:t("ipcheck.security.proxy_flag"),secCrawlerYes:t("ipcheck.security.crawler_yes"),secCrawlerNo:t("ipcheck.security.crawler_no"),secAbuserYes:t("ipcheck.security.abuser_yes"),secAbuserNo:t("ipcheck.security.abuser_no"),secClean:t("ipcheck.security.clean"),availSvc:t("ipcheck.avail.svc_row"),availLat:{normal:t("ipcheck.avail.latency.normal"),good:t("ipcheck.avail.latency.good"),slow:t("ipcheck.avail.latency.slow"),unreachable:t("ipcheck.avail.latency.unreachable")},availSvcStatus:{none:t("ipcheck.avail.svc.none"),minor:t("ipcheck.avail.svc.minor"),major:t("ipcheck.avail.svc.major"),critical:t("ipcheck.avail.svc.critical"),maintenance:t("ipcheck.avail.svc.maintenance"),other:t("ipcheck.avail.svc.other")},dnsStatus:t("ipcheck.dns.status"),dnsOutlet:t("ipcheck.dns.outlet"),dnsOutletIp:t("ipcheck.dns.outlet_ip"),dnsIsp:t("ipcheck.dns.isp"),dnsLeaked:t("ipcheck.dns.leaked"),dnsNoLeak:t("ipcheck.dns.no_leak"),dnsEncrypted:t("ipcheck.dns.encrypted"),dnsCnTag:t("ipcheck.dns.cn_tag"),udpStatus:t("ipcheck.udp.status"),udpOutlet:t("ipcheck.udp.outlet"),udpOutletIp:t("ipcheck.udp.outlet_ip"),udpOrigin:t("ipcheck.udp.origin"),udpDisabled:t("ipcheck.udp.disabled"),udpNoLeak:t("ipcheck.udp.no_leak"),udpLeaked:t("ipcheck.udp.leaked"),udpAnomaly:t("ipcheck.udp.anomaly"),devTz:t("ipcheck.device.tz"),devLang:t("ipcheck.device.lang"),devOs:t("ipcheck.device.os"),devTouch:t("ipcheck.device.touch"),devNet:t("ipcheck.device.net"),devDnt:t("ipcheck.device.dnt"),devWebglRender:t("ipcheck.device.webgl_render"),devCanvasFp:t("ipcheck.device.canvas_fp"),devWebglFp:t("ipcheck.device.webgl_fp"),devMatch:t("ipcheck.device.match"),devMismatch:t("ipcheck.device.mismatch"),devLocal:t("ipcheck.device.local"),devEstSuffix:t("ipcheck.device.estimate_suffix"),devDiffEqual:t("ipcheck.device.diff_equal"),devDiffAhead:a=>t("ipcheck.device.diff_ahead",{h:a}),devDiffBehind:a=>t("ipcheck.device.diff_behind",{h:a}),devLangExpected:t("ipcheck.device.lang_expected"),devTouchYes:t("ipcheck.device.touch_yes"),devTouchNo:t("ipcheck.device.touch_no"),devDntOn:t("ipcheck.device.dnt_on"),devDntOff:t("ipcheck.device.dnt_off"),devDntUnset:t("ipcheck.device.dnt_unset"),devNetUnsupported:t("ipcheck.device.net_unsupported"),devUnsupported:t("ipcheck.device.unsupported"),histEmpty:t("ipcheck.history.empty"),histCurrent:t("ipcheck.history.current"),histLoading:t("ipcheck.ip.loading")};function g(a,i="neutral"){return`<span class="inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${we[i]||we.neutral}">${a}</span>`}function q(a,i,s){return a===!0?g(i,"danger"):a===!1?g(s,"safe"):g(e.unknown,"neutral")}function ue(a){if(!a)return`<span class="text-oai-gray-400 dark:text-oai-gray-500">${v(e.failed)}</span>`;const i=v(a);return Z(a)?`<span class="ip-mask-target truncate" title="${i}">${v(Ke(a))}</span>`:`<span class="ip-mask-target">${i}</span>`}function B(a){return a?`<span class="ip-link">${ue(a)}</span>`:`<span class="text-oai-gray-400 dark:text-oai-gray-500">${v(e.failed)}</span>`}function f(a,i){return`<div class="flex items-center justify-between py-3 gap-3">
|
|
2
2
|
<span class="text-sm text-oai-gray-500 dark:text-oai-gray-400 shrink-0">${a}</span>
|
|
3
3
|
<span class="text-sm font-medium text-oai-black dark:text-white text-right min-w-0">${i===void 0?'<span class="block h-3 w-20 rounded bg-oai-gray-200 dark:bg-oai-gray-800 animate-pulse"></span>':i}</span>
|
|
4
4
|
</div>`}function Y(a){return a.map(i=>f(i,void 0)).join("")}function ne(){return'<div class="h-7 w-44 rounded bg-oai-gray-200 dark:bg-oai-gray-800 animate-pulse"></div>'}function ie(){return'<div class="h-3 w-52 mt-2 rounded bg-oai-gray-200 dark:bg-oai-gray-800 animate-pulse"></div>'}function _e(a){return a>=95?{text:e.score.pristine,variant:"safe"}:a>=80?{text:e.score.clean,variant:"safe"}:a>=50?{text:e.score.good,variant:"info"}:a>=25?{text:e.score.neutral,variant:"warn"}:{text:e.score.suspicious,variant:"danger"}}const w={ip:null,ippure:null,ipapis:null,claudeGeo:null,claudeRisk:null,cfGeo:""};function pe(){const a=(w.claudeRisk?.countryCode||"").toUpperCase();return!a||!Ue.includes(a)?null:t(`ipcheck.region.${a}`)}function se(){const a=b("ipv6Warn");a&&a.classList.remove("hidden")}function Q(a,i){const s=b(a);s&&(s.textContent=i||"",s.classList.remove("animate-pulse","bg-oai-gray-200","dark:bg-oai-gray-800","w-52","h-3","mt-2","rounded"))}const Te={ipAddrCN:ne(),ipGeoCN:ie(),ipAddr:ne(),ipGeo:ie(),ipAddrClaude:ne(),ipGeoClaude:ie(),propsContent:Y([e.propsRegion,e.propsCity,e.propsType,e.propsAsn,e.propsOrg]),securityContent:Y([e.secVpn,e.secProxy,e.secTor,e.secCrawler,e.secAbuser]),claudeAvailContent:Y(["claude.ai","anthropic.com"]),dnsLeakContent:Y([e.dnsStatus,e.dnsOutletIp]),udpLeakContent:Y([e.udpStatus,e.udpOutletIp]),deviceContent:Y([e.devTz,e.devLang,e.devOs,e.devTouch,e.devNet,e.devDnt,e.devWebglRender,e.devCanvasFp]),ipHistoryContent:`<span class="text-sm text-oai-gray-400 dark:text-oai-gray-500">${e.histLoading}</span>`};Object.entries(Te).forEach(([a,i])=>{const s=b(a);s&&(s.innerHTML=i)});let ge=!1;function Se(a){if(!a)return;a.dataset.realText||(a.dataset.realText=(a.textContent||"").trim());const i=a.dataset.realText,s=ge?Fe(i):i;a.textContent!==s&&(a.textContent=s)}function fe(){L.querySelectorAll(".ip-link, .ip-mask-target").forEach(Se)}const he=new MutationObserver(()=>requestAnimationFrame(fe));["ipHeroCN","ipHero","ipHeroClaude","ipHistoryContent","dnsLeakContent","udpLeakContent"].forEach(a=>{const i=b(a);i&&he.observe(i,{childList:!0,subtree:!0})}),L.__setMaskOn=a=>{ge=!!a,fe()};async function Le(){try{const s=(await(await fetch("https://1.1.1.1/cdn-cgi/trace",{signal:AbortSignal.timeout(5e3)})).text()).match(/ip=([^\n]+)/);s&&(w.ip=s[1].trim())}catch{}}async function Ae(){try{const i=await(await fetch("https://claude.ai/cdn-cgi/trace",{cache:"no-store",signal:AbortSignal.timeout(8e3)})).text(),s=Object.fromEntries(i.trim().split(`
|