diff --git a/.claude/settings.local.json b/.claude/settings.local.json index ab11e60..67f9dcb 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -37,7 +37,8 @@ "Bash(rg:*)", "Bash(../target/release/ailog build)", "Bash(zsh run.zsh:*)", - "Bash(hugo:*)" + "Bash(hugo:*)", + "WebFetch(domain:docs.bsky.app)" ], "deny": [] } diff --git a/my-blog/static/assets/comment-atproto-B2XW69gE.js b/my-blog/static/assets/comment-atproto-5XY8iSu2.js similarity index 98% rename from my-blog/static/assets/comment-atproto-B2XW69gE.js rename to my-blog/static/assets/comment-atproto-5XY8iSu2.js index 6006206..c9d9694 100644 --- a/my-blog/static/assets/comment-atproto-B2XW69gE.js +++ b/my-blog/static/assets/comment-atproto-5XY8iSu2.js @@ -42,7 +42,7 @@ Error generating stack: `+o.message+` Please change the parent to .`)}let f=Va(),h;if(e){let b=typeof e=="string"?ec(e):e;at(u==="/"||((y=b.pathname)==null?void 0:y.startsWith(u)),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${u}" but pathname "${b.pathname}" was given in the \`location\` prop.`),h=b}else h=f;let m=h.pathname||"/",g=m;if(u!=="/"){let b=u.replace(/^\//,"").split("/");g="/"+m.replace(/^\//,"").split("/").slice(b.length).join("/")}let v=qL(t,{pathname:g});xi(d||v!=null,`No routes matched location "${h.pathname}${h.search}${h.hash}" `),xi(v==null||v[v.length-1].route.element!==void 0||v[v.length-1].route.Component!==void 0||v[v.length-1].route.lazy!==void 0,`Matched leaf route at location "${h.pathname}${h.search}${h.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let w=L5(v&&v.map(b=>Object.assign({},b,{params:Object.assign({},a,b.params),pathname:so([u,i.encodeLocation?i.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?u:so([u,i.encodeLocation?i.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),o,r,n);return e&&w?k.createElement(ff.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...h},navigationType:"POP"}},w):w}function C5(){let t=O5(),e=E5(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),r=t instanceof Error?t.stack:null,n="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:n},o={padding:"2px 4px",backgroundColor:n},s=null;return console.error("Error handled by React Router default ErrorBoundary:",t),s=k.createElement(k.Fragment,null,k.createElement("p",null,"💿 Hey developer 👋"),k.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",k.createElement("code",{style:o},"ErrorBoundary")," or"," ",k.createElement("code",{style:o},"errorElement")," prop on your route.")),k.createElement(k.Fragment,null,k.createElement("h2",null,"Unexpected Application Error!"),k.createElement("h3",{style:{fontStyle:"italic"}},e),r?k.createElement("pre",{style:i},r):null,s)}var T5=k.createElement(C5,null),k5=class extends k.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,e){return e.location!==t.location||e.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:e.error,location:e.location,revalidation:t.revalidation||e.revalidation}}componentDidCatch(t,e){console.error("React Router caught the following error during render",t,e)}render(){return this.state.error!==void 0?k.createElement(xo.Provider,{value:this.props.routeContext},k.createElement(sx.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function P5({routeContext:t,match:e,children:r}){let n=k.useContext(tc);return n&&n.static&&n.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=e.route.id),k.createElement(xo.Provider,{value:t},r)}function L5(t,e=[],r=null,n=null){if(t==null){if(!r)return null;if(r.errors)t=r.matches;else if(e.length===0&&!r.initialized&&r.matches.length>0)t=r.matches;else return null}let i=t,o=r==null?void 0:r.errors;if(o!=null){let c=i.findIndex(u=>u.route.id&&(o==null?void 0:o[u.route.id])!==void 0);at(c>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),i=i.slice(0,Math.min(i.length,c+1))}let s=!1,a=-1;if(r)for(let c=0;c=0?i=i.slice(0,a+1):i=[i[0]];break}}}return i.reduceRight((c,u,d)=>{let f,h=!1,m=null,g=null;r&&(f=o&&u.route.id?o[u.route.id]:void 0,m=u.route.errorElement||T5,s&&(a<0&&d===0?(rD("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),h=!0,g=null):a===d&&(h=!0,g=u.route.hydrateFallbackElement||null)));let v=e.concat(i.slice(0,d+1)),w=()=>{let y;return f?y=m:h?y=g:u.route.Component?y=k.createElement(u.route.Component,null):u.route.element?y=u.route.element:y=c,k.createElement(P5,{match:u,routeContext:{outlet:c,matches:v,isDataRoute:r!=null},children:y})};return r&&(u.route.ErrorBoundary||u.route.errorElement||d===0)?k.createElement(k5,{location:r.location,revalidation:r.revalidation,component:m,error:f,children:w(),routeContext:{outlet:null,matches:v,isDataRoute:!0}}):w()},null)}function ax(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function D5(t){let e=k.useContext(tc);return at(e,ax(t)),e}function B5(t){let e=k.useContext(Oy);return at(e,ax(t)),e}function I5(t){let e=k.useContext(xo);return at(e,ax(t)),e}function lx(t){let e=I5(t),r=e.matches[e.matches.length-1];return at(r.route.id,`${t} can only be used on routes that contain a unique "id"`),r.route.id}function j5(){return lx("useRouteId")}function O5(){var n;let t=k.useContext(sx),e=B5("useRouteError"),r=lx("useRouteError");return t!==void 0?t:(n=e.errors)==null?void 0:n[r]}function U5(){let{router:t}=D5("useNavigate"),e=lx("useNavigate"),r=k.useRef(!1);return YL(()=>{r.current=!0}),k.useCallback(async(i,o={})=>{xi(r.current,QL),r.current&&(typeof i=="number"?t.navigate(i):await t.navigate(i,{fromRouteId:e,...o}))},[t,e])}var F1={};function rD(t,e,r){!e&&!F1[t]&&(F1[t]=!0,xi(!1,r))}k.memo($5);function $5({routes:t,future:e,state:r}){return tD(t,void 0,r,e)}function Zh(t){at(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function V5({basename:t="/",children:e=null,location:r,navigationType:n="POP",navigator:i,static:o=!1}){at(!pf(),"You cannot render a inside another . You should never have more than one in your app.");let s=t.replace(/^\/*/,"/"),a=k.useMemo(()=>({basename:s,navigator:i,static:o,future:{}}),[s,i,o]);typeof r=="string"&&(r=ec(r));let{pathname:c="/",search:u="",hash:d="",state:f=null,key:h="default"}=r,m=k.useMemo(()=>{let g=bo(c,s);return g==null?null:{location:{pathname:g,search:u,hash:d,state:f,key:h},navigationType:n}},[s,c,u,d,f,h,n]);return xi(m!=null,` is not able to match the URL "${c}${u}${d}" because it does not start with the basename, so the won't render anything.`),m==null?null:k.createElement(Ci.Provider,{value:a},k.createElement(ff.Provider,{children:e,value:m}))}function K5({children:t,location:e}){return S5(gE(t),e)}function gE(t,e=[]){let r=[];return k.Children.forEach(t,(n,i)=>{if(!k.isValidElement(n))return;let o=[...e,i];if(n.type===k.Fragment){r.push.apply(r,gE(n.props.children,o));return}at(n.type===Zh,`[${typeof n.type=="string"?n.type:n.type.name}] is not a component. All component children of must be a or `),at(!n.props.index||!n.props.children,"An index route cannot have child routes.");let s={id:n.props.id||o.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,hydrateFallbackElement:n.props.hydrateFallbackElement,HydrateFallback:n.props.HydrateFallback,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.hasErrorBoundary===!0||n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(s.children=gE(n.props.children,o)),r.push(s)}),r}var Qh="get",Yh="application/x-www-form-urlencoded";function Uy(t){return t!=null&&typeof t.tagName=="string"}function M5(t){return Uy(t)&&t.tagName.toLowerCase()==="button"}function N5(t){return Uy(t)&&t.tagName.toLowerCase()==="form"}function z5(t){return Uy(t)&&t.tagName.toLowerCase()==="input"}function F5(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function q5(t,e){return t.button===0&&(!e||e==="_self")&&!F5(t)}var dh=null;function G5(){if(dh===null)try{new FormData(document.createElement("form"),0),dh=!1}catch{dh=!0}return dh}var H5=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function kv(t){return t!=null&&!H5.has(t)?(xi(!1,`"${t}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Yh}"`),null):t}function W5(t,e){let r,n,i,o,s;if(N5(t)){let a=t.getAttribute("action");n=a?bo(a,e):null,r=t.getAttribute("method")||Qh,i=kv(t.getAttribute("enctype"))||Yh,o=new FormData(t)}else if(M5(t)||z5(t)&&(t.type==="submit"||t.type==="image")){let a=t.form;if(a==null)throw new Error('Cannot submit a