kodi-dev 1.0.1 → 1.2.0

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 (41) hide show
  1. package/assets/agents/build/build-orchestrator.md +17 -6
  2. package/assets/agents/build/refactor-engineer.md +85 -0
  3. package/assets/agents/build/security.md +31 -0
  4. package/assets/rules/memory.md +48 -0
  5. package/assets/skills/remember/SKILL.md +56 -0
  6. package/assets/skills/retickets/SKILL.md +85 -0
  7. package/assets/skills/ticket-start/SKILL.md +3 -2
  8. package/board-dist/.next/BUILD_ID +1 -1
  9. package/board-dist/.next/build-manifest.json +3 -3
  10. package/board-dist/.next/prerender-manifest.json +3 -3
  11. package/board-dist/.next/server/app/_global-error.html +1 -1
  12. package/board-dist/.next/server/app/_global-error.rsc +1 -1
  13. package/board-dist/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  14. package/board-dist/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  15. package/board-dist/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  16. package/board-dist/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  17. package/board-dist/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/board-dist/.next/server/app/_not-found.html +1 -1
  19. package/board-dist/.next/server/app/_not-found.rsc +1 -1
  20. package/board-dist/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  21. package/board-dist/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/board-dist/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  23. package/board-dist/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/board-dist/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/board-dist/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  26. package/board-dist/.next/server/app/page/server-reference-manifest.json +1 -1
  27. package/board-dist/.next/server/app/page_client-reference-manifest.js +1 -1
  28. package/board-dist/.next/server/chunks/ssr/[root-of-the-server]__0_2b22l._.js +1 -1
  29. package/board-dist/.next/server/chunks/ssr/[root-of-the-server]__0eauvyk._.js +1 -1
  30. package/board-dist/.next/server/chunks/ssr/_1wslo41._.js +1 -1
  31. package/board-dist/.next/server/middleware-build-manifest.js +3 -3
  32. package/board-dist/.next/server/pages/404.html +1 -1
  33. package/board-dist/.next/server/pages/500.html +1 -1
  34. package/board-dist/.next/server/server-reference-manifest.js +1 -1
  35. package/board-dist/.next/server/server-reference-manifest.json +2 -2
  36. package/board-dist/.next/static/chunks/{2b8wyk_yjz96q.js → 3pq88fk6tzyrb.js} +1 -1
  37. package/dist/index.js +1393 -272
  38. package/package.json +2 -2
  39. /package/board-dist/.next/static/{jxv0GcmWplyzie2rdOiIo → I_lHe5DQGPJBZViq6L3bS}/_buildManifest.js +0 -0
  40. /package/board-dist/.next/static/{jxv0GcmWplyzie2rdOiIo → I_lHe5DQGPJBZViq6L3bS}/_clientMiddlewareManifest.js +0 -0
  41. /package/board-dist/.next/static/{jxv0GcmWplyzie2rdOiIo → I_lHe5DQGPJBZViq6L3bS}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/3rm_a_257myov.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/1jq4o6yq14o4c.js"/><script src="/_next/static/chunks/0245a4ypel7xx.js" async=""></script><script src="/_next/static/chunks/0dw6y-0ffla71.js" async=""></script><script src="/_next/static/chunks/3rxl-jt3pdxgx.js" async=""></script><script src="/_next/static/chunks/turbopack-3ec-4w_qyxb-d.js" async=""></script><script src="/_next/static/chunks/158myu8e_yme3.js" async=""></script><script src="/_next/static/chunks/2gkbk2qdsow-j.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>kodi board</title><meta name="description" content="kodi.dev board — local ticket board UI."/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><!--$--><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><!--/$--><script src="/_next/static/chunks/1jq4o6yq14o4c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:I[39756,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"LoadingBoundaryProvider\"]\n2:\"$Sreact.fragment\"\n3:I[39756,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"default\"]\n4:I[8821,[\"/_next/static/chunks/158myu8e_yme3.js\",\"/_next/static/chunks/2gkbk2qdsow-j.js\"],\"default\"]\n5:I[37457,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"default\"]\n6:I[97367,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[97367,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"ViewportBoundary\"]\nd:I[68027,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/3rm_a_257myov.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",20],[[\"$\",\"$L1\",null,{\"loading\":[[\"$\",\"main\",\"l\",{\"className\":\"flex h-screen flex-col gap-4 bg-base-100 p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid min-h-0 flex-1 grid-cols-5 gap-4\",\"children\":[[\"$\",\"div\",\"0\",{\"className\":\"flex min-h-0 flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skeleton h-8 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}]]}],[\"$\",\"div\",\"1\",{\"className\":\"flex min-h-0 flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skeleton h-8 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}]]}],[\"$\",\"div\",\"2\",{\"className\":\"flex min-h-0 flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skeleton h-8 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}]]}],[\"$\",\"div\",\"3\",{\"className\":\"flex min-h-0 flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skeleton h-8 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}]]}],[\"$\",\"div\",\"4\",{\"className\":\"flex min-h-0 flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skeleton h-8 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}]]}]]}]}],[],[]],\"children\":[\"$\",\"$2\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3rm_a_257myov.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/158myu8e_yme3.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$4\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/2gkbk2qdsow-j.js\",\"async\":true}]],\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]}],{\"children\":[[\"$\",\"$2\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$2\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$@9\"]},null,false,null],[\"$\",\"$2\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":\"$Lc\"}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[\"$Le\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"jxv0GcmWplyzie2rdOiIo\"}\n"])</script><script>self.__next_f.push([1,"10:I[97367,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"MetadataBoundary\"]\nf:[]\n9:\"$Wf\"\nc:[\"$\",\"$L10\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L11\"}]}]\ne:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3rm_a_257myov.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"8:null\n11:[[\"$\",\"title\",\"0\",{\"children\":\"kodi board\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"kodi.dev board — local ticket board UI.\"}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/3rm_a_257myov.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/1jq4o6yq14o4c.js"/><script src="/_next/static/chunks/0245a4ypel7xx.js" async=""></script><script src="/_next/static/chunks/0dw6y-0ffla71.js" async=""></script><script src="/_next/static/chunks/3rxl-jt3pdxgx.js" async=""></script><script src="/_next/static/chunks/turbopack-3ec-4w_qyxb-d.js" async=""></script><script src="/_next/static/chunks/158myu8e_yme3.js" async=""></script><script src="/_next/static/chunks/2gkbk2qdsow-j.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>kodi board</title><meta name="description" content="kodi.dev board — local ticket board UI."/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><!--$--><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><!--/$--><script src="/_next/static/chunks/1jq4o6yq14o4c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:I[39756,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"LoadingBoundaryProvider\"]\n2:\"$Sreact.fragment\"\n3:I[39756,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"default\"]\n4:I[8821,[\"/_next/static/chunks/158myu8e_yme3.js\",\"/_next/static/chunks/2gkbk2qdsow-j.js\"],\"default\"]\n5:I[37457,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"default\"]\n6:I[97367,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[97367,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"ViewportBoundary\"]\nd:I[68027,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/3rm_a_257myov.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",20],[[\"$\",\"$L1\",null,{\"loading\":[[\"$\",\"main\",\"l\",{\"className\":\"flex h-screen flex-col gap-4 bg-base-100 p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid min-h-0 flex-1 grid-cols-5 gap-4\",\"children\":[[\"$\",\"div\",\"0\",{\"className\":\"flex min-h-0 flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skeleton h-8 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}]]}],[\"$\",\"div\",\"1\",{\"className\":\"flex min-h-0 flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skeleton h-8 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}]]}],[\"$\",\"div\",\"2\",{\"className\":\"flex min-h-0 flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skeleton h-8 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}]]}],[\"$\",\"div\",\"3\",{\"className\":\"flex min-h-0 flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skeleton h-8 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}]]}],[\"$\",\"div\",\"4\",{\"className\":\"flex min-h-0 flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skeleton h-8 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}],[\"$\",\"div\",null,{\"className\":\"skeleton h-20 w-full\"}]]}]]}]}],[],[]],\"children\":[\"$\",\"$2\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3rm_a_257myov.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/158myu8e_yme3.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$4\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/2gkbk2qdsow-j.js\",\"async\":true}]],\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]}],{\"children\":[[\"$\",\"$2\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$2\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$@9\"]},null,false,null],[\"$\",\"$2\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":\"$Lc\"}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[\"$Le\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"I_lHe5DQGPJBZViq6L3bS\"}\n"])</script><script>self.__next_f.push([1,"10:I[97367,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"MetadataBoundary\"]\nf:[]\n9:\"$Wf\"\nc:[\"$\",\"$L10\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L11\"}]}]\ne:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3rm_a_257myov.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"8:null\n11:[[\"$\",\"title\",\"0\",{\"children\":\"kodi board\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"kodi.dev board — local ticket board UI.\"}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/1jq4o6yq14o4c.js"/><script src="/_next/static/chunks/0245a4ypel7xx.js" async=""></script><script src="/_next/static/chunks/0dw6y-0ffla71.js" async=""></script><script src="/_next/static/chunks/3rxl-jt3pdxgx.js" async=""></script><script src="/_next/static/chunks/turbopack-3ec-4w_qyxb-d.js" async=""></script><script src="/_next/static/chunks/158myu8e_yme3.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/1jq4o6yq14o4c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"jxv0GcmWplyzie2rdOiIo\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/1jq4o6yq14o4c.js"/><script src="/_next/static/chunks/0245a4ypel7xx.js" async=""></script><script src="/_next/static/chunks/0dw6y-0ffla71.js" async=""></script><script src="/_next/static/chunks/3rxl-jt3pdxgx.js" async=""></script><script src="/_next/static/chunks/turbopack-3ec-4w_qyxb-d.js" async=""></script><script src="/_next/static/chunks/158myu8e_yme3.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/1jq4o6yq14o4c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/158myu8e_yme3.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"I_lHe5DQGPJBZViq6L3bS\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {\n \"00aaa7b1946a7b7cc0290d49201dea6de6478a292a\": {\n \"workers\": {\n \"app/page\": {\n \"moduleId\": 21699,\n \"async\": false,\n \"exportedName\": \"getBoard\",\n \"filename\": \"app/actions/board.ts\"\n }\n },\n \"filename\": \"app/actions/board.ts\",\n \"exportedName\": \"getBoard\"\n }\n },\n \"edge\": {},\n \"encryptionKey\": \"CZSKvIXJ5mLWSR+ngqQPOxzwlbdq/a8WiCZ1eH9Aa+0=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {\n \"00ef5333386cbb5bb42308c0c9d83a2e84a8e3286f\": {\n \"workers\": {\n \"app/page\": {\n \"moduleId\": 21699,\n \"async\": false,\n \"exportedName\": \"getBoard\",\n \"filename\": \"app/actions/board.ts\"\n }\n },\n \"filename\": \"app/actions/board.ts\",\n \"exportedName\": \"getBoard\"\n }\n },\n \"edge\": {},\n \"encryptionKey\": \"KDAqQXrmbJDVcMUutPO5ZnuubZKeMgi1jqS8ocRQjvU=\"\n}"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "node": {
3
- "00aaa7b1946a7b7cc0290d49201dea6de6478a292a": {
3
+ "00ef5333386cbb5bb42308c0c9d83a2e84a8e3286f": {
4
4
  "workers": {
5
5
  "app/page": {
6
6
  "moduleId": 21699,
@@ -14,5 +14,5 @@
14
14
  }
15
15
  },
16
16
  "edge": {},
17
- "encryptionKey": "CZSKvIXJ5mLWSR+ngqQPOxzwlbdq/a8WiCZ1eH9Aa+0="
17
+ "encryptionKey": "KDAqQXrmbJDVcMUutPO5ZnuubZKeMgi1jqS8ocRQjvU="
18
18
  }
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95187,(e,t,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0});var r={callServer:function(){return l.callServer},createServerReference:function(){return c.createServerReference},findSourceMapURL:function(){return a.findSourceMapURL}};for(var n in r)Object.defineProperty(s,n,{enumerable:!0,get:r[n]});let l=e.r(32120),a=e.r(92245),c=e.r(35326)},80976,e=>{"use strict";var t=e.i(43476),s=e.i(71645),r=e.i(95187);let n=(0,r.createServerReference)("00aaa7b1946a7b7cc0290d49201dea6de6478a292a",r.callServer,void 0,r.findSourceMapURL,"getBoard"),l={Pending:"badge-neutral","In progress":"badge-info","To review":"badge-warning",Done:"badge-success"},a={Pending:"border-t-neutral","In progress":"border-t-info","To review":"border-t-warning",Done:"border-t-success"},c={Pending:"border-l-neutral","In progress":"border-l-info","To review":"border-l-warning",Done:"border-l-success"},i={Pending:"arrive-neutral","In progress":"arrive-info","To review":"arrive-warning",Done:"arrive-success"};function o(e){return null!=e&&e.trim().length>0}function d({ticket:e,arriving:s,onOpen:r}){let n=e.dependencies.length,l=o(e.drivers.security),a=n>0||l;return(0,t.jsx)("article",{"data-ticket-key":e.key,className:`card card-sm border-l-4 bg-base-100 shadow-sm ${c[e.status]} ${s?`kodi-arriving ${i[e.status]} motion-reduce:animate-none`:""}`,children:(0,t.jsxs)("button",{type:"button",onClick:()=>r(e),className:"flex w-full cursor-pointer flex-col gap-2 p-3 text-left",children:[(0,t.jsxs)("span",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-xs break-words opacity-70",children:e.key}),(0,t.jsx)("span",{className:"font-semibold break-words",children:e.title})]}),a&&(0,t.jsxs)("span",{className:"flex flex-wrap gap-1",children:[n>0&&(0,t.jsxs)("span",{className:"badge badge-sm badge-ghost",children:[n," deps"]}),l&&(0,t.jsx)("span",{className:"badge badge-sm badge-outline",children:"SEC"})]})]})})}function u({column:e,headingId:s,arrivingKeys:r,onOpen:n}){let c=e.tickets.length;return(0,t.jsxs)("section",{role:"group","aria-labelledby":s,className:`flex min-h-0 min-w-96 w-1/4 shrink-0 flex-col rounded-box border-t-4 bg-base-200 ${a[e.status]}`,children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2 px-2 pt-3 pb-2",children:[(0,t.jsx)("h2",{id:s,className:"text-sm font-semibold",children:e.status}),(0,t.jsx)("span",{className:`badge badge-sm ${l[e.status]}`,children:c})]}),(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto px-2 pb-2",children:0===c?(0,t.jsx)("p",{className:"text-sm text-base-content/60",children:"No tickets"}):e.tickets.map(e=>(0,t.jsx)(d,{ticket:e,arriving:r.has(e.key),onOpen:n},e.key))})]})}function m({ticket:e,canGoBack:r,onBack:n,onClose:a,resolveDependency:c,onOpenDependency:i}){let d=(0,s.useRef)(null),u=`modal-title-${e.key}`;return(0,s.useEffect)(()=>{let e=d.current;if(e){if("function"==typeof e.showModal)try{e.showModal()}catch{e.open=!0}else e.open=!0;return()=>{if("function"==typeof e.close&&e.open)try{e.close()}catch{e.open=!1}else e.open=!1}}},[]),(0,t.jsxs)("dialog",{ref:d,className:"modal modal-bottom sm:modal-middle","aria-labelledby":u,onClose:a,onCancel:a,children:[(0,t.jsxs)("div",{className:"modal-box max-w-2xl",children:[(0,t.jsx)("button",{type:"button",onClick:a,"aria-label":"Close",className:"btn btn-sm btn-circle btn-ghost absolute top-2 right-2",children:"✕"}),r&&(0,t.jsx)("button",{type:"button",onClick:n,className:"btn btn-ghost btn-xs mb-2 -ml-1",children:"← Back"}),(0,t.jsxs)("header",{className:"flex flex-col gap-2 pr-8",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-xs break-words opacity-70",children:e.key}),(0,t.jsx)("span",{className:`badge badge-sm ${l[e.status]}`,children:e.status})]}),(0,t.jsx)("h2",{id:u,className:"text-lg font-semibold break-words",children:e.title})]}),o(e.summary)&&(0,t.jsx)("p",{className:"mt-3 break-words text-base-content/80",children:e.summary}),(0,t.jsx)(f,{ticket:e,resolveDependency:c,onOpenDependency:i})]}),(0,t.jsx)("button",{type:"button",onClick:a,"aria-label":"Close",className:"modal-backdrop",children:"close"})]})}function f({ticket:e,resolveDependency:s,onOpenDependency:r}){let{dependencies:n,drivers:l,acceptanceCriteria:a,prUrl:c,notes:i}=e,d=function(e){let t;if(null==e)return null;let s=e.trim();if(""===s||s.startsWith("//"))return null;try{t=new URL(s)}catch{return null}return"http:"!==t.protocol&&"https:"!==t.protocol?null:t.href}(c);return(0,t.jsxs)("div",{className:"mt-4 flex flex-col gap-3 text-sm",children:[n.length>0&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 font-semibold",children:"Dependencies"}),(0,t.jsx)("ul",{className:"list-inside list-disc break-words",children:n.map(e=>{let n=s(e);return(0,t.jsx)("li",{children:n?(0,t.jsx)("button",{type:"button",onClick:()=>r(n),className:"link link-primary break-words",children:e}):e},e)})})]}),l.adr.length>0&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 font-semibold",children:"ADR"}),(0,t.jsx)("ul",{className:"list-inside list-disc break-words",children:l.adr.map(e=>(0,t.jsx)("li",{children:e},e))})]}),o(l.prd)&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 font-semibold",children:"PRD"}),(0,t.jsx)("p",{className:"break-words",children:l.prd})]}),o(l.security)&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 font-semibold",children:"Security"}),(0,t.jsx)("p",{className:"break-words",children:l.security})]}),a.length>0&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 font-semibold",children:"Acceptance criteria"}),(0,t.jsx)("ul",{className:"list-inside list-disc break-words",children:a.map((e,s)=>(0,t.jsx)("li",{children:e},s))})]}),null!==d&&(0,t.jsx)("p",{children:(0,t.jsx)("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:"link link-primary break-words",children:d})}),o(i)&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 font-semibold",children:"Notes"}),(0,t.jsx)("p",{className:"break-words whitespace-pre-wrap",children:i})]})]})}function h({model:e}){let[r,n]=(0,s.useState)([]),l=r.length>0?r[r.length-1]:null,a=(0,s.useMemo)(()=>{let t=new Map;for(let s of e.columns)for(let e of s.tickets)t.set(e.key,e);return t},[e]),[c,i]=(0,s.useState)(()=>new Set),[o,d]=(0,s.useState)(""),f=(0,s.useRef)(null),x=(0,s.useRef)(null),b=(0,s.useRef)(new Map),g=(0,s.useRef)(new Map);(0,s.useLayoutEffect)(()=>{let t=f.current;if(!t)return;let s=t.querySelectorAll("[data-ticket-key]"),r=new Map;s.forEach(e=>{let t=e.dataset.ticketKey;t&&r.set(t,e.getBoundingClientRect())});let n=x.current,l=b.current,a=new Map,c=[];for(let t of e.columns)for(let e of t.tickets){a.set(e.key,e.status);let t=n?.get(e.key);void 0!==t&&t!==e.status&&c.push({key:e.key,status:e.status})}c.length>0&&(!function(){if("function"!=typeof window.matchMedia)return!1;try{return window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}()&&s.forEach(e=>{let t=e.dataset.ticketKey;if(!t)return;let s=l.get(t),n=r.get(t);if(!s||!n)return;let a=s.left-n.left,c=s.top-n.top;(0!==a||0!==c)&&(e.style.transition="none",e.style.transform=`translate(${a}px, ${c}px)`,requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.addEventListener("transitionend",()=>{e.style.transition="",e.style.transform=""},{once:!0}),e.style.transition="transform 300ms ease",e.style.transform=""})}))}),requestAnimationFrame(()=>{for(let e of(i(e=>{let t=new Set(e);for(let e of c)t.add(e.key);return t}),c)){let t=g.current.get(e.key);t&&clearTimeout(t);let s=setTimeout(()=>{g.current.delete(e.key),i(t=>{if(!t.has(e.key))return t;let s=new Set(t);return s.delete(e.key),s})},2e3);g.current.set(e.key,s)}d(c.map(e=>`${e.key} moved to ${e.status}.`).join(" "))})),b.current=r,x.current=a},[e]),(0,s.useEffect)(()=>{let e=g.current;return()=>{e.forEach(e=>clearTimeout(e)),e.clear()}},[]);let y=e.columns.every(e=>0===e.tickets.length);return(0,t.jsxs)("main",{className:"flex h-screen flex-col gap-4 bg-base-100 p-4",children:[(0,t.jsx)("h1",{className:"sr-only",children:"kodi board"}),(0,t.jsx)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sr-only",children:o}),y&&(0,t.jsx)(p,{}),(0,t.jsx)("div",{ref:f,className:"flex min-h-0 flex-1 gap-4 overflow-x-auto pb-2",children:e.columns.map((e,s)=>(0,t.jsx)(u,{column:e,headingId:`col-heading-${s}`,arrivingKeys:c,onOpen:e=>n([e])},e.status))}),l&&(0,t.jsx)(m,{ticket:l,canGoBack:r.length>1,onBack:()=>n(e=>e.slice(0,-1)),onClose:()=>n([]),resolveDependency:e=>a.get(e),onOpenDependency:e=>n(t=>[...t,e])})]})}function p(){return(0,t.jsx)("div",{role:"status",className:"alert bg-base-200 text-base-content/80",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("span",{className:"font-medium",children:"No tickets yet."}),(0,t.jsxs)("span",{className:"text-sm",children:["Create one with ",(0,t.jsx)("code",{className:"font-mono",children:"kodi tickets create"}),"."]})]})})}e.s(["LiveBoard",0,function({initialModel:e}){let[r,l]=(0,s.useState)(e),a=(0,s.useRef)(!0),c=(0,s.useRef)(!1),i=(0,s.useRef)(!1);return(0,s.useEffect)(()=>{async function e(){if(c.current){i.current=!0;return}c.current=!0;try{do{i.current=!1;let e=await n();if(!a.current)return;l(e)}while(i.current&&a.current)}catch{}finally{c.current=!1}}a.current=!0;let t=new EventSource("/events");return t.addEventListener("change",()=>{e()}),()=>{a.current=!1,t.close()}},[]),(0,t.jsx)(h,{model:r})}],80976)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95187,(e,t,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0});var r={callServer:function(){return l.callServer},createServerReference:function(){return c.createServerReference},findSourceMapURL:function(){return a.findSourceMapURL}};for(var n in r)Object.defineProperty(s,n,{enumerable:!0,get:r[n]});let l=e.r(32120),a=e.r(92245),c=e.r(35326)},80976,e=>{"use strict";var t=e.i(43476),s=e.i(71645),r=e.i(95187);let n=(0,r.createServerReference)("00ef5333386cbb5bb42308c0c9d83a2e84a8e3286f",r.callServer,void 0,r.findSourceMapURL,"getBoard"),l={Pending:"badge-neutral","In progress":"badge-info","To review":"badge-warning",Done:"badge-success"},a={Pending:"border-t-neutral","In progress":"border-t-info","To review":"border-t-warning",Done:"border-t-success"},c={Pending:"border-l-neutral","In progress":"border-l-info","To review":"border-l-warning",Done:"border-l-success"},i={Pending:"arrive-neutral","In progress":"arrive-info","To review":"arrive-warning",Done:"arrive-success"};function o(e){return null!=e&&e.trim().length>0}function d({ticket:e,arriving:s,onOpen:r}){let n=e.dependencies.length,l=o(e.drivers.security),a=n>0||l;return(0,t.jsx)("article",{"data-ticket-key":e.key,className:`card card-sm border-l-4 bg-base-100 shadow-sm ${c[e.status]} ${s?`kodi-arriving ${i[e.status]} motion-reduce:animate-none`:""}`,children:(0,t.jsxs)("button",{type:"button",onClick:()=>r(e),className:"flex w-full cursor-pointer flex-col gap-2 p-3 text-left",children:[(0,t.jsxs)("span",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-xs break-words opacity-70",children:e.key}),(0,t.jsx)("span",{className:"font-semibold break-words",children:e.title})]}),a&&(0,t.jsxs)("span",{className:"flex flex-wrap gap-1",children:[n>0&&(0,t.jsxs)("span",{className:"badge badge-sm badge-ghost",children:[n," deps"]}),l&&(0,t.jsx)("span",{className:"badge badge-sm badge-outline",children:"SEC"})]})]})})}function u({column:e,headingId:s,arrivingKeys:r,onOpen:n}){let c=e.tickets.length;return(0,t.jsxs)("section",{role:"group","aria-labelledby":s,className:`flex min-h-0 min-w-96 w-1/4 shrink-0 flex-col rounded-box border-t-4 bg-base-200 ${a[e.status]}`,children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2 px-2 pt-3 pb-2",children:[(0,t.jsx)("h2",{id:s,className:"text-sm font-semibold",children:e.status}),(0,t.jsx)("span",{className:`badge badge-sm ${l[e.status]}`,children:c})]}),(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto px-2 pb-2",children:0===c?(0,t.jsx)("p",{className:"text-sm text-base-content/60",children:"No tickets"}):e.tickets.map(e=>(0,t.jsx)(d,{ticket:e,arriving:r.has(e.key),onOpen:n},e.key))})]})}function m({ticket:e,canGoBack:r,onBack:n,onClose:a,resolveDependency:c,onOpenDependency:i}){let d=(0,s.useRef)(null),u=`modal-title-${e.key}`;return(0,s.useEffect)(()=>{let e=d.current;if(e){if("function"==typeof e.showModal)try{e.showModal()}catch{e.open=!0}else e.open=!0;return()=>{if("function"==typeof e.close&&e.open)try{e.close()}catch{e.open=!1}else e.open=!1}}},[]),(0,t.jsxs)("dialog",{ref:d,className:"modal modal-bottom sm:modal-middle","aria-labelledby":u,onClose:a,onCancel:a,children:[(0,t.jsxs)("div",{className:"modal-box max-w-2xl",children:[(0,t.jsx)("button",{type:"button",onClick:a,"aria-label":"Close",className:"btn btn-sm btn-circle btn-ghost absolute top-2 right-2",children:"✕"}),r&&(0,t.jsx)("button",{type:"button",onClick:n,className:"btn btn-ghost btn-xs mb-2 -ml-1",children:"← Back"}),(0,t.jsxs)("header",{className:"flex flex-col gap-2 pr-8",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-xs break-words opacity-70",children:e.key}),(0,t.jsx)("span",{className:`badge badge-sm ${l[e.status]}`,children:e.status})]}),(0,t.jsx)("h2",{id:u,className:"text-lg font-semibold break-words",children:e.title})]}),o(e.summary)&&(0,t.jsx)("p",{className:"mt-3 break-words text-base-content/80",children:e.summary}),(0,t.jsx)(f,{ticket:e,resolveDependency:c,onOpenDependency:i})]}),(0,t.jsx)("button",{type:"button",onClick:a,"aria-label":"Close",className:"modal-backdrop",children:"close"})]})}function f({ticket:e,resolveDependency:s,onOpenDependency:r}){let{dependencies:n,drivers:l,acceptanceCriteria:a,prUrl:c,notes:i}=e,d=function(e){let t;if(null==e)return null;let s=e.trim();if(""===s||s.startsWith("//"))return null;try{t=new URL(s)}catch{return null}return"http:"!==t.protocol&&"https:"!==t.protocol?null:t.href}(c);return(0,t.jsxs)("div",{className:"mt-4 flex flex-col gap-3 text-sm",children:[n.length>0&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 font-semibold",children:"Dependencies"}),(0,t.jsx)("ul",{className:"list-inside list-disc break-words",children:n.map(e=>{let n=s(e);return(0,t.jsx)("li",{children:n?(0,t.jsx)("button",{type:"button",onClick:()=>r(n),className:"link link-primary break-words",children:e}):e},e)})})]}),l.adr.length>0&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 font-semibold",children:"ADR"}),(0,t.jsx)("ul",{className:"list-inside list-disc break-words",children:l.adr.map(e=>(0,t.jsx)("li",{children:e},e))})]}),o(l.prd)&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 font-semibold",children:"PRD"}),(0,t.jsx)("p",{className:"break-words",children:l.prd})]}),o(l.security)&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 font-semibold",children:"Security"}),(0,t.jsx)("p",{className:"break-words",children:l.security})]}),a.length>0&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 font-semibold",children:"Acceptance criteria"}),(0,t.jsx)("ul",{className:"list-inside list-disc break-words",children:a.map((e,s)=>(0,t.jsx)("li",{children:e},s))})]}),null!==d&&(0,t.jsx)("p",{children:(0,t.jsx)("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:"link link-primary break-words",children:d})}),o(i)&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 font-semibold",children:"Notes"}),(0,t.jsx)("p",{className:"break-words whitespace-pre-wrap",children:i})]})]})}function h({model:e}){let[r,n]=(0,s.useState)([]),l=r.length>0?r[r.length-1]:null,a=(0,s.useMemo)(()=>{let t=new Map;for(let s of e.columns)for(let e of s.tickets)t.set(e.key,e);return t},[e]),[c,i]=(0,s.useState)(()=>new Set),[o,d]=(0,s.useState)(""),f=(0,s.useRef)(null),p=(0,s.useRef)(null),x=(0,s.useRef)(new Map),g=(0,s.useRef)(new Map);(0,s.useLayoutEffect)(()=>{let t=f.current;if(!t)return;let s=t.querySelectorAll("[data-ticket-key]"),r=new Map;s.forEach(e=>{let t=e.dataset.ticketKey;t&&r.set(t,e.getBoundingClientRect())});let n=p.current,l=x.current,a=new Map,c=[];for(let t of e.columns)for(let e of t.tickets){a.set(e.key,e.status);let t=n?.get(e.key);void 0!==t&&t!==e.status&&c.push({key:e.key,status:e.status})}c.length>0&&(!function(){if("function"!=typeof window.matchMedia)return!1;try{return window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}()&&s.forEach(e=>{let t=e.dataset.ticketKey;if(!t)return;let s=l.get(t),n=r.get(t);if(!s||!n)return;let a=s.left-n.left,c=s.top-n.top;(0!==a||0!==c)&&(e.style.transition="none",e.style.transform=`translate(${a}px, ${c}px)`,requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.addEventListener("transitionend",()=>{e.style.transition="",e.style.transform=""},{once:!0}),e.style.transition="transform 300ms ease",e.style.transform=""})}))}),requestAnimationFrame(()=>{for(let e of(i(e=>{let t=new Set(e);for(let e of c)t.add(e.key);return t}),c)){let t=g.current.get(e.key);t&&clearTimeout(t);let s=setTimeout(()=>{g.current.delete(e.key),i(t=>{if(!t.has(e.key))return t;let s=new Set(t);return s.delete(e.key),s})},2e3);g.current.set(e.key,s)}d(c.map(e=>`${e.key} moved to ${e.status}.`).join(" "))})),x.current=r,p.current=a},[e]),(0,s.useEffect)(()=>{let e=g.current;return()=>{e.forEach(e=>clearTimeout(e)),e.clear()}},[]);let y=e.columns.every(e=>0===e.tickets.length);return(0,t.jsxs)("main",{className:"flex h-screen flex-col gap-4 bg-base-100 p-4",children:[(0,t.jsx)("h1",{className:"sr-only",children:"kodi board"}),(0,t.jsx)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sr-only",children:o}),y&&(0,t.jsx)(b,{}),(0,t.jsx)("div",{ref:f,className:"flex min-h-0 flex-1 gap-4 overflow-x-auto pb-2",children:e.columns.map((e,s)=>(0,t.jsx)(u,{column:e,headingId:`col-heading-${s}`,arrivingKeys:c,onOpen:e=>n([e])},e.status))}),l&&(0,t.jsx)(m,{ticket:l,canGoBack:r.length>1,onBack:()=>n(e=>e.slice(0,-1)),onClose:()=>n([]),resolveDependency:e=>a.get(e),onOpenDependency:e=>n(t=>[...t,e])})]})}function b(){return(0,t.jsx)("div",{role:"status",className:"alert bg-base-200 text-base-content/80",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("span",{className:"font-medium",children:"No tickets yet."}),(0,t.jsxs)("span",{className:"text-sm",children:["Create one with ",(0,t.jsx)("code",{className:"font-mono",children:"kodi tickets create"}),"."]})]})})}e.s(["LiveBoard",0,function({initialModel:e}){let[r,l]=(0,s.useState)(e),a=(0,s.useRef)(!0),c=(0,s.useRef)(!1),i=(0,s.useRef)(!1);return(0,s.useEffect)(()=>{async function e(){if(c.current){i.current=!0;return}c.current=!0;try{do{i.current=!1;let e=await n();if(!a.current)return;l(e)}while(i.current&&a.current)}catch{}finally{c.current=!1}}a.current=!0;let t=new EventSource("/events");return t.addEventListener("change",()=>{e()}),()=>{a.current=!1,t.close()}},[]),(0,t.jsx)(h,{model:r})}],80976)}]);