claude-code-templates
Version:
Component templates and tracking system for Claude Code
11 lines • 8.01 kB
HTML
<html lang="en" data-theme="dark" data-astro-cid-5hce7sga> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Claude Code Analytics</title><link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🔮</text></svg>"><style>html{visibility:hidden}html.ready{visibility:visible}:root{--font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "Geist Mono", "JetBrains Mono", "Fira Code", "Cascadia Code", ui-monospace, "Menlo", monospace}:root{--bg-primary: #fafafa;--bg-secondary: #f4f4f5;--bg-card: #ffffff;--bg-card-hover: #f9f9f9;--border: #e4e4e7;--border-subtle: #f0f0f0;--ink: #171717;--ink-muted: #71717a;--ink-subtle: #a1a1aa;--accent: #f97316;--accent-subtle: #fff7ed;--green: #22c55e;--green-subtle: #dcfce7;--red: #ef4444;--blue: #3b82f6;--radius: 8px;--radius-sm: 4px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 2px 8px rgba(0, 0, 0, .06)}[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-card: #161616;--bg-card-hover: #1a1a1a;--border: #262626;--border-subtle: #1c1c1c;--ink: #fafafa;--ink-muted: #a1a1aa;--ink-subtle: #52525b;--accent: #f97316;--accent-subtle: #1c1008;--green: #22c55e;--green-subtle: #0d2010;--red: #f87171;--blue: #60a5fa;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 2px 8px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background:var(--bg-primary);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .2s ease,color .2s ease}body{min-height:100vh}.font-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.text-kpi{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1}.text-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.text-muted{color:var(--ink-muted)}.text-subtle{color:var(--ink-subtle)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease}.card:hover{box-shadow:var(--shadow)}.bento-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}@media(max-width:1100px){.bento-grid{grid-template-columns:repeat(6,1fr)}}@media(max-width:700px){.bento-grid{grid-template-columns:1fr}}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.col-span-6{grid-column:span 6}.col-span-8{grid-column:span 8}.col-span-12{grid-column:span 12}@media(max-width:1100px){.col-span-3,.col-span-4{grid-column:span 3}.col-span-6,.col-span-8{grid-column:span 6}.col-span-12{grid-column:1 / -1}}@media(max-width:700px){.col-span-3,.col-span-4,.col-span-6,.col-span-8,.col-span-12{grid-column:1 / -1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--border) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--ink-subtle)}
</style></head> <body data-astro-cid-5hce7sga> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="Z10f4qy" component-url="/_astro/Dashboard.luu0YklD.js" component-export="default" renderer-url="/_astro/client.nFz3bvDj.js" props="{}" ssr client="only" opts="{"name":"Dashboard","value":"react"}"></astro-island> <!-- Apply theme before paint to avoid flash of wrong theme --> <script>
(function() {
var stored = localStorage.getItem('theme');
var preferred = stored
? stored
: (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
document.documentElement.setAttribute('data-theme', preferred);
document.documentElement.classList.add('ready');
})();
</script> </body> </html>