@chorus-aidlc/chorus 0.9.1 → 0.9.2

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 (223) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +179 -179
  3. package/.next/standalone/.next/app-path-routes-manifest.json +29 -29
  4. package/.next/standalone/.next/build-manifest.json +2 -2
  5. package/.next/standalone/.next/prerender-manifest.json +42 -42
  6. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +2 -2
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +2 -2
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js +2 -2
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +2 -2
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
  41. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  45. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  46. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
  49. package/.next/standalone/.next/server/app/admin/companies/new.rsc +1 -1
  50. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/admin/companies.html +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies.rsc +1 -1
  53. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/admin.html +1 -1
  55. package/.next/standalone/.next/server/app/admin.rsc +1 -1
  56. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/mcp/route.js +1 -1
  86. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/index.html +1 -1
  126. package/.next/standalone/.next/server/app/index.rsc +1 -1
  127. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/login/admin.html +1 -1
  129. package/.next/standalone/.next/server/app/login/admin.rsc +1 -1
  130. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/login/callback.html +1 -1
  132. package/.next/standalone/.next/server/app/login/callback.rsc +1 -1
  133. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
  136. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +1 -1
  137. package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
  139. package/.next/standalone/.next/server/app/login/silent-refresh.rsc +1 -1
  140. package/.next/standalone/.next/server/app/login.html +1 -1
  141. package/.next/standalone/.next/server/app/login.rsc +1 -1
  142. package/.next/standalone/.next/server/app/onboarding/page.js +3 -3
  143. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  146. package/.next/standalone/.next/server/app/onboarding.rsc +2 -2
  147. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/projects.html +1 -1
  149. package/.next/standalone/.next/server/app/projects.rsc +2 -2
  150. package/.next/standalone/.next/server/app/settings.html +1 -1
  151. package/.next/standalone/.next/server/app/settings.rsc +3 -3
  152. package/.next/standalone/.next/server/app-paths-manifest.json +29 -29
  153. package/.next/standalone/.next/server/chunks/2990.js +1 -0
  154. package/.next/standalone/.next/server/chunks/4090.js +2 -2
  155. package/.next/standalone/.next/server/chunks/5491.js +1 -0
  156. package/.next/standalone/.next/server/chunks/6207.js +1 -1
  157. package/.next/standalone/.next/server/chunks/{5044.js → 6878.js} +1 -1
  158. package/.next/standalone/.next/server/chunks/7578.js +2 -2
  159. package/.next/standalone/.next/server/chunks/7621.js +1 -0
  160. package/.next/standalone/.next/server/chunks/8144.js +1 -0
  161. package/.next/standalone/.next/server/chunks/8637.js +1 -1
  162. package/.next/standalone/.next/server/chunks/9508.js +2 -2
  163. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  164. package/.next/standalone/.next/server/pages/404.html +1 -1
  165. package/.next/standalone/.next/server/pages/500.html +1 -1
  166. package/.next/standalone/.next/server/pages-manifest.json +1 -1
  167. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  169. package/.next/standalone/.next/static/chunks/19126-12ce8ade288ce1dc.js +1 -0
  170. package/.next/standalone/.next/static/chunks/19898-7e07c69b635e3662.js +1 -0
  171. package/.next/standalone/.next/static/chunks/35486-1978488574385a45.js +1 -0
  172. package/.next/standalone/.next/static/chunks/52206-51a89715ca643e44.js +1 -0
  173. package/.next/standalone/.next/static/chunks/60011-b602fea2afba6992.js +1 -0
  174. package/.next/standalone/.next/static/chunks/{32190-a110356fb68a4333.js → 75444-976ac95fd66e7988.js} +1 -1
  175. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-dd7eb66bb4ffd252.js +1 -0
  176. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-6d92b9867caf0fe1.js +1 -0
  177. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-f8f17f58cf779d37.js +1 -0
  178. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-83e2e42b27132b41.js +1 -0
  179. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/{page-405cc5757c9116ed.js → page-55148db4b28ee5f5.js} +1 -1
  180. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/{page-1591999fb2994672.js → page-556c181809c9e4f6.js} +1 -1
  181. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-656797940b35b23c.js +1 -0
  182. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/{page-31f4ffd9778a39ed.js → page-414b398806324ad1.js} +1 -1
  183. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-af88aeaedc3f4ae5.js +1 -0
  184. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-00ae31e877b4b261.js → page-6524ab00e6cdf59a.js} +1 -1
  185. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-b148c338bed81dce.js → page-7b0bb5f037cd320b.js} +1 -1
  186. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-db79d84fa8ca8cbf.js +1 -0
  187. package/.next/standalone/.next/static/chunks/app/onboarding/{page-9768ac847f5b2b48.js → page-7a00689ba561c111.js} +1 -1
  188. package/.next/standalone/package.json +1 -1
  189. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  190. package/.next/standalone/public/chorus-plugin/agents/proposal-reviewer.md +3 -2
  191. package/.next/standalone/public/chorus-plugin/agents/task-reviewer.md +1 -1
  192. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
  193. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +2 -2
  194. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +3 -2
  195. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
  196. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  197. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +6 -4
  198. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  199. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +5 -3
  200. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
  201. package/.next/standalone/public/skill/chorus/SKILL.md +1 -1
  202. package/.next/standalone/public/skill/develop-chorus/SKILL.md +2 -1
  203. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +5 -3
  204. package/.next/standalone/public/skill/review-chorus/SKILL.md +4 -2
  205. package/package.json +1 -1
  206. package/.next/standalone/.next/server/chunks/3405.js +0 -1
  207. package/.next/standalone/.next/server/chunks/4043.js +0 -1
  208. package/.next/standalone/.next/server/chunks/6592.js +0 -1
  209. package/.next/standalone/.next/server/chunks/6975.js +0 -1
  210. package/.next/standalone/.next/static/chunks/19126-7671ce1fd803fdd4.js +0 -1
  211. package/.next/standalone/.next/static/chunks/44046-5c0f7f8c0914988a.js +0 -1
  212. package/.next/standalone/.next/static/chunks/60011-0fbcb92028fe9655.js +0 -1
  213. package/.next/standalone/.next/static/chunks/6028-fe4175ea5e6241ed.js +0 -1
  214. package/.next/standalone/.next/static/chunks/9562-8433cd5c5abad077.js +0 -1
  215. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-8409ca03f132910b.js +0 -1
  216. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-7f7a7f654cab4dc3.js +0 -1
  217. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-a99a690b878a03be.js +0 -1
  218. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-95cdcec5e6db551f.js +0 -1
  219. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-2d85f24a980966b7.js +0 -1
  220. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-38579c303156008c.js +0 -1
  221. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-b153aa34b940a24c.js +0 -1
  222. /package/.next/standalone/.next/static/{yBxnuARbl0brBJS3_STaI → -kClYg0a7zvFcgkw_LnG7}/_buildManifest.js +0 -0
  223. /package/.next/standalone/.next/static/{yBxnuARbl0brBJS3_STaI → -kClYg0a7zvFcgkw_LnG7}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- exports.id=6975,exports.ids=[6975],exports.modules={2852:(a,b,c)=>{"use strict";c.d(b,{J:()=>g});var d=c(10837);c(21968);var e=c(13277),f=c(96307);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"label",className:(0,f.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...b})}},5514:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{y:()=>B});var e=c(10837),f=c(21968),g=c(9222),h=c(44787),i=c(22727),j=c(24383),k=c(55775),l=c(27936),m=c(24879),n=c(31009),o=c(45148),p=c(35198),q=c(49599),r=c(42424),s=c(11568),t=c(35253),u=c(91847),v=c(15417),w=c(54722),x=c(86104),y=c(17904),z=c(76172),A=a([x]);x=(A.then?(await A)():A)[0];let C={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},D={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},E={in_progress:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E8F5E9] text-[#2E7D32]",open:"bg-[#F5F5F5] text-[#6B6B6B]",to_verify:"bg-[#E3F2FD] text-[#1565C0]"},F=[{id:"todo",labelKey:"todo",statuses:["open","assigned"]},{id:"in_progress",labelKey:"inProgress",statuses:["in_progress"]},{id:"to_verify",labelKey:"toVerify",statuses:["to_verify"]},{id:"done",labelKey:"done",statuses:["done","closed"]}];function B({projectUuid:a,initialTasks:b,currentUserUuid:c,selectedTaskUuid:d,onTaskSelect:A,onPanelClose:B,proposalUuidFilter:G}){let H=(0,g.c)(),[I,J]=(0,f.useState)(b),[K,L]=(0,f.useState)({}),[M,N]=(0,f.useState)(!1),[O,P]=(0,f.useState)(null),[Q,R]=(0,f.useState)([]),[S,T]=(0,f.useState)(!1),[U,V]=(0,f.useState)([]),[W,X]=(0,f.useState)(!1),[Y,Z]=(0,f.useState)(!1),$=(0,f.useCallback)(async()=>{let b=await (0,t.p)(a);if(b.success){let a=G?b.data.filter(a=>a.proposalUuid&&G.has(a.proposalUuid)):b.data;J(a);let c=await (0,y.h)(a.map(a=>a.uuid));c.success&&c.data&&L(c.data)}},[a,G]);(0,z.eV)("task",$),(0,f.useRef)(G);let _=(0,f.useMemo)(()=>d?I.find(a=>a.uuid===d)??null:null,[d,I]),aa=a=>I.filter(b=>a.includes(b.status)),ab=a=>aa(a).reduce((a,b)=>a+(b.storyPoints||0),0),ac=async b=>{let c;Z(!1);let{destination:d,source:e,draggableId:f}=b;if(!d||d.droppableId===e.droppableId&&d.index===e.index)return;let g=d.droppableId;e.droppableId;let h=I.find(a=>a.uuid===f);if(!h)return;if(F.find(a=>a.id===g),"todo"===g)c="assigned"===h.status?"assigned":"open";else if("in_progress"===g)c="in_progress";else if("to_verify"===g)c="to_verify";else{if("done"!==g)return;c="to_verify"===h.status?"done":"to_verify"}J(a=>a.map(a=>a.uuid===f?{...a,status:c}:a));let i=await (0,u.y)(f,g,a);if(i.success)$();else{if("blocked"in i&&i.blocked&&"blockers"in i){J(a=>a.map(a=>a.uuid===f?{...a,status:h.status}:a)),P(h),R(i.blockers),N(!0);return}if(J(a=>a.map(a=>a.uuid===f?{...a,status:h.status}:a)),"gateBlocked"in i&&i.gateBlocked){let a="unresolvedCriteria"in i&&Array.isArray(i.unresolvedCriteria)?i.unresolvedCriteria:[];V(a),T(!0)}}},ad=async()=>{if(O){X(!0);try{let a=await (0,v.H)(O.uuid,"in_progress");a.success?(N(!1),P(null),R([]),$()):w.q.error("Failed to force move task:",a.error)}finally{X(!1)}}},ae=()=>{N(!1),P(null),R([])};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(h.JY,{onDragStart:()=>{Z(!0)},onDragEnd:ac,children:(0,e.jsx)(m.o,{children:(0,e.jsx)("div",{className:"flex flex-1 gap-4 overflow-x-auto pb-4",children:F.map(a=>{let b=aa(a.statuses);return(0,e.jsxs)("div",{className:"flex w-[300px] flex-shrink-0 flex-col rounded-xl bg-[#F5F2EC] p-4",children:[(0,e.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("h3",{className:"font-medium text-[#2C2C2C]",children:H(`status.${a.labelKey}`)}),(0,e.jsx)("span",{className:"rounded-full bg-white px-2 py-0.5 text-xs font-medium text-[#6B6B6B]",children:b.length})]}),ab(a.statuses)>0&&(0,e.jsxs)("span",{className:"flex items-center gap-1 text-xs text-[#9A9A9A]",children:[(0,e.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,e.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,e.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),ab(a.statuses),"h"]})]}),(0,e.jsx)(h.gL,{droppableId:a.id,children:(a,c)=>(0,e.jsxs)("div",{ref:a.innerRef,...a.droppableProps,className:`flex-1 space-y-3 overflow-y-auto min-h-[100px] rounded-lg pt-3 pr-3 transition-colors ${c.isDraggingOver?"bg-[#E5E0D8]":""}`,children:[0!==b.length||c.isDraggingOver?b.map((a,b)=>{let c=!!a.dependsOn&&0!==a.dependsOn.length&&a.dependsOn.some(a=>"done"!==a.status&&"closed"!==a.status),d=(c?!a.dependsOn?[]:a.dependsOn.filter(a=>"done"!==a.status&&"closed"!==a.status):[]).map(a=>a.title).join(", ");return(0,e.jsx)(h.sx,{draggableId:a.uuid,index:b,children:(b,f)=>(0,e.jsx)("div",{ref:b.innerRef,...b.draggableProps,...b.dragHandleProps,onClick:()=>{f.isDragging||A(a.uuid)},style:b.draggableProps.style,children:(0,e.jsxs)(n.P.div,{className:"relative",layoutId:Y?void 0:`task-card-${a.uuid}`,transition:o.Yv.spring,children:[K[a.uuid]>0&&(0,e.jsx)("div",{className:"absolute -top-3 -right-3 z-10 flex h-11 w-11 items-center justify-center rounded-full border-2 border-green-400 bg-white shadow-sm",children:(0,e.jsx)("img",{src:"/typing-animation.gif",alt:"",className:"h-8 w-8"})}),(0,e.jsx)(i.D,{entityType:"task",entityUuid:a.uuid,children:(0,e.jsxs)(p.Zp,{className:`cursor-pointer p-4 transition-all ${c?"border-dashed border-[#D1D1D1] opacity-60":"border-[#E5E0D8] hover:border-[#C67A52]"} bg-white hover:shadow-sm ${f.isDragging?"shadow-lg rotate-2":""}`,children:[(0,e.jsxs)("div",{className:"mb-2 flex items-start justify-between",children:[(0,e.jsx)(q.E,{className:C[a.status]||"",children:H(`status.${D[a.status]||a.status}`)}),(0,e.jsx)("div",{className:"flex items-center gap-1.5",children:a.storyPoints&&(0,e.jsxs)("span",{className:"flex items-center gap-1 rounded bg-[#FFF3E0] px-2 py-0.5 text-xs font-medium text-[#E65100]",children:[(0,e.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,e.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,e.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),a.storyPoints,"h"]})})]}),(0,e.jsx)("h4",{className:"mb-1 font-medium text-[#2C2C2C]",children:a.title}),a.description&&(0,e.jsx)("p",{className:"mb-2 line-clamp-2 text-sm text-[#6B6B6B]",children:a.description}),c&&(0,e.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 rounded-md bg-[#FFF3E0] px-2 py-1",children:[(0,e.jsx)(j.A,{className:"h-3 w-3 shrink-0 text-[#E65100]"}),(0,e.jsx)("span",{className:"text-[9px] font-medium leading-tight text-[#E65100] line-clamp-1",children:H("tasks.blockedBy",{tasks:d})})]}),(0,e.jsxs)("div",{className:"flex items-center justify-between text-xs text-[#9A9A9A]",children:[a.assignee?(0,e.jsxs)("span",{className:"flex items-center gap-1",children:[(0,e.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,e.jsx)("path",{d:"M12 8V4H8"}),(0,e.jsx)("rect",{width:"16",height:"12",x:"4",y:"8",rx:"2"})]}),a.assignee.name]}):"open"===a.status?(0,e.jsx)("span",{className:"text-[#C67A52]",children:H("common.assign")}):(0,e.jsx)("span",{children:H("common.unassigned")}),(0,e.jsxs)("span",{className:"flex items-center gap-1",children:[K[a.uuid]>0&&(0,e.jsxs)(q.E,{variant:"outline",className:"h-4 gap-1 border-green-300 px-1.5 text-[10px] text-green-700",children:[(0,e.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-green-500"}),H("sessions.workerCount",{count:K[a.uuid]})]}),a.acceptanceSummary&&a.acceptanceSummary.total>0&&(()=>{let b=a.acceptanceSummary,c="to_verify"===a.status,d=b.requiredPassed===b.required&&b.required>0,f=b.requiredFailed>0,g="bg-[#F5F2EC] text-[#9A9A9A]";return c&&(g=d?"bg-green-50 text-green-700":f?"bg-red-50 text-[#C4574C]":"bg-amber-50 text-[#D97706]"),(0,e.jsxs)(q.E,{className:`h-4 gap-1 border-0 px-1.5 text-[9px] ${g}`,children:[(0,e.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-2.5 w-2.5",children:[(0,e.jsx)("path",{d:"M9 11l3 3L22 4"}),(0,e.jsx)("path",{d:"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11"})]}),b.passed,"/",b.total]})})()]})]})]})})]})})},a.uuid)}):(0,e.jsx)("div",{className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-[#E5E0D8] text-sm text-[#9A9A9A]",children:H("tasks.noTasks")}),a.placeholder]})})]},a.id)})})})}),_&&(0,e.jsx)(x.v,{task:_,projectUuid:a,currentUserUuid:c,onClose:B}),(0,e.jsx)(s.lG,{open:M,onOpenChange:a=>{a||ae()},children:(0,e.jsxs)(s.Cf,{className:"max-w-md rounded-2xl",children:[(0,e.jsxs)(s.c7,{children:[(0,e.jsxs)(s.L3,{className:"flex items-center gap-2",children:[(0,e.jsx)(k.A,{className:"h-5 w-5 text-[#E65100]"}),H("tasks.dependencyBlocked")]}),(0,e.jsx)(s.rr,{children:H("tasks.dependencyBlockedDescription")})]}),(0,e.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3",children:[(0,e.jsx)("p",{className:"mb-2 text-xs font-medium text-[#6B6B6B]",children:H("tasks.blockerList")}),(0,e.jsx)("div",{className:"space-y-2",children:Q.map(a=>(0,e.jsxs)("div",{className:"flex items-center justify-between rounded-lg border border-[#E5E0D8] bg-white p-3",children:[(0,e.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,e.jsx)("p",{className:"truncate text-sm font-medium text-[#2C2C2C]",children:a.title}),(0,e.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[a.assignee&&(0,e.jsx)("span",{className:"text-xs text-[#6B6B6B]",children:a.assignee.name}),a.sessionCheckin&&(0,e.jsxs)("span",{className:"flex items-center gap-1 text-xs text-[#6B6B6B]",children:[(0,e.jsx)(l.A,{className:"h-3 w-3"}),a.sessionCheckin.sessionName]})]})]}),(0,e.jsx)(q.E,{className:`shrink-0 ${E[a.status]||"bg-[#F5F5F5] text-[#6B6B6B]"}`,children:H(`status.${D[a.status]||a.status}`)})]},a.uuid))})]}),(0,e.jsxs)(s.Es,{className:"gap-2 sm:gap-0",children:[(0,e.jsx)(r.$,{variant:"outline",onClick:ae,children:H("common.cancel")}),(0,e.jsx)(r.$,{className:"bg-[#E65100] hover:bg-[#BF4400] text-white",onClick:ad,disabled:W,children:W?H("common.processing"):H("tasks.forceMove")})]})]})}),(0,e.jsx)(s.lG,{open:S,onOpenChange:T,children:(0,e.jsxs)(s.Cf,{className:"max-w-[520px] rounded-2xl p-0 gap-0",children:[(0,e.jsxs)(s.c7,{className:"px-6 pt-6 pb-4",children:[(0,e.jsxs)(s.L3,{className:"flex items-center gap-2.5",children:[(0,e.jsx)(k.A,{className:"h-5 w-5 text-[#C4574C]"}),H("acceptanceCriteria.title")]}),(0,e.jsx)(s.rr,{className:"text-[13px] leading-relaxed text-[#6B6B6B]",children:H("acceptanceCriteria.gateBlocked",{count:U.filter(a=>a.required&&"passed"!==a.status).length})})]}),(0,e.jsxs)("div",{className:"px-6 pb-4 space-y-3",children:[(0,e.jsx)("p",{className:"text-[11px] font-semibold text-[#9A9A9A] uppercase tracking-wide",children:H("acceptanceCriteria.title")}),U.map(a=>(0,e.jsxs)("div",{className:`rounded-lg border p-3 space-y-2 ${"failed"===a.status?"border-red-200 bg-white":"border-[#E5E0D8] bg-white"}`,children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("div",{className:`h-2 w-2 rounded-full shrink-0 ${"failed"===a.status?"bg-[#C4574C]":"bg-[#F59E0B]"}`}),(0,e.jsx)("span",{className:"text-xs font-semibold text-[#2C2C2C]",children:a.description})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2 pl-4",children:[(0,e.jsx)(q.E,{className:`text-[10px] border-0 ${"failed"===a.status?"bg-red-50 text-[#C4574C]":"bg-amber-50 text-[#D97706]"}`,children:H(`acceptanceCriteria.status.${a.status}`)}),(0,e.jsx)(q.E,{className:"text-[10px] border-0 bg-[#FAF8F4] text-[#9A9A9A]",children:a.required?H("acceptanceCriteria.required"):H("acceptanceCriteria.optional")}),!a.evidence&&(0,e.jsx)("span",{className:"text-[10px] italic text-[#9A9A9A]",children:H("acceptanceCriteria.noEvidence")})]}),a.evidence&&(0,e.jsxs)("div",{className:"rounded-md bg-red-50 p-2 ml-4",children:[(0,e.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:H("acceptanceCriteria.verifyEvidence")}),(0,e.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:a.evidence})]})]},a.uuid))]}),(0,e.jsx)(s.Es,{className:"border-t border-[#E5E2DC] px-6 py-4",children:(0,e.jsx)(r.$,{className:"rounded-lg bg-[#C4574C] hover:bg-[#A3433A] text-white",onClick:()=>T(!1),children:H("acceptanceCriteria.dismiss")})})]})})]})}d()}catch(a){d(a)}})},10297:(a,b,c)=>{"use strict";c.d(b,{G7:()=>i,L$:()=>l,h_:()=>m,oI:()=>j,uB:()=>h,xL:()=>k});var d=c(10837);c(21968);var e=c(28918),f=c(75888),g=c(96307);function h({className:a,...b}){return(0,d.jsx)(e.uB,{"data-slot":"command",className:(0,g.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",a),...b})}function i({className:a,...b}){return(0,d.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,d.jsx)(f.A,{className:"size-4 shrink-0 opacity-50"}),(0,d.jsx)(e.uB.Input,{"data-slot":"command-input",className:(0,g.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",a),...b})]})}function j({className:a,...b}){return(0,d.jsx)(e.uB.List,{"data-slot":"command-list",className:(0,g.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",a),...b})}function k({...a}){return(0,d.jsx)(e.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...a})}function l({className:a,...b}){return(0,d.jsx)(e.uB.Group,{"data-slot":"command-group",className:(0,g.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",a),...b})}function m({className:a,...b}){return(0,d.jsx)(e.uB.Item,{"data-slot":"command-item",className:(0,g.cn)("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",a),...b})}},10422:(a,b,c)=>{"use strict";c.d(b,{i:()=>p});var d=c(10837),e=c(21968),f=c(47797);c(63410);var g=c(9222),h=c(1007),i=c(86460),j=c(10694),k=c(42424),l=c(60265),m=c(42377);let n=(0,m.createServerReference)("405d35bb04cf8d421f2dbac180fe9a4bf25e6399d8",m.callServer,void 0,m.findSourceMapURL,"getProjectDependenciesAction");var o=c(74511);function p({projectUuid:a,onTaskSelect:b,refreshKey:c}){let m=(0,g.c)(),p=(0,h.useSearchParams)(),[q,r,s]=(0,f.ck)([]),[t,u,v]=(0,f.fM)([]),[w,x]=(0,e.useState)(!0),[y,z]=(0,e.useState)(null),A=(0,e.useMemo)(()=>{let a=p.get("proposalUuids");if(!a)return null;let b=a.split(",").filter(Boolean);return b.length>0?new Set(b):null},[p]),B=(0,e.useCallback)(async()=>{x(!0);let b=await n(a),c=b.nodes,d=b.edges;if(A){let a=new Set((c=b.nodes.filter(a=>null!==a.proposalUuid&&A.has(a.proposalUuid))).map(a=>a.uuid));d=b.edges.filter(b=>a.has(b.from)&&a.has(b.to))}let e=c.map(a=>({id:a.uuid,type:"taskNode",position:{x:0,y:0},data:{title:a.title,status:a.status,priority:a.priority,proposalUuid:a.proposalUuid}})),f=d.map((a,b)=>({id:`e-${b}`,source:a.to,target:a.from,...l.qK})),{nodes:g,edges:h}=(0,l.nF)(e,f);r(g),u(h),x(!1)},[a,A,r,u]),C=(0,e.useCallback)(async a=>{if(!a.source||!a.target)return;z(null);let b=a.target,c=a.source,d=await (0,o.w)(b,c);if(!d.success)return void z(d.error||m("tasks.failedToAddDep"));await B()},[B]),D=(0,e.useCallback)((a,c)=>{b(c.id)},[b]);return w?(0,d.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,d.jsx)(i.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):0===q.length?(0,d.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-[#9A9A9A]",children:m("tasks.noTasksToDisplay")}):(0,d.jsxs)("div",{className:"flex-1 rounded-xl border border-[#E5E0D8] bg-[#FAFAF8] relative",children:[y&&(0,d.jsxs)("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-10 rounded-lg bg-red-50 border border-red-200 px-4 py-2 text-xs text-red-700 shadow-sm",children:[y,(0,d.jsx)(k.$,{variant:"ghost",size:"icon",className:"ml-2 h-5 w-5 font-medium hover:text-red-900",onClick:()=>z(null),children:(0,d.jsx)(j.A,{className:"h-3 w-3"})})]}),(0,d.jsxs)(f.Gc,{nodes:q,edges:t,onNodesChange:s,onEdgesChange:v,onConnect:C,onNodeClick:D,nodeTypes:l.c_,fitView:!0,fitViewOptions:{padding:.2},minZoom:.3,maxZoom:1.5,proOptions:{hideAttribution:!0},children:[(0,d.jsx)(f.VS,{color:"#E5E0D8",gap:20}),(0,d.jsx)(f.H2,{className:"[&>button]:border-[#E5E0D8] [&>button]:bg-white [&>button]:text-[#2C2C2C] [&>button:hover]:bg-[#FAF8F4]"})]})]})}},11225:(a,b,c)=>{"use strict";c.d(b,{C:()=>i,z:()=>h});var d=c(10837);c(21968);var e=c(90856),f=c(28121),g=c(96307);function h({className:a,...b}){return(0,d.jsx)(f.Root,{"data-slot":"radio-group",className:(0,g.cn)("grid gap-3",a),...b})}function i({className:a,...b}){return(0,d.jsx)(f.Item,{"data-slot":"radio-group-item",className:(0,g.cn)("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(f.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:(0,d.jsx)(e.A,{className:"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}},15107:(a,b,c)=>{Promise.resolve().then(c.bind(c,29334))},15417:(a,b,c)=>{"use strict";c.d(b,{H:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60537be7585237b1d97ca8222f29431a996b00efc5",d.callServer,void 0,d.findSourceMapURL,"forceMoveTaskToColumnAction")},19520:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Hd:()=>n,nk:()=>p,pw:()=>o,yq:()=>m});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(50530),i=c(67738),j=c(97307),k=c(12217),l=a([g,h,i]);[g,h,i]=l.then?(await l)():l;let q={todo:"open",in_progress:"in_progress",to_verify:"to_verify",done:"done"};async function m(a,b,c){let d=await (0,g.d)();if(!d)return{success:!1,error:"Unauthorized"};try{let e=await (0,h.K4)(d.companyUuid,a);if(!e)return{success:!1,error:"Task not found"};let g=q[b];if(!g)return{success:!1,error:"Invalid column"};if("in_progress"===g){let b=await (0,h.IM)(a);if(!b.resolved)return{success:!1,error:"Dependencies not resolved",blocked:!0,blockers:b.blockers}}if("done"===g&&"to_verify"!==e.status)await (0,h.lC)(a,{status:"to_verify"});else if("done"===g&&"to_verify"===e.status){let b=await (0,h.Ew)(a);if(!b.allowed)return{success:!1,error:b.reason||"Not all required acceptance criteria are passed",gateBlocked:!0,unresolvedCriteria:b.unresolvedCriteria||[]};await (0,h.lC)(a,{status:"done"})}else await (0,h.lC)(a,{status:g});return(0,f.revalidatePath)(`/projects/${c}/tasks`),{success:!0}}catch(a){return j.A.error({err:a},"Failed to move task"),{success:!1,error:"Failed to move task"}}}async function n(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};return await (0,h.lC)(a,{status:b}),await (0,i.createActivity)({companyUuid:c.companyUuid,projectUuid:d.projectUuid,targetType:"task",targetUuid:d.uuid,actorType:c.type,actorUuid:c.actorUuid,action:"force_status_change",value:JSON.stringify({from:d.status,to:b})}),{success:!0}}catch(a){return j.A.error({err:a},"Failed to force move task"),{success:!1,error:"Failed to force move task"}}}async function o(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let{tasks:c}=await (0,h.Vk)({companyUuid:b.companyUuid,projectUuid:a,skip:0,take:1e3});return{success:!0,data:c}}catch(a){return j.A.error({err:a},"Failed to fetch tasks"),{success:!1,error:"Failed to fetch tasks"}}}async function p(a){let b=await (0,g.d)();if(!b)return{nodes:[],edges:[]};try{return await (0,h.Cm)(b.companyUuid,a)}catch(a){return j.A.error({err:a},"Failed to get project dependencies"),{nodes:[],edges:[]}}}(0,k.D)([m,n,o,p]),(0,e.A)(m,"70e5269e3f3e0c59989139fc1a9ff907471f9d30d8",null),(0,e.A)(n,"60537be7585237b1d97ca8222f29431a996b00efc5",null),(0,e.A)(o,"4065b2be31761bb9b5e654e4d11fea9df5d506e040",null),(0,e.A)(p,"405d35bb04cf8d421f2dbac180fe9a4bf25e6399d8",null),d()}catch(a){d(a)}})},20170:(a,b,c)=>{"use strict";c.d(b,{T:()=>f});var d=c(10837);c(21968);var e=c(96307);function f({className:a,...b}){return(0,d.jsx)("textarea",{"data-slot":"textarea",className:(0,e.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a),...b})}},24383:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]])},24879:(a,b,c)=>{"use strict";c.d(b,{o:()=>k});var d=c(10837),e=c(21968),f=c(46005);let g=(0,e.createContext)(null);var h=c(46801),i=c(72443);let j=a=>!a.isLayoutDirty&&a.willUpdate(!1),k=({children:a,id:b,inherit:c=!0})=>{let k=(0,e.useContext)(f.L),l=(0,e.useContext)(g),[m,n]=function(){let a=function(){let a=(0,e.useRef)(!1);return(0,i.E)(()=>(a.current=!0,()=>{a.current=!1}),[]),a}(),[b,c]=(0,e.useState)(0),d=(0,e.useCallback)(()=>{a.current&&c(b+1)},[b]);return[(0,e.useCallback)(()=>h.Gt.postRender(d),[d]),b]}(),o=(0,e.useRef)(null),p=k.id||l;null===o.current&&((a=>!0==(!0===a)||"id"===a)(c)&&p&&(b=b?p+"-"+b:p),o.current={id:b,group:!0===c&&k.group||function(){let a=new Set,b=new WeakMap,c=()=>a.forEach(j);return{add:d=>{a.add(d),b.set(d,d.addEventListener("willUpdate",c))},remove:d=>{a.delete(d);let e=b.get(d);e&&(e(),b.delete(d)),c()},dirty:c}}()});let q=(0,e.useMemo)(()=>({...o.current,forceRender:m}),[n]);return(0,d.jsx)(f.L.Provider,{value:q,children:a})}},25629:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"0082948b256e723b85a3ea01158fcbd1e80b898920":()=>g.vq,"4019dc5c43c0d0b5cd0ecf1c4101d03c3bcac1be4c":()=>e.v5,"40415207f8b8039147fa24a3430fa10d86bd19ee09":()=>g.hR,"4042d3483c806832644f1f000f7dbee3862ddeae40":()=>k.F,"405d35bb04cf8d421f2dbac180fe9a4bf25e6399d8":()=>f.nk,"4065b2be31761bb9b5e654e4d11fea9df5d506e040":()=>f.pw,"408d0e3c785801e8725dc00d2a98da9ae0c4d50520":()=>l.kq,"4092b020debcd9064182b78d1251f5480ba647e2f9":()=>j.f,"409c6649b8fb46224d18cf6c2a22dd9106b5b8f207":()=>g.iY,"40ac23925f216be2285f0bd2457ed643a6988d0ee5":()=>l.xo,"40be20124013751733c1b37bc3bd98908c10cf558f":()=>g.Yw,"40be5bd86186254a09fa3e761581b4251af25f34b7":()=>m.J,"40c4433de2fd16fac16ebe7dd46b67b500465b540b":()=>g.A0,"40cb34bdc4fed2104114738bf7775d107b52ddb319":()=>e.Dv,"40e4abc083fca563046be6edf86472084e7a90e838":()=>g.p2,"40e7c5e7d2fe07cb5d70f3d686b28a87cf564725fb":()=>m.h,"600f6effea56962ff00d9ed4602f03fa1aab448bb7":()=>g.TV,"602c1407750cd40386654630745bc512c6cae037a8":()=>g.bd,"60537be7585237b1d97ca8222f29431a996b00efc5":()=>f.Hd,"6087a4e2938ec4a6c2e29a58427f32342db84e9dd4":()=>h.IY,"60a442239fefdb79c4c0624eb470bc1bff928f205f":()=>g.y9,"60bb8fde3eec92e5dedbac208bfd74fd93357b911d":()=>l.wG,"60c9fdcf1885bd3a91e2e933419e93a4c95d2bb832":()=>i.d,"60cb547ac7648107c2f03310d13362f2124c59163b":()=>h.hD,"60cfafb97dee121da111a8fbb6d24763894ee7029a":()=>e.Tg,"60d06ed2e9cadbb09345a5aad18a33c227b79905fc":()=>l.TK,"60f3cb3c636d49352e6fe1398702f2722486131228":()=>g.qb,"60ff33dfe263c9d4bbb0fdf7ec10043a99506c6dea":()=>h.Nq,"70e5269e3f3e0c59989139fc1a9ff907471f9d30d8":()=>f.yq,"70f6ab49174daed18a540513e593e0cf2cf2dc3ad1":()=>i.s});var e=c(22299),f=c(19520),g=c(73393),h=c(71353),i=c(98581),j=c(64029),k=c(72189),l=c(22293),m=c(81751),n=a([e,f,g,h,i,j,k,l,m]);[e,f,g,h,i,j,k,l,m]=n.then?(await n)():n,d()}catch(a){d(a)}})},26078:(a,b,c)=>{"use strict";c.d(b,{RU:()=>h,s8:()=>g});let d={developer_agent:["idea:read","proposal:read","document:read","project:read","task:read","task:write"],pm_agent:["idea:read","idea:write","proposal:read","proposal:write","document:read","document:write","task:read","task:write","project:read","project:write"],admin_agent:["idea:read","idea:write","idea:admin","proposal:read","proposal:write","proposal:admin","document:read","document:write","document:admin","task:read","task:write","task:admin","project:read","project:write","project:admin"]},e=["read","write","admin"],f=new Set(["idea","proposal","document","task","project"].flatMap(a=>e.map(b=>`${a}:${b}`)));function g(a){return f.has(a)}function h(a,b){let c=new Set;if(a)for(let b of a){let a=d[b.endsWith("_agent")?b:`${b}_agent`];if(a)for(let b of a)c.add(b)}if(b)for(let a of b)g(a)&&c.add(a);return c}},27936:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("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"}]])},28774:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A8:()=>q,CG:()=>o,Iq:()=>n,RB:()=>l,Sn:()=>i,d5:()=>m,ic:()=>p,tN:()=>k,x4:()=>j});var e=c(71255),f=c(77219),g=c(26078),h=a([e,f]);async function i({companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,permissions:h}){return e.z.agent.create({data:{companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,...void 0!==h&&{permissions:h}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,createdAt:!0}})}async function j(a,b,c){if(c&&!await e.z.agent.findFirst({where:{uuid:a,companyUuid:c},select:{uuid:!0}}))throw Error("Agent not found");return e.z.agent.update({where:{uuid:a},data:b,select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,lastActiveAt:!0,createdAt:!0}})}async function k(a,b){return e.z.apiKey.updateMany({where:{agentUuid:a,revokedAt:null},data:{name:b}})}async function l(a){return e.z.agent.delete({where:{uuid:a}})}async function m(a,b,c,d){let f={companyUuid:a,revokedAt:null,...d&&{agent:{ownerUuid:d}}},[g,h]=await Promise.all([e.z.apiKey.findMany({where:f,skip:b,take:c,orderBy:{createdAt:"desc"},include:{agent:{select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0}}}}),e.z.apiKey.count({where:f})]);return{apiKeys:g,total:h}}async function n({companyUuid:a,agentUuid:b,name:c,expiresAt:d}){let{key:g,hash:h,prefix:i}=(0,f.XH)();return{...await e.z.apiKey.create({data:{companyUuid:a,agentUuid:b,keyHash:h,keyPrefix:i,name:c,expiresAt:d},select:{uuid:!0,keyPrefix:!0,name:!0,expiresAt:!0,createdAt:!0}}),key:g}}async function o(a,b,c){return e.z.apiKey.findFirst({where:{uuid:b,companyUuid:a,...c&&{agent:{ownerUuid:c}}},select:{uuid:!0,agentUuid:!0,revokedAt:!0}})}async function p(a,b,c){return(await e.z.agent.findMany({where:{companyUuid:a,...c&&{ownerUuid:c}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,ownerUuid:!0},orderBy:{name:"asc"}})).filter(a=>(0,g.RU)(a.roles,a.permissions).has(b)).map(({uuid:a,name:b,roles:c,ownerUuid:d})=>({uuid:a,name:b,roles:c,ownerUuid:d}))}async function q(a){return e.z.user.findMany({where:{companyUuid:a},select:{uuid:!0,name:!0,email:!0},orderBy:{name:"asc"}})}[e,f]=h.then?(await h)():h,d()}catch(a){d(a)}})},29179:(a,b,c)=>{Promise.resolve().then(c.bind(c,90436))},29334:(a,b,c)=>{"use strict";c.d(b,{TaskViewToggle:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call TaskViewToggle() from the server but TaskViewToggle is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/ubuntu/dev/ai-pm/src/app/(dashboard)/projects/[uuid]/tasks/task-view-toggle.tsx","TaskViewToggle")},35253:(a,b,c)=>{"use strict";c.d(b,{p:()=>e});var d=c(42377);let e=(0,d.createServerReference)("4065b2be31761bb9b5e654e4d11fea9df5d506e040",d.callServer,void 0,d.findSourceMapURL,"fetchTasksAction")},39268:(a,b,c)=>{"use strict";c.d(b,{T:()=>q});var d=c(10837),e=c(21968),f=c(1007),g=c(9222),h=c(65956),i=c(56149),j=c(9810),k=c(10694),l=c(96307),m=c(42424),n=c(49599),o=c(74113),p=c(10297);function q({projectUuid:a}){let b=(0,g.c)("tasks"),c=(0,f.useRouter)(),q=(0,f.usePathname)(),r=(0,f.useSearchParams)(),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)([]),[w,x]=(0,e.useState)(new Set),y=(0,e.useCallback)(a=>{let b=new URLSearchParams(r.toString());a.size>0?b.set("proposalUuids",Array.from(a).join(",")):b.delete("proposalUuids");let d=b.toString();c.replace(`${q}${d?`?${d}`:""}`,{scroll:!1})},[c,q,r]),z=(0,e.useCallback)(a=>{x(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),y(c),c})},[y]),A=(0,e.useCallback)(()=>{x(new Set),y(new Set)},[y]),B=w.size>0;return(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground shrink-0",children:[(0,d.jsx)(h.A,{className:"size-4"}),(0,d.jsxs)("span",{children:[b("proposalFilter.label"),":"]})]}),(0,d.jsxs)(o.AM,{open:s,onOpenChange:t,children:[(0,d.jsx)(o.Wv,{asChild:!0,children:(0,d.jsxs)(m.$,{variant:"outline",size:"sm",role:"combobox","aria-expanded":s,className:(0,l.cn)("justify-between gap-1 min-w-[120px] max-w-[200px] md:min-w-[160px] md:max-w-none",B&&"border-[#C67A52] bg-[#FFF8F4]"),children:[(0,d.jsx)("span",{className:"truncate",children:B?b("proposalFilter.filtered",{filtered:w.size,total:u.length}):b("proposalFilter.allProposals")}),(0,d.jsx)(i.A,{className:"size-4 shrink-0 opacity-50"})]})}),(0,d.jsx)(o.hl,{className:"w-[300px] p-0",align:"start",children:(0,d.jsxs)(p.uB,{children:[(0,d.jsx)(p.G7,{placeholder:b("proposalFilter.search")}),(0,d.jsxs)(p.oI,{children:[(0,d.jsx)(p.xL,{children:b("proposalFilter.noResults")}),(0,d.jsx)(p.L$,{children:u.map(a=>{let c=w.has(a.uuid);return(0,d.jsxs)(p.h_,{value:a.title,onSelect:()=>z(a.uuid),className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,d.jsx)("div",{className:(0,l.cn)("flex size-4 shrink-0 items-center justify-center rounded-sm border",c?"border-[#C67A52] bg-[#C67A52] text-white":"border-muted-foreground/30"),children:c&&(0,d.jsx)(j.A,{className:"size-3"})}),(0,d.jsx)("span",{className:"truncate",children:a.title})]}),(0,d.jsx)(n.E,{variant:"secondary",className:"ml-2 shrink-0",children:b("proposalFilter.taskCount",{count:a.taskCount})})]},a.uuid)})})]})]})})]}),B&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex flex-wrap gap-1 max-w-full",children:u.filter(a=>w.has(a.uuid)).map(a=>(0,d.jsxs)(n.E,{variant:"outline",className:"gap-1 border-[#C67A52] bg-[#FFF8F4] text-[#C67A52]",children:[a.title,(0,d.jsx)("button",{type:"button",className:"ml-0.5 rounded-full hover:bg-[#C67A52]/20",onClick:()=>z(a.uuid),children:(0,d.jsx)(k.A,{className:"size-3"})})]},a.uuid))}),(0,d.jsx)(m.$,{variant:"ghost",size:"xs",onClick:A,className:"text-muted-foreground",children:b("proposalFilter.clear")})]})]})}},63748:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{X:()=>n});var e=c(10023),f=c(66530),g=c(26555),h=c(82858),i=c(29662),j=c(71165),k=c(61413),l=c(29334),m=a([i,j,k]);async function n({projectUuid:a,initialSelectedTaskUuid:b}){let c=await (0,i.d)();c||(0,f.redirect)("/login");let d=await (0,g.A)();await (0,k.Yi)(c.companyUuid,a)||(0,f.redirect)("/projects");let{tasks:m}=await (0,j.Vk)({companyUuid:c.companyUuid,projectUuid:a,skip:0,take:1e3}),n=m.reduce((a,b)=>a+(b.storyPoints||0),0);return(0,e.jsxs)("div",{className:"flex h-full flex-col p-4 md:p-8",children:[(0,e.jsx)("div",{className:"mb-6 flex items-center justify-between",children:(0,e.jsxs)("div",{children:[(0,e.jsx)("h1",{className:"text-2xl font-semibold text-[#2C2C2C]",children:d("tasks.title")}),(0,e.jsxs)("div",{className:"mt-1 flex items-center gap-4",children:[(0,e.jsx)("p",{className:"text-sm text-[#6B6B6B]",children:d("tasks.subtitle")}),n>0&&(0,e.jsxs)("div",{className:"flex items-center gap-1.5 rounded-full bg-[#F5F2EC] px-3 py-1",children:[(0,e.jsx)(h.A,{className:"h-3.5 w-3.5 text-[#C67A52]"}),(0,e.jsxs)("span",{className:"text-xs font-medium text-[#6B6B6B]",children:[(0,e.jsx)("span",{className:"text-[#2C2C2C]",children:n.toFixed(1)})," ",d("tasks.agentHours")]})]})]})]})}),(0,e.jsx)(l.TaskViewToggle,{projectUuid:a,initialTasks:m,currentUserUuid:c.actorUuid,initialSelectedTaskUuid:b})]})}[i,j,k]=m.then?(await m)():m,d()}catch(a){d(a)}})},77219:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{XH:()=>h});var e=c(55511),f=c(71255);c(97307);var g=a([f]);f=(g.then?(await g)():g)[0];let i="cho_";function h(){var a;let b=(0,e.randomBytes)(32).toString("base64url"),c=`${i}${b}`,d=(a=c,(0,e.createHash)("sha256").update(a).digest("hex")),f=`${i}${b.slice(0,4)}...${b.slice(-4)}`;return{key:c,hash:d,prefix:f}}d()}catch(a){d(a)}})},82858:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(91533).A)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},90436:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{TaskViewToggle:()=>x});var e=c(10837),f=c(21968),g=c(1007),h=c(9222),i=c(32552),j=c(45519),k=c(33407),l=c(92900),m=c(42424),n=c(49599),o=c(35198),p=c(96013),q=c(98625),r=c(39268),s=c(5514),t=c(10422),u=c(86104),v=c(31009),w=a([s,u]);[s,u]=w.then?(await w)():w;let y={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},z={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},A=[{id:"all",labelKey:"allStatuses",statuses:[]},{id:"todo",labelKey:"todo",statuses:["open","assigned"]},{id:"in_progress",labelKey:"inProgress",statuses:["in_progress"]},{id:"to_verify",labelKey:"toVerify",statuses:["to_verify"]},{id:"done",labelKey:"done",statuses:["done","closed"]}],B={high:"bg-red-100 text-red-700",medium:"bg-yellow-100 text-yellow-700",low:"bg-blue-100 text-blue-700"};function x({projectUuid:a,initialTasks:b,currentUserUuid:c,initialSelectedTaskUuid:d}){let w=(0,h.c)(),x=(0,p.a)(),C=(0,g.useSearchParams)(),[D,E]=(0,f.useState)("kanban"),F=`/projects/${a}/tasks`,{selectedId:G,openPanel:H,closePanel:I}=(0,q.T)(F,d),J=(0,f.useMemo)(()=>{let a=C.get("proposalUuids");if(!a)return null;let b=a.split(",").filter(Boolean);return b.length>0?new Set(b):null},[C]),[K,L]=(0,f.useState)(!1),[M,N]=(0,f.useState)(0),[O,P]=(0,f.useState)("all"),Q=(0,f.useMemo)(()=>G?b.find(a=>a.uuid===G)??null:null,[G,b]),R=(0,f.useCallback)(()=>{N(a=>a+1)},[]),S=(0,f.useMemo)(()=>J?b.filter(a=>a.proposalUuid&&J.has(a.proposalUuid)):b,[b,J]),T=(0,f.useMemo)(()=>{let a=A.find(a=>a.id===O);return a&&0!==a.statuses.length?S.filter(b=>a.statuses.includes(b.status)):S},[S,O]);return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"mb-4 overflow-x-auto",children:(0,e.jsx)(r.T,{projectUuid:a})}),(0,e.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-[#F5F2EC] p-1 w-fit",children:[x&&(0,e.jsxs)(m.$,{variant:"ghost",size:"sm",className:`h-8 gap-1.5 rounded-md px-3 text-xs ${"list"===D?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"}`,onClick:()=>E("list"),children:[(0,e.jsx)(i.A,{className:"h-3.5 w-3.5"}),w("tasks.listView")]}),!x&&(0,e.jsxs)(m.$,{variant:"ghost",size:"sm",className:`h-8 gap-1.5 rounded-md px-3 text-xs ${"kanban"===D?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"}`,onClick:()=>E("kanban"),children:[(0,e.jsx)(j.A,{className:"h-3.5 w-3.5"}),w("tasks.kanbanView")]}),(0,e.jsxs)(m.$,{variant:"ghost",size:"sm",className:`h-8 gap-1.5 rounded-md px-3 text-xs ${"dag"===D?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"}`,onClick:()=>E("dag"),children:[(0,e.jsx)(k.A,{className:"h-3.5 w-3.5"}),w("tasks.dagView")]})]}),(0,e.jsxs)(m.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:()=>{I(),L(!0)},children:[(0,e.jsx)(l.A,{className:"mr-2 h-4 w-4"}),w("tasks.newTask")]})]}),"list"===D?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"mb-4 flex gap-1 overflow-x-auto border-b border-[#E5E0D8] pb-2",children:A.map(a=>{let b=0===a.statuses.length?S.length:S.filter(b=>a.statuses.includes(b.status)).length;return(0,e.jsxs)(m.$,{variant:"ghost",size:"sm",className:`h-8 shrink-0 rounded-md px-3 text-xs ${O===a.id?"bg-[#F5F2EC] text-[#2C2C2C] font-medium":"text-[#6B6B6B] hover:text-[#2C2C2C]"}`,onClick:()=>P(a.id),children:["all"===a.id?w(`tasks.${a.labelKey}`):w(`status.${a.labelKey}`),(0,e.jsx)("span",{className:"ml-1.5 rounded-full bg-white px-1.5 py-0.5 text-[10px] font-medium text-[#6B6B6B]",children:b})]},a.id)})}),(0,e.jsx)("div",{className:"flex-1 space-y-2 overflow-y-auto",children:0===T.length?(0,e.jsx)(v.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-[#E5E0D8] text-sm text-[#9A9A9A]",children:w("tasks.noTasks")}):T.map(a=>(0,e.jsxs)(o.Zp,{className:"cursor-pointer border-[#E5E0D8] bg-white p-4 transition-all hover:border-[#C67A52] hover:shadow-sm",onClick:()=>H(a.uuid),children:[(0,e.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,e.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,e.jsx)("h4",{className:"font-medium text-[#2C2C2C] truncate",children:a.title}),a.description&&(0,e.jsx)("p",{className:"mt-1 line-clamp-1 text-sm text-[#6B6B6B]",children:a.description})]}),(0,e.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[null!=a.storyPoints&&a.storyPoints>0&&(0,e.jsxs)("span",{className:"rounded bg-[#FFF3E0] px-2 py-0.5 text-xs font-medium text-[#E65100]",children:[a.storyPoints,"h"]}),(0,e.jsx)(n.E,{className:B[a.priority]||"",children:w(`priority.${a.priority}`)}),(0,e.jsx)(n.E,{className:y[a.status]||"",children:w(`status.${z[a.status]||a.status}`)})]})]}),a.assignee&&(0,e.jsx)("div",{className:"mt-2 flex items-center gap-1.5 text-xs text-[#9A9A9A]",children:(0,e.jsx)("span",{className:"truncate",children:a.assignee.name})})]},a.uuid))}),Q&&(0,e.jsx)(u.v,{task:Q,projectUuid:a,currentUserUuid:c,onClose:I,onDependencyChange:R})]}):"kanban"===D?(0,e.jsx)(s.y,{projectUuid:a,initialTasks:S,currentUserUuid:c,selectedTaskUuid:G,onTaskSelect:H,onPanelClose:I,proposalUuidFilter:J}):(0,e.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,e.jsx)(t.i,{projectUuid:a,onTaskSelect:a=>H(a),refreshKey:M}),Q&&(0,e.jsx)(u.v,{task:Q,projectUuid:a,currentUserUuid:c,onClose:I,onDependencyChange:R})]}),K&&!Q&&(0,e.jsx)(u.v,{task:null,projectUuid:a,currentUserUuid:c,onClose:()=>L(!1),onCreated:()=>L(!1)})]})}d()}catch(a){d(a)}})},91533:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(73426);let e=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),f=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var g={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let h=(0,d.forwardRef)(({color:a="currentColor",size:b=24,strokeWidth:c=2,absoluteStrokeWidth:f,className:h="",children:i,iconNode:j,...k},l)=>(0,d.createElement)("svg",{ref:l,...g,width:b,height:b,stroke:a,strokeWidth:f?24*Number(c)/Number(b):c,className:e("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,b])=>(0,d.createElement)(a,b)),...Array.isArray(i)?i:[i]])),i=(a,b)=>{let c=(0,d.forwardRef)(({className:c,...g},i)=>(0,d.createElement)(h,{ref:i,iconNode:b,className:e(`lucide-${f(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,c),...g}));return c.displayName=f(a),c}},91847:(a,b,c)=>{"use strict";c.d(b,{y:()=>e});var d=c(42377);let e=(0,d.createServerReference)("70e5269e3f3e0c59989139fc1a9ff907471f9d30d8",d.callServer,void 0,d.findSourceMapURL,"moveTaskToColumnAction")},96013:(a,b,c)=>{"use strict";c.d(b,{a:()=>e});var d=c(21968);function e(){let[a,b]=(0,d.useState)(!1);return a}}};
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[19126],{11514:(e,s,t)=>{"use strict";t.d(s,{IdeasList:()=>S});var a=t(90508),i=t(1856),n=t(12790),r=t.n(n),l=t(39268),c=t(5425),o=t(94903),d=t(43057),m=t(56770),u=t(48416),x=t(57731),h=t(73693),p=t(97261),b=t(23588),v=t(63964),j=t(81531),g=t(96213),N=t(16544),f=t(65626);function A(e){let{children:s,className:t}=e;return(0,a.jsx)(N.P.div,{variants:f.bK,initial:"initial",animate:"animate",className:t,children:s})}function w(e){let{children:s,className:t}=e;return(0,a.jsx)(N.P.div,{variants:f.Rf,className:t,children:s})}var C=t(52217);let y=(0,C.createServerReference)("4087e40dae1269b2ba2a062b4df8bea0c9964d2c3d",C.callServer,void 0,C.findSourceMapURL,"fetchIdeasAction");var E=t(38106);let F={open:{dot:"bg-[#2563EB]",className:"bg-[#DBEAFE] text-[#1D4ED8] border-transparent"},elaborating:{dot:"bg-[#1976D2]",className:"bg-[#E3F2FD] text-[#1976D2] border-transparent"},proposal_created:{dot:"bg-[#FF9800]",className:"bg-[#FFF3E0] text-[#E65100] border-transparent"},completed:{dot:"bg-[#4CAF50]",className:"bg-[#E8F5E9] text-[#2E7D32] border-transparent"},closed:{dot:"bg-[#9A9A9A]",className:"bg-[#F5F5F5] text-[#6B6B6B] border-transparent"}},P={open:"open",elaborating:"elaborating",proposal_created:"proposal_created",completed:"completed",closed:"closed"};function S(e){let{ideas:s,projectUuid:t,currentUserUuid:n,usedIdeaUuids:N,ideaProposalMap:f,initialSelectedIdeaUuid:C}=e,S=(0,l.c)(),[k,B]=(0,i.useState)(s),[D,R]=(0,i.useState)(N),[U,_]=(0,i.useState)(f);(0,i.useEffect)(()=>{B(s)},[s]),(0,i.useEffect)(()=>{R(N)},[N]),(0,i.useEffect)(()=>{_(f)},[f]);let L=(0,i.useCallback)(async()=>{let e=await y(t);e.success&&(B(e.data.ideas),R(e.data.usedIdeaUuids),_(e.data.ideaProposalMap))},[t]);(0,v.eV)("idea",L);let M="/projects/".concat(t,"/ideas"),{selectedId:T,openPanel:z,closePanel:$}=(0,j.T)(M,C),I=new Set(D);(0,i.useEffect)(()=>{T&&!k.some(e=>e.uuid===T)&&$()},[T,k,$]);let q=(0,i.useMemo)(()=>{var e;return T&&null!=(e=k.find(e=>e.uuid===T))?e:null},[T,k]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(A,{className:"space-y-4",children:k.map(e=>{var s,i;let n=F[e.status]||F.open,l=I.has(e.uuid);return(0,a.jsx)(w,{children:(0,a.jsx)(g.D,{entityType:"idea",entityUuid:e.uuid,children:(0,a.jsxs)(u.Zp,{className:"cursor-pointer border-[#E5E0D8] py-4 transition-all hover:border-[#C67A52]/50 hover:shadow-sm",onClick:()=>z(e.uuid),children:[(0,a.jsxs)(u.aR,{className:"gap-0 py-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(h.eu,{size:"sm",children:(0,a.jsx)(h.q5,{className:"bg-[#E5E0D8] text-[#6B6B6B]",children:(null==(s=e.createdBy)?void 0:s.type)==="agent"?(0,a.jsx)(c.A,{className:"h-3 w-3"}):(0,a.jsx)(o.A,{className:"h-3 w-3"})})}),(0,a.jsx)("span",{className:"text-[11px] text-[#6B6B6B]",children:(null==(i=e.createdBy)?void 0:i.name)||S("common.unknown")}),(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:"•"}),(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:function(e,s){let t=new Date(e),a=new Date().getTime()-t.getTime(),i=Math.floor(a/6e4),n=Math.floor(a/36e5),r=Math.floor(a/864e5);return i<1?s("time.justNow"):i<60?s("time.minutesAgo",{minutes:i}):n<24?s("time.hoursAgo",{hours:n}):r<7?s("time.daysAgo",{days:r}):(0,E.r)(t)}(e.createdAt,S)})]}),(0,a.jsx)(u.X9,{children:(0,a.jsxs)(x.E,{className:"gap-1.5 text-[10px] ".concat(n.className),children:[(0,a.jsx)("span",{className:"h-1.5 w-1.5 rounded-full ".concat(n.dot)}),l?S("ideas.proposalGenerated"):S("status.".concat(P[e.status]||e.status))]})})]}),(0,a.jsxs)(u.Wu,{className:"space-y-2 py-0",children:[e.assignee&&(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("span",{className:"text-[11px] text-[#9A9A9A]",children:[S("ideas.assignedTo"),":"]}),(0,a.jsxs)(x.E,{className:"gap-1.5 bg-[#F0F9FF] text-[#0284C7] border-transparent text-[10px]",children:[(0,a.jsx)(c.A,{className:"h-3 w-3"}),e.assignee.name]})]}),(0,a.jsx)("h3",{className:"text-sm font-medium text-[#2C2C2C]",children:e.title}),e.content&&(0,a.jsx)("div",{className:"prose prose-sm max-w-none line-clamp-3 text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,a.jsx)(p.MarkdownContent,{children:e.content})})]}),(0,a.jsxs)(u.wL,{className:"gap-4 py-0 text-[#6B6B6B]",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(d.A,{className:"h-3.5 w-3.5"}),(0,a.jsxs)("span",{className:"text-xs",children:[e.commentCount," ",S("comments.title").toLowerCase()]})]}),l&&U[e.uuid]&&(0,a.jsxs)(r(),{href:"/projects/".concat(t,"/proposals/").concat(U[e.uuid]),onClick:e=>e.stopPropagation(),className:"flex items-center gap-1.5 text-[#C67A52] hover:text-[#B56A42] transition-colors",children:[(0,a.jsx)(m.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"text-xs font-medium",children:S("ideas.viewProposal")})]})]})]})})},e.uuid)})}),q&&(0,a.jsx)(b.D,{idea:q,projectUuid:t,currentUserUuid:n,isUsedInProposal:I.has(q.uuid),onClose:$,onDeleted:$})]})}},19126:(e,s,t)=>{Promise.resolve().then(t.bind(t,52053)),Promise.resolve().then(t.bind(t,90299)),Promise.resolve().then(t.bind(t,65514)),Promise.resolve().then(t.bind(t,98861)),Promise.resolve().then(t.bind(t,38476)),Promise.resolve().then(t.bind(t,74542)),Promise.resolve().then(t.bind(t,71350)),Promise.resolve().then(t.bind(t,39025)),Promise.resolve().then(t.bind(t,75368)),Promise.resolve().then(t.bind(t,89684)),Promise.resolve().then(t.bind(t,58057)),Promise.resolve().then(t.bind(t,6512)),Promise.resolve().then(t.bind(t,25051)),Promise.resolve().then(t.bind(t,4374)),Promise.resolve().then(t.bind(t,19345)),Promise.resolve().then(t.bind(t,79919)),Promise.resolve().then(t.bind(t,17533)),Promise.resolve().then(t.bind(t,99545)),Promise.resolve().then(t.bind(t,63197)),Promise.resolve().then(t.bind(t,65326)),Promise.resolve().then(t.bind(t,48218)),Promise.resolve().then(t.bind(t,56260)),Promise.resolve().then(t.bind(t,60322)),Promise.resolve().then(t.bind(t,79834)),Promise.resolve().then(t.bind(t,6947)),Promise.resolve().then(t.bind(t,88878)),Promise.resolve().then(t.bind(t,34857)),Promise.resolve().then(t.bind(t,97006)),Promise.resolve().then(t.bind(t,45841)),Promise.resolve().then(t.t.bind(t,12790,23)),Promise.resolve().then(t.bind(t,32901)),Promise.resolve().then(t.bind(t,11514)),Promise.resolve().then(t.bind(t,58866))},23588:(e,s,t)=>{"use strict";t.d(s,{D:()=>J});var a=t(90508),i=t(1856),n=t(23675),r=t(12790),l=t.n(r),c=t(39268),o=t(95900),d=t(57893),m=t(9160),u=t(5425),x=t(85226),h=t(60532),p=t(94903),b=t(56770),v=t(97413),j=t(57731),g=t(22922),N=t(14554),f=t(15972),A=t(88064),w=t(64993),C=t(51817),y=t(73693),E=t(72642),F=t(35680),P=t(71645),S=t(77381),k=t(97261),B=t(10836),D=t(98480),R=t(26468),U=t(49192),_=t(52217);let L=(0,_.createServerReference)("60c43a9f2b19ee7b3969eed5e9b23569c77064677e",_.callServer,void 0,_.findSourceMapURL,"skipElaborationAction");var M=t(63964),T=t(16544),z=t(65626),$=t(38106);let I={open:"bg-[#FFF3E0] text-[#E65100]",elaborating:"bg-[#E3F2FD] text-[#1976D2]",elaborated:"bg-[#E0F2F1] text-[#00796B]"},q={open:"open",elaborating:"elaborating",elaborated:"elaborated"};function J(e){var s;let{idea:t,projectUuid:r,currentUserUuid:_,isUsedInProposal:J,onClose:Z,onDeleted:O}=e,G=(0,c.c)(),V=(0,n.useRouter)(),[W,H]=(0,i.useState)([]),[K,X]=(0,i.useState)(!0),[Y,Q]=(0,i.useState)(!1),[ee,es]=(0,i.useState)(null),et=(0,i.useCallback)(async()=>{let e=await (0,U.z)(t.uuid);e.success&&e.data&&es(e.data)},[t.uuid]);(0,i.useEffect)(()=>{et()},[et]),(0,M.eV)("idea",et);let[ea,ei]=(0,i.useState)(!1),[en,er]=(0,i.useState)(""),[el,ec]=(0,i.useState)(!1),[eo,ed]=(0,i.useState)(null),[em,eu]=(0,i.useState)(!1),[ex,eh]=(0,i.useState)(t.title),[ep,eb]=(0,i.useState)(t.content||""),[ev,ej]=(0,i.useState)(!1),[eg,eN]=(0,i.useState)(null),[ef,eA]=(0,i.useState)(!1),[ew,eC]=(0,i.useState)(!1),[ey,eE]=(0,i.useState)(!1);(0,i.useEffect)(()=>{let e=setTimeout(()=>eE(!0),300);return()=>clearTimeout(e)},[]);let eF="elaborated"!==t.status,eP="resolved"===t.elaborationStatus,eS=("elaborating"===t.status||"elaborated"===t.status)&&eP,ek="elaborating"===t.status&&(!t.elaborationStatus||"resolved"!==t.elaborationStatus)&&(null==(s=t.assignee)?void 0:s.uuid)===_,eB="elaborated"!==t.status;(0,i.useEffect)(()=>{!async function(){X(!0),H((await (0,F.x)(t.uuid)).activities),X(!1)}()},[t.uuid]),(0,i.useEffect)(()=>{eu(!1),eh(t.title),eb(t.content||""),eN(null)},[t.uuid,t.title,t.content]);let eD=()=>{eu(!1),eh(t.title),eb(t.content||""),eN(null)},eR=async()=>{if(!ex.trim())return void eN(G("ideas.titleRequired"));ej(!0),eN(null);let e=await (0,P.J)({ideaUuid:t.uuid,projectUuid:r,title:ex.trim(),content:ep.trim()||null});ej(!1),e.success?(eu(!1),V.refresh()):eN(e.error||G("ideas.updateFailed"))},eU=async()=>{eA(!0);let e=await (0,S.Z)(t.uuid,r);eA(!1),e.success&&(null==O||O(),Z(),V.refresh())},e_=async()=>{if(!en.trim())return void ed(G("elaboration.skipReasonRequired"));ec(!0),ed(null);let e=await L(t.uuid,en.trim());ec(!1),e.success?(ei(!1),er(""),V.refresh()):ed(e.error||G("common.genericError"))};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:Z}),(0,a.jsxs)("div",{className:"fixed right-0 top-14 md:top-0 z-50 flex h-[calc(100%-3.5rem)] md:h-full w-full md:w-[480px] flex-col bg-white shadow-xl border-l border-[#E5E0D8] ".concat(ey?"":"animate-in slide-in-from-right duration-300"),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-[#F5F2EC] px-6 py-5",children:[(0,a.jsx)("div",{className:"flex-1 min-w-0",children:em?(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:G("ideas.editIdea")}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C] truncate",children:t.title}),(0,a.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,a.jsx)(j.E,{className:I[t.status]||"",children:G("status.".concat(q[t.status]||t.status))}),(0,a.jsx)("span",{className:"text-xs text-[#9A9A9A]",children:(0,$.r)(t.createdAt)})]})]})}),(0,a.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[!em&&(0,a.jsx)(g.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:()=>eC(!0),title:G("ideas.actions.move"),"aria-label":G("ideas.actions.move"),children:(0,a.jsx)(o.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),eB&&!em&&(0,a.jsx)(g.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:()=>{eh(t.title),eb(t.content||""),eN(null),eu(!0)},children:(0,a.jsx)(d.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),(0,a.jsx)(g.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:em?eD:Z,children:(0,a.jsx)(m.A,{className:"h-4 w-4 text-[#6B6B6B]"})})]})]}),(0,a.jsx)(w.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,a.jsx)("div",{className:"flex min-h-full flex-col px-6 py-5",children:em?(0,a.jsxs)("div",{className:"space-y-5",children:[eg&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:eg}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(A.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:G("ideas.titleLabel")}),(0,a.jsx)(N.p,{id:"edit-title",value:ex,onChange:e=>eh(e.target.value),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]",autoFocus:!0})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(A.J,{htmlFor:"edit-content",className:"text-[13px] font-medium text-[#2C2C2C]",children:G("common.content")}),(0,a.jsx)(f.T,{id:"edit-content",value:ep,onChange:e=>eb(e.target.value),rows:8,className:"border-[#E5E0D8] text-sm resize-none focus-visible:ring-[#C67A52]"})]})]}):(0,a.jsxs)(T.P.div,{variants:z.qG,initial:"initial",animate:"animate",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:G("common.assignee")}),(0,a.jsx)("div",{className:"mt-2 flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-3",children:t.assignee?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y.eu,{className:"h-7 w-7",children:(0,a.jsx)(y.q5,{className:"agent"===t.assignee.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]",children:"agent"===t.assignee.type?(0,a.jsx)(u.A,{className:"h-3.5 w-3.5"}):t.assignee.name.charAt(0).toUpperCase()})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-[#2C2C2C]",children:t.assignee.name}),(0,a.jsx)("div",{className:"text-xs text-[#6B6B6B]",children:"agent"===t.assignee.type?"".concat(G("common.agent")," • ").concat(t.assignee.assignedAt?(0,$.r)(t.assignee.assignedAt):""):G("common.user")})]})]}):(0,a.jsx)("span",{className:"text-sm text-[#9A9A9A]",children:G("common.unassigned")})})]}),ee&&ee.rounds.length>0&&(0,a.jsx)("div",{className:"mt-5",children:(0,a.jsx)(R.R,{ideaUuid:t.uuid,elaboration:ee,onRefresh:async()=>{let e=await (0,U.z)(t.uuid);e.success&&e.data&&es(e.data)}})}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:G("common.content")}),(0,a.jsx)("div",{className:"mt-2",children:t.content?(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,a.jsx)(k.MarkdownContent,{children:t.content})}):(0,a.jsx)("p",{className:"text-sm italic text-[#9A9A9A]",children:G("common.noContent")})})]}),(0,a.jsxs)("div",{className:"mt-5 flex-1",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:G("common.activity")}),(0,a.jsx)("div",{className:"mt-2 space-y-3",children:K?(0,a.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,a.jsx)(x.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):0===W.length?(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A] italic",children:G("common.noActivity")}):W.map(e=>(0,a.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,a.jsx)("div",{className:"mt-1.5 h-2 w-2 shrink-0 rounded-full bg-[#9A9A9A]"}),(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("p",{className:"text-[13px] text-[#2C2C2C]",children:function(e,s){let{action:t,actorName:a}=e;switch(t){case"created":case"idea_created":return s("activity.ideaCreated",{actor:a});case"assigned":case"idea_assigned":return s("activity.ideaAssigned",{actor:a});case"claimed":case"idea_claimed":return s("activity.ideaClaimed",{actor:a});case"released":case"idea_released":return s("activity.ideaReleased",{actor:a});case"status_changed":case"idea_status_changed":return s("activity.ideaStatusChanged",{actor:a});case"elaboration_started":return s("activity.elaborationStarted",{actor:a});case"elaboration_answered":return s("activity.elaborationAnswered",{actor:a});case"elaboration_skipped":return s("activity.elaborationSkipped",{actor:a});case"elaboration_resolved":return s("activity.elaborationResolved",{actor:a});case"elaboration_followup":return s("activity.elaborationFollowup",{actor:a});default:return"".concat(a,": ").concat(t)}}(e,G)}),(0,a.jsx)("p",{className:"text-[11px] text-[#9A9A9A]",children:function(e,s){let t=new Date(e),a=new Date().getTime()-t.getTime(),i=Math.floor(a/6e4),n=Math.floor(a/36e5),r=Math.floor(a/864e5);return i<1?s("time.justNow"):i<60?s("time.minutesAgo",{minutes:i}):n<24?s("time.hoursAgo",{hours:n}):r<7?s("time.daysAgo",{days:r}):(0,$.r)(t)}(e.createdAt,G)})]})]},e.uuid))})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:G("comments.title")}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(E.$,{targetType:"idea",targetUuid:t.uuid,currentUserUuid:_,compact:!0})})]})]})})}),(0,a.jsx)("div",{className:"border-t border-[#F5F2EC] px-6 py-4",children:(0,a.jsx)("div",{className:"flex items-center justify-between gap-3",children:em?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:eD,disabled:ev,children:G("common.cancel")}),(0,a.jsx)(g.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:eR,disabled:ev||!ex.trim(),children:ev?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(x.A,{className:"mr-2 h-4 w-4 animate-spin"}),G("common.saving")]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.A,{className:"mr-2 h-4 w-4"}),G("ideas.saveChanges")]})})]}):(0,a.jsxs)(a.Fragment,{children:[eF&&(0,a.jsxs)(g.$,{variant:"outline",className:"shrink-0 border-[#E5E0D8] rounded-md px-4 py-2 text-[13px] font-medium",onClick:()=>Q(!0),children:[(0,a.jsx)(p.A,{className:"mr-2 h-4 w-4"}),t.assignee?G("common.reassign"):G("common.assign")]}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[ek&&(0,a.jsx)(g.$,{variant:"outline",size:"sm",className:"border-[#E5E0D8]",onClick:()=>{er(""),ed(null),ei(!0)},children:G("elaboration.skipButton")}),eS&&(0,a.jsx)(l(),{href:"/projects/".concat(r,"/proposals/new?ideaUuid=").concat(t.uuid),children:(0,a.jsxs)(g.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:[(0,a.jsx)(b.A,{className:"mr-2 h-4 w-4"}),G("proposals.createProposal")]})}),"elaborating"===t.status&&!eP&&!ek&&(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:G("elaboration.elaborationRequiredHint")})]}),(0,a.jsxs)(C.Lt,{children:[(0,a.jsx)(C.tv,{asChild:!0,children:(0,a.jsx)(g.$,{variant:"outline",size:"icon",className:"shrink-0 h-8 w-8 border-[#E5E0D8] text-[#EF4444] hover:bg-[#FFEBEE] hover:text-[#EF4444] hover:border-[#EF4444]",children:(0,a.jsx)(v.A,{className:"h-4 w-4"})})}),(0,a.jsxs)(C.EO,{children:[(0,a.jsxs)(C.wd,{children:[(0,a.jsx)(C.r7,{children:G("ideas.deleteIdea")}),(0,a.jsx)(C.$v,{children:G("ideas.deleteIdeaConfirm",{title:t.title})})]}),(0,a.jsxs)(C.ck,{children:[(0,a.jsx)(C.Zr,{children:G("common.cancel")}),(0,a.jsx)(C.Rx,{variant:"destructive",onClick:eU,disabled:ef,children:ef?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(x.A,{className:"mr-2 h-4 w-4 animate-spin"}),G("common.delete")]}):G("common.delete")})]})]})]})]})})})]}),(0,a.jsx)(C.Lt,{open:ea,onOpenChange:ei,children:(0,a.jsxs)(C.EO,{children:[(0,a.jsxs)(C.wd,{children:[(0,a.jsx)(C.r7,{children:G("elaboration.skipConfirmTitle")}),(0,a.jsx)(C.$v,{children:G("elaboration.skipConfirmDescription")})]}),(0,a.jsxs)("div",{className:"space-y-2 py-2",children:[(0,a.jsx)(A.J,{htmlFor:"skip-reason",className:"text-[13px] font-medium text-[#2C2C2C]",children:G("elaboration.skipReasonLabel")}),(0,a.jsx)(N.p,{id:"skip-reason",value:en,onChange:e=>{er(e.target.value),eo&&ed(null)},placeholder:G("elaboration.skipReasonPlaceholder"),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]",autoFocus:!0}),eo&&(0,a.jsx)("p",{className:"text-xs text-destructive",children:eo})]}),(0,a.jsxs)(C.ck,{children:[(0,a.jsx)(C.Zr,{disabled:el,children:G("common.cancel")}),(0,a.jsx)(C.Rx,{onClick:e=>{e.preventDefault(),e_()},disabled:el||!en.trim(),className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:el?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(x.A,{className:"mr-2 h-4 w-4 animate-spin"}),G("common.processing")]}):G("elaboration.skipButton")})]})]})}),(0,a.jsx)(D.h,{open:ew,onOpenChange:eC,ideaUuid:t.uuid,projectUuid:r,onMoved:()=>{Z()}}),Y&&(0,a.jsx)(B.i,{idea:{uuid:t.uuid,title:t.title,content:t.content,status:t.status,assignee:t.assignee?{type:t.assignee.type,uuid:t.assignee.uuid,name:t.assignee.name}:null},projectUuid:r,currentUserUuid:_,onClose:()=>{Q(!1),Z()}})]})}},32901:(e,s,t)=>{"use strict";t.d(s,{IdeaCreateForm:()=>j});var a=t(90508),i=t(1856),n=t(23675),r=t(39268),l=t(22922),c=t(14554),o=t(15972),d=t(88064),m=t(48416),u=t(67103),x=t(16544),h=t(60532),p=t(85226),b=t(52217);let v=(0,b.createServerReference)("40d8931a3475dbbcf7539393182192df2d87fd982d",b.callServer,void 0,b.findSourceMapURL,"createIdeaAction");function j(e){let{projectUuid:s}=e,t=(0,r.c)(),b=(0,n.useRouter)(),[j,g]=(0,i.useTransition)(),[N,f]=(0,i.useState)(""),[A,w]=(0,i.useState)(""),[C,y]=(0,i.useState)(null),[E,F]=(0,i.useState)(!1),P=async e=>{if(e.preventDefault(),y(null),!N.trim())return void y(t("ideas.titleRequired"));g(async()=>{try{let e=await v({projectUuid:s,title:N.trim(),content:A.trim()||void 0});e.success?(F(!0),setTimeout(()=>{f(""),w(""),b.refresh(),F(!1)},600)):y(e.error||t("ideas.createFailed"))}catch(e){y(t("common.genericError"))}})};return(0,a.jsx)(m.Zp,{className:"border-[#E5E0D8] rounded-2xl py-5",children:(0,a.jsx)(m.Wu,{children:(0,a.jsxs)("form",{onSubmit:P,className:"space-y-4",children:[C&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:C}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(d.J,{htmlFor:"idea-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:t("ideas.titleLabel")}),(0,a.jsx)(c.p,{id:"idea-title",value:N,onChange:e=>f(e.target.value),placeholder:t("ideas.whatIsYourIdea"),className:"border-[#E5E0D8] text-sm",required:!0})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(d.J,{htmlFor:"idea-content",className:"text-[13px] font-medium text-[#2C2C2C]",children:t("common.content")}),(0,a.jsx)(o.T,{id:"idea-content",value:A,onChange:e=>w(e.target.value),placeholder:t("ideas.addMoreDetails"),rows:2,className:"border-[#E5E0D8] text-sm resize-none"})]})]}),(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsx)(l.$,{type:"submit",disabled:j||E||!N.trim(),size:"sm",className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:(0,a.jsx)(u.N,{mode:"wait",children:E?(0,a.jsx)(x.P.span,{initial:{opacity:0,scale:.5},animate:{opacity:1,scale:1},exit:{opacity:0},transition:{duration:.15},className:"flex items-center gap-2",children:(0,a.jsx)(h.A,{className:"h-3.5 w-3.5"})},"success"):j?(0,a.jsxs)(x.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,a.jsx)(p.A,{className:"h-4 w-4 animate-spin"}),t("common.creating")]},"loading"):(0,a.jsx)(x.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},children:t("ideas.submit")},"idle")})})})]})})})}},58866:(e,s,t)=>{"use strict";t.d(s,{AnimatedEmptyState:()=>n});var a=t(90508),i=t(16544);function n(e){let{children:s}=e;return(0,a.jsx)(i.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},children:s})}},81531:(e,s,t)=>{"use strict";t.d(s,{T:()=>i});var a=t(1856);function i(e,s){let[t,i]=(0,a.useState)(null!=s?s:null),[n,r]=(0,a.useState)(()=>new URLSearchParams(window.location.search).get("tab")),l=(0,a.useCallback)((s,t)=>{let a=new URLSearchParams(window.location.search);s?a.set("panel",s):a.delete("panel"),t?a.set("tab",t):a.delete("tab");let i=a.toString();return i?"".concat(e,"?").concat(i):e},[e]),c=(0,a.useCallback)((e,s)=>{let t=l(e,s);window.history.replaceState(null,"",t),i(e),r(null!=s?s:null)},[l]),o=(0,a.useCallback)(()=>{let e=l(null);window.history.replaceState(null,"",e),i(null),r(null)},[l]),d=(0,a.useCallback)(e=>{if(!t)return;let s=l(t,e);window.history.replaceState(null,"",s),r(e)},[l,t]);return(0,a.useEffect)(()=>{function e(){let e=new URLSearchParams(window.location.search),s=e.get("panel");s?(i(s),r(e.get("tab"))):(i(null),r(null))}return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[]),{selectedId:t,selectedTab:n,openPanel:c,closePanel:o,switchTab:d}}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44046],{22922:(e,t,n)=>{n.d(t,{$:()=>i});var r=n(90508);n(1856);var a=n(49499),o=n(54154),s=n(24377);let l=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-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",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function i(e){let{className:t,variant:n="default",size:a="default",asChild:i=!1,...c}=e,d=i?o.bL:"button";return(0,r.jsx)(d,{"data-slot":"button","data-variant":n,"data-size":a,className:(0,s.cn)(l({variant:n,size:a,className:t})),...c})}},24377:(e,t,n)=>{n.d(t,{cn:()=>o});var r=n(49251),a=n(58849);function o(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.QP)((0,r.$)(t))}},30423:(e,t,n)=>{n.d(t,{j:()=>a});let r=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function a(e){let t=function(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)}(e)%r.length;return r[t]}},38106:(e,t,n)=>{function r(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0");return"".concat(n,"-").concat(r,"-").concat(a," ").concat(o,":").concat(s)}function a(e,t){let n="string"==typeof e?new Date(e):e;return isNaN(n.getTime())?"":n.toLocaleDateString(t,{month:"short",day:"numeric"})}n.d(t,{r:()=>r,s:()=>a})},42305:(e,t,n)=>{n.d(t,{P:()=>r});function r(e){return("nativeEvent"in e?e.nativeEvent:e).isComposing||229===e.keyCode}},47754:(e,t,n)=>{n.d(t,{fv:()=>x,xQ:()=>h});var r=n(1856),a=n(63964);let o=new Map,s=new Map,l=new Map,i=new Set,c=0;function d(e,t,n,r){return n?r?"".concat(e,":").concat(t,":").concat(n,":").concat(r):"".concat(e,":").concat(t,":").concat(n):"".concat(e,":").concat(t)}function u(){c++,i.forEach(e=>e())}function m(e){var t;let n=e.subEntityType,r=e.subEntityUuid,a=d(e.entityType,e.entityUuid,n,r),i=function(e,t,n,r,a){let o=d(e,t,r,a);return"".concat(o,":").concat(n)}(e.entityType,e.entityUuid,e.agentUuid,n,r),c=s.get(i);if(c&&Date.now()-c<3e3)return;s.set(i,Date.now());let m={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},f=(null!=(t=o.get(a))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);f.push(m),o.set(a,f);let p=l.get(i);p&&clearTimeout(p);let x=setTimeout(()=>{let t=o.get(a);if(t){let n=t.filter(t=>t.agentUuid!==e.agentUuid);0===n.length?o.delete(a):o.set(a,n)}s.delete(i),l.delete(i),u()},3e3);l.set(i,x),u()}function f(){return c}function p(e){return i.add(e),()=>{i.delete(e)}}function x(e){m({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function h(){return(0,r.useSyncExternalStore)(p,f,f),(0,a.S2)(m),{getPresence:(e,t,n,r)=>{if(n){var a;return null!=(a=o.get(d(e,t,n,r)))?a:[]}let s="".concat(e,":").concat(t),l=new Map;for(let[e,t]of o)if(e===s||e.startsWith(s+":"))for(let e of t){let t=l.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&l.set(e.agentUuid,e)}return[...l.values()]}}}},48416:(e,t,n)=>{n.d(t,{BT:()=>i,Wu:()=>d,X9:()=>c,ZB:()=>l,Zp:()=>o,aR:()=>s,wL:()=>u});var r=n(90508);n(1856);var a=n(24377);function o(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...n})}function s(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,a.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",t),...n})}function l(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...n})}function i(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...n})}function c(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-action",className:(0,a.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",t),...n})}function d(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...n})}function u(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-footer",className:(0,a.cn)("flex items-center px-6 [.border-t]:pt-6",t),...n})}},51817:(e,t,n)=>{n.d(t,{$v:()=>x,EO:()=>u,Lt:()=>l,Rx:()=>h,Zr:()=>g,ck:()=>f,r7:()=>p,tv:()=>i,wd:()=>m});var r=n(90508);n(1856);var a=n(90299),o=n(24377),s=n(22922);function l(e){let{...t}=e;return(0,r.jsx)(a.Root,{"data-slot":"alert-dialog",...t})}function i(e){let{...t}=e;return(0,r.jsx)(a.Trigger,{"data-slot":"alert-dialog-trigger",...t})}function c(e){let{...t}=e;return(0,r.jsx)(a.Portal,{"data-slot":"alert-dialog-portal",...t})}function d(e){let{className:t,...n}=e;return(0,r.jsx)(a.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...n})}function u(e){let{className:t,size:n="default",...s}=e;return(0,r.jsxs)(c,{children:[(0,r.jsx)(d,{}),(0,r.jsx)(a.Content,{"data-slot":"alert-dialog-content","data-size":n,className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg",t),...s})]})}function m(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,o.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",t),...n})}function f(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",t),...n})}function p(e){let{className:t,...n}=e;return(0,r.jsx)(a.Title,{"data-slot":"alert-dialog-title",className:(0,o.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",t),...n})}function x(e){let{className:t,...n}=e;return(0,r.jsx)(a.Description,{"data-slot":"alert-dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...n})}function h(e){let{className:t,variant:n="default",size:l="default",...i}=e;return(0,r.jsx)(s.$,{variant:n,size:l,asChild:!0,children:(0,r.jsx)(a.Action,{"data-slot":"alert-dialog-action",className:(0,o.cn)(t),...i})})}function g(e){let{className:t,variant:n="outline",size:l="default",...i}=e;return(0,r.jsx)(s.$,{variant:n,size:l,asChild:!0,children:(0,r.jsx)(a.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,o.cn)(t),...i})})}},63964:(e,t,n)=>{n.d(t,{S2:()=>c,eV:()=>i,l9:()=>l,tS:()=>s,w0:()=>d});var r=n(90508),a=n(1856);n(23675);let o=(0,a.createContext)(null);function s(e){let{projectUuid:t,children:n}=e,s=(0,a.useRef)(new Set),l=(0,a.useRef)(new Set),i=(0,a.useRef)(new Set),c=(0,a.useCallback)(()=>{s.current.forEach(e=>e())},[]),d=(0,a.useCallback)(e=>{l.current.forEach(t=>t(e))},[]);(0,a.useEffect)(()=>{let e,n=null,r=0,a={};function o(){s(),(n=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let n=null;try{n=JSON.parse(t.data)}catch(e){return}if(!n)return;if("presence"===n.type)return void i.current.forEach(e=>e(n));let o=n;clearTimeout(e);let s=Date.now(),l=s-r;l>=3e3?(r=s,c()):e=setTimeout(()=>{r=Date.now(),c()},Math.max(1e3,3e3-l));let u=o.entityType;clearTimeout(a[u]),a[u]=setTimeout(()=>{d(o)},300)},n.onerror=()=>{}}function s(){n&&(n.close(),n=null)}function l(){if("visible"===document.visibilityState&&(!n||n.readyState===EventSource.CLOSED))for(let e of(o(),c(),["task","idea","proposal","document","project","project_group"]))d({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return o(),document.addEventListener("visibilitychange",l),()=>{for(let t in s(),clearTimeout(e),a)clearTimeout(a[t]);document.removeEventListener("visibilitychange",l)}},[t,c,d]);let u=(0,a.useCallback)(e=>(s.current.add(e),()=>{s.current.delete(e)}),[]),m=(0,a.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),f=(0,a.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),p=(0,a.useMemo)(()=>({subscribe:u,subscribeEntity:m,subscribePresence:f}),[u,m,f]);return(0,r.jsx)(o.Provider,{value:p,children:n})}function l(e){let t=(0,a.useContext)(o),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(!t)return;let e=()=>n.current();return e(),t.subscribe(e)},[t])}function i(e,t){let n=(0,a.useContext)(o),r=(0,a.useRef)(t);r.current=t;let s=(0,a.useRef)(e);s.current=e,(0,a.useEffect)(()=>{if(n)return n.subscribeEntity(e=>{let t=s.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[n])}function c(e){let t=(0,a.useContext)(o),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribePresence(e=>n.current(e))},[t])}function d(e,t,n){let r=(0,a.useContext)(o),s=(0,a.useRef)(n);s.current=n,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(n=>{n.entityType===e&&n.entityUuid===t&&s.current(n)})},[r,e,t])}},67712:(e,t,n)=>{n.d(t,{q:()=>l});var r=n(55036);let a={debug:0,info:1,warn:2,error:3},o=r.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function s(e){return a[e]>=a[o]}let l={debug:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];s("debug")&&console.debug("[Chorus] ".concat(e),...n)},info:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];s("info")&&console.info("[Chorus] ".concat(e),...n)},warn:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];s("warn")&&console.warn("[Chorus] ".concat(e),...n)},error:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];s("error")&&console.error("[Chorus] ".concat(e),...n)}}},72642:(e,t,n)=>{n.d(t,{$:()=>U});var r=n(90508),a=n(1856),o=n(39268),s=n(94903),l=n(85226),i=n(95886),c=n(36755),d=n(5425),u=n(22922),m=n(73693),f=n(42242),p=n(85783),x=n(99783),h=n(24377),g=n(42305);let v=x.A.extend({addAttributes(){var e;return{...null==(e=this.parent)?void 0:e.call(this),mentionType:{default:"user",parseHTML:e=>e.getAttribute("data-mention-type")||"user",renderHTML:e=>({"data-mention-type":e.mentionType||"user"})}}}});function y(e){let t=e.getJSON();return t.content?t.content.map(e=>(function e(t){if("mention"===t.type){let e=t.attrs;return e?"@[".concat(e.label||e.id,"](").concat(e.mentionType||"user",":").concat(e.id,")"):""}if("text"===t.type)return t.text||"";if("hardBreak"===t.type)return"\n";let n=t.content;return n?n.map(e).join(""):""})(e)).join("\n"):""}function b(e){if(!e)return{type:"doc",content:[{type:"paragraph"}]};let t=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)\)/g;return{type:"doc",content:e.split("\n").map(e=>{let n,r=[],a=0,o=RegExp(t.source,"g");for(;null!==(n=o.exec(e));)n.index>a&&r.push({type:"text",text:e.slice(a,n.index)}),r.push({type:"mention",attrs:{id:n[3],label:n[1],mentionType:n[2]}}),a=n.index+n[0].length;return a<e.length&&r.push({type:"text",text:e.slice(a)}),{type:"paragraph",content:r.length>0?r:void 0}})}}function w(e,t,n,r,a){if(a.innerHTML="",t){let e=document.createElement("div");e.className="flex items-center justify-center py-3 px-4",e.innerHTML='<div class="h-4 w-4 animate-spin rounded-full border-2 border-[#9A9A9A] border-t-transparent"></div>',a.appendChild(e);return}if(0===e.length){let e=document.createElement("div");e.className="py-2 px-3 text-xs text-[#9A9A9A]",e.textContent="No results",a.appendChild(e);return}let o=document.createElement("div");o.className="py-1";let s=0,l=e=>{n({id:e.uuid,label:e.name,mentionType:e.type})},i=()=>{o.innerHTML="",e.forEach((e,t)=>{let n=document.createElement("button");n.type="button",n.className="flex w-full items-center gap-2.5 px-3 py-1.5 text-left text-sm transition-colors ".concat(t===s?"bg-[#FAF8F4] text-[#2C2C2C]":"text-[#6B6B6B] hover:bg-[#FAF8F4]"),n.onclick=()=>l(e);let r=document.createElement("div");r.className="flex h-6 w-6 shrink-0 items-center justify-center rounded-full ".concat("agent"===e.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]"),r.innerHTML="agent"===e.type?'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8V4H8"/><rect width="16" height="12" x="4" y="8" rx="2"/><path d="M2 14h2"/><path d="M20 14h2"/><path d="M15 13v2"/><path d="M9 13v2"/></svg>':'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>';let a=document.createElement("div");a.className="min-w-0 flex-1";let i=document.createElement("div");if(i.className="truncate text-xs font-medium",i.textContent=e.name,a.appendChild(i),e.email){let t=document.createElement("div");t.className="truncate text-[10px] text-[#9A9A9A]",t.textContent=e.email,a.appendChild(t)}if("agent"===e.type&&e.roles&&e.roles.length>0){let t=document.createElement("div");t.className="truncate text-[10px] text-[#9A9A9A]",t.textContent=e.roles.join(", "),a.appendChild(t)}n.appendChild(r),n.appendChild(a),o.appendChild(n)})};i(),a.appendChild(o),r.current={onKeyDown:t=>{let{event:n}=t;return!(0,g.P)(n)&&("ArrowUp"===n.key?(s=s<=0?e.length-1:s-1,i(),!0):"ArrowDown"===n.key?(s=s>=e.length-1?0:s+1,i(),!0):"Enter"===n.key?(e[s]&&l(e[s]),!0):"Escape"===n.key)}}}let j=(0,a.forwardRef)((e,t)=>{let{value:n,onChange:o,placeholder:s,className:l,disabled:i,onSubmit:c}=e,d=(0,a.useRef)([]),u=(0,a.useRef)(!1),m=(0,a.useRef)(null),x=(0,a.useRef)(null),j=(0,a.useRef)(null),[,N]=(0,a.useState)(0),E=(0,a.useRef)(!1),C=function(e,t){let n=(0,a.useRef)(null),r=(0,a.useRef)(e);r.current=e;let o=(0,a.useCallback)(e=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>r.current(e),250)},[250]);return(0,a.useEffect)(()=>()=>{n.current&&clearTimeout(n.current)},[]),o}((0,a.useCallback)(async e=>{u.current=!0,N(e=>e+1);try{let t=await fetch("/api/mentionables?q=".concat(encodeURIComponent(e),"&limit=10"));if(t.ok){let e=await t.json();e.success&&(d.current=e.data)}}catch(e){d.current=[]}finally{u.current=!1,N(e=>e+1)}},[]),250);(0,a.useEffect)(()=>{x.current&&j.current&&w(d.current,u.current,j.current,m,x.current)});let A=(0,f.hG)({immediatelyRender:!1,extensions:[p.A.configure({heading:!1,blockquote:!1,codeBlock:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),v.configure({HTMLAttributes:{class:"text-blue-600 font-medium"},renderText(e){var t;let{node:n}=e;return"@".concat(null!=(t=n.attrs.label)?t:n.attrs.id)},suggestion:{char:"@",allowSpaces:!0,items:e=>{let{query:t}=e;return C(t),d.current},render:()=>({onStart:e=>{let t=document.createElement("div");if(t.className="z-[100] rounded-md border border-[#E5E0D8] bg-white shadow-md min-w-[200px] max-w-[300px] overflow-hidden",x.current=t,j.current=e.command,e.clientRect){let n="function"==typeof e.clientRect?e.clientRect():e.clientRect;n&&(t.style.position="fixed",t.style.left="".concat(n.left,"px"),window.innerHeight-n.bottom<220?t.style.bottom="".concat(window.innerHeight-n.top+4,"px"):t.style.top="".concat(n.bottom+4,"px"))}document.body.appendChild(t),w(d.current,u.current,e.command,m,t)},onUpdate:e=>{if(j.current=e.command,x.current&&e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(x.current.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?(x.current.style.top="",x.current.style.bottom="".concat(window.innerHeight-t.top+4,"px")):(x.current.style.bottom="",x.current.style.top="".concat(t.bottom+4,"px")))}x.current&&w(d.current,u.current,e.command,m,x.current)},onKeyDown:e=>!!m.current&&m.current.onKeyDown(e),onExit:()=>{var e;null==(e=x.current)||e.remove(),x.current=null,j.current=null,d.current=[],u.current=!1}})}})],content:b(n),editable:!i,editorProps:{attributes:{class:(0,h.cn)("min-h-[36px] max-h-[120px] overflow-y-auto px-3 py-2 text-sm outline-none","prose prose-sm max-w-none [&_p]:my-0"),"data-placeholder":s||""},handleKeyDown:(e,t)=>!(0,g.P)(t)&&"Enter"===t.key&&!t.shiftKey&&!x.current&&!!c&&(t.preventDefault(),c(),!0)},onUpdate:e=>{let{editor:t}=e;E.current=!0,o(y(t))}});return(0,a.useEffect)(()=>{if(!A||E.current){E.current=!1;return}y(A)!==n&&A.commands.setContent(b(n))},[n,A]),(0,a.useEffect)(()=>{A&&A.setEditable(!i)},[i,A]),(0,a.useImperativeHandle)(t,()=>({focus:()=>null==A?void 0:A.commands.focus(),clear:()=>{null==A||A.commands.clearContent(),o("")}})),(0,r.jsxs)("div",{className:(0,h.cn)("relative rounded-md border border-input bg-transparent shadow-xs transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",i&&"cursor-not-allowed opacity-50",l),children:[(0,r.jsx)(f.$Z,{editor:A}),(0,r.jsx)("style",{children:"\n .tiptap p.is-editor-empty:first-child::before {\n content: attr(data-placeholder);\n color: #9A9A9A;\n float: left;\n height: 0;\n pointer-events: none;\n }\n .tiptap .mention {\n color: #2563eb;\n font-weight: 500;\n }\n "})]})});j.displayName="MentionEditor";var N=n(93555),E=n(52217);let C=(0,E.createServerReference)("70f6ab49174daed18a540513e593e0cf2cf2dc3ad1",E.callServer,void 0,E.findSourceMapURL,"createCommentAction");var A=n(97261);let k=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)\)/g,T=/\u200B\u200BMENTION_(\d+)\u200B\u200B/g;function z(e){let{children:t}=e;if(!t||"string"!=typeof t)return null;if(!new RegExp(k.source).test(t))return(0,r.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,r.jsx)(A.MarkdownContent,{children:t})});let{processed:n,mentions:a}=function(e){let t=[],n=RegExp(k.source,"g");return{processed:e.replace(n,(e,n,r,a)=>{let o=t.length;return t.push({displayName:n,type:r,uuid:a}),"".concat("​​MENTION_").concat(o).concat("​​")}),mentions:t}}(t);return(0,r.jsx)(S,{mentions:a,children:(0,r.jsx)(A.MarkdownContent,{children:n})})}function S(e){let{children:t,mentions:n}=e,o=a.useRef(null);return a.useEffect(()=>{let e;if(!o.current||0===n.length)return;let t=document.createTreeWalker(o.current,NodeFilter.SHOW_TEXT,null),r=[];for(;e=t.nextNode();)T.test(e.textContent||"")&&r.push(e),T.lastIndex=0;for(let e of r){var a;let t,r=e.textContent||"",o=document.createDocumentFragment(),s=0,l=RegExp(T.source,"g");for(;null!==(t=l.exec(r));){t.index>s&&o.appendChild(document.createTextNode(r.slice(s,t.index)));let e=n[parseInt(t[1],10)];if(e){let t=document.createElement("span");t.className="text-blue-600 font-medium",t.title="".concat(e.type,": ").concat(e.uuid),t.textContent="@".concat(e.displayName),o.appendChild(t)}else o.appendChild(document.createTextNode(t[0]));s=t.index+t[0].length}s<r.length&&o.appendChild(document.createTextNode(r.slice(s))),null==(a=e.parentNode)||a.replaceChild(o,e)}},[n]),(0,r.jsx)("div",{ref:o,className:"overflow-hidden [&_pre]:overflow-x-auto",children:t})}var R=n(63964),_=n(96213),D=n(30423),M=n(38106),B=n(67587);function U(e){let{targetType:t,targetUuid:n,currentUserUuid:d,onCountChange:f,compact:p=!1}=e,x=(0,o.c)(),[h,g]=(0,a.useState)(""),[v,y]=(0,a.useState)([]),[b,w]=(0,a.useState)(!0),[E,A]=(0,a.useState)(null),[k,T]=(0,a.useState)(!1),z=(0,a.useRef)(null),S=p?"h-6 w-6":"h-[30px] w-[30px]",D=p?"gap-2":"gap-2.5",M=p?"h-3 w-3":"h-[15px] w-[15px]";(0,a.useEffect)(()=>{null==f||f(v.length)},[v.length,f]);let U=(0,a.useCallback)(async()=>{w(!0),A(null);let e=await (0,N.d)(t,n);e.success?y(e.comments):A(e.error),w(!1)},[t,n]);(0,a.useEffect)(()=>{U()},[U]),(0,R.w0)(t,n,e=>{d&&e.actorUuid===d||(0,N.d)(t,n).then(e=>{e.success&&y(e.comments)})});let L=async()=>{if(!h.trim()||k)return;T(!0);let e=await C(t,n,h);if(T(!1),e.success){var r;y(t=>[...t,e.comment]),g(""),null==(r=z.current)||r.clear()}else B.oR.error(e.error)},H=[...v].reverse();return(0,r.jsx)(_.D,{entityType:t,entityUuid:n,subEntityType:"comment",children:(0,r.jsxs)("div",{className:"flex flex-col gap-0",children:[(0,r.jsxs)("div",{className:"flex items-center ".concat(D," pb-3 border-b border-[#F0EDE8]"),children:[(0,r.jsx)(m.eu,{className:"".concat(p?"h-6 w-6":"h-7 w-7"," shrink-0"),children:(0,r.jsx)(m.q5,{className:"bg-[#E5E0D8] text-[#6B6B6B]",children:(0,r.jsx)(s.A,{className:"".concat(p?"h-3 w-3":"h-3.5 w-3.5")})})}),(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)(j,{ref:z,value:h,onChange:g,onSubmit:L,placeholder:x("comments.addComment"),className:"border border-[#E5E0D8] bg-white text-sm rounded-lg",disabled:k})}),(0,r.jsx)(u.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!h.trim()||k,onClick:L,children:k?(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(i.A,{className:"h-3.5 w-3.5"})})]}),(0,r.jsx)("div",{children:b?(0,r.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,r.jsx)(l.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):E?(0,r.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-[#9A9A9A]",children:[(0,r.jsx)(c.A,{className:"h-4 w-4"}),(0,r.jsx)("p",{children:x("comments.loadError")}),(0,r.jsx)(u.$,{variant:"outline",size:"sm",onClick:U,children:x("comments.retry")})]}):0===H.length?(0,r.jsx)("p",{className:"py-8 text-center text-sm text-[#9A9A9A] italic",children:x("comments.noComments")}):H.map(e=>(0,r.jsx)(F,{comment:e,compact:p,avatarSize:S,gap:D,iconSize:M,t:x},e.uuid))})]})})}function F(e){let{comment:t,compact:n,avatarSize:o,gap:s,iconSize:l,t:i}=e,[c,f]=(0,a.useState)(!1),p="agent"===t.author.type,x=p?(0,D.j)(t.author.name):null,h=t.content.length>200,g=x?"".concat(x,"18"):void 0;return(0,r.jsxs)("div",{className:"flex ".concat(s," py-3 border-b border-[#F0EDE8] last:border-b-0"),children:[(0,r.jsx)(m.eu,{className:"".concat(o," shrink-0"),children:(0,r.jsx)(m.q5,{style:p?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:p?"":"bg-[#E5E0D8] text-[#6B6B6B] text-[11px] font-medium",children:p?(0,r.jsx)(d.A,{className:l}):t.author.name.charAt(0).toUpperCase()})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,r.jsx)("span",{className:"".concat(n?"text-xs":"text-[13px]"," font-semibold text-[#1A1A1A]"),children:t.author.name}),(0,r.jsx)("span",{style:p?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:"inline-flex items-center rounded px-1.5 py-px text-[9px] font-medium ".concat(p?"":"bg-[#F0EDE8] text-[#6B6B6B]"),children:i(p?"comments.roleAgent":"comments.roleHuman")}),(0,r.jsx)("span",{className:"text-[11px] text-[#BFBFBF]",children:function(e,t){let n=new Date(e),r=new Date().getTime()-n.getTime(),a=Math.floor(r/6e4),o=Math.floor(r/36e5),s=Math.floor(r/864e5);return a<1?t("time.justNow"):a<60?t("time.minutesAgo",{minutes:a}):o<24?t("time.hoursAgo",{hours:o}):s<7?t("time.daysAgo",{days:s}):(0,M.r)(n)}(t.createdAt,i)})]}),p&&t.author.owner&&(0,r.jsx)("div",{className:"flex items-center gap-1 mt-0.5",children:(0,r.jsx)("span",{className:"text-[11px] text-[#A3A3A3] italic",children:i("comments.onBehalfOf",{name:t.author.owner.name})})}),(0,r.jsx)("div",{className:"mt-1 ".concat(n?"text-xs":"text-[13px]"," leading-relaxed text-[#3D3D3D] max-w-none [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5"),children:h&&!c?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(z,{children:t.content.slice(0,200)+"..."}),(0,r.jsx)(u.$,{variant:"link",size:"sm",onClick:()=>f(!0),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:i("comments.showMore")})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(z,{children:t.content}),h&&(0,r.jsx)(u.$,{variant:"link",size:"sm",onClick:()=>f(!1),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:i("comments.showLess")})]})})]})]})}},73693:(e,t,n)=>{n.d(t,{eu:()=>s,q5:()=>l});var r=n(90508);n(1856);var a=n(65514),o=n(24377);function s(e){let{className:t,size:n="default",...s}=e;return(0,r.jsx)(a.Root,{"data-slot":"avatar","data-size":n,className:(0,o.cn)("group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",t),...s})}function l(e){let{className:t,...n}=e;return(0,r.jsx)(a.Fallback,{"data-slot":"avatar-fallback",className:(0,o.cn)("bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",t),...n})}},93555:(e,t,n)=>{n.d(t,{d:()=>a});var r=n(52217);let a=(0,r.createServerReference)("60c9fdcf1885bd3a91e2e933419e93a4c95d2bb832",r.callServer,void 0,r.findSourceMapURL,"getCommentsAction")},96213:(e,t,n)=>{n.d(t,{D:()=>l});var r=n(90508),a=n(47754),o=n(30423),s=n(5425);function l(e){let{entityType:t,entityUuid:n,subEntityType:s,subEntityUuid:l,children:c,badgeInside:d}=e,{getPresence:u}=(0,a.xQ)(),m=u(t,n,s,l),f=m.length>0,p=f&&m.some(e=>"mutate"===e.action),x=f?p?m.find(e=>"mutate"===e.action):m[m.length-1]:null,h=x?(0,o.j)(x.agentName):"transparent";return(0,r.jsxs)("div",{className:"relative",style:f?{outline:"2px ".concat(p?"solid":"dashed"," ").concat(h),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[f&&(0,r.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(d?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[m.slice(0,3).map(e=>(0,r.jsx)(i,{entry:e},e.agentUuid)),m.length>3&&(0,r.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",m.length-3]})]}),c]})}function i(e){let{entry:t}=e,n=(0,o.j)(t.agentName);return(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:n},children:[(0,r.jsx)(s.A,{className:"h-2.5 w-2.5"}),t.agentName]})}},97261:(e,t,n)=>{n.d(t,{MarkdownContent:()=>d});var r=n(90508),a=n(1856),o=n(65700),s=n(19169),l=n(26190);let i={code:s.a,mermaid:l.a},c={mermaid:{fullscreen:!0,download:!0,copy:!0,panZoom:!0}};function d(e){let{children:t}=e,n=function(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=document.documentElement,n=()=>t(e.classList.contains("dark"));n();let r=new MutationObserver(n);return r.observe(e,{attributes:!0,attributeFilter:["class"]}),()=>r.disconnect()},[]),e}(),s=(0,a.useMemo)(()=>({config:{theme:n?"dark":"default"}}),[n]);return(0,r.jsx)(o.jH,{plugins:i,controls:c,mermaid:s,children:t},n?"dark":"light")}}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60011],{4365:(e,t,s)=>{"use strict";s.d(t,{G7:()=>o,L$:()=>u,h_:()=>x,oI:()=>d,uB:()=>l,xL:()=>c});var a=s(90508);s(1856);var r=s(64731),n=s(30044),i=s(24377);function l(e){let{className:t,...s}=e;return(0,a.jsx)(r.uB,{"data-slot":"command",className:(0,i.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...s})}function o(e){let{className:t,...s}=e;return(0,a.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,a.jsx)(n.A,{className:"size-4 shrink-0 opacity-50"}),(0,a.jsx)(r.uB.Input,{"data-slot":"command-input",className:(0,i.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...s})]})}function d(e){let{className:t,...s}=e;return(0,a.jsx)(r.uB.List,{"data-slot":"command-list",className:(0,i.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",t),...s})}function c(e){let{...t}=e;return(0,a.jsx)(r.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...t})}function u(e){let{className:t,...s}=e;return(0,a.jsx)(r.uB.Group,{"data-slot":"command-group",className:(0,i.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",t),...s})}function x(e){let{className:t,...s}=e;return(0,a.jsx)(r.uB.Item,{"data-slot":"command-item",className:(0,i.cn)("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t),...s})}},14554:(e,t,s)=>{"use strict";s.d(t,{p:()=>n});var a=s(90508);s(1856);var r=s(24377);function n(e){let{className:t,type:s,...n}=e;return(0,a.jsx)("input",{type:s,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","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",t),...n})}},15972:(e,t,s)=>{"use strict";s.d(t,{T:()=>n});var a=s(90508);s(1856);var r=s(24377);function n(e){let{className:t,...s}=e;return(0,a.jsx)("textarea",{"data-slot":"textarea",className:(0,r.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),...s})}},17001:(e,t,s)=>{"use strict";s.d(t,{AM:()=>i,Wv:()=>l,hl:()=>o});var a=s(90508);s(1856);var r=s(79919),n=s(24377);function i(e){let{...t}=e;return(0,a.jsx)(r.Root,{"data-slot":"popover",...t})}function l(e){let{...t}=e;return(0,a.jsx)(r.Trigger,{"data-slot":"popover-trigger",...t})}function o(e){let{className:t,align:s="center",sideOffset:i=4,...l}=e;return(0,a.jsx)(r.Portal,{children:(0,a.jsx)(r.Content,{"data-slot":"popover-content",align:s,sideOffset:i,className:(0,n.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...l})})}},41033:(e,t,s)=>{"use strict";s.d(t,{C:()=>o,z:()=>l});var a=s(90508);s(1856);var r=s(97964),n=s(63197),i=s(24377);function l(e){let{className:t,...s}=e;return(0,a.jsx)(n.Root,{"data-slot":"radio-group",className:(0,i.cn)("grid gap-3",t),...s})}function o(e){let{className:t,...s}=e;return(0,a.jsx)(n.Item,{"data-slot":"radio-group-item",className:(0,i.cn)("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...s,children:(0,a.jsx)(n.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:(0,a.jsx)(r.A,{className:"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}},57731:(e,t,s)=>{"use strict";s.d(t,{E:()=>o});var a=s(90508);s(1856);var r=s(49499),n=s(54154),i=s(24377);let l=(0,r.F)("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",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function o(e){let{className:t,variant:s="default",asChild:r=!1,...o}=e,d=r?n.bL:"span";return(0,a.jsx)(d,{"data-slot":"badge","data-variant":s,className:(0,i.cn)(l({variant:s}),t),...o})}},62205:(e,t,s)=>{"use strict";s.d(t,{a:()=>r});var a=s(1856);function r(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)");t(e.matches);let s=e=>t(e.matches);return e.addEventListener("change",s),()=>e.removeEventListener("change",s)},[]),e}},64993:(e,t,s)=>{"use strict";s.d(t,{F:()=>i});var a=s(90508);s(1856);var r=s(65326),n=s(24377);function i(e){let{className:t,children:s,...i}=e;return(0,a.jsxs)(r.Root,{"data-slot":"scroll-area",className:(0,n.cn)("relative",t),...i,children:[(0,a.jsx)(r.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:s}),(0,a.jsx)(l,{}),(0,a.jsx)(r.Corner,{})]})}function l(e){let{className:t,orientation:s="vertical",...i}=e;return(0,a.jsx)(r.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:s,className:(0,n.cn)("flex touch-none p-px transition-colors select-none","vertical"===s&&"h-full w-2.5 border-l border-l-transparent","horizontal"===s&&"h-2.5 flex-col border-t border-t-transparent",t),...i,children:(0,a.jsx)(r.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}},65626:(e,t,s)=>{"use strict";s.d(t,{K5:()=>o,Rf:()=>l,Yv:()=>a,bK:()=>i,qG:()=>n,tE:()=>r});let a={fast:.15,normal:.2,slow:.3,easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1],stagger:.04,staggerFast:.03,spring:{type:"spring",stiffness:500,damping:30},tween:{type:"tween",duration:.2,ease:[0,0,.2,1]}},r={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:a.normal,ease:a.easeOut}},exit:{opacity:0,y:-4,transition:{duration:a.fast,ease:a.easeOut}}},n={initial:{opacity:0},animate:{opacity:1,transition:{duration:a.normal,ease:a.easeOut}},exit:{opacity:0,transition:{duration:a.fast,ease:a.easeOut}}};a.normal,a.easeOut,a.fast,a.easeOut;let i={initial:{},animate:{transition:{staggerChildren:a.stagger}}},l={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:a.normal,ease:a.easeOut}}},o={initial:{opacity:0,scale:.95,y:-4},animate:{opacity:1,scale:1,y:0,transition:{duration:a.fast,ease:a.easeOut}},exit:{opacity:0,scale:.95,y:-4,transition:{duration:a.fast,ease:a.easeOut}}}},78917:(e,t,s)=>{Promise.resolve().then(s.bind(s,94732))},88064:(e,t,s)=>{"use strict";s.d(t,{J:()=>i});var a=s(90508);s(1856);var r=s(58057),n=s(24377);function i(e){let{className:t,...s}=e;return(0,a.jsx)(r.Root,{"data-slot":"label",className:(0,n.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),...s})}},91846:(e,t,s)=>{"use strict";s.d(t,{bq:()=>u,eb:()=>p,gC:()=>x,l6:()=>d,yv:()=>c});var a=s(90508);s(1856);var r=s(17730),n=s(60532),i=s(89967),l=s(48218),o=s(24377);function d(e){let{...t}=e;return(0,a.jsx)(l.Root,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,a.jsx)(l.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:s="default",children:n,...i}=e;return(0,a.jsxs)(l.Trigger,{"data-slot":"select-trigger","data-size":s,className:(0,o.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...i,children:[n,(0,a.jsx)(l.Icon,{asChild:!0,children:(0,a.jsx)(r.A,{className:"size-4 opacity-50"})})]})}function x(e){let{className:t,children:s,position:r="item-aligned",align:n="center",...i}=e;return(0,a.jsx)(l.Portal,{children:(0,a.jsxs)(l.Content,{"data-slot":"select-content",className:(0,o.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:r,align:n,...i,children:[(0,a.jsx)(m,{}),(0,a.jsx)(l.Viewport,{className:(0,o.cn)("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:s}),(0,a.jsx)(g,{})]})})}function p(e){let{className:t,children:s,...r}=e;return(0,a.jsxs)(l.Item,{"data-slot":"select-item",className:(0,o.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...r,children:[(0,a.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(l.ItemIndicator,{children:(0,a.jsx)(n.A,{className:"size-4"})})}),(0,a.jsx)(l.ItemText,{children:s})]})}function m(e){let{className:t,...s}=e;return(0,a.jsx)(l.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...s,children:(0,a.jsx)(i.A,{className:"size-4"})})}function g(e){let{className:t,...s}=e;return(0,a.jsx)(l.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...s,children:(0,a.jsx)(r.A,{className:"size-4"})})}},94732:(e,t,s)=>{"use strict";s.d(t,{TaskViewToggle:()=>eo});var a=s(90508),r=s(1856),n=s(23675),i=s(39268),l=s(83064),o=s(18789),d=s(76111),c=s(5616),u=s(22922),x=s(57731),p=s(48416),m=s(62205),g=s(81531),f=s(56770),h=s(30825),b=s(60532),v=s(9160),j=s(24377),y=s(17001),w=s(4365);function N(e){let{projectUuid:t}=e,s=(0,i.c)("tasks"),l=(0,n.useRouter)(),o=(0,n.usePathname)(),d=(0,n.useSearchParams)(),[c,p]=(0,r.useState)(!1),[m,g]=(0,r.useState)([]),[N,k]=(0,r.useState)(new Set);(0,r.useEffect)(()=>{let e=d.get("proposalUuids");e?k(new Set(e.split(",").filter(Boolean))):k(new Set)},[d]),(0,r.useEffect)(()=>{let e=!1;return async function(){try{let s=await fetch("/api/projects/".concat(t,"/proposals/summary"));if(!s.ok)return;let a=await s.json();!e&&a.success&&g(a.data)}catch(e){}}(),()=>{e=!0}},[t]);let C=(0,r.useCallback)(e=>{let t=new URLSearchParams(d.toString());e.size>0?t.set("proposalUuids",Array.from(e).join(",")):t.delete("proposalUuids");let s=t.toString();l.replace("".concat(o).concat(s?"?".concat(s):""),{scroll:!1})},[l,o,d]),F=(0,r.useCallback)(e=>{k(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),C(s),s})},[C]),A=(0,r.useCallback)(()=>{k(new Set),C(new Set)},[C]),E=N.size>0;return(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground shrink-0",children:[(0,a.jsx)(f.A,{className:"size-4"}),(0,a.jsxs)("span",{children:[s("proposalFilter.label"),":"]})]}),(0,a.jsxs)(y.AM,{open:c,onOpenChange:p,children:[(0,a.jsx)(y.Wv,{asChild:!0,children:(0,a.jsxs)(u.$,{variant:"outline",size:"sm",role:"combobox","aria-expanded":c,className:(0,j.cn)("justify-between gap-1 min-w-[120px] max-w-[200px] md:min-w-[160px] md:max-w-none",E&&"border-[#C67A52] bg-[#FFF8F4]"),children:[(0,a.jsx)("span",{className:"truncate",children:E?s("proposalFilter.filtered",{filtered:N.size,total:m.length}):s("proposalFilter.allProposals")}),(0,a.jsx)(h.A,{className:"size-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(y.hl,{className:"w-[300px] p-0",align:"start",children:(0,a.jsxs)(w.uB,{children:[(0,a.jsx)(w.G7,{placeholder:s("proposalFilter.search")}),(0,a.jsxs)(w.oI,{children:[(0,a.jsx)(w.xL,{children:s("proposalFilter.noResults")}),(0,a.jsx)(w.L$,{children:m.map(e=>{let t=N.has(e.uuid);return(0,a.jsxs)(w.h_,{value:e.title,onSelect:()=>F(e.uuid),className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)("div",{className:(0,j.cn)("flex size-4 shrink-0 items-center justify-center rounded-sm border",t?"border-[#C67A52] bg-[#C67A52] text-white":"border-muted-foreground/30"),children:t&&(0,a.jsx)(b.A,{className:"size-3"})}),(0,a.jsx)("span",{className:"truncate",children:e.title})]}),(0,a.jsx)(x.E,{variant:"secondary",className:"ml-2 shrink-0",children:s("proposalFilter.taskCount",{count:e.taskCount})})]},e.uuid)})})]})]})})]}),E&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"flex flex-wrap gap-1 max-w-full",children:m.filter(e=>N.has(e.uuid)).map(e=>(0,a.jsxs)(x.E,{variant:"outline",className:"gap-1 border-[#C67A52] bg-[#FFF8F4] text-[#C67A52]",children:[e.title,(0,a.jsx)("button",{type:"button",className:"ml-0.5 rounded-full hover:bg-[#C67A52]/20",onClick:()=>F(e.uuid),children:(0,a.jsx)(v.A,{className:"size-3"})})]},e.uuid))}),(0,a.jsx)(u.$,{variant:"ghost",size:"xs",onClick:A,className:"text-muted-foreground",children:s("proposalFilter.clear")})]})]})}var k=s(1976),C=s(96213),F=s(66206);let A=(0,F.A)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var E=s(17475);let B=(0,F.A)("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"}]]);var S=s(43827);let z=(0,r.createContext)(null);var _=s(95725),U=s(66506);let D=e=>!e.isLayoutDirty&&e.willUpdate(!1),L=e=>{let{children:t,id:s,inherit:n=!0}=e,i=(0,r.useContext)(S.L),l=(0,r.useContext)(z),[o,d]=function(){let e=function(){let e=(0,r.useRef)(!1);return(0,U.E)(()=>(e.current=!0,()=>{e.current=!1}),[]),e}(),[t,s]=(0,r.useState)(0),a=(0,r.useCallback)(()=>{e.current&&s(t+1)},[t]);return[(0,r.useCallback)(()=>_.Gt.postRender(a),[a]),t]}(),c=(0,r.useRef)(null),u=i.id||l;null===c.current&&((e=>!0==(!0===e)||"id"===e)(n)&&u&&(s=s?u+"-"+s:u),c.current={id:s,group:!0===n&&i.group||function(){let e=new Set,t=new WeakMap,s=()=>e.forEach(D);return{add:a=>{e.add(a),t.set(a,a.addEventListener("willUpdate",s))},remove:a=>{e.delete(a);let r=t.get(a);r&&(r(),t.delete(a)),s()},dirty:s}}()});let x=(0,r.useMemo)(()=>({...c.current,forceRender:o}),[d]);return(0,a.jsx)(S.L.Provider,{value:x,children:t})};var P=s(16544),T=s(65626),O=s(97438),R=s(52217);let M=(0,R.createServerReference)("4065b2be31761bb9b5e654e4d11fea9df5d506e040",R.callServer,void 0,R.findSourceMapURL,"fetchTasksAction"),I=(0,R.createServerReference)("70e5269e3f3e0c59989139fc1a9ff907471f9d30d8",R.callServer,void 0,R.findSourceMapURL,"moveTaskToColumnAction"),V=(0,R.createServerReference)("60537be7585237b1d97ca8222f29431a996b00efc5",R.callServer,void 0,R.findSourceMapURL,"forceMoveTaskToColumnAction");var K=s(67712),$=s(91418),q=s(76677),G=s(63964);let W={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},H={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},Z={in_progress:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E8F5E9] text-[#2E7D32]",open:"bg-[#F5F5F5] text-[#6B6B6B]",to_verify:"bg-[#E3F2FD] text-[#1565C0]"},Y=[{id:"todo",labelKey:"todo",statuses:["open","assigned"]},{id:"in_progress",labelKey:"inProgress",statuses:["in_progress"]},{id:"to_verify",labelKey:"toVerify",statuses:["to_verify"]},{id:"done",labelKey:"done",statuses:["done","closed"]}];function J(e){let{projectUuid:t,initialTasks:s,currentUserUuid:n,selectedTaskUuid:l,onTaskSelect:o,onPanelClose:d,proposalUuidFilter:c}=e,m=(0,i.c)(),[g,f]=(0,r.useState)(s),[h,b]=(0,r.useState)({}),[v,j]=(0,r.useState)(!1),[y,w]=(0,r.useState)(null),[N,F]=(0,r.useState)([]),[S,z]=(0,r.useState)(!1),[_,U]=(0,r.useState)([]),[D,R]=(0,r.useState)(!1),[J,Q]=(0,r.useState)(!1),X=(0,r.useCallback)(async()=>{let e=await M(t);if(e.success){let t=c?e.data.filter(e=>e.proposalUuid&&c.has(e.proposalUuid)):e.data;f(t);let s=await (0,q.h)(t.map(e=>e.uuid));s.success&&s.data&&b(s.data)}},[t,c]);(0,G.eV)("task",X);let ee=(0,r.useRef)(c);(0,r.useEffect)(()=>{ee.current!==c&&(ee.current=c,X())},[c,X]),(0,r.useEffect)(()=>{0!==s.length&&(0,q.h)(s.map(e=>e.uuid)).then(e=>{e.success&&e.data&&b(e.data)})},[s]);let et=(0,r.useMemo)(()=>{var e;return l&&null!=(e=g.find(e=>e.uuid===l))?e:null},[l,g]),es=e=>g.filter(t=>e.includes(t.status)),ea=e=>es(e).reduce((e,t)=>e+(t.storyPoints||0),0),er=async e=>{let s;Q(!1);let{destination:a,source:r,draggableId:n}=e;if(!a||a.droppableId===r.droppableId&&a.index===r.index)return;let i=a.droppableId;r.droppableId;let l=g.find(e=>e.uuid===n);if(!l)return;if(Y.find(e=>e.id===i),"todo"===i)s="assigned"===l.status?"assigned":"open";else if("in_progress"===i)s="in_progress";else if("to_verify"===i)s="to_verify";else{if("done"!==i)return;s="to_verify"===l.status?"done":"to_verify"}f(e=>e.map(e=>e.uuid===n?{...e,status:s}:e));let o=await I(n,i,t);if(o.success)X();else{if("blocked"in o&&o.blocked&&"blockers"in o){f(e=>e.map(e=>e.uuid===n?{...e,status:l.status}:e)),w(l),F(o.blockers),j(!0);return}f(e=>e.map(e=>e.uuid===n?{...e,status:l.status}:e)),"gateBlocked"in o&&o.gateBlocked&&(U("unresolvedCriteria"in o&&Array.isArray(o.unresolvedCriteria)?o.unresolvedCriteria:[]),z(!0))}},en=async()=>{if(y){R(!0);try{let e=await V(y.uuid,"in_progress");e.success?(j(!1),w(null),F([]),X()):K.q.error("Failed to force move task:",e.error)}finally{R(!1)}}},ei=()=>{j(!1),w(null),F([])};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.JY,{onDragStart:()=>{Q(!0)},onDragEnd:er,children:(0,a.jsx)(L,{children:(0,a.jsx)("div",{className:"flex flex-1 gap-4 overflow-x-auto pb-4",children:Y.map(e=>{let t=es(e.statuses);return(0,a.jsxs)("div",{className:"flex w-[300px] flex-shrink-0 flex-col rounded-xl bg-[#F5F2EC] p-4",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("h3",{className:"font-medium text-[#2C2C2C]",children:m("status.".concat(e.labelKey))}),(0,a.jsx)("span",{className:"rounded-full bg-white px-2 py-0.5 text-xs font-medium text-[#6B6B6B]",children:t.length})]}),ea(e.statuses)>0&&(0,a.jsxs)("span",{className:"flex items-center gap-1 text-xs text-[#9A9A9A]",children:[(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),ea(e.statuses),"h"]})]}),(0,a.jsx)(k.gL,{droppableId:e.id,children:(e,s)=>(0,a.jsxs)("div",{ref:e.innerRef,...e.droppableProps,className:"flex-1 space-y-3 overflow-y-auto min-h-[100px] rounded-lg pt-3 pr-3 transition-colors ".concat(s.isDraggingOver?"bg-[#E5E0D8]":""),children:[0!==t.length||s.isDraggingOver?t.map((e,t)=>{let s=!!e.dependsOn&&0!==e.dependsOn.length&&e.dependsOn.some(e=>"done"!==e.status&&"closed"!==e.status),r=(s?!e.dependsOn?[]:e.dependsOn.filter(e=>"done"!==e.status&&"closed"!==e.status):[]).map(e=>e.title).join(", ");return(0,a.jsx)(k.sx,{draggableId:e.uuid,index:t,children:(t,n)=>(0,a.jsx)("div",{ref:t.innerRef,...t.draggableProps,...t.dragHandleProps,onClick:()=>{n.isDragging||o(e.uuid)},style:t.draggableProps.style,children:(0,a.jsxs)(P.P.div,{className:"relative",layoutId:J?void 0:"task-card-".concat(e.uuid),transition:T.Yv.spring,children:[h[e.uuid]>0&&(0,a.jsx)("div",{className:"absolute -top-3 -right-3 z-10 flex h-11 w-11 items-center justify-center rounded-full border-2 border-green-400 bg-white shadow-sm",children:(0,a.jsx)("img",{src:"/typing-animation.gif",alt:"",className:"h-8 w-8"})}),(0,a.jsx)(C.D,{entityType:"task",entityUuid:e.uuid,children:(0,a.jsxs)(p.Zp,{className:"cursor-pointer p-4 transition-all ".concat(s?"border-dashed border-[#D1D1D1] opacity-60":"border-[#E5E0D8] hover:border-[#C67A52]"," bg-white hover:shadow-sm ").concat(n.isDragging?"shadow-lg rotate-2":""),children:[(0,a.jsxs)("div",{className:"mb-2 flex items-start justify-between",children:[(0,a.jsx)(x.E,{className:W[e.status]||"",children:m("status.".concat(H[e.status]||e.status))}),(0,a.jsx)("div",{className:"flex items-center gap-1.5",children:e.storyPoints&&(0,a.jsxs)("span",{className:"flex items-center gap-1 rounded bg-[#FFF3E0] px-2 py-0.5 text-xs font-medium text-[#E65100]",children:[(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),e.storyPoints,"h"]})})]}),(0,a.jsx)("h4",{className:"mb-1 font-medium text-[#2C2C2C]",children:e.title}),e.description&&(0,a.jsx)("p",{className:"mb-2 line-clamp-2 text-sm text-[#6B6B6B]",children:e.description}),s&&(0,a.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 rounded-md bg-[#FFF3E0] px-2 py-1",children:[(0,a.jsx)(A,{className:"h-3 w-3 shrink-0 text-[#E65100]"}),(0,a.jsx)("span",{className:"text-[9px] font-medium leading-tight text-[#E65100] line-clamp-1",children:m("tasks.blockedBy",{tasks:r})})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between text-xs text-[#9A9A9A]",children:[e.assignee?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,a.jsx)("path",{d:"M12 8V4H8"}),(0,a.jsx)("rect",{width:"16",height:"12",x:"4",y:"8",rx:"2"})]}),e.assignee.name]}):"open"===e.status?(0,a.jsx)("span",{className:"text-[#C67A52]",children:m("common.assign")}):(0,a.jsx)("span",{children:m("common.unassigned")}),(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[h[e.uuid]>0&&(0,a.jsxs)(x.E,{variant:"outline",className:"h-4 gap-1 border-green-300 px-1.5 text-[10px] text-green-700",children:[(0,a.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-green-500"}),m("sessions.workerCount",{count:h[e.uuid]})]}),e.acceptanceSummary&&e.acceptanceSummary.total>0&&(()=>{let t=e.acceptanceSummary,s="to_verify"===e.status,r=t.requiredPassed===t.required&&t.required>0,n=t.requiredFailed>0,i="bg-[#F5F2EC] text-[#9A9A9A]";return s&&(i=r?"bg-green-50 text-green-700":n?"bg-red-50 text-[#C4574C]":"bg-amber-50 text-[#D97706]"),(0,a.jsxs)(x.E,{className:"h-4 gap-1 border-0 px-1.5 text-[9px] ".concat(i),children:[(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-2.5 w-2.5",children:[(0,a.jsx)("path",{d:"M9 11l3 3L22 4"}),(0,a.jsx)("path",{d:"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11"})]}),t.passed,"/",t.total]})})()]})]})]})})]})})},e.uuid)}):(0,a.jsx)("div",{className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-[#E5E0D8] text-sm text-[#9A9A9A]",children:m("tasks.noTasks")}),e.placeholder]})})]},e.id)})})})}),et&&(0,a.jsx)($.v,{task:et,projectUuid:t,currentUserUuid:n,onClose:d}),(0,a.jsx)(O.lG,{open:v,onOpenChange:e=>{e||ei()},children:(0,a.jsxs)(O.Cf,{className:"max-w-md rounded-2xl",children:[(0,a.jsxs)(O.c7,{children:[(0,a.jsxs)(O.L3,{className:"flex items-center gap-2",children:[(0,a.jsx)(E.A,{className:"h-5 w-5 text-[#E65100]"}),m("tasks.dependencyBlocked")]}),(0,a.jsx)(O.rr,{children:m("tasks.dependencyBlockedDescription")})]}),(0,a.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsx)("p",{className:"mb-2 text-xs font-medium text-[#6B6B6B]",children:m("tasks.blockerList")}),(0,a.jsx)("div",{className:"space-y-2",children:N.map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between rounded-lg border border-[#E5E0D8] bg-white p-3",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"truncate text-sm font-medium text-[#2C2C2C]",children:e.title}),(0,a.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[e.assignee&&(0,a.jsx)("span",{className:"text-xs text-[#6B6B6B]",children:e.assignee.name}),e.sessionCheckin&&(0,a.jsxs)("span",{className:"flex items-center gap-1 text-xs text-[#6B6B6B]",children:[(0,a.jsx)(B,{className:"h-3 w-3"}),e.sessionCheckin.sessionName]})]})]}),(0,a.jsx)(x.E,{className:"shrink-0 ".concat(Z[e.status]||"bg-[#F5F5F5] text-[#6B6B6B]"),children:m("status.".concat(H[e.status]||e.status))})]},e.uuid))})]}),(0,a.jsxs)(O.Es,{className:"gap-2 sm:gap-0",children:[(0,a.jsx)(u.$,{variant:"outline",onClick:ei,children:m("common.cancel")}),(0,a.jsx)(u.$,{className:"bg-[#E65100] hover:bg-[#BF4400] text-white",onClick:en,disabled:D,children:D?m("common.processing"):m("tasks.forceMove")})]})]})}),(0,a.jsx)(O.lG,{open:S,onOpenChange:z,children:(0,a.jsxs)(O.Cf,{className:"max-w-[520px] rounded-2xl p-0 gap-0",children:[(0,a.jsxs)(O.c7,{className:"px-6 pt-6 pb-4",children:[(0,a.jsxs)(O.L3,{className:"flex items-center gap-2.5",children:[(0,a.jsx)(E.A,{className:"h-5 w-5 text-[#C4574C]"}),m("acceptanceCriteria.title")]}),(0,a.jsx)(O.rr,{className:"text-[13px] leading-relaxed text-[#6B6B6B]",children:m("acceptanceCriteria.gateBlocked",{count:_.filter(e=>e.required&&"passed"!==e.status).length})})]}),(0,a.jsxs)("div",{className:"px-6 pb-4 space-y-3",children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold text-[#9A9A9A] uppercase tracking-wide",children:m("acceptanceCriteria.title")}),_.map(e=>(0,a.jsxs)("div",{className:"rounded-lg border p-3 space-y-2 ".concat("failed"===e.status?"border-red-200 bg-white":"border-[#E5E0D8] bg-white"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"h-2 w-2 rounded-full shrink-0 ".concat("failed"===e.status?"bg-[#C4574C]":"bg-[#F59E0B]")}),(0,a.jsx)("span",{className:"text-xs font-semibold text-[#2C2C2C]",children:e.description})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 pl-4",children:[(0,a.jsx)(x.E,{className:"text-[10px] border-0 ".concat("failed"===e.status?"bg-red-50 text-[#C4574C]":"bg-amber-50 text-[#D97706]"),children:m("acceptanceCriteria.status.".concat(e.status))}),(0,a.jsx)(x.E,{className:"text-[10px] border-0 bg-[#FAF8F4] text-[#9A9A9A]",children:e.required?m("acceptanceCriteria.required"):m("acceptanceCriteria.optional")}),!e.evidence&&(0,a.jsx)("span",{className:"text-[10px] italic text-[#9A9A9A]",children:m("acceptanceCriteria.noEvidence")})]}),e.evidence&&(0,a.jsxs)("div",{className:"rounded-md bg-red-50 p-2 ml-4",children:[(0,a.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:m("acceptanceCriteria.verifyEvidence")}),(0,a.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:e.evidence})]})]},e.uuid))]}),(0,a.jsx)(O.Es,{className:"border-t border-[#E5E2DC] px-6 py-4",children:(0,a.jsx)(u.$,{className:"rounded-lg bg-[#C4574C] hover:bg-[#A3433A] text-white",onClick:()=>z(!1),children:m("acceptanceCriteria.dismiss")})})]})})]})}var Q=s(26145);s(33805);var X=s(85226),ee=s(92745);let et=(0,R.createServerReference)("405d35bb04cf8d421f2dbac180fe9a4bf25e6399d8",R.callServer,void 0,R.findSourceMapURL,"getProjectDependenciesAction");var es=s(29166);function ea(e){let{projectUuid:t,onTaskSelect:s,refreshKey:l}=e,o=(0,i.c)(),d=(0,n.useSearchParams)(),[c,x,p]=(0,Q.ck)([]),[m,g,f]=(0,Q.fM)([]),[h,b]=(0,r.useState)(!0),[j,y]=(0,r.useState)(null),w=(0,r.useMemo)(()=>{let e=d.get("proposalUuids");if(!e)return null;let t=e.split(",").filter(Boolean);return t.length>0?new Set(t):null},[d]),N=(0,r.useCallback)(async()=>{b(!0);let e=await et(t),s=e.nodes,a=e.edges;if(w){let t=new Set((s=e.nodes.filter(e=>null!==e.proposalUuid&&w.has(e.proposalUuid))).map(e=>e.uuid));a=e.edges.filter(e=>t.has(e.from)&&t.has(e.to))}let r=s.map(e=>({id:e.uuid,type:"taskNode",position:{x:0,y:0},data:{title:e.title,status:e.status,priority:e.priority,proposalUuid:e.proposalUuid}})),n=a.map((e,t)=>({id:"e-".concat(t),source:e.to,target:e.from,...ee.qK})),{nodes:i,edges:l}=(0,ee.nF)(r,n);x(i),g(l),b(!1)},[t,w,x,g]);(0,r.useEffect)(()=>{N()},[N,l]);let k=(0,r.useCallback)(async e=>{if(!e.source||!e.target)return;y(null);let t=e.target,s=e.source,a=await (0,es.w)(t,s);if(!a.success)return void y(a.error||o("tasks.failedToAddDep"));await N()},[N]),C=(0,r.useCallback)((e,t)=>{s(t.id)},[s]);return h?(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,a.jsx)(X.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):0===c.length?(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-[#9A9A9A]",children:o("tasks.noTasksToDisplay")}):(0,a.jsxs)("div",{className:"flex-1 rounded-xl border border-[#E5E0D8] bg-[#FAFAF8] relative",children:[j&&(0,a.jsxs)("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-10 rounded-lg bg-red-50 border border-red-200 px-4 py-2 text-xs text-red-700 shadow-sm",children:[j,(0,a.jsx)(u.$,{variant:"ghost",size:"icon",className:"ml-2 h-5 w-5 font-medium hover:text-red-900",onClick:()=>y(null),children:(0,a.jsx)(v.A,{className:"h-3 w-3"})})]}),(0,a.jsxs)(Q.Gc,{nodes:c,edges:m,onNodesChange:p,onEdgesChange:f,onConnect:k,onNodeClick:C,nodeTypes:ee.c_,fitView:!0,fitViewOptions:{padding:.2},minZoom:.3,maxZoom:1.5,proOptions:{hideAttribution:!0},children:[(0,a.jsx)(Q.VS,{color:"#E5E0D8",gap:20}),(0,a.jsx)(Q.H2,{className:"[&>button]:border-[#E5E0D8] [&>button]:bg-white [&>button]:text-[#2C2C2C] [&>button:hover]:bg-[#FAF8F4]"})]})]})}let er={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},en={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},ei=[{id:"all",labelKey:"allStatuses",statuses:[]},{id:"todo",labelKey:"todo",statuses:["open","assigned"]},{id:"in_progress",labelKey:"inProgress",statuses:["in_progress"]},{id:"to_verify",labelKey:"toVerify",statuses:["to_verify"]},{id:"done",labelKey:"done",statuses:["done","closed"]}],el={high:"bg-red-100 text-red-700",medium:"bg-yellow-100 text-yellow-700",low:"bg-blue-100 text-blue-700"};function eo(e){let{projectUuid:t,initialTasks:s,currentUserUuid:f,initialSelectedTaskUuid:h}=e,b=(0,i.c)(),v=(0,m.a)(),j=(0,n.useSearchParams)(),[y,w]=(0,r.useState)("kanban"),k="/projects/".concat(t,"/tasks"),{selectedId:C,openPanel:F,closePanel:A}=(0,g.T)(k,h),E=(0,r.useMemo)(()=>{let e=j.get("proposalUuids");if(!e)return null;let t=e.split(",").filter(Boolean);return t.length>0?new Set(t):null},[j]);(0,r.useEffect)(()=>{v&&"kanban"===y&&w("list")},[v]);let[B,S]=(0,r.useState)(!1),[z,_]=(0,r.useState)(0),[U,D]=(0,r.useState)("all"),L=(0,r.useMemo)(()=>{var e;return C&&null!=(e=s.find(e=>e.uuid===C))?e:null},[C,s]),T=(0,r.useCallback)(()=>{_(e=>e+1)},[]),O=(0,r.useMemo)(()=>E?s.filter(e=>e.proposalUuid&&E.has(e.proposalUuid)):s,[s,E]),R=(0,r.useMemo)(()=>{let e=ei.find(e=>e.id===U);return e&&0!==e.statuses.length?O.filter(t=>e.statuses.includes(t.status)):O},[O,U]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4 overflow-x-auto",children:(0,a.jsx)(N,{projectUuid:t})}),(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-[#F5F2EC] p-1 w-fit",children:[v&&(0,a.jsxs)(u.$,{variant:"ghost",size:"sm",className:"h-8 gap-1.5 rounded-md px-3 text-xs ".concat("list"===y?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"),onClick:()=>w("list"),children:[(0,a.jsx)(l.A,{className:"h-3.5 w-3.5"}),b("tasks.listView")]}),!v&&(0,a.jsxs)(u.$,{variant:"ghost",size:"sm",className:"h-8 gap-1.5 rounded-md px-3 text-xs ".concat("kanban"===y?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"),onClick:()=>w("kanban"),children:[(0,a.jsx)(o.A,{className:"h-3.5 w-3.5"}),b("tasks.kanbanView")]}),(0,a.jsxs)(u.$,{variant:"ghost",size:"sm",className:"h-8 gap-1.5 rounded-md px-3 text-xs ".concat("dag"===y?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"),onClick:()=>w("dag"),children:[(0,a.jsx)(d.A,{className:"h-3.5 w-3.5"}),b("tasks.dagView")]})]}),(0,a.jsxs)(u.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:()=>{A(),S(!0)},children:[(0,a.jsx)(c.A,{className:"mr-2 h-4 w-4"}),b("tasks.newTask")]})]}),"list"===y?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4 flex gap-1 overflow-x-auto border-b border-[#E5E0D8] pb-2",children:ei.map(e=>{let t=0===e.statuses.length?O.length:O.filter(t=>e.statuses.includes(t.status)).length;return(0,a.jsxs)(u.$,{variant:"ghost",size:"sm",className:"h-8 shrink-0 rounded-md px-3 text-xs ".concat(U===e.id?"bg-[#F5F2EC] text-[#2C2C2C] font-medium":"text-[#6B6B6B] hover:text-[#2C2C2C]"),onClick:()=>D(e.id),children:["all"===e.id?b("tasks.".concat(e.labelKey)):b("status.".concat(e.labelKey)),(0,a.jsx)("span",{className:"ml-1.5 rounded-full bg-white px-1.5 py-0.5 text-[10px] font-medium text-[#6B6B6B]",children:t})]},e.id)})}),(0,a.jsx)("div",{className:"flex-1 space-y-2 overflow-y-auto",children:0===R.length?(0,a.jsx)(P.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-[#E5E0D8] text-sm text-[#9A9A9A]",children:b("tasks.noTasks")}):R.map(e=>(0,a.jsxs)(p.Zp,{className:"cursor-pointer border-[#E5E0D8] bg-white p-4 transition-all hover:border-[#C67A52] hover:shadow-sm",onClick:()=>F(e.uuid),children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("h4",{className:"font-medium text-[#2C2C2C] truncate",children:e.title}),e.description&&(0,a.jsx)("p",{className:"mt-1 line-clamp-1 text-sm text-[#6B6B6B]",children:e.description})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[null!=e.storyPoints&&e.storyPoints>0&&(0,a.jsxs)("span",{className:"rounded bg-[#FFF3E0] px-2 py-0.5 text-xs font-medium text-[#E65100]",children:[e.storyPoints,"h"]}),(0,a.jsx)(x.E,{className:el[e.priority]||"",children:b("priority.".concat(e.priority))}),(0,a.jsx)(x.E,{className:er[e.status]||"",children:b("status.".concat(en[e.status]||e.status))})]})]}),e.assignee&&(0,a.jsx)("div",{className:"mt-2 flex items-center gap-1.5 text-xs text-[#9A9A9A]",children:(0,a.jsx)("span",{className:"truncate",children:e.assignee.name})})]},e.uuid))}),L&&(0,a.jsx)($.v,{task:L,projectUuid:t,currentUserUuid:f,onClose:A,onDependencyChange:T})]}):"kanban"===y?(0,a.jsx)(J,{projectUuid:t,initialTasks:O,currentUserUuid:f,selectedTaskUuid:C,onTaskSelect:F,onPanelClose:A,proposalUuidFilter:E}):(0,a.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,a.jsx)(ea,{projectUuid:t,onTaskSelect:e=>F(e),refreshKey:z}),L&&(0,a.jsx)($.v,{task:L,projectUuid:t,currentUserUuid:f,onClose:A,onDependencyChange:T})]}),B&&!L&&(0,a.jsx)($.v,{task:null,projectUuid:t,currentUserUuid:f,onClose:()=>S(!1),onCreated:()=>S(!1)})]})}},97438:(e,t,s)=>{"use strict";s.d(t,{Cf:()=>x,Es:()=>m,L3:()=>g,c7:()=>p,lG:()=>o,rr:()=>f,zM:()=>d});var a=s(90508);s(1856);var r=s(9160),n=s(71350),i=s(24377),l=s(22922);function o(e){let{...t}=e;return(0,a.jsx)(n.Root,{"data-slot":"dialog",...t})}function d(e){let{...t}=e;return(0,a.jsx)(n.Trigger,{"data-slot":"dialog-trigger",...t})}function c(e){let{...t}=e;return(0,a.jsx)(n.Portal,{"data-slot":"dialog-portal",...t})}function u(e){let{className:t,...s}=e;return(0,a.jsx)(n.Overlay,{"data-slot":"dialog-overlay",className:(0,i.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...s})}function x(e){let{className:t,children:s,showCloseButton:l=!0,...o}=e;return(0,a.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,a.jsx)(u,{}),(0,a.jsxs)(n.Content,{"data-slot":"dialog-content",className:(0,i.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",t),...o,children:[s,l&&(0,a.jsxs)(n.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,a.jsx)(r.A,{}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function p(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"dialog-header",className:(0,i.cn)("flex flex-col gap-2 text-center sm:text-left",t),...s})}function m(e){let{className:t,showCloseButton:s=!1,children:r,...o}=e;return(0,a.jsxs)("div",{"data-slot":"dialog-footer",className:(0,i.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...o,children:[r,s&&(0,a.jsx)(n.Close,{asChild:!0,children:(0,a.jsx)(l.$,{variant:"outline",children:"Close"})})]})}function g(e){let{className:t,...s}=e;return(0,a.jsx)(n.Title,{"data-slot":"dialog-title",className:(0,i.cn)("text-lg leading-none font-semibold",t),...s})}function f(e){let{className:t,...s}=e;return(0,a.jsx)(n.Description,{"data-slot":"dialog-description",className:(0,i.cn)("text-muted-foreground text-sm",t),...s})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6028],{4365:(e,t,a)=>{a.d(t,{G7:()=>o,L$:()=>u,h_:()=>x,oI:()=>d,uB:()=>l,xL:()=>c});var s=a(90508);a(1856);var r=a(64731),n=a(30044),i=a(24377);function l(e){let{className:t,...a}=e;return(0,s.jsx)(r.uB,{"data-slot":"command",className:(0,i.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...a})}function o(e){let{className:t,...a}=e;return(0,s.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,s.jsx)(n.A,{className:"size-4 shrink-0 opacity-50"}),(0,s.jsx)(r.uB.Input,{"data-slot":"command-input",className:(0,i.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...a})]})}function d(e){let{className:t,...a}=e;return(0,s.jsx)(r.uB.List,{"data-slot":"command-list",className:(0,i.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",t),...a})}function c(e){let{...t}=e;return(0,s.jsx)(r.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...t})}function u(e){let{className:t,...a}=e;return(0,s.jsx)(r.uB.Group,{"data-slot":"command-group",className:(0,i.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",t),...a})}function x(e){let{className:t,...a}=e;return(0,s.jsx)(r.uB.Item,{"data-slot":"command-item",className:(0,i.cn)("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t),...a})}},10836:(e,t,a)=>{a.d(t,{i:()=>w});var s=a(90508),r=a(1856),n=a(23675),i=a(39268),l=a(9160),o=a(85226),d=a(5425),c=a(94903),u=a(22922),x=a(88064),m=a(41033),p=a(91846),f=a(52217);let g=(0,f.createServerReference)("008f20a9405b38193432bd623a732a03d1573f9915",f.callServer,void 0,f.findSourceMapURL,"getPmAgentsAction"),h=(0,f.createServerReference)("407ffac12f593d62998dda19ad905f6958683c105c",f.callServer,void 0,f.findSourceMapURL,"claimIdeaAction"),v=(0,f.createServerReference)("6087f3e9888300b773d5b392ae84a724defbca763c",f.callServer,void 0,f.findSourceMapURL,"claimIdeaToAgentAction"),b=(0,f.createServerReference)("602f13cc95042682d5cf10c3387439a4d8c9e9323f",f.callServer,void 0,f.findSourceMapURL,"claimIdeaToUserAction"),j=(0,f.createServerReference)("401da80330372c6f48bb98b62ef3e13f5e2a56707e",f.callServer,void 0,f.findSourceMapURL,"releaseIdeaAction");function w(e){var t;let{idea:a,projectUuid:f,currentUserUuid:w,onClose:N}=e,y=(0,i.c)(),A=(0,n.useRouter)(),[C,k]=(0,r.useState)(!1),[S,B]=(0,r.useState)("self"),[E,F]=(0,r.useState)(""),[D,R]=(0,r.useState)(""),[z,I]=(0,r.useState)([]),[_,U]=(0,r.useState)([]),[T,L]=(0,r.useState)(!0),O=!!a.assignee;(0,r.useEffect)(()=>{!async function(){L(!0);let e=await g();I(e.agents||[]),U((e.users||[]).filter(e=>e.uuid!==w)),L(!1)}()},[w]);let M=async()=>{let e;if(k(!0),"self"===S)e=await h(a.uuid);else if("agent"===S&&E)e=await v(a.uuid,E);else if("user"===S&&D)e=await b(a.uuid,D);else{if("release"!==S)return void k(!1);e=await j(a.uuid)}k(!1),(null==e?void 0:e.success)&&(A.refresh(),N())},q="self"===S||"agent"===S&&E||"user"===S&&D||"release"===S&&O;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"fixed inset-0 z-50 bg-black/40",onClick:N}),(0,s.jsxs)("div",{className:"fixed left-1/2 top-1/2 z-50 w-[400px] -translate-x-1/2 -translate-y-1/2 rounded-2xl bg-white shadow-xl border border-[#E5E0D8]",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between border-b border-[#E5E0D8] px-6 py-5",children:[(0,s.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:y("ideas.assignIdea")}),(0,s.jsx)("button",{onClick:N,className:"text-[#9A9A9A] hover:text-[#6B6B6B] transition-colors",children:(0,s.jsx)(l.A,{className:"h-5 w-5"})})]}),(0,s.jsxs)("div",{className:"p-6 space-y-4",children:[(0,s.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3",children:[(0,s.jsx)("p",{className:"text-[13px] font-medium text-[#2C2C2C]",children:a.title}),a.content&&(0,s.jsx)("p",{className:"mt-1 text-[11px] text-[#6B6B6B] line-clamp-2",children:a.content})]}),O&&(0,s.jsx)("div",{className:"rounded-lg bg-[#E3F2FD] p-3",children:(0,s.jsxs)("p",{className:"text-xs text-[#1976D2]",children:[y("common.currentAssignee"),": ",(0,s.jsx)("span",{className:"font-medium",children:null==(t=a.assignee)?void 0:t.name})]})}),(0,s.jsx)("p",{className:"text-[13px] text-[#6B6B6B]",children:y("ideas.selectIdeaAssignee")}),T?(0,s.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,s.jsx)(o.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):(0,s.jsxs)(m.z,{value:S,onValueChange:e=>B(e),className:"space-y-3",children:[(0,s.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("self"===S?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"),onClick:()=>B("self"),children:[(0,s.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,s.jsx)(m.C,{value:"self",id:"idea-self",className:"border-[#C67A52] text-[#C67A52]"}),(0,s.jsx)(x.J,{htmlFor:"idea-self",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:y("assign.assignToMyself")})]}),(0,s.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:y("ideas.assignToMyselfIdeaDesc")})]}),(0,s.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("agent"===S?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"),children:[(0,s.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>B("agent"),children:[(0,s.jsx)(m.C,{value:"agent",id:"idea-agent",className:"border-[#C67A52] text-[#C67A52]"}),(0,s.jsx)(x.J,{htmlFor:"idea-agent",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:y("ideas.orAssignToPmAgent")})]}),(0,s.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:y("ideas.onlySelectedPmAgentCanWork")}),"agent"===S&&(0,s.jsx)("div",{className:"mt-3 ml-6",children:(0,s.jsxs)(p.l6,{value:E,onValueChange:F,children:[(0,s.jsx)(p.bq,{className:"w-full border-[#E5E0D8]",children:(0,s.jsx)(p.yv,{placeholder:y("ideas.selectPmAgent")})}),(0,s.jsx)(p.gC,{children:z.length>0?z.map(e=>(0,s.jsx)(p.eb,{value:e.uuid,children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(d.A,{className:"h-4 w-4 text-[#C67A52]"}),(0,s.jsx)("span",{children:e.name})]})},e.uuid)):(0,s.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:y("ideas.noPmAgentsAvailable")})})]})})]}),(0,s.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("user"===S?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"),children:[(0,s.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>B("user"),children:[(0,s.jsx)(m.C,{value:"user",id:"idea-user",className:"border-[#C67A52] text-[#C67A52]"}),(0,s.jsx)(x.J,{htmlFor:"idea-user",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:y("assign.orAssignToUser")})]}),"user"===S&&(0,s.jsx)("div",{className:"mt-3 ml-6",children:(0,s.jsxs)(p.l6,{value:D,onValueChange:R,children:[(0,s.jsx)(p.bq,{className:"w-full border-[#E5E0D8]",children:(0,s.jsx)(p.yv,{placeholder:y("tasks.selectUser")})}),(0,s.jsx)(p.gC,{children:_.length>0?_.map(e=>(0,s.jsx)(p.eb,{value:e.uuid,children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(c.A,{className:"h-4 w-4 text-[#6B6B6B]"}),(0,s.jsx)("span",{children:e.name||e.email})]})},e.uuid)):(0,s.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:y("tasks.noUsersAvailable")})})]})})]}),O&&(0,s.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("release"===S?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"),onClick:()=>B("release"),children:[(0,s.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,s.jsx)(m.C,{value:"release",id:"idea-release",className:"border-[#C67A52] text-[#C67A52]"}),(0,s.jsx)(x.J,{htmlFor:"idea-release",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:y("assign.releaseAssignee")})]}),(0,s.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:y("ideas.releaseIdeaAssigneeDesc")})]})]})]}),(0,s.jsxs)("div",{className:"flex items-center justify-end gap-4 rounded-b-2xl bg-white px-6 py-6 border-t border-[#E5E0D8]",children:[(0,s.jsx)(u.$,{variant:"outline",onClick:N,disabled:C,className:"border-[#E5E0D8]",children:y("common.cancel")}),(0,s.jsx)(u.$,{onClick:M,disabled:C||!q,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:C?(0,s.jsx)(o.A,{className:"h-4 w-4 animate-spin"}):y("release"===S?"common.release":"common.assign")})]})]})]})}},14554:(e,t,a)=>{a.d(t,{p:()=>n});var s=a(90508);a(1856);var r=a(24377);function n(e){let{className:t,type:a,...n}=e;return(0,s.jsx)("input",{type:a,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","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",t),...n})}},15972:(e,t,a)=>{a.d(t,{T:()=>n});var s=a(90508);a(1856);var r=a(24377);function n(e){let{className:t,...a}=e;return(0,s.jsx)("textarea",{"data-slot":"textarea",className:(0,r.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),...a})}},17001:(e,t,a)=>{a.d(t,{AM:()=>i,Wv:()=>l,hl:()=>o});var s=a(90508);a(1856);var r=a(79919),n=a(24377);function i(e){let{...t}=e;return(0,s.jsx)(r.Root,{"data-slot":"popover",...t})}function l(e){let{...t}=e;return(0,s.jsx)(r.Trigger,{"data-slot":"popover-trigger",...t})}function o(e){let{className:t,align:a="center",sideOffset:i=4,...l}=e;return(0,s.jsx)(r.Portal,{children:(0,s.jsx)(r.Content,{"data-slot":"popover-content",align:a,sideOffset:i,className:(0,n.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...l})})}},26468:(e,t,a)=>{a.d(t,{R:()=>N});var s=a(90508),r=a(1856),n=a(23675),i=a(39268),l=a(17730),o=a(78948),d=a(37915),c=a(62898),u=a(57893),x=a(60532),m=a(85226),p=a(22922),f=a(14554),g=a(81750),h=a(52217);let v=(0,h.createServerReference)("701c6cc943504a7de9e8eef50d2493072ed3eb0380",h.callServer,void 0,h.findSourceMapURL,"submitElaborationAnswersAction");var b=a(42305);let j="__other__",w={functional:"functional",non_functional:"nonFunctional",business_context:"businessContext",technical_context:"technicalContext",user_scenario:"userScenario",scope:"scope"};function N(e){let{ideaUuid:t,elaboration:a,onRefresh:r}=e,l=(0,i.c)("elaboration"),o=(0,n.useRouter)();if(!a||0===a.rounds.length)return null;let{summary:d,rounds:c}=a;return(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:l("title")}),(0,s.jsx)("span",{className:"text-xs font-medium text-[#C67A52]",children:l("answeredCounter",{answered:d.answeredQuestions,total:d.totalQuestions})})]}),(0,s.jsx)("div",{className:"space-y-2.5",children:c.map(e=>(0,s.jsx)(y,{round:e,ideaUuid:t,onAnswered:async()=>{await (null==r?void 0:r()),o.refresh()}},e.uuid))})]})}function y(e){let{round:t,ideaUuid:a,onAnswered:n}=e,d=(0,i.c)("elaboration"),c="pending_answers"===t.status,u="answered"===t.status||"validated"===t.status||"needs_followup"===t.status,[x,m]=(0,r.useState)(c);return(0,s.jsx)(g.Nt,{open:x,onOpenChange:m,children:(0,s.jsxs)("div",{className:"overflow-hidden rounded-xl border border-[#E5E0D8] bg-white",children:[(0,s.jsx)(g.R6,{asChild:!0,children:(0,s.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between px-4 py-3 text-left transition-colors cursor-pointer hover:bg-[#FAF8F4] ".concat(x?"bg-[#F7F6F3] border-b border-[#E5E0D8]":""),children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[x?(0,s.jsx)(l.A,{className:"h-4 w-4 text-[#6B6B6B]"}):(0,s.jsx)(o.A,{className:"h-4 w-4 text-[#6B6B6B]"}),(0,s.jsx)("span",{className:"flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-full text-[11px] font-semibold text-white ".concat(c?"bg-[#C67A52]":"bg-[#888780]"),children:t.roundNumber}),(0,s.jsx)("span",{className:"text-[13px] font-semibold text-[#2C2C2C]",children:d("roundLabel",{number:t.roundNumber})}),!x&&(0,s.jsxs)("span",{className:"text-xs text-[#9A9A9A]",children:["\xb7 ",d("questionCount",{count:t.questions.length})]})]}),u?(0,s.jsx)("span",{className:"rounded bg-[#E8F5E9] px-2 py-0.5 text-[10px] font-medium text-[#2E7D32]",children:d("statusAnswered")}):(0,s.jsx)("span",{className:"rounded bg-[#FFF3E0] px-2 py-0.5 text-[10px] font-medium text-[#E65100]",children:d("pendingAnswers")})]})}),(0,s.jsx)(g.Ke,{children:c?(0,s.jsx)(C,{round:t,ideaUuid:a,onAnswered:n}):(0,s.jsx)(A,{round:t})})]})})}function A(e){let{round:t}=e,a=(0,i.c)("elaboration");return(0,s.jsx)("div",{className:"space-y-4 px-4 py-4",children:t.questions.map((e,r)=>{var n,i;let l=(null==(n=e.answer)?void 0:n.selectedOptionId)?e.options.find(t=>{var a;return t.id===(null==(a=e.answer)?void 0:a.selectedOptionId)}):null,o=(null==(i=e.answer)?void 0:i.customText)||(null==l?void 0:l.label)||a("noAnswer"),d=w[e.category]||e.category;return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsxs)("span",{className:"text-xs leading-relaxed text-[#6B6B6B]",children:["Q: ",e.text]}),(0,s.jsx)("span",{className:"shrink-0 text-[11px] italic text-[#B0B0B0]",children:a("category.".concat(d))})]}),(0,s.jsxs)("p",{className:"mt-1 text-xs font-medium leading-relaxed text-[#2C2C2C]",children:["A: ",o]}),r<t.questions.length-1&&(0,s.jsx)("div",{className:"mt-4 h-px bg-[#F0EEEA]"})]},e.uuid)})})}function C(e){var t,a,n;let{round:l,ideaUuid:g,onAnswered:h}=e,N=(0,i.c)("elaboration"),[y,A]=(0,r.useState)(0),C=(0,r.useRef)(y),[k,S]=(0,r.useState)("right"),[B,E]=(0,r.useState)({}),[F,D]=(0,r.useState)(!1),[R,z]=(0,r.useState)(null);(0,r.useEffect)(()=>{C.current=y},[y]);let I=(0,r.useCallback)((e,t)=>{S("left"===t?"right":"left"),A(e)},[]),_=l.questions,U=_[y],T=w[U.category]||U.category,L=(0,r.useCallback)((e,t)=>{if(E(a=>{var s;return{...a,[e]:{questionId:e,selectedOptionId:t===j?null:t,customText:t===j?(null==(s=a[e])?void 0:s.customText)||"":null}}}),t!==j){let e=Math.min(_.length-1,C.current+1);e!==C.current&&setTimeout(()=>I(e,"left"),200)}},[_.length,I]),O=(0,r.useCallback)((e,t)=>{E(a=>({...a,[e]:{...a[e],questionId:e,selectedOptionId:null,customText:t}}))},[]),M=_.filter(e=>e.required).every(e=>{let t=B[e.questionId];return!!t&&!!(t.selectedOptionId||t.customText&&t.customText.trim())}),q=async()=>{D(!0),z(null);let e=Object.values(B),t=await v(g,l.uuid,e);t.success?(await h(),D(!1)):(D(!1),z(t.error||N("submitFailed")))},P=(e=>{let t=B[e];return t?null===t.selectedOptionId&&null!==t.customText&&void 0!==t.customText?j:t.selectedOptionId||null:null})(U.questionId),$=P===j,K=y===_.length-1,G=!!(null!=(n=null==(t=B[U.questionId])?void 0:t.customText)?n:"").trim();return(0,s.jsxs)("div",{className:"overflow-hidden p-3.5",children:[(0,s.jsxs)("div",{className:"right"===k?"animate-in slide-in-from-right-4 duration-200":"animate-in slide-in-from-left-4 duration-200",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,s.jsx)("div",{className:"flex-1 text-sm text-[#6B6B6B]",children:U.text}),(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,s.jsx)(p.$,{variant:"ghost",size:"icon",onClick:()=>I(y-1,"right"),disabled:0===y,className:"h-7 w-7 text-[#6B6B6B] disabled:opacity-30",children:(0,s.jsx)(d.A,{className:"h-4 w-4"})}),(0,s.jsx)("span",{className:"text-xs text-[#9A9A9A]",children:N("navCounter",{current:y+1,total:_.length})}),(0,s.jsx)(p.$,{variant:"ghost",size:"icon",onClick:()=>I(y+1,"left"),disabled:y===_.length-1,className:"h-7 w-7 text-[#6B6B6B] disabled:opacity-30",children:(0,s.jsx)(o.A,{className:"h-4 w-4"})})]})]}),(0,s.jsxs)("div",{className:"mt-3",children:[U.options.map((e,t)=>{let a=P===e.id;return(0,s.jsxs)("div",{children:[(0,s.jsxs)(p.$,{variant:"ghost",onClick:()=>L(U.questionId,e.id),className:"flex w-full items-start justify-between gap-2.5 px-3.5 py-3 h-auto text-left transition-colors rounded-none ".concat(a?"bg-[#F7F6F3]":"hover:bg-[#FAF8F4]"),children:[(0,s.jsxs)("span",{className:"flex flex-1 min-w-0 items-start gap-2.5",children:[(0,s.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-[#E5E0D8] text-xs font-medium text-[#5F5E5A]",children:t+1}),(0,s.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col items-start",children:[(0,s.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[13px] text-[#2C2C2A]",children:e.label}),e.description&&(0,s.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[11px] text-[#9A9A9A]",children:e.description})]})]}),a&&(0,s.jsx)(c.A,{className:"mt-1 h-4 w-4 shrink-0 text-[#888780]"})]}),t<U.options.length-1&&(0,s.jsx)("div",{className:"h-px bg-[#F0EEEA]"})]},e.id)}),(0,s.jsx)("div",{className:"h-px bg-[#F0EEEA]"}),(0,s.jsxs)("div",{className:"flex w-full items-center gap-2.5 px-3.5 py-3 transition-colors ".concat($?"bg-[#F7F6F3]":"hover:bg-[#FAF8F4]"),children:[(0,s.jsx)("span",{className:"flex h-7 w-7 shrink-0 cursor-pointer items-center justify-center rounded-md bg-[#E5E0D8]",onClick:()=>L(U.questionId,j),children:(0,s.jsx)(u.A,{className:"h-3.5 w-3.5 text-[#B4B2A9]"})}),$?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(f.p,{type:"text",value:(null==(a=B[U.questionId])?void 0:a.customText)||"",onChange:e=>O(U.questionId,e.target.value),onKeyDown:e=>{if((0,b.P)(e)||"Enter"!==e.key||e.shiftKey||e.ctrlKey||e.metaKey||(e.preventDefault(),K||!G))return;let t=C.current+1;setTimeout(()=>I(t,"left"),200)},placeholder:N("somethingElse"),className:"flex-1 border-none bg-transparent text-[13px] text-[#2C2C2A] placeholder:italic placeholder:text-[#B4B2A9] shadow-none focus-visible:ring-0",autoFocus:!0}),!K&&(0,s.jsx)(p.$,{type:"button",variant:"ghost",size:"icon",onClick:()=>{if(K||!G)return;let e=C.current+1;setTimeout(()=>I(e,"left"),200)},disabled:!G,"aria-label":N("confirmAnswerAria"),className:"h-7 w-7 text-[#6B6B6B] disabled:opacity-30",children:(0,s.jsx)(x.A,{className:"h-4 w-4"})})]}):(0,s.jsx)(p.$,{variant:"ghost",onClick:()=>L(U.questionId,j),className:"flex-1 justify-start text-left text-[13px] italic text-[#B4B2A9] h-auto p-0 hover:bg-transparent",children:N("somethingElse")})]})]})]},y),R&&(0,s.jsx)("div",{className:"mt-3 rounded-lg bg-destructive/10 p-2.5 text-[12px] text-destructive",children:R}),(0,s.jsxs)("div",{className:"mt-3 flex items-center justify-between",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1.5 text-[11px] text-[#B0B0B0]",children:[(0,s.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-[#C67A52]"}),N("category.".concat(T))]}),(0,s.jsx)(p.$,{onClick:q,disabled:!M||F,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white text-[13px]",children:F?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(m.A,{className:"mr-2 h-3.5 w-3.5 animate-spin"}),N("submitting")]}):N("submitAnswers")})]})]})}},35680:(e,t,a)=>{a.d(t,{x:()=>r});var s=a(52217);let r=(0,s.createServerReference)("40b87c9088e53f05d128cb7aea80d80fd4a1a91c9e",s.callServer,void 0,s.findSourceMapURL,"getIdeaActivitiesAction")},41033:(e,t,a)=>{a.d(t,{C:()=>o,z:()=>l});var s=a(90508);a(1856);var r=a(97964),n=a(63197),i=a(24377);function l(e){let{className:t,...a}=e;return(0,s.jsx)(n.Root,{"data-slot":"radio-group",className:(0,i.cn)("grid gap-3",t),...a})}function o(e){let{className:t,...a}=e;return(0,s.jsx)(n.Item,{"data-slot":"radio-group-item",className:(0,i.cn)("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...a,children:(0,s.jsx)(n.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:(0,s.jsx)(r.A,{className:"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}},49192:(e,t,a)=>{a.d(t,{z:()=>r});var s=a(52217);let r=(0,s.createServerReference)("408601058044febf68e8336e07ed5085f28c4d4eae",s.callServer,void 0,s.findSourceMapURL,"getElaborationAction")},57731:(e,t,a)=>{a.d(t,{E:()=>o});var s=a(90508);a(1856);var r=a(49499),n=a(54154),i=a(24377);let l=(0,r.F)("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",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function o(e){let{className:t,variant:a="default",asChild:r=!1,...o}=e,d=r?n.bL:"span";return(0,s.jsx)(d,{"data-slot":"badge","data-variant":a,className:(0,i.cn)(l({variant:a}),t),...o})}},64993:(e,t,a)=>{a.d(t,{F:()=>i});var s=a(90508);a(1856);var r=a(65326),n=a(24377);function i(e){let{className:t,children:a,...i}=e;return(0,s.jsxs)(r.Root,{"data-slot":"scroll-area",className:(0,n.cn)("relative",t),...i,children:[(0,s.jsx)(r.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:a}),(0,s.jsx)(l,{}),(0,s.jsx)(r.Corner,{})]})}function l(e){let{className:t,orientation:a="vertical",...i}=e;return(0,s.jsx)(r.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:a,className:(0,n.cn)("flex touch-none p-px transition-colors select-none","vertical"===a&&"h-full w-2.5 border-l border-l-transparent","horizontal"===a&&"h-2.5 flex-col border-t border-t-transparent",t),...i,children:(0,s.jsx)(r.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}},65626:(e,t,a)=>{a.d(t,{K5:()=>o,Rf:()=>l,Yv:()=>s,bK:()=>i,qG:()=>n,tE:()=>r});let s={fast:.15,normal:.2,slow:.3,easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1],stagger:.04,staggerFast:.03,spring:{type:"spring",stiffness:500,damping:30},tween:{type:"tween",duration:.2,ease:[0,0,.2,1]}},r={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:s.normal,ease:s.easeOut}},exit:{opacity:0,y:-4,transition:{duration:s.fast,ease:s.easeOut}}},n={initial:{opacity:0},animate:{opacity:1,transition:{duration:s.normal,ease:s.easeOut}},exit:{opacity:0,transition:{duration:s.fast,ease:s.easeOut}}};s.normal,s.easeOut,s.fast,s.easeOut;let i={initial:{},animate:{transition:{staggerChildren:s.stagger}}},l={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:s.normal,ease:s.easeOut}}},o={initial:{opacity:0,scale:.95,y:-4},animate:{opacity:1,scale:1,y:0,transition:{duration:s.fast,ease:s.easeOut}},exit:{opacity:0,scale:.95,y:-4,transition:{duration:s.fast,ease:s.easeOut}}}},71645:(e,t,a)=>{a.d(t,{J:()=>r});var s=a(52217);let r=(0,s.createServerReference)("40a8dc731d4afcd4711ee4de5c14c357fc1b4639ca",s.callServer,void 0,s.findSourceMapURL,"updateIdeaAction")},77381:(e,t,a)=>{a.d(t,{Z:()=>r});var s=a(52217);let r=(0,s.createServerReference)("602780675b59205b3bd93dcfa5af4464fd9081c679",s.callServer,void 0,s.findSourceMapURL,"deleteIdeaAction")},81750:(e,t,a)=>{a.d(t,{Ke:()=>o,Nt:()=>i,R6:()=>l});var s=a(90508),r=a(38476),n=a(24377);function i(e){let{...t}=e;return(0,s.jsx)(r.Root,{"data-slot":"collapsible",...t})}function l(e){let{...t}=e;return(0,s.jsx)(r.Trigger,{"data-slot":"collapsible-trigger",...t})}function o(e){let{className:t,...a}=e;return(0,s.jsx)(r.Content,{"data-slot":"collapsible-content",className:(0,n.cn)("overflow-hidden data-[state=open]:animate-[collapsible-down_250ms_ease-in-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-in-out]",t),...a})}},88064:(e,t,a)=>{a.d(t,{J:()=>i});var s=a(90508);a(1856);var r=a(58057),n=a(24377);function i(e){let{className:t,...a}=e;return(0,s.jsx)(r.Root,{"data-slot":"label",className:(0,n.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),...a})}},91846:(e,t,a)=>{a.d(t,{bq:()=>u,eb:()=>m,gC:()=>x,l6:()=>d,yv:()=>c});var s=a(90508);a(1856);var r=a(17730),n=a(60532),i=a(89967),l=a(48218),o=a(24377);function d(e){let{...t}=e;return(0,s.jsx)(l.Root,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,s.jsx)(l.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:a="default",children:n,...i}=e;return(0,s.jsxs)(l.Trigger,{"data-slot":"select-trigger","data-size":a,className:(0,o.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...i,children:[n,(0,s.jsx)(l.Icon,{asChild:!0,children:(0,s.jsx)(r.A,{className:"size-4 opacity-50"})})]})}function x(e){let{className:t,children:a,position:r="item-aligned",align:n="center",...i}=e;return(0,s.jsx)(l.Portal,{children:(0,s.jsxs)(l.Content,{"data-slot":"select-content",className:(0,o.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:r,align:n,...i,children:[(0,s.jsx)(p,{}),(0,s.jsx)(l.Viewport,{className:(0,o.cn)("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:a}),(0,s.jsx)(f,{})]})})}function m(e){let{className:t,children:a,...r}=e;return(0,s.jsxs)(l.Item,{"data-slot":"select-item",className:(0,o.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...r,children:[(0,s.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,s.jsx)(l.ItemIndicator,{children:(0,s.jsx)(n.A,{className:"size-4"})})}),(0,s.jsx)(l.ItemText,{children:a})]})}function p(e){let{className:t,...a}=e;return(0,s.jsx)(l.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...a,children:(0,s.jsx)(i.A,{className:"size-4"})})}function f(e){let{className:t,...a}=e;return(0,s.jsx)(l.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...a,children:(0,s.jsx)(r.A,{className:"size-4"})})}},97438:(e,t,a)=>{a.d(t,{Cf:()=>x,Es:()=>p,L3:()=>f,c7:()=>m,lG:()=>o,rr:()=>g,zM:()=>d});var s=a(90508);a(1856);var r=a(9160),n=a(71350),i=a(24377),l=a(22922);function o(e){let{...t}=e;return(0,s.jsx)(n.Root,{"data-slot":"dialog",...t})}function d(e){let{...t}=e;return(0,s.jsx)(n.Trigger,{"data-slot":"dialog-trigger",...t})}function c(e){let{...t}=e;return(0,s.jsx)(n.Portal,{"data-slot":"dialog-portal",...t})}function u(e){let{className:t,...a}=e;return(0,s.jsx)(n.Overlay,{"data-slot":"dialog-overlay",className:(0,i.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function x(e){let{className:t,children:a,showCloseButton:l=!0,...o}=e;return(0,s.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,s.jsx)(u,{}),(0,s.jsxs)(n.Content,{"data-slot":"dialog-content",className:(0,i.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",t),...o,children:[a,l&&(0,s.jsxs)(n.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,s.jsx)(r.A,{}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function m(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"dialog-header",className:(0,i.cn)("flex flex-col gap-2 text-center sm:text-left",t),...a})}function p(e){let{className:t,showCloseButton:a=!1,children:r,...o}=e;return(0,s.jsxs)("div",{"data-slot":"dialog-footer",className:(0,i.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...o,children:[r,a&&(0,s.jsx)(n.Close,{asChild:!0,children:(0,s.jsx)(l.$,{variant:"outline",children:"Close"})})]})}function f(e){let{className:t,...a}=e;return(0,s.jsx)(n.Title,{"data-slot":"dialog-title",className:(0,i.cn)("text-lg leading-none font-semibold",t),...a})}function g(e){let{className:t,...a}=e;return(0,s.jsx)(n.Description,{"data-slot":"dialog-description",className:(0,i.cn)("text-muted-foreground text-sm",t),...a})}},98480:(e,t,a)=>{a.d(t,{h:()=>y});var s=a(90508),r=a(1856),n=a(39268),i=a(23675),l=a(67587),o=a(85226),d=a(30825),c=a(60532),u=a(17475),x=a(22922),m=a(88064),p=a(97438),f=a(4365),g=a(17001),h=a(24377),v=a(52217);let b=(0,v.createServerReference)("003c13cd364f44bcc2a2a37e25d3585f4e90f821b2",v.callServer,void 0,v.findSourceMapURL,"getProjectsAndGroupsAction"),j=(0,v.createServerReference)("609677c522ef267457b4e8c544c35b1f88e290ff09",v.callServer,void 0,v.findSourceMapURL,"moveIdeaPreviewAction"),w=(0,v.createServerReference)("607d2b7a6d75ffa185acec5138986d06e30a6d9c19",v.callServer,void 0,v.findSourceMapURL,"moveIdeaAction");var N=a(67712);function y(e){let{open:t,onOpenChange:a,ideaUuid:v,projectUuid:y,onMoved:A}=e,C=(0,n.c)("ideas"),k=(0,n.c)("common"),S=(0,i.useRouter)(),[B,E]=(0,r.useState)([]),[F,D]=(0,r.useState)(!1),[R,z]=(0,r.useState)(null),[I,_]=(0,r.useState)(!1),U=(()=>{if(!R)return null;for(let e of B){let t=e.projects.find(e=>e.uuid===R);if(t)return t.name}return null})(),[T,L]=(0,r.useState)(null),[O,M]=(0,r.useState)(!1),[q,P]=(0,r.useState)(null),[$,K]=(0,r.useState)(!1),[G,J]=(0,r.useState)(null),V=(0,r.useRef)(0),W=(0,r.useCallback)(e=>{e&&e.addEventListener("wheel",e=>e.stopPropagation(),{passive:!0})},[]),Q=(0,r.useCallback)(async()=>{z(null),L(null),P(null),J(null),D(!0);try{let e=await b();if(e.success){let{projects:t,groups:a}=e.data,s=t.filter(e=>e.uuid!==y).map(e=>({uuid:e.uuid,name:e.name,groupUuid:e.groupUuid})),r=new Map;for(let e of a)r.set(e.uuid,e.name);let n=new Map,i=[];for(let e of s)e.groupUuid&&r.has(e.groupUuid)?(n.has(e.groupUuid)||n.set(e.groupUuid,{uuid:e.groupUuid,name:r.get(e.groupUuid),projects:[]}),n.get(e.groupUuid).projects.push({uuid:e.uuid,name:e.name})):i.push({uuid:e.uuid,name:e.name});let l=[...n.values()];i.length>0&&l.push({uuid:"ungrouped",name:C("ungrouped"),projects:i}),E(l)}}catch(e){N.q.error("Failed to load projects for move dialog:",e),E([])}D(!1)},[y,C]);(0,r.useEffect)(()=>{t&&Q()},[t,Q]),(0,r.useEffect)(()=>{if(!R){L(null),P(null);return}let e=++V.current;M(!0),P(null),L(null),j(v,R).then(t=>{e===V.current&&(t.success?L(t.moved):P(t.error||C("moveDialog.error",{message:""})))}).catch(t=>{e===V.current&&(N.q.error("Failed to fetch move preview:",t),P(C("moveDialog.error",{message:t instanceof Error?t.message:String(t)})))}).finally(()=>{e===V.current&&M(!1)})},[R,v,C]);let Y=async()=>{if(R&&T&&!$){K(!0),J(null);try{let e=await w(v,R);if(e.success){let t=e.moved;l.oR.success(C("moveDialog.successToast",{...t}),{action:{label:C("moveDialog.viewMovedIdea"),onClick:()=>{S.push("/projects/".concat(R,"/dashboard?panel=").concat(v,"&tab=overview"))}}}),a(!1),S.refresh(),A(t)}else J(C("moveDialog.error",{message:e.error||C("moveFailed")}))}catch(e){J(C("moveDialog.error",{message:e instanceof Error?e.message:C("moveFailed")}))}K(!1)}};return(0,s.jsx)(p.lG,{open:t,onOpenChange:a,children:(0,s.jsxs)(p.Cf,{children:[(0,s.jsxs)(p.c7,{children:[(0,s.jsx)(p.L3,{children:C("moveDialog.title")}),(0,s.jsx)(p.rr,{children:C("moveDialog.description")})]}),(0,s.jsxs)("div",{className:"space-y-3 pt-1",children:[(0,s.jsx)(m.J,{htmlFor:"move-target-project",className:"text-[13px] font-medium text-[#2C2C2C]",children:C("moveDialog.targetProjectLabel")}),F?(0,s.jsx)("div",{className:"flex items-center justify-center h-10 border border-[#E5E0D8] rounded-md",children:(0,s.jsx)(o.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):(0,s.jsxs)(g.AM,{open:I,onOpenChange:_,children:[(0,s.jsx)(g.Wv,{asChild:!0,children:(0,s.jsxs)(x.$,{id:"move-target-project",variant:"outline",role:"combobox","aria-expanded":I,className:(0,h.cn)("w-full justify-between border-[#E5E0D8] font-normal",!U&&"text-[#9A9A9A]"),children:[null!=U?U:C("moveDialog.targetProjectPlaceholder"),(0,s.jsx)(d.A,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,s.jsx)(g.hl,{ref:W,className:"w-[--radix-popover-trigger-width] p-0 pointer-events-auto",align:"start",children:(0,s.jsxs)(f.uB,{children:[(0,s.jsx)(f.G7,{placeholder:C("moveDialog.searchProjects")}),(0,s.jsxs)(f.oI,{children:[(0,s.jsx)(f.xL,{children:C("noProjectsFound")}),B.map(e=>(0,s.jsx)(f.L$,{heading:e.name,children:e.projects.map(t=>(0,s.jsxs)(f.h_,{value:"".concat(t.name," ").concat(e.name),onSelect:()=>{z(t.uuid),_(!1)},children:[(0,s.jsx)(c.A,{className:(0,h.cn)("mr-2 h-4 w-4",R===t.uuid?"opacity-100":"opacity-0")}),t.name]},t.uuid))},e.uuid))]})]})})]}),R&&(0,s.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-lg border border-[#E5E0D8] bg-[#FAF8F4] p-3 text-[13px] text-[#2C2C2C]",children:O?(0,s.jsxs)("div",{className:"flex items-center gap-2 text-[#6B6B6B]",children:[(0,s.jsx)(o.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,s.jsx)("span",{children:C("moveDialog.previewLoading")})]}):q?(0,s.jsxs)("div",{className:"flex items-start gap-2 text-destructive",children:[(0,s.jsx)(u.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,s.jsx)("span",{children:q})]}):T?(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("p",{children:C("moveDialog.previewSummary",{...T})}),(0,s.jsx)("p",{className:"text-[12px] text-[#9A9A9A]",children:C("moveDialog.previewWarning")})]}):null}),G&&(0,s.jsx)("p",{className:"text-xs text-destructive",role:"alert",children:G})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[(0,s.jsx)(x.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:()=>a(!1),disabled:$,children:k("cancel")}),(0,s.jsx)(x.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:Y,disabled:!R||!T||$||O,children:$?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.A,{className:"mr-2 h-4 w-4 animate-spin"}),C("moving")]}):C("moveDialog.confirm")})]})]})})}}}]);