gencow 0.1.21 → 0.1.22

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.
Files changed (119) hide show
  1. package/dashboard/404/index.html +1 -1
  2. package/dashboard/404.html +1 -1
  3. package/dashboard/__next.__PAGE__.txt +1 -1
  4. package/dashboard/__next._full.txt +6 -6
  5. package/dashboard/__next._head.txt +1 -1
  6. package/dashboard/__next._index.txt +6 -6
  7. package/dashboard/__next._tree.txt +2 -2
  8. package/dashboard/_next/static/chunks/2812dadb4ce49b25.js +1 -0
  9. package/dashboard/_next/static/chunks/3a83cedd4cb50b40.js +1 -0
  10. package/dashboard/_next/static/chunks/{b53d8107e0864607.js → 66e55fa336d1aaa8.js} +1 -1
  11. package/dashboard/_next/static/chunks/6b400f2ddeafc411.js +1 -0
  12. package/dashboard/_next/static/chunks/6f54fb939763dd96.js +49 -0
  13. package/dashboard/_next/static/chunks/{2f7fb3e85e932cda.js → 91ba5906faf3ea24.js} +1 -1
  14. package/dashboard/_next/static/chunks/9aa74d2b0b9f4d0d.js +1 -0
  15. package/dashboard/_next/static/chunks/9ad7c14f6b625434.js +1 -0
  16. package/dashboard/_next/static/chunks/ab4da94aa3ec36ec.js +1 -0
  17. package/dashboard/_next/static/chunks/af86d0e720d5dfa0.js +5 -0
  18. package/dashboard/_next/static/chunks/b09a8e5811d44363.js +1 -0
  19. package/dashboard/_next/static/chunks/bbbd35679f739a79.css +1 -0
  20. package/dashboard/_next/static/chunks/cf8c92dd2ceed5ac.js +1 -0
  21. package/dashboard/_next/static/chunks/d04fc497471d2c5f.js +1 -0
  22. package/dashboard/_next/static/chunks/d39aa8a0c43889f5.js +1 -0
  23. package/dashboard/_next/static/chunks/turbopack-d1f59d345d8c59ea.js +4 -0
  24. package/dashboard/_not-found/__next._full.txt +6 -6
  25. package/dashboard/_not-found/__next._head.txt +1 -1
  26. package/dashboard/_not-found/__next._index.txt +6 -6
  27. package/dashboard/_not-found/__next._not-found.__PAGE__.txt +1 -1
  28. package/dashboard/_not-found/__next._not-found.txt +1 -1
  29. package/dashboard/_not-found/__next._tree.txt +2 -2
  30. package/dashboard/_not-found/index.html +1 -1
  31. package/dashboard/_not-found/index.txt +6 -6
  32. package/dashboard/auth/__next._full.txt +7 -7
  33. package/dashboard/auth/__next._head.txt +1 -1
  34. package/dashboard/auth/__next._index.txt +6 -6
  35. package/dashboard/auth/__next._tree.txt +2 -2
  36. package/dashboard/auth/__next.auth.__PAGE__.txt +2 -2
  37. package/dashboard/auth/__next.auth.txt +1 -1
  38. package/dashboard/auth/index.html +1 -1
  39. package/dashboard/auth/index.txt +7 -7
  40. package/dashboard/data/__next._full.txt +7 -7
  41. package/dashboard/data/__next._head.txt +1 -1
  42. package/dashboard/data/__next._index.txt +6 -6
  43. package/dashboard/data/__next._tree.txt +2 -2
  44. package/dashboard/data/__next.data.__PAGE__.txt +2 -2
  45. package/dashboard/data/__next.data.txt +1 -1
  46. package/dashboard/data/index.html +1 -1
  47. package/dashboard/data/index.txt +7 -7
  48. package/dashboard/files/__next._full.txt +7 -7
  49. package/dashboard/files/__next._head.txt +1 -1
  50. package/dashboard/files/__next._index.txt +6 -6
  51. package/dashboard/files/__next._tree.txt +2 -2
  52. package/dashboard/files/__next.files.__PAGE__.txt +2 -2
  53. package/dashboard/files/__next.files.txt +1 -1
  54. package/dashboard/files/index.html +1 -1
  55. package/dashboard/files/index.txt +7 -7
  56. package/dashboard/functions/__next._full.txt +7 -7
  57. package/dashboard/functions/__next._head.txt +1 -1
  58. package/dashboard/functions/__next._index.txt +6 -6
  59. package/dashboard/functions/__next._tree.txt +2 -2
  60. package/dashboard/functions/__next.functions.__PAGE__.txt +2 -2
  61. package/dashboard/functions/__next.functions.txt +1 -1
  62. package/dashboard/functions/index.html +1 -1
  63. package/dashboard/functions/index.txt +7 -7
  64. package/dashboard/index.html +1 -1
  65. package/dashboard/index.txt +6 -6
  66. package/dashboard/logs/__next._full.txt +7 -7
  67. package/dashboard/logs/__next._head.txt +1 -1
  68. package/dashboard/logs/__next._index.txt +6 -6
  69. package/dashboard/logs/__next._tree.txt +2 -2
  70. package/dashboard/logs/__next.logs.__PAGE__.txt +2 -2
  71. package/dashboard/logs/__next.logs.txt +1 -1
  72. package/dashboard/logs/index.html +1 -1
  73. package/dashboard/logs/index.txt +7 -7
  74. package/dashboard/scheduler/__next._full.txt +7 -7
  75. package/dashboard/scheduler/__next._head.txt +1 -1
  76. package/dashboard/scheduler/__next._index.txt +6 -6
  77. package/dashboard/scheduler/__next._tree.txt +2 -2
  78. package/dashboard/scheduler/__next.scheduler.__PAGE__.txt +2 -2
  79. package/dashboard/scheduler/__next.scheduler.txt +1 -1
  80. package/dashboard/scheduler/index.html +1 -1
  81. package/dashboard/scheduler/index.txt +7 -7
  82. package/dashboard/settings/__next._full.txt +8 -8
  83. package/dashboard/settings/__next._head.txt +1 -1
  84. package/dashboard/settings/__next._index.txt +6 -6
  85. package/dashboard/settings/__next._tree.txt +2 -2
  86. package/dashboard/settings/__next.settings.__PAGE__.txt +3 -3
  87. package/dashboard/settings/__next.settings.txt +1 -1
  88. package/dashboard/settings/index.html +1 -1
  89. package/dashboard/settings/index.txt +8 -8
  90. package/dashboard/usage/__next._full.txt +22 -0
  91. package/dashboard/usage/__next._head.txt +6 -0
  92. package/dashboard/usage/__next._index.txt +9 -0
  93. package/dashboard/usage/__next._tree.txt +2 -0
  94. package/dashboard/usage/__next.usage.__PAGE__.txt +9 -0
  95. package/dashboard/usage/__next.usage.txt +4 -0
  96. package/dashboard/usage/index.html +1 -0
  97. package/dashboard/usage/index.txt +22 -0
  98. package/package.json +1 -1
  99. package/server/index.js +22 -0
  100. package/server/index.js.map +2 -2
  101. package/dashboard/_next/static/chunks/35f92271baf1e273.js +0 -2
  102. package/dashboard/_next/static/chunks/544729b1d14e133f.js +0 -1
  103. package/dashboard/_next/static/chunks/5f1dc5123f43f954.js +0 -1
  104. package/dashboard/_next/static/chunks/69c2a0d587153425.js +0 -1
  105. package/dashboard/_next/static/chunks/6fa4d7b0382eb69a.js +0 -4
  106. package/dashboard/_next/static/chunks/8405a37f6e78c6fe.js +0 -1
  107. package/dashboard/_next/static/chunks/967d50dc43e363ee.js +0 -1
  108. package/dashboard/_next/static/chunks/c0d4e7aa4b1e8cd6.js +0 -49
  109. package/dashboard/_next/static/chunks/c306fa0e301f7e53.js +0 -1
  110. package/dashboard/_next/static/chunks/cdf042c6c74b5110.js +0 -1
  111. package/dashboard/_next/static/chunks/d63d5908e48bea60.css +0 -1
  112. package/dashboard/_next/static/chunks/dbb8e079c2a14288.js +0 -1
  113. package/dashboard/_next/static/chunks/dd5b8d905cbcd0e1.js +0 -1
  114. package/dashboard/_next/static/chunks/de03e99a1076d0b0.js +0 -1
  115. package/dashboard/_next/static/chunks/f652ed4293e209dc.js +0 -1
  116. package/dashboard/_next/static/chunks/turbopack-00aed88e1fb5f17d.js +0 -4
  117. /package/dashboard/_next/static/{LbqHle9Fc0EAIeQ_jBK9S → itnMcgeiWB1vRs4K88g9K}/_buildManifest.js +0 -0
  118. /package/dashboard/_next/static/{LbqHle9Fc0EAIeQ_jBK9S → itnMcgeiWB1vRs4K88g9K}/_clientMiddlewareManifest.json +0 -0
  119. /package/dashboard/_next/static/{LbqHle9Fc0EAIeQ_jBK9S → itnMcgeiWB1vRs4K88g9K}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99318,46670,e=>{"use strict";let t;var a=e.i(54414),r=e.i(62667);let s=e=>{let t,a=new Set,r=(e,r)=>{let s="function"==typeof e?e(t):e;if(!Object.is(s,t)){let e=t;t=(null!=r?r:"object"!=typeof s||null===s)?s:Object.assign({},t,s),a.forEach(a=>a(t,e))}},s=()=>t,o={setState:r,getState:s,getInitialState:()=>l,subscribe:e=>(a.add(e),()=>a.delete(e))},l=t=e(r,s,o);return o},o=e=>{let t=e?s(e):s,a=e=>(function(e,t=e=>e){let a=r.default.useSyncExternalStore(e.subscribe,r.default.useCallback(()=>t(e.getState()),[e,t]),r.default.useCallback(()=>t(e.getInitialState()),[e,t]));return r.default.useDebugValue(a),a})(t,e);return Object.assign(a,t),a},l=a.default.env.NEXT_PUBLIC_API_URL||window.location.origin,n=(t=(e,t)=>({apiBase:l,tables:{},selectedTable:null,functions:{queries:[]},status:null,setSelectedTable:t=>e({selectedTable:t}),fetchTables:async()=>{let a=await fetch(`${t().apiBase}/_admin/tables`);e({tables:await a.json()})},fetchTableData:async(e,a=50,r=0)=>(await fetch(`${t().apiBase}/_admin/data/${e}?limit=${a}&offset=${r}`)).json(),fetchFunctions:async()=>{let a=await fetch(`${t().apiBase}/_admin/functions`);e({functions:await a.json()})},fetchStatus:async()=>{let a=await fetch(`${t().apiBase}/_admin/status`);e({status:await a.json()})},insertRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})},deleteRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}/${a}`,{method:"DELETE"})}}))?o(t):o;e.s(["useDashboardStore",0,n],99318);var i=e.i(13274),d=e.i(94237),c=e.i(41371),u=e.i(44052);let h=(0,d.cva)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function m({className:e,variant:t="default",asChild:a=!1,...r}){let s=a?c.Slot.Root:"span";return(0,i.jsx)(s,{"data-slot":"badge","data-variant":t,className:(0,u.cn)(h({variant:t}),e),...r})}e.s(["Badge",()=>m],46670)},47101,e=>{"use strict";let t=(0,e.i(3790).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],47101)},22195,e=>{"use strict";let t=(0,e.i(3790).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],22195)},12646,e=>{"use strict";let t=(0,e.i(3790).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],12646)},39937,e=>{"use strict";let t=(0,e.i(3790).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],39937)},85246,e=>{"use strict";let t=(0,e.i(3790).default)("table-2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]);e.s(["Table2",()=>t],85246)},98590,e=>{"use strict";var t=e.i(13274),a=e.i(62667),r=e.i(54219),s=e.i(76993),o=e.i(42092),l=e.i(99173),n=e.i(14475),i=e.i(99318),d=e.i(46670),c=e.i(68759),u=e.i(44052),h=e.i(26725),m=e.i(67877),f=e.i(47101),x=e.i(5289),g=e.i(39937),b=e.i(3790);let p=(0,b.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),v=(0,b.default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);var w=e.i(85246);let y=(0,b.default)("columns-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);function j(){let{tables:e,selectedTable:b,setSelectedTable:j,fetchTables:C,fetchTableData:N,deleteRow:k}=(0,i.useDashboardStore)(),[S,B]=(0,a.useState)([]),[F,E]=(0,a.useState)(0),[R,D]=(0,a.useState)(!0),[T,$]=(0,a.useState)(0),[M,A]=(0,a.useState)(null),[z,P]=(0,a.useState)(!1),[L,q]=(0,a.useState)(null),H=(0,a.useRef)(null),{resolvedTheme:O}=(0,o.useTheme)(),_=(0,a.useRef)(null),U=(0,a.useMemo)(()=>"light"===O?n.themeQuartz.withParams({accentColor:"#6366F1",backgroundColor:"#FFFFFF",borderColor:"#E4E4E7",browserColorScheme:"light",chromeBackgroundColor:"#F4F4F5",foregroundColor:"#09090B",headerBackgroundColor:"#F4F4F5",headerFontSize:12,headerFontWeight:600,fontSize:12,rowBorder:{color:"#E4E4E7"},columnBorder:{color:"#E4E4E7"},oddRowBackgroundColor:"#FAFAFA",rowHoverColor:"#EEF2FF",selectedRowBackgroundColor:"#E0E7FF",cellHorizontalPaddingScale:.8,wrapperBorderRadius:0}):n.themeQuartz.withParams({accentColor:"#6366F1",backgroundColor:"#09090B",borderColor:"#27272A",browserColorScheme:"dark",chromeBackgroundColor:"#09090B",foregroundColor:"#FAFAFA",headerBackgroundColor:"#18181B",headerFontSize:12,headerFontWeight:600,fontSize:12,rowBorder:{color:"#27272A"},columnBorder:{color:"#27272A"},oddRowBackgroundColor:"#0C0C0F",rowHoverColor:"#1A1A2E",selectedRowBackgroundColor:"#1E1B4B",cellHorizontalPaddingScale:.8,wrapperBorderRadius:0}),[O]),V=(0,s.useRouter)(),W=(0,s.useSearchParams)(),I=W.get("table");(0,a.useEffect)(()=>{I&&I!==b&&j(I)},[I]),(0,a.useEffect)(()=>{C().then(()=>{D(!1),I?j(I):j("")})},[C]);let J=(0,a.useCallback)(e=>{j(e);let t=new URLSearchParams(W.toString());t.set("table",e),V.replace(`?${t.toString()}`,{scroll:!1}),$(0),P(!1)},[V,W,j]),G=(0,a.useCallback)(()=>{j("");let e=new URLSearchParams(W.toString());e.delete("table"),V.replace(`?${e.toString()}`,{scroll:!1}),B([]),E(0)},[V,W,j]),K=(0,a.useCallback)(async()=>{if(!b)return;D(!0);let e=await N(b,50,50*T);B(e.data||[]),E(e.total||0),D(!1)},[b,T,N]);(0,a.useEffect)(()=>{K()},[K]),(0,a.useEffect)(()=>{let e=i.useDashboardStore.getState().apiBase.replace(/^http/,"ws")+"/ws",t=null,a=null,r=!0;return!function s(){r&&((t=new WebSocket(e)).onmessage=e=>{try{let t=JSON.parse(e.data),a="invalidate"===t.type&&Array.isArray(t.queries)?t.queries:"query:updated"===t.type&&t.query?[t.query]:[],r=i.useDashboardStore.getState().selectedTable;r&&a.some(e=>e.includes(r))&&K()}catch{}},t.onclose=()=>{r&&(a=setTimeout(s,3e3))})}(),()=>{r=!1,a&&clearTimeout(a),t?.close()}},[K]),(0,a.useEffect)(()=>{function e(e){H.current&&!H.current.contains(e.target)&&P(!1)}if(z)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[z]);let Q=Object.keys(e),X=b&&e[b]||[],Y=(0,a.useMemo)(()=>X.map(e=>({field:e.column,headerName:e.column,editable:"id"!==e.column,sortable:!0,resizable:!0,minWidth:e.type.includes("timestamp")?200:100,cellStyle:t=>"id"===e.column?{color:"#818CF8",cursor:"pointer",textDecoration:"underline",textDecorationColor:"#818CF850"}:null===t.value||void 0===t.value?{color:"#71717A",fontStyle:"italic"}:"boolean"==typeof t.value?{color:t.value?"#22C55E":"#EF4444"}:null,valueFormatter:t=>null===t.value||void 0===t.value?"null":"boolean"==typeof t.value?t.value?"true":"false":e.type.includes("timestamp")?new Date(t.value).toLocaleString():String(t.value),headerTooltip:`${e.column} (${e.type})${e.nullable?" | nullable":""}`})),[X]),Z=(0,a.useCallback)(async e=>{if(!b)return;let{data:t,colDef:a,newValue:s}=e,o=a.field,l=i.useDashboardStore.getState().apiBase;try{await fetch(`${l}/_admin/data/${b}/${t.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({[o]:s})}),r.toast.success(`Updated ${o}`)}catch(e){console.error("Failed to update:",e),r.toast.error("Failed to update cell"),K()}},[b,K]),ee=(0,a.useCallback)(e=>{if("id"!==e.colDef.field)return;let t=e.data;q(e=>e&&e.id===t.id?null:t)},[]);(0,a.useEffect)(()=>{if(L&&S.length>0){let e=S.find(e=>e.id===L.id);e?q(e):q(null)}},[S]);let et=Math.ceil(F/50);return b?(0,t.jsxs)("div",{className:"flex h-full flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2 bg-background",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)(c.Button,{variant:"ghost",size:"sm",onClick:G,className:"gap-1.5 text-muted-foreground hover:text-foreground",children:[(0,t.jsx)(v,{className:"h-3.5 w-3.5"}),"All Tables"]}),(0,t.jsx)("div",{className:"w-px h-5 bg-border"}),(0,t.jsxs)("div",{className:"relative",ref:H,children:[(0,t.jsxs)("button",{onClick:()=>P(e=>!e),className:(0,u.cn)("flex items-center gap-2 rounded-md px-2.5 py-1.5 text-sm font-semibold transition-colors","hover:bg-accent/50 text-foreground",z&&"bg-accent/50"),children:[(0,t.jsx)(m.Database,{className:"h-3.5 w-3.5 text-primary"}),b,(0,t.jsx)(p,{className:(0,u.cn)("h-3.5 w-3.5 text-muted-foreground transition-transform",z&&"rotate-180")})]}),z&&(0,t.jsx)("div",{className:"absolute top-full left-0 mt-1 z-50 min-w-[200px] max-h-[300px] overflow-y-auto rounded-lg border border-border bg-popover shadow-lg",children:(0,t.jsx)("div",{className:"p-1",children:Q.map(a=>(0,t.jsxs)("button",{onClick:()=>J(a),className:(0,u.cn)("flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors text-left",a===b?"bg-primary/10 text-primary font-medium":"text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(m.Database,{className:"h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:a}),(0,t.jsxs)(d.Badge,{variant:"secondary",className:"ml-auto text-[10px] shrink-0",children:[e[a]?.length||0," cols"]})]},a))})})]}),F>0&&(0,t.jsxs)(d.Badge,{variant:"outline",className:"text-xs border-border text-muted-foreground",children:[F," rows"]})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsxs)(c.Button,{variant:"ghost",size:"sm",onClick:K,className:"text-muted-foreground hover:text-foreground",children:[(0,t.jsx)(f.RefreshCw,{className:"mr-1.5 h-3.5 w-3.5"}),"Refresh"]})})]}),(0,t.jsxs)("div",{className:"flex-1 min-h-0 relative overflow-hidden",children:[(0,t.jsx)(l.AgGridReact,{ref:_,modules:[n.AllCommunityModule],theme:U,rowData:S,columnDefs:Y,onGridReady:e=>{A(e.api),e.api.sizeColumnsToFit()},onCellValueChanged:Z,onCellClicked:ee,loading:R,animateRows:!0,rowSelection:"multiple",suppressMovableColumns:!1,defaultColDef:{flex:1,minWidth:80,editable:!0,resizable:!0,sortable:!0}}),L&&(0,t.jsx)("div",{className:"absolute top-0 right-0 h-full z-10 shadow-2xl animate-in slide-in-from-right duration-200",children:(0,t.jsx)(h.RowDetailDrawer,{row:L,columns:X,tableName:b,onClose:()=>q(null),onDataChanged:K})})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between border-t border-border px-4 py-2 bg-background",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:0===F?"No data":`${50*T+1}–${Math.min((T+1)*50,F)} of ${F}`}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:["Page ",T+1," of ",Math.max(et,1)]}),(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsx)(c.Button,{variant:"outline",size:"icon",className:"h-7 w-7 border-border",disabled:0===T,onClick:()=>$(e=>e-1),children:(0,t.jsx)(x.ChevronLeft,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(c.Button,{variant:"outline",size:"icon",className:"h-7 w-7 border-border",disabled:T+1>=et,onClick:()=>$(e=>e+1),children:(0,t.jsx)(g.ChevronRight,{className:"h-3.5 w-3.5"})})]})]})]})]}):(0,t.jsxs)("div",{className:"flex h-full flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2 bg-background",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(m.Database,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("h2",{className:"font-semibold text-foreground",children:"Data"}),(0,t.jsxs)(d.Badge,{variant:"outline",className:"text-xs border-border text-muted-foreground",children:[Q.length," tables"]})]}),(0,t.jsx)(c.Button,{variant:"ghost",size:"sm",onClick:()=>{D(!0),C().then(()=>D(!1))},className:"text-muted-foreground hover:text-foreground",children:(0,t.jsx)(f.RefreshCw,{className:"h-3.5 w-3.5"})})]}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-6",children:0===Q.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-center",children:[(0,t.jsx)(m.Database,{className:"h-12 w-12 text-muted-foreground/30 mb-4"}),(0,t.jsx)("h3",{className:"text-lg font-medium text-foreground mb-1",children:"No tables yet"}),(0,t.jsxs)("p",{className:"text-sm text-muted-foreground max-w-sm",children:["Define a schema in your ",(0,t.jsx)("code",{className:"bg-muted px-1 rounded text-xs",children:"gencow/schema.ts"})," file and run the server to create tables."]})]}):(0,t.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-3",children:Q.map(a=>(0,t.jsxs)("button",{onClick:()=>J(a),className:(0,u.cn)("group relative flex flex-col items-start gap-3 rounded-lg border border-border p-4","bg-card hover:bg-accent/50 hover:border-primary/30","transition-all duration-150 text-left","focus:outline-none focus:ring-2 focus:ring-primary/50 focus:ring-offset-1 focus:ring-offset-background"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5 w-full",children:[(0,t.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-primary/10 text-primary",children:(0,t.jsx)(w.Table2,{className:"h-4 w-4"})}),(0,t.jsx)("span",{className:"font-medium text-sm text-foreground truncate flex-1",children:a})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,t.jsx)(y,{className:"h-3 w-3"}),e[a].length," columns"]}),(0,t.jsx)(g.ChevronRight,{className:"absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground/0 group-hover:text-muted-foreground transition-colors"})]},a))})})]})}e.s(["DataBrowser",()=>j],98590)},6850,e=>{e.n(e.i(98590))}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99318,46670,e=>{"use strict";let t;var a=e.i(54414),s=e.i(62667);let r=e=>{let t,a=new Set,s=(e,s)=>{let r="function"==typeof e?e(t):e;if(!Object.is(r,t)){let e=t;t=(null!=s?s:"object"!=typeof r||null===r)?r:Object.assign({},t,r),a.forEach(a=>a(t,e))}},r=()=>t,i={setState:s,getState:r,getInitialState:()=>l,subscribe:e=>(a.add(e),()=>a.delete(e))},l=t=e(s,r,i);return i},i=e=>{let t=e?r(e):r,a=e=>(function(e,t=e=>e){let a=s.default.useSyncExternalStore(e.subscribe,s.default.useCallback(()=>t(e.getState()),[e,t]),s.default.useCallback(()=>t(e.getInitialState()),[e,t]));return s.default.useDebugValue(a),a})(t,e);return Object.assign(a,t),a},l=a.default.env.NEXT_PUBLIC_API_URL||window.location.origin,n=(t=(e,t)=>({apiBase:l,tables:{},selectedTable:null,functions:{queries:[]},status:null,setSelectedTable:t=>e({selectedTable:t}),fetchTables:async()=>{let a=await fetch(`${t().apiBase}/_admin/tables`);e({tables:await a.json()})},fetchTableData:async(e,a=50,s=0)=>(await fetch(`${t().apiBase}/_admin/data/${e}?limit=${a}&offset=${s}`)).json(),fetchFunctions:async()=>{let a=await fetch(`${t().apiBase}/_admin/functions`);e({functions:await a.json()})},fetchStatus:async()=>{let a=await fetch(`${t().apiBase}/_admin/status`);e({status:await a.json()})},insertRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})},deleteRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}/${a}`,{method:"DELETE"})}}))?i(t):i;e.s(["useDashboardStore",0,n],99318);var c=e.i(13274),d=e.i(94237),o=e.i(41371),u=e.i(44052);let h=(0,d.cva)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function f({className:e,variant:t="default",asChild:a=!1,...s}){let r=a?o.Slot.Root:"span";return(0,c.jsx)(r,{"data-slot":"badge","data-variant":t,className:(0,u.cn)(h({variant:t}),e),...s})}e.s(["Badge",()=>f],46670)},47101,e=>{"use strict";let t=(0,e.i(3790).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],47101)},22195,e=>{"use strict";let t=(0,e.i(3790).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],22195)},12646,e=>{"use strict";let t=(0,e.i(3790).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],12646)},9996,18084,e=>{"use strict";var t=e.i(3790);let a=(0,t.default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",()=>a],9996);let s=(0,t.default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>s],18084)},12569,e=>{"use strict";var t=e.i(13274),a=e.i(62667),s=e.i(54219),r=e.i(99318),i=e.i(46670),l=e.i(68759),n=e.i(44052),c=e.i(6730),d=e.i(3790);let o=(0,d.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var u=e.i(47101),h=e.i(12646);let f=(0,d.default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);var m=e.i(22195),x=e.i(9996),p=e.i(18084);let g=(0,d.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);function v(){let{apiBase:e,deleteRow:d}=(0,r.useDashboardStore)(),[v,b]=(0,a.useState)([]),[y,j]=(0,a.useState)(!0),[w,k]=(0,a.useState)(!1),[N,S]=(0,a.useState)(!1),[$,B]=(0,a.useState)(null),[C,T]=(0,a.useState)(null),D=(0,a.useRef)(null),M=(0,a.useCallback)(async()=>{try{let t=await fetch(`${e}/_admin/files`),a=await t.json();b(a)}catch(e){console.error("Failed to fetch files:",e)}j(!1)},[e]);async function _(t){if(!t||0===t.length)return;k(!0),B(null);let a=0,r=0;for(let s of Array.from(t))try{let t=new FormData;t.append("file",s),(await fetch(`${e}/_admin/files/upload`,{method:"POST",body:t})).ok?a++:r++}catch{r++}k(!1),0===r?s.toast.success(`${a} file(s) uploaded successfully`):s.toast.error(`${a} uploaded, ${r} failed`),M(),setTimeout(()=>B(null),3e3)}async function z(e){if(C!==e){T(e),setTimeout(()=>T(null),3e3);return}await d("files",e),T(null),s.toast.success("File deleted"),M()}return(0,a.useEffect)(()=>{M()},[M]),(0,t.jsxs)("div",{className:"flex h-full flex-col",onDragOver:function(e){e.preventDefault(),S(!0)},onDragLeave:function(e){e.preventDefault(),S(!1)},onDrop:function(e){e.preventDefault(),S(!1),_(e.dataTransfer.files)},children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2 bg-background",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.FileBox,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("h2",{className:"font-semibold text-foreground",children:"File Storage"}),(0,t.jsxs)(i.Badge,{variant:"outline",className:"text-xs border-border text-muted-foreground",children:[v.length," files"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{ref:D,type:"file",className:"hidden",multiple:!0,onChange:e=>_(e.target.files)}),(0,t.jsxs)(l.Button,{size:"sm",className:"gap-1.5",onClick:()=>D.current?.click(),disabled:w,children:[(0,t.jsx)(f,{className:"h-3.5 w-3.5"}),"Upload"]}),(0,t.jsx)(l.Button,{variant:"ghost",size:"sm",onClick:M,className:"text-muted-foreground",children:(0,t.jsx)(u.RefreshCw,{className:"h-3.5 w-3.5"})})]})]}),$&&(0,t.jsxs)("div",{className:(0,n.cn)("flex items-center gap-2 px-4 py-2 text-xs border-b","success"===$.type?"bg-green-500/10 text-green-400 border-green-500/20":"bg-red-500/10 text-red-400 border-red-500/20"),children:["success"===$.type?(0,t.jsx)(x.CheckCircle2,{className:"h-3.5 w-3.5"}):(0,t.jsx)(p.AlertCircle,{className:"h-3.5 w-3.5"}),$.message]}),N&&(0,t.jsx)("div",{className:"absolute inset-0 z-50 bg-primary/10 border-2 border-dashed border-primary rounded-lg flex items-center justify-center backdrop-blur-sm",children:(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)(f,{className:"h-12 w-12 text-primary mx-auto mb-2"}),(0,t.jsx)("p",{className:"text-lg font-medium text-primary",children:"Drop files here"})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsxs)("div",{className:"p-4 space-y-1",children:[v.map(a=>{var s;return(0,t.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2 rounded-md border border-border hover:bg-accent/50 transition-colors",children:[a.type.startsWith("image/")?(0,t.jsx)("div",{className:"h-10 w-10 rounded bg-muted flex items-center justify-center overflow-hidden shrink-0",children:(0,t.jsx)("img",{src:`${e}/api/storage/${a.storage_id}`,alt:a.name,className:"h-full w-full object-cover",loading:"lazy"})}):(0,t.jsx)("div",{className:"h-10 w-10 rounded bg-muted flex items-center justify-center shrink-0",children:(0,t.jsx)(o,{className:"h-5 w-5 text-muted-foreground"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-foreground truncate",children:a.name}),(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{children:a.type}),(0,t.jsx)("span",{children:"·"}),(0,t.jsx)("span",{children:(s=Number(a.size))<1024?`${s} B`:s<1048576?`${(s/1024).toFixed(1)} KB`:`${(s/1024/1024).toFixed(1)} MB`}),(0,t.jsx)("span",{children:"·"}),(0,t.jsx)("span",{children:new Date(a.created_at).toLocaleString()})]})]}),(0,t.jsxs)(i.Badge,{variant:"secondary",className:"text-[10px] font-mono shrink-0",children:[a.storage_id.slice(0,8),"…"]}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0 text-muted-foreground hover:text-foreground",onClick:()=>{let t=document.createElement("a");t.href=`${e}/api/storage/${a.storage_id}`,t.download=a.name,t.click()},title:"Download",children:(0,t.jsx)(g,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:(0,n.cn)("h-7 w-7 shrink-0",C===a.id?"text-red-400 bg-red-500/10":"text-muted-foreground hover:text-red-400"),onClick:()=>z(a.id),title:C===a.id?"Click again to confirm":"Delete",children:C===a.id?(0,t.jsx)(m.X,{className:"h-3.5 w-3.5"}):(0,t.jsx)(h.Trash2,{className:"h-3.5 w-3.5"})})]},a.id)}),0===v.length&&!y&&(0,t.jsxs)("div",{className:"text-center text-muted-foreground py-12",children:[(0,t.jsx)(f,{className:"mx-auto h-12 w-12 mb-3 opacity-30"}),(0,t.jsx)("p",{className:"font-medium",children:"No files uploaded yet"}),(0,t.jsx)("p",{className:"text-xs mt-1",children:"Drag & drop files here or click Upload"}),(0,t.jsxs)(l.Button,{variant:"outline",size:"sm",className:"mt-3",onClick:()=>D.current?.click(),children:[(0,t.jsx)(f,{className:"mr-1.5 h-3.5 w-3.5"}),"Choose Files"]})]})]})})]})}e.s(["FileStorageBrowser",()=>v],12569)}]);
@@ -1 +0,0 @@
1
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-red-300:#ffa3a3;--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-orange-400:#ff8b1a;--color-orange-500:#fe6e00;--color-amber-400:#fcbb00;--color-amber-500:#f99c00;--color-yellow-400:#fac800;--color-yellow-500:#edb200;--color-green-300:#7bf1a8;--color-green-400:#05df72;--color-green-500:#00c758;--color-green-600:#00a544;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-purple-400:#c07eff;--color-purple-500:#ac4bff;--color-zinc-400:#9f9fa9;--color-zinc-500:#71717b;--color-zinc-600:#52525c;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-300:lab(76.5514% 36.422 15.5335);--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-orange-400:lab(70.0429% 42.5156 75.8207);--color-orange-500:lab(64.272% 57.1788 90.3583);--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-yellow-400:lab(83.2664% 8.65132 106.895);--color-yellow-500:lab(76.3898% 14.5258 98.4589);--color-green-300:lab(86.9953% -47.2691 25.0054);--color-green-400:lab(78.503% -64.9265 39.7492);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-green-600:lab(59.0978% -58.6621 41.2579);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-purple-400:lab(63.6946% 47.6127 -59.2066);--color-purple-500:lab(52.0183% 66.11 -78.2316);--color-zinc-400:lab(65.6464% 1.53497 -5.42429);--color-zinc-500:lab(47.8878% 1.65477 -5.77283);--color-zinc-600:lab(35.1166% 1.78212 -6.1173)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.invisible{visibility:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.start{inset-inline-start:var(--spacing)}.top-0{top:calc(var(--spacing)*0)}.top-0\.5{top:calc(var(--spacing)*.5)}.top-1\/2{top:50%}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-3{right:calc(var(--spacing)*3)}.left-0{left:calc(var(--spacing)*0)}.left-2\.5{left:calc(var(--spacing)*2.5)}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.mx-0\.5{margin-inline:calc(var(--spacing)*.5)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-full{width:100%;height:100%}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-32{height:calc(var(--spacing)*32)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-full{height:100%}.h-screen{height:100vh}.max-h-24{max-height:calc(var(--spacing)*24)}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-80{max-height:calc(var(--spacing)*80)}.max-h-\[300px\]{max-height:300px}.min-h-0{min-height:calc(var(--spacing)*0)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-60{width:calc(var(--spacing)*60)}.w-\[20\%\]{width:20%}.w-\[35\%\]{width:35%}.w-\[45\%\]{width:45%}.w-\[320px\]{width:320px}.w-\[400px\]{width:400px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[400px\]{max-width:400px}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.caption-bottom{caption-side:bottom}.translate-x-0\.5{--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-180{rotate:180deg}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize-none{resize:none}.resize-y{resize:vertical}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px*var(--tw-space-y-reverse));margin-block-end:calc(1px*calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue-500\/20{border-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/20{border-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.border-border{border-color:var(--border)}.border-green-500\/20{border-color:#00c75833}@supports (color:color-mix(in lab, red, red)){.border-green-500\/20{border-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.border-orange-500\/20{border-color:#fe6e0033}@supports (color:color-mix(in lab, red, red)){.border-orange-500\/20{border-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.border-primary,.border-primary\/50{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/50{border-color:color-mix(in oklab,var(--primary)50%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.border-transparent{border-color:#0000}.border-yellow-500\/20{border-color:#edb20033}@supports (color:color-mix(in lab, red, red)){.border-yellow-500\/20{border-color:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-accent,.bg-accent\/50{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/50{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive,.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500)5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-muted,.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/10{background-color:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/5{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--primary)5%,transparent)}}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/5{background-color:color-mix(in oklab,var(--color-red-500)5%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/10{background-color:color-mix(in oklab,var(--color-yellow-500)10%,transparent)}}.bg-zinc-500\/10{background-color:#71717b1a}@supports (color:color-mix(in lab, red, red)){.bg-zinc-500\/10{background-color:color-mix(in oklab,var(--color-zinc-500)10%,transparent)}}.bg-zinc-600{background-color:var(--color-zinc-600)}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-\[20vh\]{padding-top:20vh}.pr-3{padding-right:calc(var(--spacing)*3)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-geist-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-400{color:var(--color-amber-400)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab,var(--foreground)60%,transparent)}}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground,.text-muted-foreground\/0{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/0{color:color-mix(in oklab,var(--muted-foreground)0%,transparent)}}.text-muted-foreground\/30{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/30{color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.text-muted-foreground\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/50{color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.text-orange-400{color:var(--color-orange-400)}.text-orange-500{color:var(--color-orange-500)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.text-zinc-400{color:var(--color-zinc-400)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-30{opacity:.3}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.slide-in-from-right{--tw-enter-translate-x:100%}@media (hover:hover){.group-hover\:text-muted-foreground:is(:where(.group):hover *){color:var(--muted-foreground)}}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing)*9)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing)*0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing)*.5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing)*-1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing)*.5)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-primary\/30:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab,var(--primary)30%,transparent)}}.hover\:border-primary\/50:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,var(--primary)50%,transparent)}}.hover\:bg-accent:hover,.hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary:focus,.focus\:ring-primary\/50:focus{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.focus\:ring-primary\/50:focus{--tw-ring-color:color-mix(in oklab,var(--primary)50%,transparent)}}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:ring-offset-background:focus{--tw-ring-offset-color:var(--background)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing)*1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@media (min-width:40rem){.sm\:inline-flex{display:inline-flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:#fff;--foreground:#0a0a0a;--card:#fff;--card-foreground:#0a0a0a;--popover:#fff;--popover-foreground:#0a0a0a;--primary:#171717;--primary-foreground:#fafafa;--secondary:#f5f5f5;--secondary-foreground:#171717;--muted:#f5f5f5;--muted-foreground:#737373;--accent:#f5f5f5;--accent-foreground:#171717;--destructive:#e40014;--border:#e5e5e5;--input:#e5e5e5;--ring:#a1a1a1;--chart-1:#f05100;--chart-2:#009588;--chart-3:#104e64;--chart-4:#fcbb00;--chart-5:#f99c00;--sidebar:#fafafa;--sidebar-foreground:#0a0a0a;--sidebar-primary:#171717;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f5f5f5;--sidebar-accent-foreground:#171717;--sidebar-border:#e5e5e5;--sidebar-ring:#a1a1a1}@supports (color:lab(0% 0 0)){:root{--background:lab(100% 0 0);--foreground:lab(2.75381% 0 0);--card:lab(100% 0 0);--card-foreground:lab(2.75381% 0 0);--popover:lab(100% 0 0);--popover-foreground:lab(2.75381% 0 0);--primary:lab(7.78201% -.0000149012 0);--primary-foreground:lab(98.26% 0 0);--secondary:lab(96.52% -.0000298023 .0000119209);--secondary-foreground:lab(7.78201% -.0000149012 0);--muted:lab(96.52% -.0000298023 .0000119209);--muted-foreground:lab(48.496% 0 0);--accent:lab(96.52% -.0000298023 .0000119209);--accent-foreground:lab(7.78201% -.0000149012 0);--destructive:lab(48.4493% 77.4328 61.5452);--border:lab(90.952% 0 -.0000119209);--input:lab(90.952% 0 -.0000119209);--ring:lab(66.128% -.0000298023 .0000119209);--chart-1:lab(57.1026% 64.2584 89.8886);--chart-2:lab(55.0223% -41.0774 -3.90277);--chart-3:lab(30.372% -13.1853 -18.7887);--chart-4:lab(80.1641% 16.6016 99.2089);--chart-5:lab(72.7183% 31.8672 97.9407);--sidebar:lab(98.26% 0 0);--sidebar-foreground:lab(2.75381% 0 0);--sidebar-primary:lab(7.78201% -.0000149012 0);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(96.52% -.0000298023 .0000119209);--sidebar-accent-foreground:lab(7.78201% -.0000149012 0);--sidebar-border:lab(90.952% 0 -.0000119209);--sidebar-ring:lab(66.128% -.0000298023 .0000119209)}}.dark{--background:#0a0a0a;--foreground:#fafafa;--card:#171717;--card-foreground:#fafafa;--popover:#171717;--popover-foreground:#fafafa;--primary:#e5e5e5;--primary-foreground:#171717;--secondary:#262626;--secondary-foreground:#fafafa;--muted:#262626;--muted-foreground:#a1a1a1;--accent:#262626;--accent-foreground:#fafafa;--destructive:#ff6568;--border:#ffffff1a;--input:#ffffff26;--ring:#737373;--chart-1:#1447e6;--chart-2:#00bb7f;--chart-3:#f99c00;--chart-4:#ac4bff;--chart-5:#ff2357;--sidebar:#171717;--sidebar-foreground:#fafafa;--sidebar-primary:#1447e6;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#262626;--sidebar-accent-foreground:#fafafa;--sidebar-border:#ffffff1a;--sidebar-ring:#737373}@supports (color:lab(0% 0 0)){.dark{--background:lab(2.75381% 0 0);--foreground:lab(98.26% 0 0);--card:lab(7.78201% -.0000149012 0);--card-foreground:lab(98.26% 0 0);--popover:lab(7.78201% -.0000149012 0);--popover-foreground:lab(98.26% 0 0);--primary:lab(90.952% 0 -.0000119209);--primary-foreground:lab(7.78201% -.0000149012 0);--secondary:lab(15.204% 0 -.00000596046);--secondary-foreground:lab(98.26% 0 0);--muted:lab(15.204% 0 -.00000596046);--muted-foreground:lab(66.128% -.0000298023 .0000119209);--accent:lab(15.204% 0 -.00000596046);--accent-foreground:lab(98.26% 0 0);--destructive:lab(63.7053% 60.745 31.3109);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--ring:lab(48.496% 0 0);--chart-1:lab(36.9089% 35.0961 -85.6872);--chart-2:lab(66.9756% -58.27 19.5419);--chart-3:lab(72.7183% 31.8672 97.9407);--chart-4:lab(52.0183% 66.11 -78.2316);--chart-5:lab(56.101% 79.4328 31.4532);--sidebar:lab(7.78201% -.0000149012 0);--sidebar-foreground:lab(98.26% 0 0);--sidebar-primary:lab(36.9089% 35.0961 -85.6872);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(15.204% 0 -.00000596046);--sidebar-accent-foreground:lab(98.26% 0 0);--sidebar-border:lab(100% 0 0/.1);--sidebar-ring:lab(48.496% 0 0)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99318,46670,e=>{"use strict";let t;var a=e.i(54414),s=e.i(62667);let r=e=>{let t,a=new Set,s=(e,s)=>{let r="function"==typeof e?e(t):e;if(!Object.is(r,t)){let e=t;t=(null!=s?s:"object"!=typeof r||null===r)?r:Object.assign({},t,r),a.forEach(a=>a(t,e))}},r=()=>t,l={setState:s,getState:r,getInitialState:()=>n,subscribe:e=>(a.add(e),()=>a.delete(e))},n=t=e(s,r,l);return l},l=e=>{let t=e?r(e):r,a=e=>(function(e,t=e=>e){let a=s.default.useSyncExternalStore(e.subscribe,s.default.useCallback(()=>t(e.getState()),[e,t]),s.default.useCallback(()=>t(e.getInitialState()),[e,t]));return s.default.useDebugValue(a),a})(t,e);return Object.assign(a,t),a},n=a.default.env.NEXT_PUBLIC_API_URL||window.location.origin,i=(t=(e,t)=>({apiBase:n,tables:{},selectedTable:null,functions:{queries:[]},status:null,setSelectedTable:t=>e({selectedTable:t}),fetchTables:async()=>{let a=await fetch(`${t().apiBase}/_admin/tables`);e({tables:await a.json()})},fetchTableData:async(e,a=50,s=0)=>(await fetch(`${t().apiBase}/_admin/data/${e}?limit=${a}&offset=${s}`)).json(),fetchFunctions:async()=>{let a=await fetch(`${t().apiBase}/_admin/functions`);e({functions:await a.json()})},fetchStatus:async()=>{let a=await fetch(`${t().apiBase}/_admin/status`);e({status:await a.json()})},insertRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})},deleteRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}/${a}`,{method:"DELETE"})}}))?l(t):l;e.s(["useDashboardStore",0,i],99318);var o=e.i(13274),c=e.i(94237),d=e.i(41371),u=e.i(44052);let f=(0,c.cva)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function h({className:e,variant:t="default",asChild:a=!1,...s}){let r=a?d.Slot.Root:"span";return(0,o.jsx)(r,{"data-slot":"badge","data-variant":t,className:(0,u.cn)(f({variant:t}),e),...s})}e.s(["Badge",()=>h],46670)},47101,e=>{"use strict";let t=(0,e.i(3790).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],47101)},12367,e=>{"use strict";var t=e.i(13274),a=e.i(62667),s=e.i(99318),r=e.i(46670),l=e.i(68759),n=e.i(44052),i=e.i(47101),o=e.i(59028),c=e.i(3790);let d=(0,c.default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),u=(0,c.default)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),f=(0,c.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),h={30:"#6B7280",31:"#EF4444",32:"#22C55E",33:"#EAB308",34:"#3B82F6",35:"#A855F7",36:"#06B6D4",37:"#E5E7EB",90:"#9CA3AF",91:"#FCA5A5",92:"#86EFAC",93:"#FDE047",94:"#93C5FD",95:"#D8B4FE",96:"#67E8F9",97:"#F9FAFB"},g=["/_admin/status","/_admin/logs","/_admin/tables","/_admin/functions","/_admin/files","/_admin/scheduler","/_admin/env","GET /favicon.ico"],m={info:"bg-blue-500/10 text-blue-400 border-blue-500/20",warn:"bg-yellow-500/10 text-yellow-400 border-yellow-500/20",error:"bg-red-500/10 text-red-400 border-red-500/20"},x={info:"text-blue-400",warn:"text-yellow-400",error:"text-red-400"};function p(){let{apiBase:e}=(0,s.useDashboardStore)(),[c,p]=(0,a.useState)([]),[b,v]=(0,a.useState)("all"),[y,w]=(0,a.useState)(!0),[j,N]=(0,a.useState)(!0),[k,S]=(0,a.useState)(!1),[B,E]=(0,a.useState)(!0),T=(0,a.useRef)(null),_=(0,a.useRef)(null),C=(0,a.useCallback)(async()=>{try{let t=await fetch(`${e}/_admin/logs?limit=200&level=${b}`),a=await t.json();p(a),E(!1)}catch(e){console.error("Failed to fetch logs:",e),E(!1)}},[e,b]);(0,a.useEffect)(()=>{C()},[C]),(0,a.useEffect)(()=>{let t,a,s=e.replace(/^http/,"ws")+"/ws";return!function e(){_.current=t=new WebSocket(s),t.onopen=()=>{S(!0),t.send(JSON.stringify({type:"log:subscribe"}))},t.onmessage=e=>{try{let t=JSON.parse(e.data);"log:entry"===t.type&&t.data&&p(e=>{let a=[...e,t.data];return a.length>500?a.slice(-500):a})}catch{}},t.onclose=()=>{S(!1),_.current=null,a=setTimeout(e,3e3)},t.onerror=()=>{t.close()}}(),()=>{clearTimeout(a),_.current&&(_.current.close(),_.current=null)}},[e]),(0,a.useEffect)(()=>{j&&T.current&&(T.current.scrollTop=T.current.scrollHeight)},[c,j]);let F=c.filter(e=>{let t;return!("all"!==b&&e.level!==b||y&&(t=e.message.replace(/\x1b\[[0-9;]*m/g,""),g.some(e=>t.includes(e))))});return(0,t.jsxs)("div",{className:"flex h-full flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2 bg-background",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.ScrollText,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("h2",{className:"font-semibold text-foreground",children:"Logs"}),(0,t.jsx)(r.Badge,{variant:"outline",className:"text-xs border-border text-muted-foreground",children:F.length}),(0,t.jsxs)("div",{className:"flex items-center gap-1 text-[10px] text-muted-foreground ml-2",children:[(0,t.jsx)("div",{className:(0,n.cn)("h-1.5 w-1.5 rounded-full",k?"bg-green-500":"bg-red-500")}),k?"Live":"Polling"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[["all","info","warn","error"].map(e=>(0,t.jsx)(l.Button,{variant:b===e?"default":"outline",size:"sm",className:"h-7 text-xs capitalize",onClick:()=>v(e),children:e},e)),(0,t.jsx)("div",{className:"w-px h-5 bg-border mx-0.5"}),(0,t.jsxs)(l.Button,{variant:y?"default":"outline",size:"sm",className:"h-7 text-xs gap-1",onClick:()=>w(e=>!e),title:y?"System logs hidden":"Showing system logs",children:[y?(0,t.jsx)(u,{className:"h-3 w-3"}):(0,t.jsx)(d,{className:"h-3 w-3"}),"System"]}),(0,t.jsx)(l.Button,{variant:j?"default":"outline",size:"sm",className:"h-7 text-xs gap-1",onClick:()=>N(e=>!e),children:(0,t.jsx)(f,{className:"h-3 w-3"})}),(0,t.jsx)(l.Button,{variant:"ghost",size:"sm",onClick:C,className:"h-7",children:(0,t.jsx)(i.RefreshCw,{className:"h-3.5 w-3.5"})})]})]}),(0,t.jsx)("div",{ref:T,className:"flex-1 overflow-y-auto",children:(0,t.jsxs)("div",{className:"p-2 space-y-px font-mono text-xs",children:[F.map(e=>(0,t.jsxs)("div",{className:(0,n.cn)("flex items-start gap-2 px-3 py-1.5 rounded hover:bg-accent/50 transition-colors","error"===e.level&&"bg-red-500/5"),children:[(0,t.jsx)("span",{className:"text-muted-foreground whitespace-nowrap flex-shrink-0",children:new Date(e.timestamp).toLocaleTimeString()}),(0,t.jsx)(r.Badge,{variant:"outline",className:(0,n.cn)("text-[10px] px-1.5 py-0 flex-shrink-0",m[e.level]),children:e.level}),e.source&&(0,t.jsx)(r.Badge,{variant:"secondary",className:"text-[10px] px-1.5 py-0 flex-shrink-0",children:e.source}),(0,t.jsx)("span",{className:(0,n.cn)("break-all",x[e.level]),dangerouslySetInnerHTML:{__html:e.message.replace(/\x1b\[([0-9;]*)m/g,(e,t)=>{if(!t||"0"===t)return"</span>";for(let e of t.split(";")){let t=h[e];if(t)return`<span style="color:${t}">`;if("1"===e)return'<span style="font-weight:bold">';if("2"===e)return'<span style="opacity:0.7">';if("4"===e)return'<span style="text-decoration:underline">'}return""})}})]},e.id)),0===F.length&&!B&&(0,t.jsx)("div",{className:"text-center text-muted-foreground py-8",children:y?"No application logs yet. System logs are hidden — click the System button to show them.":"No logs yet. Interact with the API to generate logs."})]})})]})}e.s(["LogsViewer",()=>p],12367)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,39937,e=>{"use strict";let t=(0,e.i(3790).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],39937)},99318,46670,e=>{"use strict";let t;var a=e.i(54414),r=e.i(62667);let l=e=>{let t,a=new Set,r=(e,r)=>{let l="function"==typeof e?e(t):e;if(!Object.is(l,t)){let e=t;t=(null!=r?r:"object"!=typeof l||null===l)?l:Object.assign({},t,l),a.forEach(a=>a(t,e))}},l=()=>t,o={setState:r,getState:l,getInitialState:()=>s,subscribe:e=>(a.add(e),()=>a.delete(e))},s=t=e(r,l,o);return o},o=e=>{let t=e?l(e):l,a=e=>(function(e,t=e=>e){let a=r.default.useSyncExternalStore(e.subscribe,r.default.useCallback(()=>t(e.getState()),[e,t]),r.default.useCallback(()=>t(e.getInitialState()),[e,t]));return r.default.useDebugValue(a),a})(t,e);return Object.assign(a,t),a},s=a.default.env.NEXT_PUBLIC_API_URL||window.location.origin,i=(t=(e,t)=>({apiBase:s,tables:{},selectedTable:null,functions:{queries:[]},status:null,setSelectedTable:t=>e({selectedTable:t}),fetchTables:async()=>{let a=await fetch(`${t().apiBase}/_admin/tables`);e({tables:await a.json()})},fetchTableData:async(e,a=50,r=0)=>(await fetch(`${t().apiBase}/_admin/data/${e}?limit=${a}&offset=${r}`)).json(),fetchFunctions:async()=>{let a=await fetch(`${t().apiBase}/_admin/functions`);e({functions:await a.json()})},fetchStatus:async()=>{let a=await fetch(`${t().apiBase}/_admin/status`);e({status:await a.json()})},insertRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})},deleteRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}/${a}`,{method:"DELETE"})}}))?o(t):o;e.s(["useDashboardStore",0,i],99318);var n=e.i(13274),d=e.i(94237),u=e.i(41371),c=e.i(44052);let h=(0,d.cva)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function m({className:e,variant:t="default",asChild:a=!1,...r}){let l=a?u.Slot.Root:"span";return(0,n.jsx)(l,{"data-slot":"badge","data-variant":t,className:(0,c.cn)(h({variant:t}),e),...r})}e.s(["Badge",()=>m],46670)},47101,e=>{"use strict";let t=(0,e.i(3790).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],47101)},22195,e=>{"use strict";let t=(0,e.i(3790).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],22195)},12646,e=>{"use strict";let t=(0,e.i(3790).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],12646)},33485,e=>{"use strict";var t=e.i(13274),a=e.i(62667),r=e.i(42092),l=e.i(99318),o=e.i(99173),s=e.i(14475),i=e.i(46670),n=e.i(68759),d=e.i(26725),u=e.i(3790);let c=(0,u.default)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);var h=e.i(47101);let m=(0,u.default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var f=e.i(32207),g=e.i(5289),b=e.i(39937);let v=[{column:"id",type:"text",nullable:!1,default:null},{column:"name",type:"text",nullable:!0,default:null},{column:"email",type:"text",nullable:!1,default:null},{column:"email_verified",type:"boolean",nullable:!1,default:null},{column:"image",type:"text",nullable:!0,default:null},{column:"created_at",type:"timestamp",nullable:!1,default:null},{column:"updated_at",type:"timestamp",nullable:!1,default:null}];function x(){let{apiBase:e}=(0,l.useDashboardStore)(),[u,x]=(0,a.useState)([]),[p,y]=(0,a.useState)(0),[w,C]=(0,a.useState)(!0),[j,k]=(0,a.useState)(0),[N,S]=(0,a.useState)(""),[F,B]=(0,a.useState)(""),[E,R]=(0,a.useState)(null),[A,M]=(0,a.useState)(null),{resolvedTheme:T}=(0,r.useTheme)(),$=(0,a.useRef)(null),_=(0,a.useMemo)(()=>"light"===T?s.themeQuartz.withParams({accentColor:"#6366F1",backgroundColor:"#FFFFFF",borderColor:"#E4E4E7",browserColorScheme:"light",chromeBackgroundColor:"#F4F4F5",foregroundColor:"#09090B",headerBackgroundColor:"#F4F4F5",headerFontSize:12,headerFontWeight:600,fontSize:12,rowBorder:{color:"#E4E4E7"},columnBorder:{color:"#E4E4E7"},oddRowBackgroundColor:"#FAFAFA",rowHoverColor:"#EEF2FF",selectedRowBackgroundColor:"#E0E7FF",cellHorizontalPaddingScale:.8,wrapperBorderRadius:0}):s.themeQuartz.withParams({accentColor:"#6366F1",backgroundColor:"#09090B",borderColor:"#27272A",browserColorScheme:"dark",chromeBackgroundColor:"#09090B",foregroundColor:"#FAFAFA",headerBackgroundColor:"#18181B",headerFontSize:12,headerFontWeight:600,fontSize:12,rowBorder:{color:"#27272A"},columnBorder:{color:"#27272A"},oddRowBackgroundColor:"#0C0C0F",rowHoverColor:"#1A1A2E",selectedRowBackgroundColor:"#1E1B4B",cellHorizontalPaddingScale:.8,wrapperBorderRadius:0}),[T]),z=(0,a.useCallback)(async()=>{C(!0);try{let t=new URLSearchParams;t.set("page",String(j)),t.set("limit",String(50)),N&&t.set("search",N);let a=await fetch(`${e}/_admin/auth/users?${t}`),r=await a.json(),l=(r.data||[]).map(e=>({id:e.id,name:e.name,email:e.email,email_verified:e.emailVerified,image:e.image,created_at:e.createdAt,updated_at:e.updatedAt}));x(l),y(r.total||0)}catch(e){console.error("Failed to fetch users:",e),x([]),y(0)}C(!1)},[e,j,N]);(0,a.useEffect)(()=>{z()},[z]),(0,a.useEffect)(()=>{let e=setTimeout(()=>{S(F),k(0)},300);return()=>clearTimeout(e)},[F]);let D=(0,a.useMemo)(()=>[{field:"id",headerName:"ID",width:120,cellStyle:{fontFamily:"monospace",fontSize:"11px",color:"#818CF8",cursor:"pointer",textDecoration:"underline",textDecorationColor:"#818CF850"},valueFormatter:e=>e.value?e.value.length>12?e.value.slice(0,12)+"…":e.value:""},{field:"name",headerName:"Name",flex:1.5,minWidth:150,valueFormatter:e=>e.value||"No name",cellStyle:e=>e.value?null:{color:"#71717A",fontStyle:"italic"}},{field:"email",headerName:"Email",flex:2,minWidth:200},{field:"email_verified",headerName:"Verified",width:100,valueFormatter:e=>e.value?"✓ Yes":"No",cellStyle:e=>({color:e.value?"#22C55E":"#71717A",fontWeight:"500"})},{field:"created_at",headerName:"Created",width:170,valueFormatter:e=>e.value?new Date(e.value).toLocaleString():""}],[]),P=(0,a.useCallback)(e=>{if("id"!==e.colDef.field)return;let t=e.data;M(e=>e&&e.id===t.id?null:t)},[]);(0,a.useEffect)(()=>{if(A&&u.length>0){let e=u.find(e=>e.id===A.id);e?M(e):M(null)}},[u]);let L=Math.ceil(p/50);return(0,t.jsxs)("div",{className:"flex h-full flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2 bg-background",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("h2",{className:"font-semibold text-foreground",children:"Auth"}),(0,t.jsxs)(i.Badge,{variant:"outline",className:"text-xs border-border text-muted-foreground",children:[p," users"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(f.Search,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),(0,t.jsx)("input",{type:"text",placeholder:"Search users...",value:F,onChange:e=>B(e.target.value),className:"h-8 w-48 rounded-md border border-border bg-background pl-8 pr-3 text-xs text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary/50"})]}),(0,t.jsxs)(n.Button,{variant:"ghost",size:"sm",onClick:z,className:"text-muted-foreground hover:text-foreground",children:[(0,t.jsx)(h.RefreshCw,{className:"mr-1.5 h-3.5 w-3.5"}),"Refresh"]})]})]}),(0,t.jsxs)("div",{className:"flex-1 min-h-0 relative overflow-hidden",children:[0!==u.length||w?(0,t.jsx)(o.AgGridReact,{ref:$,theme:_,modules:[s.AllCommunityModule],rowData:u,columnDefs:D,onGridReady:e=>{R(e.api),e.api.sizeColumnsToFit()},onCellClicked:P,loading:w,animateRows:!0,suppressMovableColumns:!1,defaultColDef:{resizable:!0,sortable:!0}}):(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-center",children:[(0,t.jsx)(m,{className:"h-12 w-12 text-muted-foreground/30 mb-4"}),(0,t.jsx)("h3",{className:"text-lg font-medium text-foreground mb-1",children:N?"No users found":"No users registered yet"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground max-w-sm",children:N?`No users match "${N}". Try a different search term.`:"Use POST /api/auth/signup to register users."})]}),A&&(0,t.jsx)("div",{className:"absolute top-0 right-0 h-full z-10 shadow-2xl animate-in slide-in-from-right duration-200",children:(0,t.jsx)(d.RowDetailDrawer,{row:A,columns:v,tableName:"user",onClose:()=>M(null),onDataChanged:z})})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between border-t border-border px-4 py-2 bg-background",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:0===p?"No users":`${50*j+1}–${Math.min((j+1)*50,p)} of ${p}`}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:["Page ",j+1," of ",Math.max(L,1)]}),(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsx)(n.Button,{variant:"outline",size:"icon",className:"h-7 w-7 border-border",disabled:0===j,onClick:()=>k(e=>e-1),children:(0,t.jsx)(g.ChevronLeft,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(n.Button,{variant:"outline",size:"icon",className:"h-7 w-7 border-border",disabled:j+1>=L,onClick:()=>k(e=>e+1),children:(0,t.jsx)(b.ChevronRight,{className:"h-3.5 w-3.5"})})]})]})]})]})}e.s(["AuthManager",()=>x],33485)},12710,e=>{e.n(e.i(33485))}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,38338,e=>{"use strict";let t=(0,e.i(3790).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],38338)},9996,18084,e=>{"use strict";var t=e.i(3790);let s=(0,t.default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",()=>s],9996);let a=(0,t.default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>a],18084)},68999,e=>{"use strict";var t=e.i(13274),s=e.i(44052);function a({className:e}){return(0,t.jsx)("div",{className:(0,s.cn)("animate-pulse rounded-md bg-muted",e)})}function r({cards:e=8}){return(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 p-4",children:Array.from({length:e}).map((e,s)=>(0,t.jsxs)("div",{className:"rounded-lg border border-border p-4 space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(a,{className:"h-4 w-4 rounded"}),(0,t.jsx)(a,{className:"h-4 w-24"})]}),(0,t.jsx)(a,{className:"h-3 w-full"}),(0,t.jsx)(a,{className:"h-3 w-2/3"}),(0,t.jsxs)("div",{className:"flex gap-2 pt-2",children:[(0,t.jsx)(a,{className:"h-5 w-14 rounded-full"}),(0,t.jsx)(a,{className:"h-5 w-14 rounded-full"})]})]},s))})}function n({cards:e=4}){return(0,t.jsx)("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4 p-4",children:Array.from({length:e}).map((e,s)=>(0,t.jsxs)("div",{className:"rounded-lg border border-border p-4 space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(a,{className:"h-4 w-4 rounded"}),(0,t.jsx)(a,{className:"h-3 w-16"})]}),(0,t.jsx)(a,{className:"h-8 w-20"})]},s))})}e.s(["CardGridSkeleton",()=>r,"StatsSkeleton",()=>n])},61980,e=>{"use strict";let t=(0,e.i(3790).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],61980)},99318,46670,e=>{"use strict";let t;var s=e.i(54414),a=e.i(62667);let r=e=>{let t,s=new Set,a=(e,a)=>{let r="function"==typeof e?e(t):e;if(!Object.is(r,t)){let e=t;t=(null!=a?a:"object"!=typeof r||null===r)?r:Object.assign({},t,r),s.forEach(s=>s(t,e))}},r=()=>t,n={setState:a,getState:r,getInitialState:()=>i,subscribe:e=>(s.add(e),()=>s.delete(e))},i=t=e(a,r,n);return n},n=e=>{let t=e?r(e):r,s=e=>(function(e,t=e=>e){let s=a.default.useSyncExternalStore(e.subscribe,a.default.useCallback(()=>t(e.getState()),[e,t]),a.default.useCallback(()=>t(e.getInitialState()),[e,t]));return a.default.useDebugValue(s),s})(t,e);return Object.assign(s,t),s},i=s.default.env.NEXT_PUBLIC_API_URL||window.location.origin,l=(t=(e,t)=>({apiBase:i,tables:{},selectedTable:null,functions:{queries:[]},status:null,setSelectedTable:t=>e({selectedTable:t}),fetchTables:async()=>{let s=await fetch(`${t().apiBase}/_admin/tables`);e({tables:await s.json()})},fetchTableData:async(e,s=50,a=0)=>(await fetch(`${t().apiBase}/_admin/data/${e}?limit=${s}&offset=${a}`)).json(),fetchFunctions:async()=>{let s=await fetch(`${t().apiBase}/_admin/functions`);e({functions:await s.json()})},fetchStatus:async()=>{let s=await fetch(`${t().apiBase}/_admin/status`);e({status:await s.json()})},insertRow:async(e,s)=>{await fetch(`${t().apiBase}/_admin/data/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})},deleteRow:async(e,s)=>{await fetch(`${t().apiBase}/_admin/data/${e}/${s}`,{method:"DELETE"})}}))?n(t):n;e.s(["useDashboardStore",0,l],99318);var d=e.i(13274),c=e.i(94237),o=e.i(41371),u=e.i(44052);let x=(0,c.cva)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function m({className:e,variant:t="default",asChild:s=!1,...a}){let r=s?o.Slot.Root:"span";return(0,d.jsx)(r,{"data-slot":"badge","data-variant":t,className:(0,u.cn)(x({variant:t}),e),...a})}e.s(["Badge",()=>m],46670)},22195,e=>{"use strict";let t=(0,e.i(3790).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],22195)},39937,e=>{"use strict";let t=(0,e.i(3790).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],39937)},85246,e=>{"use strict";let t=(0,e.i(3790).default)("table-2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]);e.s(["Table2",()=>t],85246)},27337,e=>{"use strict";var t=e.i(13274),s=e.i(62667),a=e.i(54219),r=e.i(99318),n=e.i(46670),i=e.i(68759),l=e.i(44052),d=e.i(68999),c=e.i(24366),o=e.i(56222),u=e.i(3790);let x=(0,u.default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var m=e.i(38338),h=e.i(22195),f=e.i(39937),g=e.i(85246);let p=(0,u.default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);var b=e.i(61980),y=e.i(9996),v=e.i(18084);function j(){let e,{apiBase:u}=(0,r.useDashboardStore)(),[x,f]=(0,s.useState)([]),[j,w]=(0,s.useState)([]),[k,S]=(0,s.useState)(null),[C,B]=(0,s.useState)("query"),[T,$]=(0,s.useState)("{}"),[q,M]=(0,s.useState)({status:"idle"}),[O,E]=(0,s.useState)("card"),[P,R]=(0,s.useState)(!0),_=(0,s.useCallback)(async()=>{R(!0);try{let e=await fetch(`${u}/_admin/functions`),t=await e.json();f(t.queries||[]),w(t.mutations||[])}catch(e){console.error("Failed to fetch functions:",e)}R(!1)},[u]);function z(e,t){S(e),B(t),$("{}"),M({status:"idle"})}async function A(){if(!k)return;M({status:"loading"});let e=performance.now();try{let t={};try{t=JSON.parse(T)}catch{M({status:"error",error:"Invalid JSON in arguments"});return}let s="query"===C?"/api/query":"/api/mutation",r=await fetch(`${u}${s}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:k,args:t})}),n=Math.round(performance.now()-e),i=await r.json();r.ok?(M({status:"success",data:i,duration:n}),a.toast.success(`${k} completed in ${n}ms`)):(M({status:"error",error:i.error||`HTTP ${r.status}`,duration:n}),a.toast.error(`${k} failed: ${i.error||`HTTP ${r.status}`}`))}catch(s){let t=Math.round(performance.now()-e);M({status:"error",error:s instanceof Error?s.message:String(s),duration:t})}}(0,s.useEffect)(()=>{_()},[_]);let F=null!==k;return(0,t.jsxs)("div",{className:"flex h-full",children:[(0,t.jsxs)("div",{className:(0,l.cn)("flex flex-col border-r border-border transition-all min-w-0 shrink-0",F?"w-[320px]":"w-full"),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2 bg-background",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Code2,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("h2",{className:"font-semibold text-foreground",children:"Functions"}),(0,t.jsxs)(n.Badge,{variant:"outline",className:"text-xs border-border text-muted-foreground",children:[x.length+j.length," total"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(i.Button,{variant:"card"===O?"default":"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>E("card"),children:(0,t.jsx)(p,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(i.Button,{variant:"table"===O?"default":"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>E("table"),children:(0,t.jsx)(g.Table2,{className:"h-3.5 w-3.5"})})]})]}),P?(0,t.jsx)(d.CardGridSkeleton,{cards:6}):(0,t.jsxs)("div",{className:"flex-1 overflow-auto p-4 space-y-6",children:[(0,t.jsx)(N,{title:"Queries",icon:(0,t.jsx)(c.Code2,{className:"h-3.5 w-3.5 text-blue-400"}),count:x.length,items:x.map(e=>({name:e,type:"query"})),selectedFn:k,viewMode:O,onSelect:e=>z(e,"query"),badgeClass:"bg-blue-500/10 text-blue-400 border-blue-500/20",iconColor:"text-blue-500"}),(0,t.jsx)(N,{title:"Mutations",icon:(0,t.jsx)(o.Zap,{className:"h-3.5 w-3.5 text-orange-400"}),count:j.length,items:j.map(e=>({name:e.name,type:"mutation",invalidates:e.invalidates})),selectedFn:k,viewMode:O,onSelect:e=>z(e,"mutation"),badgeClass:"bg-orange-500/10 text-orange-400 border-orange-500/20",iconColor:"text-orange-500"})]})]}),F&&(0,t.jsxs)("div",{className:"flex-1 flex flex-col min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2 bg-background",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:["query"===C?(0,t.jsx)(c.Code2,{className:"h-4 w-4 text-blue-500"}):(0,t.jsx)(o.Zap,{className:"h-4 w-4 text-orange-500"}),(0,t.jsx)("span",{className:"font-mono text-sm font-medium",children:k}),(0,t.jsx)(n.Badge,{className:(0,l.cn)("text-[10px]","query"===C?"bg-blue-500/10 text-blue-400 border-blue-500/20":"bg-orange-500/10 text-orange-400 border-orange-500/20"),children:C})]}),(0,t.jsx)(i.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>S(null),children:(0,t.jsx)(h.X,{className:"h-4 w-4"})})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-auto p-4 space-y-4",children:["mutation"===C&&(e=j.find(e=>e.name===k),e?.invalidates.length?(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{children:"Invalidates:"}),e.invalidates.map(e=>(0,t.jsx)(n.Badge,{variant:"secondary",className:"text-[10px] font-mono",children:e},e))]}):null),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground mb-1.5 block",children:"Arguments (JSON)"}),(0,t.jsx)("textarea",{className:"w-full h-32 rounded-md border border-border bg-background px-3 py-2 font-mono text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-primary/50 resize-none",value:T,onChange:e=>$(e.target.value),placeholder:'{ "key": "value" }',spellCheck:!1})]}),(0,t.jsxs)(i.Button,{onClick:A,disabled:"loading"===q.status,className:"gap-2",children:["loading"===q.status?(0,t.jsx)(b.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(m.Play,{className:"h-4 w-4"}),"query"===C?"Run Query":"Run Mutation"]}),"idle"!==q.status&&"loading"!==q.status&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:["success"===q.status?(0,t.jsx)(y.CheckCircle2,{className:"h-3.5 w-3.5 text-green-500"}):(0,t.jsx)(v.AlertCircle,{className:"h-3.5 w-3.5 text-red-500"}),(0,t.jsx)("span",{className:"success"===q.status?"text-green-500":"text-red-500",children:"success"===q.status?"Success":"Error"}),void 0!==q.duration&&(0,t.jsxs)("span",{className:"text-muted-foreground",children:[q.duration,"ms"]})]}),(0,t.jsx)("pre",{className:(0,l.cn)("rounded-md border p-3 font-mono text-xs overflow-auto max-h-80","success"===q.status?"border-green-500/20 bg-green-500/5 text-green-300":"border-red-500/20 bg-red-500/5 text-red-300"),children:"success"===q.status?JSON.stringify(q.data,null,2):q.error})]})]})]})]})}function N({title:e,icon:s,count:a,items:r,selectedFn:i,viewMode:d,onSelect:u,badgeClass:m,iconColor:h}){return 0===a?null:(0,t.jsxs)("div",{children:[(0,t.jsxs)("h3",{className:"text-sm font-medium text-muted-foreground mb-3 flex items-center gap-2",children:[s,e,(0,t.jsx)(n.Badge,{variant:"outline",className:"text-[10px]",children:a})]}),"card"===d?(0,t.jsx)("div",{className:"space-y-1",children:r.map(e=>(0,t.jsxs)("div",{className:(0,l.cn)("flex items-center gap-2 px-3 py-2 rounded-md border border-border cursor-pointer transition-colors hover:border-primary/50",i===e.name&&"border-primary bg-primary/5"),onClick:()=>u(e.name),children:["query"===e.type?(0,t.jsx)(c.Code2,{className:(0,l.cn)("h-3.5 w-3.5 shrink-0",h)}):(0,t.jsx)(o.Zap,{className:(0,l.cn)("h-3.5 w-3.5 shrink-0",h)}),(0,t.jsx)("span",{className:"text-sm font-mono truncate",children:e.name}),(0,t.jsx)(n.Badge,{className:(0,l.cn)("text-[10px] shrink-0",m),children:e.type}),e.invalidates&&e.invalidates.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x,{className:"h-3 w-3 text-muted-foreground shrink-0"}),e.invalidates.map(e=>(0,t.jsx)(n.Badge,{variant:"secondary",className:"text-[10px] font-mono shrink-0 hidden sm:inline-flex",children:e},e))]}),(0,t.jsx)(f.ChevronRight,{className:"ml-auto h-3.5 w-3.5 text-muted-foreground shrink-0"})]},e.name))}):(0,t.jsx)("div",{className:"rounded-md border border-border overflow-x-auto",children:(0,t.jsxs)("table",{className:"w-full text-sm table-fixed",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"border-b border-border bg-muted/30",children:[(0,t.jsx)("th",{className:"text-left px-3 py-2 text-xs font-medium text-muted-foreground w-[45%]",children:"Name"}),(0,t.jsx)("th",{className:"text-left px-3 py-2 text-xs font-medium text-muted-foreground w-[20%]",children:"Type"}),(0,t.jsx)("th",{className:"text-left px-3 py-2 text-xs font-medium text-muted-foreground w-[35%]",children:"Invalidates"})]})}),(0,t.jsx)("tbody",{children:r.map(e=>(0,t.jsxs)("tr",{className:(0,l.cn)("border-b border-border cursor-pointer transition-colors hover:bg-accent/50",i===e.name&&"bg-primary/5"),onClick:()=>u(e.name),children:[(0,t.jsx)("td",{className:"px-3 py-2 font-mono text-xs truncate",children:e.name}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)(n.Badge,{className:(0,l.cn)("text-[10px]",m),children:e.type})}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:e.invalidates?.map(e=>(0,t.jsx)(n.Badge,{variant:"secondary",className:"text-[10px] font-mono",children:e},e))})})]},e.name))})]})})]})}e.s(["FunctionsExplorer",()=>j],27337)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99318,46670,e=>{"use strict";let t;var a=e.i(54414),s=e.i(62667);let r=e=>{let t,a=new Set,s=(e,s)=>{let r="function"==typeof e?e(t):e;if(!Object.is(r,t)){let e=t;t=(null!=s?s:"object"!=typeof r||null===r)?r:Object.assign({},t,r),a.forEach(a=>a(t,e))}},r=()=>t,d={setState:s,getState:r,getInitialState:()=>n,subscribe:e=>(a.add(e),()=>a.delete(e))},n=t=e(s,r,d);return d},d=e=>{let t=e?r(e):r,a=e=>(function(e,t=e=>e){let a=s.default.useSyncExternalStore(e.subscribe,s.default.useCallback(()=>t(e.getState()),[e,t]),s.default.useCallback(()=>t(e.getInitialState()),[e,t]));return s.default.useDebugValue(a),a})(t,e);return Object.assign(a,t),a},n=a.default.env.NEXT_PUBLIC_API_URL||window.location.origin,l=(t=(e,t)=>({apiBase:n,tables:{},selectedTable:null,functions:{queries:[]},status:null,setSelectedTable:t=>e({selectedTable:t}),fetchTables:async()=>{let a=await fetch(`${t().apiBase}/_admin/tables`);e({tables:await a.json()})},fetchTableData:async(e,a=50,s=0)=>(await fetch(`${t().apiBase}/_admin/data/${e}?limit=${a}&offset=${s}`)).json(),fetchFunctions:async()=>{let a=await fetch(`${t().apiBase}/_admin/functions`);e({functions:await a.json()})},fetchStatus:async()=>{let a=await fetch(`${t().apiBase}/_admin/status`);e({status:await a.json()})},insertRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})},deleteRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}/${a}`,{method:"DELETE"})}}))?d(t):d;e.s(["useDashboardStore",0,l],99318);var i=e.i(13274),c=e.i(94237),o=e.i(41371),x=e.i(44052);let u=(0,c.cva)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function h({className:e,variant:t="default",asChild:a=!1,...s}){let r=a?o.Slot.Root:"span";return(0,i.jsx)(r,{"data-slot":"badge","data-variant":t,className:(0,x.cn)(u({variant:t}),e),...s})}e.s(["Badge",()=>h],46670)},12646,e=>{"use strict";let t=(0,e.i(3790).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],12646)},61980,e=>{"use strict";let t=(0,e.i(3790).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],61980)},68999,e=>{"use strict";var t=e.i(13274),a=e.i(44052);function s({className:e}){return(0,t.jsx)("div",{className:(0,a.cn)("animate-pulse rounded-md bg-muted",e)})}function r({cards:e=8}){return(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 p-4",children:Array.from({length:e}).map((e,a)=>(0,t.jsxs)("div",{className:"rounded-lg border border-border p-4 space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(s,{className:"h-4 w-4 rounded"}),(0,t.jsx)(s,{className:"h-4 w-24"})]}),(0,t.jsx)(s,{className:"h-3 w-full"}),(0,t.jsx)(s,{className:"h-3 w-2/3"}),(0,t.jsxs)("div",{className:"flex gap-2 pt-2",children:[(0,t.jsx)(s,{className:"h-5 w-14 rounded-full"}),(0,t.jsx)(s,{className:"h-5 w-14 rounded-full"})]})]},a))})}function d({cards:e=4}){return(0,t.jsx)("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4 p-4",children:Array.from({length:e}).map((e,a)=>(0,t.jsxs)("div",{className:"rounded-lg border border-border p-4 space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(s,{className:"h-4 w-4 rounded"}),(0,t.jsx)(s,{className:"h-3 w-16"})]}),(0,t.jsx)(s,{className:"h-8 w-20"})]},a))})}e.s(["CardGridSkeleton",()=>r,"StatsSkeleton",()=>d])},29868,e=>{"use strict";var t=e.i(13274),a=e.i(62667),s=e.i(99318),r=e.i(44052);function d({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,r.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...a})}function n({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,r.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...a})}function l({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,r.cn)("leading-none font-semibold",e),...a})}function i({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,r.cn)("px-6",e),...a})}var c=e.i(46670),o=e.i(3790);let x=(0,o.default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),u=(0,o.default)("hard-drive",[["path",{d:"M10 16h.01",key:"1bzywj"}],["path",{d:"M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"18tbho"}],["path",{d:"M21.946 12.013H2.054",key:"zqlbp7"}],["path",{d:"M6 16h.01",key:"1pmjb7"}]]),h=(0,o.default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);var m=e.i(87592);let p=(0,o.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);function f(){let{status:e,fetchStatus:r}=(0,s.useDashboardStore)();if((0,a.useEffect)(()=>{r();let e=setInterval(r,5e3);return()=>clearInterval(e)},[r]),!e)return null;let o=e.memory,f=e.platform,g=Math.floor(e.uptime),b=Math.floor(g/3600),v=Math.floor(g%3600/60);return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(p,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:"Server Status"})]}),(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,t.jsxs)(d,{children:[(0,t.jsx)(n,{className:"py-3 px-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(m.Clock,{className:"h-4 w-4 text-blue-500"}),(0,t.jsx)(l,{className:"text-sm",children:"Uptime"})]})}),(0,t.jsx)(i,{className:"px-4 pb-4",children:(0,t.jsxs)("p",{className:"text-2xl font-mono font-bold",children:[b,"h ",v,"m ",g%60,"s"]})})]}),(0,t.jsxs)(d,{children:[(0,t.jsx)(n,{className:"py-3 px-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(u,{className:"h-4 w-4 text-green-500"}),(0,t.jsx)(l,{className:"text-sm",children:"Memory"})]})}),(0,t.jsxs)(i,{className:"px-4 pb-4",children:[(0,t.jsxs)("p",{className:"text-2xl font-mono font-bold",children:[Math.round(o?.rss/1024/1024)," MB"]}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Heap: ",Math.round(o?.heapUsed/1024/1024)," MB"]})]})]}),(0,t.jsxs)(d,{children:[(0,t.jsx)(n,{className:"py-3 px-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(h,{className:"h-4 w-4 text-orange-500"}),(0,t.jsx)(l,{className:"text-sm",children:"Runtime"})]})}),(0,t.jsx)(i,{className:"px-4 pb-4",children:(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(c.Badge,{variant:"secondary",children:f?.runtime}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[f?.framework," + ",f?.orm," + ",f?.db]})]})})]}),(0,t.jsxs)(d,{children:[(0,t.jsx)(n,{className:"py-3 px-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(x,{className:"h-4 w-4 text-purple-500"}),(0,t.jsx)(l,{className:"text-sm",children:"Status"})]})}),(0,t.jsx)(i,{className:"px-4 pb-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-3 w-3 rounded-full bg-green-500 animate-pulse"}),(0,t.jsx)("span",{className:"font-medium text-green-600",children:"Running"})]})})]})]})]})}e.s(["ServerStatus",()=>f],29868)},41095,e=>{"use strict";var t=e.i(13274),a=e.i(62667),s=e.i(54219),r=e.i(99318),d=e.i(46670),n=e.i(68759),l=e.i(66588),i=e.i(3790);let c=(0,i.default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var o=e.i(12646);let x=(0,i.default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);var u=e.i(61980),h=e.i(68999);let m={env:{label:".env",cls:"bg-green-500/10 text-green-500 border-green-500/20"},db:{label:"DB",cls:"bg-blue-500/10 text-blue-500 border-blue-500/20"},both:{label:".env+DB",cls:"bg-yellow-500/10 text-yellow-500 border-yellow-500/20"}};function p(){let[e,i]=(0,a.useState)([]),[p,f]=(0,a.useState)(!0),[g,b]=(0,a.useState)(""),[v,y]=(0,a.useState)(""),[j,N]=(0,a.useState)(!1),[w,k]=(0,a.useState)(""),S=(0,r.useDashboardStore)(e=>e.apiBase),M=(0,a.useCallback)(async()=>{try{let e=await fetch(`${S}/_admin/settings/env-vars`);e.ok&&i(await e.json())}catch{}f(!1)},[S]);async function B(){let e=g.trim(),t=v.trim();if(e&&t){N(!0),k("");try{let a=await fetch(`${S}/_admin/settings/env-vars`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,value:t})});if(!a.ok){let e=await a.json();throw Error(e.error||"Save failed")}b(""),y(""),s.toast.success(`Added ${e}`),await M()}catch(t){let e=t instanceof Error?t.message:"Save failed";k(e),s.toast.error(e)}N(!1)}}async function E(e){try{await fetch(`${S}/_admin/settings/env-vars/${encodeURIComponent(e)}`,{method:"DELETE"}),s.toast.success(`Deleted ${e}`),await M()}catch{}}function $(e){"Enter"===e.key&&g.trim()&&v.trim()&&B()}return((0,a.useEffect)(()=>{M()},[M]),p)?(0,t.jsx)(h.StatsSkeleton,{cards:2}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(l.Settings,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:"Environment Variables"}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"Encrypted storage (AES-256-GCM)"})]}),(0,t.jsxs)("div",{className:"text-xs text-muted-foreground border-l-2 border-border pl-3 py-1 flex items-start gap-1.5",children:[(0,t.jsx)(c,{className:"h-3 w-3 mt-0.5 shrink-0"}),(0,t.jsxs)("span",{children:["Variables in ",(0,t.jsx)("code",{className:"bg-muted px-1 rounded text-foreground",children:".env"})," file take priority. Variables added here are used when not defined in .env."]})]}),w&&(0,t.jsx)("div",{className:"text-xs text-destructive bg-destructive/10 rounded px-3 py-2",children:w}),e.length>0?(0,t.jsx)("div",{className:"border border-border rounded-lg overflow-hidden",children:(0,t.jsxs)("table",{className:"w-full text-sm",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"bg-muted/50 border-b border-border",children:[(0,t.jsx)("th",{className:"text-left px-3 py-2 font-medium text-muted-foreground text-xs",children:"Name"}),(0,t.jsx)("th",{className:"text-left px-3 py-2 font-medium text-muted-foreground text-xs",children:"Value"}),(0,t.jsx)("th",{className:"text-left px-3 py-2 font-medium text-muted-foreground text-xs w-20",children:"Source"}),(0,t.jsx)("th",{className:"w-16"})]})}),(0,t.jsx)("tbody",{children:e.map(e=>{let a=m[e.source],s="db"===e.source;return(0,t.jsxs)("tr",{className:"border-b last:border-b-0 border-border hover:bg-accent/50 transition-colors",children:[(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)("code",{className:"text-xs font-mono bg-muted px-1.5 py-0.5 rounded",children:e.name})}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)("span",{className:"text-xs text-muted-foreground font-mono",children:e.maskedValue})}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)(d.Badge,{variant:"outline",className:`text-[10px] ${a.cls}`,children:a.label})}),(0,t.jsx)("td",{className:"px-3 py-2 text-right",children:s&&(0,t.jsx)(n.Button,{variant:"ghost",size:"icon",className:"h-6 w-6 text-destructive hover:text-destructive hover:bg-destructive/10",onClick:()=>E(e.name),title:"Delete",children:(0,t.jsx)(o.Trash2,{className:"h-3 w-3"})})})]},e.name)})})]})}):(0,t.jsx)("div",{className:"text-xs text-muted-foreground text-center py-6 border border-dashed border-border rounded-lg",children:"No environment variables configured"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{type:"text",value:g,onChange:e=>b(e.target.value.toUpperCase().replace(/[^A-Z0-9_]/g,"")),onKeyDown:$,placeholder:"Name (e.g. OPENAI_API_KEY)",className:"flex-1 text-xs px-2.5 py-1.5 rounded border border-border bg-background font-mono text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary"}),(0,t.jsx)("input",{type:"password",value:v,onChange:e=>y(e.target.value),onKeyDown:$,placeholder:"Value",className:"flex-1 text-xs px-2.5 py-1.5 rounded border border-border bg-background font-mono text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary"}),(0,t.jsx)(n.Button,{onClick:B,disabled:j||!g.trim()||!v.trim(),size:"sm",className:"text-xs",children:j?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.Loader2,{className:"h-3 w-3 mr-1 animate-spin"}),"Saving..."]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x,{className:"h-3 w-3 mr-1"}),"Add"]})})]})]})}e.s(["EnvVarManager",()=>p],41095)}]);
@@ -1,4 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/69c2a0d587153425.js","static/chunks/6fa4d7b0382eb69a.js","static/chunks/35f92271baf1e273.js","static/chunks/260e9d64f07248c4.js"],runtimeModuleIds:[26983]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_dashboard/_next/",r=(self.TURBOPACK_CHUNK_SUFFIX??document?.currentScript?.getAttribute?.("src")?.replace(/^(.*(?=\?)|^.*$)/,""))||"",n=new WeakMap;function o(e,t){this.m=e,this.e=t}let l=o.prototype,i=Object.prototype.hasOwnProperty,s="u">typeof Symbol&&Symbol.toStringTag;function u(e,t,r){i.call(e,t)||Object.defineProperty(e,t,r)}function a(e,t){let r=e[t];return r||(r=c(t),e[t]=r),r}function c(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function f(e,t){u(e,"__esModule",{value:!0}),s&&u(e,s,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)u(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?u(e,n,{get:o,set:t[r++],enumerable:!0}):u(e,n,{get:o,enumerable:!0})}Object.seal(e)}l.s=function(e,t){let r,n;null!=t?n=(r=a(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,f(n,e)},l.j=function(e,t){var r,o;let l,s,u;null!=t?s=(l=a(this.c,t)).exports:(l=this.m,s=this.e);let c=(r=l,o=s,(u=n.get(r))||(n.set(r,u=[]),r.exports=r.namespaceObject=new Proxy(o,{get(e,t){if(i.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of u){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of u)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),u);"object"==typeof e&&null!==e&&c.push(e)},l.v=function(e,t){(null!=t?a(this.c,t):this.m).exports=e},l.n=function(e,t){let r;(r=null!=t?a(this.c,t):this.m).exports=r.namespaceObject=e};let p=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,h=[null,p({}),p([]),p(p)];function d(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!h.includes(t);t=p(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),f(t,n),t}function m(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=d(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function b(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function y(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}l.i=m,l.A=function(e){return this.r(e)(m.bind(this))},l.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},l.r=function(e){return B(e,this.m).exports},l.f=function(e){function t(t){if(t=b(t),i.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=b(t),i.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let O=Symbol("turbopack queues"),g=Symbol("turbopack exports"),w=Symbol("turbopack error");function C(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}l.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:l,reject:i,promise:s}=y(),u=Object.assign(s,{[g]:r.exports,[O]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[g]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(O in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[g]:{},[O]:e=>e(t)};return e.then(e=>{r[g]=e,C(t)},e=>{r[w]=e,C(t)}),r}}return{[g]:e,[O]:()=>{}}}),r=()=>t.map(e=>{if(e[w])throw e[w];return e[g]}),{promise:l,resolve:i}=y(),s=Object.assign(()=>i(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[O](u)),s.queueCount?l:r()},function(e){e?i(u[w]=e):l(u[g]),C(n)}),n&&-1===n.status&&(n.status=0)};let U=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}U.prototype=URL.prototype,l.U=U,l.z=function(e){throw Error("dynamic usage of require is not supported")},l.g=globalThis;let j=o.prototype;var _,k=((_=k||{})[_.Runtime=0]="Runtime",_[_.Parent=1]="Parent",_[_.Update=2]="Update",_);let v=new Map;l.M=v;let $=new Map,P=new Map;async function S(e,t,r){let n;if("string"==typeof r)return E(e,t,K(r));let o=r.included||[],l=o.map(e=>!!v.has(e)||$.get(e));if(l.length>0&&l.every(e=>e))return void await Promise.all(l);let i=r.moduleChunks||[],s=i.map(e=>P.get(e)).filter(e=>e);if(s.length>0){if(s.length===i.length)return void await Promise.all(s);let r=new Set;for(let e of i)P.has(e)||r.add(e);for(let n of r){let r=E(e,t,K(n));P.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=E(e,t,K(r.path)),i))P.has(o)||P.set(o,n)}for(let e of o)$.has(e)||$.set(e,n);await n}j.l=function(e){return S(1,this.m.id,e)};let T=Promise.resolve(void 0),A=new WeakMap;function E(t,r,n){let o=e.loadChunkCached(t,n),l=A.get(o);if(void 0===l){let e=A.set.bind(A,o,T);l=o.then(e).catch(e=>{let o;switch(t){case 0:o=`as a runtime dependency of chunk ${r}`;break;case 1:o=`from module ${r}`;break;case 2:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),A.set(o,l)}return l}function K(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}j.L=function(e){return E(1,this.m.id,e)},j.R=function(e){let t=this.r(e);return t?.default??t},j.P=function(e){return`/ROOT/${e??""}`},j.b=function(e){let t=new Blob([`self.TURBOPACK_WORKER_LOCATION = ${JSON.stringify(location.origin)};
2
- self.TURBOPACK_CHUNK_SUFFIX = ${JSON.stringify(r)};
3
- self.TURBOPACK_NEXT_CHUNK_URLS = ${JSON.stringify(e.reverse().map(K),null,2)};
4
- importScripts(...self.TURBOPACK_NEXT_CHUNK_URLS.map(c => self.TURBOPACK_WORKER_LOCATION + c).reverse());`],{type:"text/javascript"});return URL.createObjectURL(t)};let x=/\.js(?:\?[^#]*)?(?:#.*)?$/,N=/\.css(?:\?[^#]*)?(?:#.*)?$/;function M(e){return N.test(e)}l.w=function(t,r,n){return e.loadWebAssembly(1,this.m.id,t,r,n)},l.u=function(t,r){return e.loadWebAssemblyModule(1,this.m.id,t,r)};let L={};l.c=L;let B=(e,t)=>{let r=L[e];if(r){if(r.error)throw r.error;return r}return q(e,k.Parent,t.id)};function q(e,t,r){let n=v.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let l=c(e),i=l.exports;L[e]=l;let s=new o(l,i);try{n(s,l,i)}catch(e){throw l.error=e,e}return l.namespaceObject&&l.exports!==l.namespaceObject&&d(l.exports,l.namespaceObject),l}function I(r){let n,o=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(("u">typeof TURBOPACK_NEXT_CHUNK_URLS?TURBOPACK_NEXT_CHUNK_URLS.pop():e.getAttribute("src")).replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(r[0]);return 2===r.length?n=r[1]:(n=void 0,!function(e,t,r,n){let o=1;for(;o<e.length;){let t=e[o],n=o+1;for(;n<e.length&&"function"!=typeof e[n];)n++;if(n===e.length)throw Error("malformed chunk format, expected a factory function");if(!r.has(t)){let l=e[n];for(Object.defineProperty(l,"name",{value:"module evaluation"});o<n;o++)t=e[o],r.set(t,l)}o=n+1}}(r,0,v)),e.registerChunk(o,n)}let W=new Map;function H(e){let t=W.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},W.set(e,t)}return t}e={async registerChunk(e,t){if(H(K(e)).resolve(),null!=t){for(let e of t.otherChunks)H(K("string"==typeof e?e:e.path));if(await Promise.all(t.otherChunks.map(t=>S(0,e,t))),t.runtimeModuleIds.length>0)for(let r of t.runtimeModuleIds)!function(e,t){let r=L[t];if(r){if(r.error)throw r.error;return}q(t,k.Runtime,e)}(e,r)}},loadChunkCached:(e,t)=>(function(e,t){let r=H(t);if(r.loadingStarted)return r.promise;if(e===k.Runtime)return r.loadingStarted=!0,M(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(M(t));else if(x.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(TURBOPACK_WORKER_LOCATION+t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(M(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(x.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let l=fetch(K(r)),{instance:i}=await WebAssembly.instantiateStreaming(l,o);return i.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(K(r));return await WebAssembly.compileStreaming(o)}};let F=globalThis.TURBOPACK;globalThis.TURBOPACK={push:I},F.forEach(I)})();