PageSourceSearch

https://contributor.info/js/debug-menu-COctS2yF.js

js contributor.info collected 2026-10-10 00:35:35 UTC 4,474 bytes, 1 lines download raw bytes

1import{m as r,j as e}from"./vendor-react-core-Ba2gwJNM.js";import{ay as c,C as o,i as d,v as g,a1 as m,f as h,B as i,az as x,aA as p,aB as u,aC as b,aD as j,aE as f,o as v,N,aF as w,aG as y}from"./index-D-XLV-_s.js";import"./vendor-ui-C6PEtgd7.js";import"./vendor-utils-MSNXLbuZ.js";import"./vendor-supabase-De54M4W1.js";const C=[{path:"/dev/debug-auth",title:"Authentication Debug",description:"Debug authentication issues, view session details, and test OAuth flow",icon:e.jsx(p,{className:"h-4 w-4"}),category:"auth"},{path:"/dev/test-insights",title:"Test Insights",description:"Test insights functionality and data processing",icon:e.jsx(u,{className:"h-4 w-4"}),category:"testing"},{path:"/dev/social-cards",title:"Social Card Preview",description:"Preview social media cards from Fly.io service",icon:e.jsx(b,{className:"h-4 w-4"}),category:"dev"},{path:"/dev/shareable-charts",title:"Shareable Charts Preview",description:"Test shareable charts with different types and attribution bars",icon:e.jsx(j,{className:"h-4 w-4"}),category:"dev"},{path:"/dev/dub-test",title:"Dub.co API Test",description:"Test dub.co API integration and debug authorization issues",icon:e.jsx(f,{className:"h-4 w-4"}),category:"testing"},{path:"/dev/sync-test",title:"GitHub Sync Test",description:"Manual GitHub sync testing with real-time logging and debugging",icon:e.jsx(v,{className:"h-4 w-4"}),category:"testing"},{path:"/dev/manual-backfill",title:"Manual Backfill",description:"Trigger manual data backfill for repositories using gh-datapipe API",icon:e.jsx(N,{className:"h-4 w-4"}),category:"testing"},{path:"/changelog",title:"Changelog",description:"View application changelog and version history",icon:e.jsx(w,{className:"h-4 w-4"}),category:"docs"},{path:"https://docs.contributor.info",title:"Documentation",description:"Application documentation and API references",icon:e.jsx(y,{className:"h-4 w-4"}),category:"docs",isExternal:!0}],k={auth:"bg-blue-100 text-blue-800",testing:"bg-green-100 text-green-800",dev:"bg-purple-100 text-purple-800",insights:"bg-orange-100 text-orange-800",docs:"bg-gray-100 text-gray-800",monitoring:"bg-red-100 text-red-800"};function B(){const n=r(),l=C.reduce((s,t)=>(s[t.category]||(s[t.category]=[]),s[t.category].push(t),s),{});return e.jsx("div",{className:"container mx-auto py-8 px-4",children:e.jsxs("div",{className:"max-w-4xl mx-auto",children:[e.jsxs("div",{className:"mb-8 text-center",children:[e.jsxs("h1",{className:"text-3xl font-bold mb-2 flex items-center justify-center gap-2",children:[e.jsx(c,{className:"h-8 w-8"}),"Debug Menu"]}),e.jsxs("p",{className:"text-muted-foreground",children:["Public development tools and social media previews. For admin tools like analytics, performance monitoring, and bulk operations, visit"," ",e.jsx("a",{href:"/admin",className:"text-blue-600 hover:underline",children:"/admin"}),"."]})]}),e.jsx("div",{className:"grid gap-6 md:grid-cols-2 lg:grid-cols-3",children:Object.entries(l).map(([s,t])=>e.jsxs(o,{className:"flex flex-col h-full",children:[e.jsx(d,{className:"pb-3",children:e.jsx(g,{className:"flex items-center gap-2",children:e.jsx(m,{className:k[s],children:s.charAt(0).toUpperCase()+s.slice(1)})})}),e.jsx(h,{className:"space-y-3",children:t.map(a=>e.jsx("div",{children:e.jsxs(i,{variant:"outline",className:"w-full justify-start gap-3 h-auto py-3 px-3 text-left",onClick:()=>{a.isExternal?window.open(a.path,"_blank","noopener,noreferrer"):n(a.path)},children:[e.jsx("div",{className:"flex-shrink-0",children:a.icon}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"font-medium text-sm mb-1",children:a.title}),e.jsx("div",{className:"text-xs text-muted-foreground leading-relaxed break-words text-wrap",children:a.description})]})]})},a.path))})]},s))}),e.jsxs("div",{className:"mt-8 p-6 bg-muted rounded-lg text-center",children:[e.jsxs("h3",{className:"font-semibold mb-4 flex items-center justify-center gap-2",children:[e.jsx(x,{className:"h-4 w-4"}),"Quick Actions"]}),e.jsxs("div",{className:"flex flex-wrap justify-center gap-3",children:[e.jsx(i,{variant:"ghost",size:"sm",onClick:()=>window.location.reload(),className:"min-w-0",children:"Reload Page"}),e.jsx(i,{variant:"ghost",size:"sm",onClick:()=>localStorage.clear(),className:"min-w-0",children:"Clear LocalStorage"}),e.jsx(i,{variant:"ghost",size:"sm",onClick:()=>sessionStorage.clear(),className:"min-w-0",children:"Clear SessionStorage"})]})]})]})})}export{B as DebugMenu};

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.