@chorus-aidlc/chorus 0.9.4 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +481 -430
- package/.next/standalone/.next/app-path-routes-manifest.json +57 -44
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +33 -33
- package/.next/standalone/.next/routes-manifest.json +33 -17
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +3 -3
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -8
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +5 -5
- package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.rsc +6 -6
- package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies.html +1 -1
- package/.next/standalone/.next/server/app/admin/companies.rsc +6 -6
- package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin.html +1 -1
- package/.next/standalone/.next/server/app/admin.rsc +6 -6
- package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/login/route.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/session/route.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agent-connections/route.js +1 -0
- package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/agents/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/route.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/callback/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/company-oidc/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/default-login/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/identify/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/me/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/refresh/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/session/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/sync-token/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/control/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/control/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/executions/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/documents/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -0
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/events/notifications/route.js +6 -2
- package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/route.js +7 -3
- package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/health/route.js +1 -1
- package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -0
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route.js +6 -42
- package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/search/route.js +1 -1
- package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +5 -5
- package/.next/standalone/.next/server/app/login/admin/page.js +1 -1
- package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/admin.html +1 -1
- package/.next/standalone/.next/server/app/login/admin.rsc +6 -6
- package/.next/standalone/.next/server/app/login/callback/page.js +2 -2
- package/.next/standalone/.next/server/app/login/callback/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/callback.html +1 -1
- package/.next/standalone/.next/server/app/login/callback.rsc +6 -6
- package/.next/standalone/.next/server/app/login/page.js +2 -2
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace/page.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.rsc +6 -6
- package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
- package/.next/standalone/.next/server/app/login/silent-refresh.rsc +5 -5
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +6 -6
- package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +1 -1
- package/.next/standalone/.next/server/app/onboarding.rsc +6 -6
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects.html +1 -1
- package/.next/standalone/.next/server/app/projects.rsc +7 -7
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +7 -7
- package/.next/standalone/.next/server/app-paths-manifest.json +57 -44
- package/.next/standalone/.next/server/chunks/1064.js +1 -0
- package/.next/standalone/.next/server/chunks/1596.js +13 -0
- package/.next/standalone/.next/server/chunks/2213.js +1 -0
- package/.next/standalone/.next/server/chunks/2618.js +1 -1
- package/.next/standalone/.next/server/chunks/2961.js +1 -1
- package/.next/standalone/.next/server/chunks/3219.js +2 -0
- package/.next/standalone/.next/server/chunks/3371.js +1 -0
- package/.next/standalone/.next/server/chunks/3419.js +1 -0
- package/.next/standalone/.next/server/chunks/369.js +1 -0
- package/.next/standalone/.next/server/chunks/4638.js +1 -0
- package/.next/standalone/.next/server/chunks/4711.js +530 -0
- package/.next/standalone/.next/server/chunks/4958.js +1 -1
- package/.next/standalone/.next/server/chunks/5039.js +1 -0
- package/.next/standalone/.next/server/chunks/5300.js +1 -1
- package/.next/standalone/.next/server/chunks/5631.js +1 -0
- package/.next/standalone/.next/server/chunks/6044.js +1 -1
- package/.next/standalone/.next/server/chunks/6113.js +1 -1
- package/.next/standalone/.next/server/chunks/6207.js +1 -1
- package/.next/standalone/.next/server/chunks/6461.js +1 -0
- package/.next/standalone/.next/server/chunks/6712.js +1 -0
- package/.next/standalone/.next/server/chunks/7002.js +1 -1
- package/.next/standalone/.next/server/chunks/7063.js +2 -2
- package/.next/standalone/.next/server/chunks/7258.js +37 -0
- package/.next/standalone/.next/server/chunks/7368.js +1 -1
- package/.next/standalone/.next/server/chunks/7578.js +2 -2
- package/.next/standalone/.next/server/chunks/7867.js +1 -0
- package/.next/standalone/.next/server/chunks/7897.js +1 -0
- package/.next/standalone/.next/server/chunks/8012.js +1 -0
- package/.next/standalone/.next/server/chunks/8245.js +31 -0
- package/.next/standalone/.next/server/chunks/8322.js +1 -1
- package/.next/standalone/.next/server/chunks/8551.js +1 -1
- package/.next/standalone/.next/server/chunks/9015.js +1 -1
- package/.next/standalone/.next/server/chunks/920.js +1 -1
- package/.next/standalone/.next/server/chunks/937.js +16 -2
- package/.next/standalone/.next/server/chunks/9629.js +1 -0
- package/.next/standalone/.next/server/chunks/9725.js +1 -0
- package/.next/standalone/.next/server/instrumentation.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/src/middleware.js +2 -2
- package/.next/standalone/.next/static/519aK55QLHaVN7b1TVDkB/_buildManifest.js +1 -0
- package/.next/standalone/.next/static/chunks/1217-323cc20b73ebfde9.js +1 -0
- package/.next/standalone/.next/static/chunks/{11207-8f4b154804f5a66f.js → 15183-5734d279b26e9414.js} +2 -2
- package/.next/standalone/.next/static/chunks/1879-7a8b283283218df2.js +1 -0
- package/.next/standalone/.next/static/chunks/19276-50b367d7b93d5f34.js +1 -0
- package/.next/standalone/.next/static/chunks/23466-e1176a6d814f4897.js +1 -0
- package/.next/standalone/.next/static/chunks/38040-a8687f86dd8e9d67.js +1 -0
- package/.next/standalone/.next/static/chunks/4860.43f5ad8a3aaed0e8.js +1 -0
- package/.next/standalone/.next/static/chunks/58245-b2ea112ace9624d2.js +1 -0
- package/.next/standalone/.next/static/chunks/59296-783831c43aa0162e.js +1 -0
- package/.next/standalone/.next/static/chunks/60648-36ccbee4ce232d52.js +1 -0
- package/.next/standalone/.next/static/chunks/60694-68232120903209df.js +1 -0
- package/.next/standalone/.next/static/chunks/64648-81f03be6f9793ab9.js +1 -0
- package/.next/standalone/.next/static/chunks/{94655-1c75e0590a66215e.js → 66969-12f0b22c51f5a410.js} +1 -1
- package/.next/standalone/.next/static/chunks/70536-b8bf71098ae11f07.js +1 -0
- package/.next/standalone/.next/static/chunks/71350-88c2649fc693c1e8.js +1 -0
- package/.next/standalone/.next/static/chunks/78389-b32edc6bd5c570a9.js +1 -0
- package/.next/standalone/.next/static/chunks/78584-eb2fa8cf2f266329.js +1 -0
- package/.next/standalone/.next/static/chunks/78917-150ed14a99844aab.js +1 -0
- package/.next/standalone/.next/static/chunks/8574-b9739eb8d054c793.js +1 -0
- package/.next/standalone/.next/static/chunks/93346-5489d90bc2d57190.js +1 -0
- package/.next/standalone/.next/static/chunks/99373.0768feb3a08c7da3.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-0a28456fea4ce95a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/{page-63a6a5b6cf9ecf87.js → page-a79969c5c9aadacd.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-e00752a72c31663f.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-ef82b871895245ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-2c9bcbd11ddb8661.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-630b168598513ce8.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-99639479cc98965f.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-335f2450e44a0fba.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-4a191d69b2b6e880.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-0faebb478be4c85d.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-c36345b80cc5bf5c.js → page-583e58d4d689d38b.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-2e8fcb72687100df.js +1 -0
- package/.next/standalone/.next/static/chunks/app/admin/companies/[uuid]/page-cc2fe0c5b749cd2f.js +1 -0
- package/.next/standalone/.next/static/chunks/app/admin/companies/new/{page-55fb2107f955c9ed.js → page-4f3b3c449c61f6d2.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/admin/companies/page-ef720c2b0856166c.js +1 -0
- package/.next/standalone/.next/static/chunks/app/admin/page-0cc8cf246db43e5d.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/login/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/session/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/api-keys/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/me/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/session/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/comments/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/events/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/health/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/mcp/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/mentionables/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/search/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/layout-9963339572e2e64e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/login/admin/page-d470135f7aab6c5e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/login/callback/{page-48a34c31a0f8e58c.js → page-0edd93f50cb4f6ea.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/login/page-c64b8d40a0781b4c.js +1 -0
- package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-e0444ad8b50121f5.js +1 -0
- package/.next/standalone/.next/static/chunks/app/onboarding/page-e9a69a0c537c704f.js +1 -0
- package/.next/standalone/.next/static/chunks/{webpack-4a8c75a0d40c2106.js → webpack-87284a4533d77eaf.js} +1 -1
- package/.next/standalone/.next/static/css/{84edd78de243cde6.css → b496025c9cd768cc.css} +1 -1
- package/.next/standalone/.next/static/css/e78b3c856420a09f.css +1 -0
- package/.next/standalone/.next/static/media/013b72fa676f92e0-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/2b5b02fc7e511755-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/65f03d54ccadf4a8-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/7d4881bb7e1bf84d-s.p.woff2 +0 -0
- package/.next/standalone/.next/static/media/b9408752a0c24fb9-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/e038a29029a234f2-s.woff2 +0 -0
- package/.next/standalone/package.json +3 -1
- package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
- package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +2 -2
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +19 -3
- package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
- package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/chorus/SKILL.md +2 -2
- package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/idea-chorus/SKILL.md +19 -3
- package/.next/standalone/public/skill/package.json +1 -1
- package/.next/standalone/public/skill/proposal-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/review-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/yolo-chorus/SKILL.md +1 -1
- package/README.md +29 -0
- package/README.zh.md +29 -0
- package/chorus.mjs +120 -16
- package/cli/backfill.mjs +190 -0
- package/cli/chorus-client.mjs +154 -0
- package/cli/claude-spawner.mjs +415 -0
- package/cli/client-args.mjs +146 -0
- package/cli/control-handler.mjs +180 -0
- package/cli/credentials.mjs +155 -0
- package/cli/daemon-agent.mjs +38 -0
- package/cli/daemon-banner.mjs +80 -0
- package/cli/daemon-config.mjs +84 -0
- package/cli/daemon-lifecycle.mjs +191 -0
- package/cli/daemon-permission-mode.mjs +68 -0
- package/cli/daemon-rest-client.mjs +272 -0
- package/cli/daemon.mjs +572 -0
- package/cli/event-router.mjs +248 -0
- package/cli/interrupt-reporter.mjs +87 -0
- package/cli/lineage.mjs +155 -0
- package/cli/login.mjs +151 -0
- package/cli/mcp-config.mjs +58 -0
- package/cli/process-killer.mjs +205 -0
- package/cli/prompts.mjs +273 -0
- package/cli/sse-listener.mjs +258 -0
- package/cli/turn-reporter.mjs +75 -0
- package/cli/upload-hooks.mjs +400 -0
- package/cli/wake-queue.mjs +121 -0
- package/cli/waker.mjs +475 -0
- package/package.json +3 -1
- package/prisma/migrations/20260611101056_add_idea_lineage/migration.sql +5 -0
- package/prisma/migrations/20260615082309_add_daemon_connection/migration.sql +37 -0
- package/prisma/migrations/20260616152622_add_daemon_task_execution/migration.sql +28 -0
- package/prisma/migrations/20260617013334_generalize_daemon_execution_to_any_resource/migration.sql +38 -0
- package/prisma/migrations/20260618022828_add_daemon_execution_interrupted/migration.sql +2 -0
- package/prisma/migrations/20260619055322_daemon_session_conversation/migration.sql +77 -0
- package/prisma/schema.prisma +368 -185
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js +0 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js +0 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/chunks/1059.js +0 -1
- package/.next/standalone/.next/server/chunks/1165.js +0 -1
- package/.next/standalone/.next/server/chunks/1615.js +0 -31
- package/.next/standalone/.next/server/chunks/162.js +0 -16
- package/.next/standalone/.next/server/chunks/1871.js +0 -1
- package/.next/standalone/.next/server/chunks/2909.js +0 -98
- package/.next/standalone/.next/server/chunks/2990.js +0 -1
- package/.next/standalone/.next/server/chunks/3139.js +0 -1
- package/.next/standalone/.next/server/chunks/324.js +0 -1
- package/.next/standalone/.next/server/chunks/3555.js +0 -1
- package/.next/standalone/.next/server/chunks/3576.js +0 -1
- package/.next/standalone/.next/server/chunks/3611.js +0 -158
- package/.next/standalone/.next/server/chunks/4090.js +0 -13
- package/.next/standalone/.next/server/chunks/4343.js +0 -1
- package/.next/standalone/.next/server/chunks/4974.js +0 -1
- package/.next/standalone/.next/server/chunks/5491.js +0 -1
- package/.next/standalone/.next/server/chunks/5541.js +0 -1
- package/.next/standalone/.next/server/chunks/5561.js +0 -7
- package/.next/standalone/.next/server/chunks/6643.js +0 -1
- package/.next/standalone/.next/server/chunks/6767.js +0 -1
- package/.next/standalone/.next/server/chunks/7228.js +0 -2
- package/.next/standalone/.next/server/chunks/7462.js +0 -255
- package/.next/standalone/.next/server/chunks/7621.js +0 -1
- package/.next/standalone/.next/server/chunks/8144.js +0 -1
- package/.next/standalone/.next/server/chunks/8637.js +0 -1
- package/.next/standalone/.next/server/chunks/896.js +0 -1
- package/.next/standalone/.next/server/chunks/9508.js +0 -2
- package/.next/standalone/.next/server/chunks/9615.js +0 -1
- package/.next/standalone/.next/static/YJZurE1onX9K-RDNIplc5/_buildManifest.js +0 -1
- package/.next/standalone/.next/static/chunks/19126-12ce8ade288ce1dc.js +0 -1
- package/.next/standalone/.next/static/chunks/19898-2a3d83a3996794cd.js +0 -1
- package/.next/standalone/.next/static/chunks/20051-d9233fd4578d66cc.js +0 -1
- package/.next/standalone/.next/static/chunks/21932-bce5ba937d1603e1.js +0 -1
- package/.next/standalone/.next/static/chunks/23466-842c126491b753bc.js +0 -1
- package/.next/standalone/.next/static/chunks/35486-592daa5c9fdf701d.js +0 -1
- package/.next/standalone/.next/static/chunks/37880-4395be5cee4112fa.js +0 -1
- package/.next/standalone/.next/static/chunks/3853-f94afe2f83089c0d.js +0 -1
- package/.next/standalone/.next/static/chunks/4842-95cf4b7efd540e89.js +0 -1
- package/.next/standalone/.next/static/chunks/4860.1bebb2a898b170f6.js +0 -1
- package/.next/standalone/.next/static/chunks/51841-0e4e0e63b437dcfd.js +0 -1
- package/.next/standalone/.next/static/chunks/52206-6048525f57a21502.js +0 -1
- package/.next/standalone/.next/static/chunks/55469-ed5ff019ff71ef59.js +0 -1
- package/.next/standalone/.next/static/chunks/59296-4fa84fe82e2c7789.js +0 -1
- package/.next/standalone/.next/static/chunks/60011-b602fea2afba6992.js +0 -1
- package/.next/standalone/.next/static/chunks/70093-0ff6fd59445b5cb9.js +0 -1
- package/.next/standalone/.next/static/chunks/93346-c4468893138daac7.js +0 -1
- package/.next/standalone/.next/static/chunks/95627-8d9f6d2d88f7a641.js +0 -1
- package/.next/standalone/.next/static/chunks/95750-3d0d1d48995d1088.js +0 -1
- package/.next/standalone/.next/static/chunks/99373.13c8ac5da1ddabe9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-b55a8d6d9bd27276.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-fd10bca891f0f73a.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-2e000a7010d1e9ea.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-75e42d130404ca2b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-6a38c21b164cdc07.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-48c840cb3011bf97.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-7ec535fac7bbc75d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-414b398806324ad1.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-8f91ed174c14d5f0.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-f6814f25bbacdbea.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-92e8980da0d98d48.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-ab87cbb18d0ee538.js +0 -1
- package/.next/standalone/.next/static/chunks/app/admin/companies/[uuid]/page-81682b4aa6859615.js +0 -1
- package/.next/standalone/.next/static/chunks/app/admin/companies/page-bbd92a7b214ddbf5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/admin/page-c4167418611b4a6b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/login/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/session/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/api-keys/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/me/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/session/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/comments/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/events/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/health/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/mcp/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/mentionables/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/search/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/layout-482dee7dace72c88.js +0 -1
- package/.next/standalone/.next/static/chunks/app/login/admin/page-4e72e6e4327ee7cd.js +0 -1
- package/.next/standalone/.next/static/chunks/app/login/page-dcb689dfe6e69879.js +0 -1
- package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-ee9bda8bfc4e0697.js +0 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/page-922a196db6eb2385.js +0 -1
- package/.next/standalone/.next/static/css/bfe962487ee66da7.css +0 -1
- package/.next/standalone/.next/static/media/0f1bdadaf30e2d5f-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/2c34d62a75506231-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/601f5c280d60caca-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/a115172161b307bb-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/d100b2a099e34044-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/f5271587012faf78-s.p.woff2 +0 -0
- /package/.next/standalone/.next/static/{YJZurE1onX9K-RDNIplc5 → 519aK55QLHaVN7b1TVDkB}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[19835],{4365:(e,t,s)=>{"use strict";s.d(t,{G7:()=>o,L$:()=>u,h_:()=>m,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 m(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})}},11031:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("clipboard-check",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"m9 14 2 2 4-4",key:"df797q"}]])},12210:(e,t,s)=>{"use strict";s.d(t,{d:()=>i});var a=s(90508);s(1856);var r=s(60322),n=s(24377);function i(e){let{className:t,...s}=e;return(0,a.jsx)(r.Root,{"data-slot":"switch",className:(0,n.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:ring-ring/50 inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...s,children:(0,a.jsx)(r.Thumb,{"data-slot":"switch-thumb",className:(0,n.cn)("bg-background pointer-events-none block size-4 rounded-full ring-0 shadow-lg transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})})}},13108:(e,t,s)=>{"use strict";s.d(t,{C:()=>c,K:()=>m});var a=s(90508),r=s(39268),n=s(97413),i=s(5616),l=s(22922),o=s(14554),d=s(12210);function c(e){let{items:t,onChange:s,disabled:c}=e,u=(0,r.c)(),m=(e,a)=>{let r=t.slice();r[e]={...r[e],...a},s(r)};return(0,a.jsxs)("div",{className:"space-y-3",children:[t.length>0&&(0,a.jsx)("div",{className:"space-y-2",children:t.map((e,r)=>(0,a.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-[#E5E2DC] bg-[#FAF8F4] p-2.5",children:[(0,a.jsx)("div",{className:"flex-1 min-w-0",children:(0,a.jsx)(o.p,{value:e.description,onChange:e=>m(r,{description:e.target.value}),placeholder:u("acceptanceCriteria.criterionPlaceholder"),className:"border-[#E5E2DC] text-sm focus-visible:ring-[#C67A52] h-8",disabled:c})}),(0,a.jsxs)("div",{className:"flex items-center gap-2 shrink-0 pt-1",children:[(0,a.jsx)(d.d,{checked:e.required,onCheckedChange:e=>m(r,{required:e}),className:"data-[state=checked]:bg-[#C67A52]",disabled:c}),(0,a.jsx)("span",{className:"text-[10px] font-medium text-[#6B6B6B] min-w-[52px]",children:e.required?u("acceptanceCriteria.required"):u("acceptanceCriteria.optional")}),(0,a.jsx)(l.$,{variant:"outline",size:"sm",className:"h-7 w-7 p-0 border-[#E5E2DC] text-[#9A9A9A] hover:text-[#D32F2F] hover:border-[#D32F2F] hover:bg-[#FFEBEE]",onClick:()=>{s(t.filter((e,t)=>t!==r))},disabled:c,type:"button",children:(0,a.jsx)(n.A,{className:"h-3 w-3"})})]})]},r))}),(0,a.jsxs)(l.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-[#E5E2DC] text-xs text-[#6B6B6B] hover:text-[#C67A52] hover:border-[#C67A52]",onClick:()=>{s([...t,{description:"",required:!0}])},disabled:c,type:"button",children:[(0,a.jsx)(i.A,{className:"h-3 w-3"}),u("acceptanceCriteria.addCriterion")]})]})}function u(e){return{description:e.description.trim(),required:!!e.required}}function m(e,t){if(e.length!==t.length)return!0;for(let s=0;s<e.length;s++){let a=u(e[s]),r=u(t[s]);if(a.description!==r.description||a.required!==r.required)return!0}return!1}},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})}},16159:(e,t,s)=>{"use strict";s.d(t,{DiscussionDrawer:()=>p});var a=s(90508),r=s(1856),n=s(39268);let i=(0,s(66206).A)("message-circle",[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]]);var l=s(22922),o=s(57731),d=s(68923),c=s(96213),u=s(63964),m=s(70968),x=s(44746);function p(e){let{proposalUuid:t,currentUserUuid:s,commentCount:p}=e,h=(0,n.c)(),[f,g]=(0,r.useState)(p),b=(0,r.useCallback)(async()=>{try{let e=await (0,x.d)("proposal",t);if(!e.success)return;g(e.comments.length)}catch(e){}},[t]);return(0,u.w0)("proposal",t,b),(0,a.jsx)(c.D,{entityType:"proposal",entityUuid:t,subEntityType:"comment",children:(0,a.jsxs)(d.cj,{children:[(0,a.jsx)(d.CG,{asChild:!0,children:(0,a.jsxs)(l.$,{variant:"outline",size:"sm",className:"gap-1.5 border-[#E5E0D8] text-[#3D3D3D]",children:[(0,a.jsx)(i,{className:"h-4 w-4"}),(0,a.jsx)("span",{children:h("proposals.discussion")}),f>0&&(0,a.jsx)(o.E,{className:"ml-0.5 h-5 min-w-5 justify-center rounded-full border-0 bg-[#E07A5F] px-1.5 text-[10px] font-semibold text-white",children:f})]})}),(0,a.jsxs)(d.h,{side:"right",className:"w-full sm:w-[420px] sm:max-w-[420px] p-0 flex flex-col",children:[(0,a.jsx)(d.Fm,{className:"border-b border-[#F0EDE8] px-6 py-4",children:(0,a.jsxs)(d.qp,{className:"flex items-center gap-2 text-base",children:[(0,a.jsx)(i,{className:"h-[18px] w-[18px]"}),h("proposals.discussion"),f>0&&(0,a.jsx)("span",{className:"rounded-full bg-[#F0EDE8] px-2 py-0.5 text-xs font-medium text-[#6B6B6B]",children:f})]})}),(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-6",children:(0,a.jsx)(m.$,{targetType:"proposal",targetUuid:t,currentUserUuid:s,onCountChange:g})})]})]})})}},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})})}},23603:(e,t,s)=>{"use strict";s.d(t,{E:()=>f});var a=s(90508),r=s(1856),n=s(67587),i=s(56770),l=s(66206);let o=(0,l.A)("file-type",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M11 18h2",key:"12mj7e"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5",key:"qbrxap"}]]),d=(0,l.A)("file-spreadsheet",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]);var c=s(85226);let u=(0,l.A)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);var m=s(39268),x=s(66343),p=s(22922),h=s(67712);function f(e){let{document:t,documentUuid:l,variant:f="default"}=e,g=(0,m.c)(),{exportDocument:b,isExporting:v,exportError:j}=function(){let[e,t]=(0,r.useState)(!1),[a,n]=(0,r.useState)(null);return{exportDocument:(0,r.useCallback)(async(e,a)=>{t(!0),n(null);try{let t,n,l=function(e){let t=e.replace(/[\\/:*?"<>|]/g,"").replace(/\s+/g," ").trim().replace(/\s/g,"-");return t.length>0?t:"document"}(e.title);if("md"===a){let{exportAsMarkdownBlob:a}=await s.e(50681).then(s.bind(s,50681));t=a(e),n="md"}else if("pdf"===a){let{exportAsPdf:a}=await s.e(34966).then(s.bind(s,34966));t=await a(e),n="pdf"}else if("docx"===a){let{exportAsDocx:a}=await s.e(9634).then(s.bind(s,9634));t=await a(e),n="docx"}else throw Error("Unsupported export format: ".concat(String(a)));var r=t,i="".concat(l,".").concat(n);let o=URL.createObjectURL(r),d=document.createElement("a");d.href=o,d.download=i,d.rel="noopener",d.style.display="none",document.body.appendChild(d),d.click(),document.body.removeChild(d),setTimeout(()=>URL.revokeObjectURL(o),1e3)}catch(e){n(e instanceof Error?e.message:String(e)),h.q.error("useDocumentExport export failed",e)}finally{t(!1)}},[]),isExporting:e,exportError:a}}(),[y,N]=(0,r.useState)(null);async function w(e){N(e);try{let d=t;if(!d&&l){var s,a,r,i,o;let e=await fetch("/api/documents/".concat(l)),t=await e.json();if(!t.success||!t.data)return void n.oR.error(g("export.exportError"));let c=t.data;d={title:c.title,content:null!=(r=c.content)?r:"",type:c.type,version:c.version,createdAt:c.createdAt,updatedAt:c.updatedAt,createdByName:null!=(i=null==(s=c.createdBy)?void 0:s.name)?i:"",projectName:null!=(o=null==(a=c.project)?void 0:a.name)?o:""}}d&&await b(d,e)}finally{N(null),j&&n.oR.error(j)}}let C=[{format:"md",labelKey:"export.formatMd",icon:i.A},{format:"pdf",labelKey:"export.formatPdf",icon:o},{format:"docx",labelKey:"export.formatDocx",icon:d}],k="compact"===f;return(0,a.jsxs)(x.rI,{children:[(0,a.jsx)(x.ty,{asChild:!0,children:(0,a.jsxs)(p.$,{variant:"ghost"===f?"ghost":"outline",size:k?"sm":"default",className:k?"h-6 text-[11px] text-muted-foreground hover:text-foreground":"border-[#E5E0D8] text-[#6B6B6B] gap-1.5",disabled:v,children:[v?(0,a.jsx)(c.A,{className:"".concat(k?"h-3 w-3":"h-4 w-4"," animate-spin")}):(0,a.jsx)(u,{className:k?"h-3 w-3":"h-4 w-4"}),!k&&g("export.exportDocument")]})}),(0,a.jsx)(x.SQ,{align:"end",className:"w-48",children:C.map(e=>{let{format:t,labelKey:s,icon:r}=e;return(0,a.jsxs)(x._2,{onClick:e=>{e.stopPropagation(),e.preventDefault(),w(t)},disabled:v,children:[y===t?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(r,{className:"h-4 w-4"}),g(s)]},t)})})]})}},28874:(e,t,s)=>{"use strict";s.d(t,{ProposalValidationChecklist:()=>b});var a=s(90508),r=s(1856),n=s(39268),i=s(1861),l=s(17475),o=s(30028),d=s(11031),c=s(42533),u=s(89967),m=s(17730),x=s(48416),p=s(57731),h=s(57223);let f={error:i.A,warning:l.A,info:o.A},g={error:{icon:"text-red-500",bg:"bg-red-50",badge:"bg-red-100 text-red-700"},warning:{icon:"text-amber-500",bg:"bg-amber-50",badge:"bg-amber-100 text-amber-700"},info:{icon:"text-blue-500",bg:"bg-blue-50",badge:"bg-blue-100 text-blue-700"}};function b(e){let{projectUuid:t,proposalUuid:s,status:o}=e,b=(0,n.c)("proposalValidation"),[v,j]=(0,r.useState)(null),[y,N]=(0,r.useState)(!0),[w,C]=(0,r.useState)(null),[k,A]=(0,r.useState)(!1);if((0,r.useEffect)(()=>{if("draft"!==o)return;let e=!1;return async function(){try{N(!0),C(null);let a=await fetch("/api/projects/".concat(t,"/proposals/").concat(s,"/validate"));if(!a.ok)throw Error("HTTP ".concat(a.status));let r=await a.json();e||j(r.data)}catch(t){e||C(t instanceof Error?t.message:"Unknown error")}finally{e||N(!1)}}(),()=>{e=!0}},[t,s,o]),"draft"!==o)return null;if(y)return(0,a.jsx)(x.Zp,{className:"border-[#E5E2DC] shadow-none rounded-2xl gap-0 py-0",children:(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(d.A,{className:"h-4 w-4 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-[13px] font-semibold text-foreground",children:b("title")})]}),(0,a.jsx)(h.E,{className:"h-5 w-20"})]})});if(w)return(0,a.jsx)(x.Zp,{className:"border-red-200 shadow-none rounded-2xl gap-0 py-0",children:(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(d.A,{className:"h-4 w-4 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-[13px] font-semibold text-foreground",children:b("title")})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-red-600",children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{children:w})]})]})});if(!v)return null;let E={error:[],warning:[],info:[]};for(let e of v.issues)E[e.level].push(e);let F=[...E.error,...E.warning,...E.info],D=E.error.length,S=E.warning.length,B=(0,a.jsxs)("button",{type:"button",onClick:()=>A(!k),className:"flex w-full items-center justify-between px-5 py-3.5 cursor-pointer hover:bg-[#FAF8F4] transition-colors rounded-2xl",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(d.A,{className:"h-4 w-4 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-[13px] font-semibold text-foreground",children:b("title")})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[v.valid?(0,a.jsxs)(p.E,{className:"border-0 bg-green-100 text-green-700 text-[11px] font-medium",children:[(0,a.jsx)(c.A,{className:"mr-1 h-3 w-3"}),b("passed")]}):(0,a.jsxs)(a.Fragment,{children:[D>0&&(0,a.jsxs)(p.E,{className:"border-0 bg-red-100 text-red-700 text-[11px] font-medium",children:[(0,a.jsx)(i.A,{className:"mr-1 h-3 w-3"}),b("errorCount",{count:D})]}),S>0&&(0,a.jsxs)(p.E,{className:"border-0 bg-amber-100 text-amber-700 text-[11px] font-medium",children:[(0,a.jsx)(l.A,{className:"mr-1 h-3 w-3"}),b("warningCount",{count:S})]})]}),k?(0,a.jsx)(u.A,{className:"h-4 w-4 text-muted-foreground"}):(0,a.jsx)(m.A,{className:"h-4 w-4 text-muted-foreground"})]})]});return(0,a.jsxs)(x.Zp,{className:"border-[#E5E2DC] shadow-none rounded-2xl gap-0 py-0 overflow-hidden",children:[B,k&&(0,a.jsx)(x.Wu,{className:"px-4 pb-4 pt-0",children:0===F.length?(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-green-600 px-1 py-2",children:[(0,a.jsx)(c.A,{className:"h-4 w-4"}),(0,a.jsx)("span",{children:b("passed")})]}):(0,a.jsx)("div",{className:"space-y-2",children:F.map((e,t)=>{let s=f[e.level],r=g[e.level];return(0,a.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg px-3 py-2.5 ".concat(r.bg),children:[(0,a.jsx)(s,{className:"h-3.5 w-3.5 shrink-0 ".concat(r.icon)}),(0,a.jsx)("span",{className:"flex-1 min-w-0 text-xs text-foreground",children:e.field?b(e.id,{title:e.field}):b(e.id)}),(0,a.jsx)(p.E,{className:"shrink-0 border-0 text-[10px] font-medium ".concat(r.badge),children:b(e.level)})]},"".concat(e.id,"-").concat(t))})})})]})}},39236:(e,t,s)=>{Promise.resolve().then(s.bind(s,52053)),Promise.resolve().then(s.bind(s,90299)),Promise.resolve().then(s.bind(s,65514)),Promise.resolve().then(s.bind(s,98861)),Promise.resolve().then(s.bind(s,38476)),Promise.resolve().then(s.bind(s,74542)),Promise.resolve().then(s.bind(s,71350)),Promise.resolve().then(s.bind(s,39025)),Promise.resolve().then(s.bind(s,75368)),Promise.resolve().then(s.bind(s,89684)),Promise.resolve().then(s.bind(s,58057)),Promise.resolve().then(s.bind(s,6512)),Promise.resolve().then(s.bind(s,25051)),Promise.resolve().then(s.bind(s,4374)),Promise.resolve().then(s.bind(s,19345)),Promise.resolve().then(s.bind(s,79919)),Promise.resolve().then(s.bind(s,17533)),Promise.resolve().then(s.bind(s,99545)),Promise.resolve().then(s.bind(s,63197)),Promise.resolve().then(s.bind(s,65326)),Promise.resolve().then(s.bind(s,48218)),Promise.resolve().then(s.bind(s,56260)),Promise.resolve().then(s.bind(s,60322)),Promise.resolve().then(s.bind(s,79834)),Promise.resolve().then(s.bind(s,6947)),Promise.resolve().then(s.bind(s,88878)),Promise.resolve().then(s.bind(s,34857)),Promise.resolve().then(s.bind(s,97006)),Promise.resolve().then(s.bind(s,45841)),Promise.resolve().then(s.t.bind(s,12790,23)),Promise.resolve().then(s.bind(s,16159)),Promise.resolve().then(s.bind(s,42485)),Promise.resolve().then(s.bind(s,41939)),Promise.resolve().then(s.bind(s,28874)),Promise.resolve().then(s.bind(s,64284)),Promise.resolve().then(s.bind(s,76546)),Promise.resolve().then(s.bind(s,97261)),Promise.resolve().then(s.bind(s,84247))},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"})})})}},41939:(e,t,s)=>{"use strict";s.d(t,{ProposalEditor:()=>ec});var a=s(90508),r=s(1856),n=s(23675),i=s(39268),l=s(26145),o=s(75380);s(33805);var d=s(10196),c=s.n(d),u=s(56770),m=s(66206);let x=(0,m.A)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);var p=s(75320);let h=(0,m.A)("file-check",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m9 15 2 2 4-4",key:"1grp1n"}]]),f=(0,m.A)("book-marked",[["path",{d:"M10 2v8l3-3 3 3V2",key:"sqw3rj"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}]]);var g=s(5616),b=s(17730),v=s(78948);let j=(0,m.A)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]),y=(0,m.A)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);var N=s(11031),w=s(76111),C=s(47754),k=s(96213),A=s(63964);function E(e,t){let s=new Set(e.map(e=>e.uuid));return t.filter(e=>!s.has(e.uuid)).map(e=>e.uuid)}function F(e,t){let s=new Set(t.map(e=>e.uuid));return e.filter(e=>!s.has(e.uuid)).map(e=>e.uuid)}var D=s(23603),S=s(52217);let B=(0,S.createServerReference)("40c6e5805438c6deb834b97817c342eac1eae88d77",S.callServer,void 0,S.findSourceMapURL,"getProposalDraftsAction");var P=s(48416),R=s(22922),T=s(57731),z=s(14554),M=s(15972),_=s(88064),U=s(97438),O=s(91846),q=s(97261);let $=(0,S.createServerReference)("701a3fcc7f63ed4bb1adb5e89e328a9545a4bfd05c",S.callServer,void 0,S.findSourceMapURL,"updateTaskDraftAction"),I=(0,S.createServerReference)("70f7bd5c9a5d932bbd26505b38f475a8928d3ad60e",S.callServer,void 0,S.findSourceMapURL,"updateDocumentDraftAction"),L=(0,S.createServerReference)("60c8ef9aa5c29da4c28fde6345e99a9b7543c8b62e",S.callServer,void 0,S.findSourceMapURL,"addDocumentDraftAction"),G=(0,S.createServerReference)("60e7888f85f84a1192179536f3d5c5ef8c976ce78e",S.callServer,void 0,S.findSourceMapURL,"removeDocumentDraftAction");var V=s(9160),K=s(57893),Z=s(85226),J=s(60532),H=s(97413),W=s(64993),Q=s(13108),X=s(51817),Y=s(16544),ee=s(65626);let et=(0,S.createServerReference)("601116822934e0561445469eccc61fb3255e85b2b6",S.callServer,void 0,S.findSourceMapURL,"addTaskDraftAction"),es=(0,S.createServerReference)("60b91a2758599eecd4941b5f123cd3176d1314aa88",S.callServer,void 0,S.findSourceMapURL,"removeTaskDraftAction"),ea={high:{bg:"bg-[#FFEBEE]",text:"text-[#C4574C]"},medium:{bg:"bg-[#FFF3E0]",text:"text-[#E65100]"},low:{bg:"bg-[#F5F2EC]",text:"text-[#6B6B6B]"}};function er(e){var t,s;let{taskDraft:l,allTaskDrafts:o,proposalUuid:d,canEdit:c,onClose:u,onSaved:m,onDeleted:x}=e,p=(0,i.c)(),h=(0,n.useRouter)(),[f,b]=(0,r.useTransition)(),[v,j]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e=setTimeout(()=>j(!0),300);return()=>clearTimeout(e)},[]);let C=null===l,[k,A]=(0,r.useState)(C),[E,F]=(0,r.useState)((null==l?void 0:l.title)||""),[D,S]=(0,r.useState)((null==l?void 0:l.description)||""),[B,P]=(0,r.useState)((null==l?void 0:l.priority)||"medium"),[U,I]=(0,r.useState)((null==l||null==(t=l.storyPoints)?void 0:t.toString())||""),[L,G]=(0,r.useState)((null==l||null==(s=l.acceptanceCriteriaItems)?void 0:s.map(e=>{var t;return{description:e.description,required:null==(t=e.required)||t}}))||[]),[er,en]=(0,r.useState)([]),[ei,el]=(0,r.useState)(null),eo=C?er:(null==l?void 0:l.dependsOnDraftUuids)||[],ed=(0,r.useMemo)(()=>eo.map(e=>o.find(t=>t.uuid===e)).filter(Boolean),[eo,o]),ec=(0,r.useMemo)(()=>{let e=new Set(eo);return o.filter(t=>t.uuid!==(null==l?void 0:l.uuid)&&!e.has(t.uuid))},[null==l?void 0:l.uuid,eo,o]),eu=()=>{var e,t;l&&(F(l.title),S(l.description||""),P(l.priority||"medium"),I((null==(e=l.storyPoints)?void 0:e.toString())||""),G((null==(t=l.acceptanceCriteriaItems)?void 0:t.map(e=>{var t;return{description:e.description,required:null==(t=e.required)||t}}))||[]),el(null),A(!0))},em=()=>{if(C)return void u();if(A(!1),l){var e,t;F(l.title),S(l.description||""),P(l.priority||"medium"),I((null==(e=l.storyPoints)?void 0:e.toString())||""),G((null==(t=l.acceptanceCriteriaItems)?void 0:t.map(e=>{var t;return{description:e.description,required:null==(t=e.required)||t}}))||[])}el(null)},ex=ea[(null==l?void 0:l.priority)||"medium"]||ea.medium,ep=()=>(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:p("proposals.dependsOn")}),ed.length>0?(0,a.jsx)("div",{className:"mt-2 space-y-1.5",children:ed.map(e=>(0,a.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-2.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)(w.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:e.title})]}),c&&(0,a.jsx)(R.$,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>(e=>{if(C)return void en(t=>t.filter(t=>t!==e));if(!l)return;let t=(l.dependsOnDraftUuids||[]).filter(t=>t!==e);b(async()=>{let e=await $(d,l.uuid,{dependsOnDraftUuids:t});e.success?(h.refresh(),m()):el(e.error||p("proposals.failedToAddDependency"))})})(e.uuid),disabled:f,children:(0,a.jsx)(V.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},e.uuid))}):(0,a.jsx)("p",{className:"mt-2 text-sm italic text-[#9A9A9A]",children:p("proposals.noDependencies")}),c&&ec.length>0&&(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsxs)(O.l6,{onValueChange:e=>(e=>{if(C)return void en(t=>[...t,e]);if(!l)return;if(((e,t)=>{let s=new Set,a=[e];for(;a.length>0;){let e=a.shift();if(e===t)return!0;if(s.has(e))continue;s.add(e);let r=o.find(t=>t.uuid===e);(null==r?void 0:r.dependsOnDraftUuids)&&a.push(...r.dependsOnDraftUuids)}return!1})(e,l.uuid))return void el(p("proposals.cyclicDependency"));el(null);let t=[...l.dependsOnDraftUuids||[],e];b(async()=>{let e=await $(d,l.uuid,{dependsOnDraftUuids:t});e.success?(h.refresh(),m()):el(e.error||p("proposals.failedToAddDependency"))})})(e),children:[(0,a.jsx)(O.bq,{className:"h-8 border-[#E5E0D8] text-xs text-[#6B6B6B] focus:ring-[#C67A52]",children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(g.A,{className:"h-3 w-3"}),(0,a.jsx)(O.yv,{placeholder:p("proposals.selectDependency")})]})}),(0,a.jsx)(O.gC,{children:ec.map(e=>(0,a.jsx)(O.eb,{value:e.uuid,children:(0,a.jsx)("span",{className:"truncate",children:e.title})},e.uuid))})]},ed.length)})]});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:u}),(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(v?"":"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:k?(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:C?p("proposals.newTaskDraft"):p("proposals.editTaskDraft")}):l?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C] truncate",children:l.title}),(0,a.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[l.priority&&(0,a.jsx)(T.E,{className:"text-[10px] font-medium border-0 ".concat(ex.bg," ").concat(ex.text),children:p("priority.".concat(l.priority))}),null!=l.storyPoints&&l.storyPoints>0&&(0,a.jsxs)("span",{className:"flex items-center gap-1 rounded bg-[#F5F2EC] px-2 py-0.5 text-xs font-medium text-[#6B6B6B]",children:[(0,a.jsx)(y,{className:"h-2.5 w-2.5 text-[#C67A52]"}),l.storyPoints," SP"]})]})]}):null}),(0,a.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[l&&!k&&c&&(0,a.jsxs)(R.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-[#E5E0D8] text-[#2C2C2C]",onClick:eu,children:[(0,a.jsx)(K.A,{className:"h-3.5 w-3.5 text-[#6B6B6B]"}),(0,a.jsx)("span",{className:"text-xs",children:p("common.edit")})]}),(0,a.jsx)(R.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:k&&!C?em:u,children:(0,a.jsx)(V.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:k?(0,a.jsxs)("div",{className:"space-y-5",children:[ei&&(0,a.jsx)("div",{className:"rounded-lg bg-[#FFEBEE] p-3 text-sm text-[#C4574C]",children:ei}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)(_.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:[p("proposals.taskTitle")," *"]}),(0,a.jsx)(z.p,{id:"edit-title",value:E,onChange:e=>F(e.target.value),placeholder:p("proposals.titlePlaceholder"),className:"border-[#E5E2DC] text-sm focus-visible:ring-[#C67A52]",autoFocus:!0})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(_.J,{htmlFor:"edit-description",className:"text-[13px] font-medium text-[#2C2C2C]",children:p("proposals.taskDescription")}),(0,a.jsx)(M.T,{id:"edit-description",value:D,onChange:e=>S(e.target.value),rows:4,className:"border-[#E5E2DC] text-sm resize-none focus-visible:ring-[#C67A52]",placeholder:p("proposals.descriptionPlaceholder")})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(_.J,{htmlFor:"edit-priority",className:"text-[13px] font-medium text-[#2C2C2C]",children:p("proposals.taskPriority")}),(0,a.jsxs)(O.l6,{value:B,onValueChange:P,children:[(0,a.jsx)(O.bq,{className:"border-[#E5E2DC] text-sm focus:ring-[#C67A52]",children:(0,a.jsx)(O.yv,{})}),(0,a.jsxs)(O.gC,{children:[(0,a.jsx)(O.eb,{value:"low",children:p("priority.low")}),(0,a.jsx)(O.eb,{value:"medium",children:p("priority.medium")}),(0,a.jsx)(O.eb,{value:"high",children:p("priority.high")})]})]})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(_.J,{htmlFor:"edit-story-points",className:"text-[13px] font-medium text-[#2C2C2C]",children:p("proposals.taskStoryPoints")}),(0,a.jsx)(z.p,{id:"edit-story-points",type:"number",min:"0",step:"0.5",value:U,onChange:e=>I(e.target.value),placeholder:p("proposals.storyPointsPlaceholder"),className:"border-[#E5E2DC] text-sm focus-visible:ring-[#C67A52]"})]})]}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)(_.J,{className:"text-[13px] font-medium text-[#2C2C2C] flex items-center gap-1.5",children:[(0,a.jsx)(N.A,{className:"h-3.5 w-3.5 text-[#C67A52]"}),p("acceptanceCriteria.title")]}),(0,a.jsx)(Q.C,{items:L,onChange:G})]}),ep()]}):l?(0,a.jsxs)(Y.P.div,{variants:ee.qG,initial:"initial",animate:"animate",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:p("common.description")}),(0,a.jsx)("div",{className:"mt-2",children:l.description?(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,a.jsx)(q.MarkdownContent,{children:l.description})}):(0,a.jsx)("p",{className:"text-sm italic text-[#9A9A9A]",children:p("common.noDescription")})})]}),l.acceptanceCriteria&&(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:p("tasks.acceptanceCriteria")}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,a.jsx)(q.MarkdownContent,{children:l.acceptanceCriteria})})})]}),l.acceptanceCriteriaItems&&l.acceptanceCriteriaItems.length>0&&(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsxs)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A] flex items-center gap-1.5",children:[(0,a.jsx)(N.A,{className:"h-3 w-3"}),p("acceptanceCriteria.title")]}),(0,a.jsx)("div",{className:"mt-2 space-y-1.5",children:l.acceptanceCriteriaItems.map((e,t)=>{var s,r;return(0,a.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-2.5",children:[(0,a.jsx)("span",{className:"flex-1 text-[13px] text-[#2C2C2C]",children:e.description}),(0,a.jsx)(T.E,{className:"text-[10px] font-medium border-0 shrink-0 ".concat(null==(s=e.required)||s?"bg-[#FFF3E0] text-[#E65100]":"bg-[#F5F2EC] text-[#6B6B6B]"),children:null==(r=e.required)||r?p("acceptanceCriteria.required"):p("acceptanceCriteria.optional")})]},t)})})]}),ei&&(0,a.jsx)("div",{className:"mt-5 rounded-lg bg-[#FFEBEE] p-2.5 text-xs text-[#C4574C]",children:ei}),ep()]}):null})}),(0,a.jsx)("div",{className:"border-t border-[#F5F2EC] px-6 py-4",children:(0,a.jsx)("div",{className:"flex items-center gap-3",children:k?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(R.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:em,disabled:f,children:p("common.cancel")}),(0,a.jsx)(R.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:()=>{if(!E.trim())return void el(p("proposals.titleRequired"));el(null),b(async()=>{let e,t=L.filter(e=>e.description.trim().length>0),s={title:E.trim(),description:D.trim()||void 0,priority:B,storyPoints:U?parseFloat(U):void 0,acceptanceCriteriaItems:t.length>0?t.map(e=>{var t;return{description:e.description.trim(),required:null==(t=e.required)||t}}):void 0,...C&&er.length>0?{dependsOnDraftUuids:er}:{}};(e=C?await et(d,s):await $(d,l.uuid,s)).success?(A(!1),h.refresh(),m()):el(e.error||p("proposals.failedToSaveTaskDraft"))})},disabled:f||!E.trim(),children:f?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(Z.A,{className:"mr-2 h-4 w-4 animate-spin"}),p("common.saving")]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(J.A,{className:"mr-2 h-4 w-4"}),C?p("common.create"):p("common.save")]})})]}):l?(0,a.jsxs)(a.Fragment,{children:[c&&(0,a.jsxs)(R.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:eu,children:[(0,a.jsx)(K.A,{className:"mr-2 h-4 w-4"}),p("common.edit")]}),c&&(0,a.jsx)("div",{className:"ml-auto",children:(0,a.jsxs)(X.Lt,{children:[(0,a.jsx)(X.tv,{asChild:!0,children:(0,a.jsx)(R.$,{variant:"outline",size:"icon",className:"h-9 w-9 border-[#E5E0D8] text-[#D32F2F] hover:bg-[#FFEBEE] hover:text-[#D32F2F] hover:border-[#D32F2F]",children:(0,a.jsx)(H.A,{className:"h-4 w-4"})})}),(0,a.jsxs)(X.EO,{children:[(0,a.jsxs)(X.wd,{children:[(0,a.jsx)(X.r7,{children:p("proposals.deleteTaskDraft")}),(0,a.jsx)(X.$v,{children:p("proposals.deleteTaskDraftConfirm")})]}),(0,a.jsxs)(X.ck,{children:[(0,a.jsx)(X.Zr,{children:p("common.cancel")}),(0,a.jsx)(X.Rx,{onClick:()=>{l&&b(async()=>{(await es(d,l.uuid)).success&&(h.refresh(),null==x||x())})},disabled:f,className:"bg-[#D32F2F] hover:bg-[#B71C1C] text-white",children:f?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(Z.A,{className:"mr-2 h-4 w-4 animate-spin"}),p("common.delete")]}):p("common.delete")})]})]})]})})]}):null})})]})]})}var en=s(67712);let ei={high:{bg:"bg-[#FFEBEE]",text:"text-[#C4574C]"},medium:{bg:"bg-[#FFF3E0]",text:"text-[#E65100]"},low:{bg:"bg-[#F5F2EC]",text:"text-[#6B6B6B]"}},el={prd:{icon:u.A,bg:"bg-[#FFF3E0]",fg:"text-[#E07A5F]",subtitleKey:"proposals.docSubtitlePrd"},tech_design:{icon:x,bg:"bg-[#E8F0FE]",fg:"text-[#4285F4]",subtitleKey:"proposals.docSubtitleTechDesign"},adr:{icon:p.A,bg:"bg-[#E8F5E9]",fg:"text-[#4CAF50]",subtitleKey:"proposals.docSubtitleAdr"},spec:{icon:h,bg:"bg-[#F3E8FD]",fg:"text-[#7C3AED]",subtitleKey:"proposals.docSubtitleSpec"},guide:{icon:f,bg:"bg-[#FFF8E1]",fg:"text-[#F9A825]",subtitleKey:"proposals.docSubtitleGuide"}},eo={taskDraftNode:function(e){let{data:t}=e,s=(0,i.c)(),r=ei[t.priority||"medium"]||ei.medium;return(0,a.jsxs)("div",{className:"rounded-lg border-2 border-[#E5E2DC] bg-white px-4 py-3 shadow-sm min-w-[200px] max-w-[260px] cursor-pointer hover:border-[#C67A52] transition-colors",children:[(0,a.jsx)(l.h7,{type:"target",position:o.yX.Top,className:"!bg-[#C67A52] !w-2 !h-2"}),(0,a.jsx)("div",{className:"flex items-center gap-2 mb-1.5",children:t.priority&&(0,a.jsx)(T.E,{className:"text-[10px] border-0 ".concat(r.bg," ").concat(r.text),children:s("priority.".concat(t.priority))})}),(0,a.jsx)("p",{className:"text-xs font-medium text-[#2C2C2C] leading-snug line-clamp-2",children:t.title}),(0,a.jsx)(l.h7,{type:"source",position:o.yX.Bottom,className:"!bg-[#C67A52] !w-2 !h-2"})]})}},ed={animated:!0,style:{stroke:"#C67A52",strokeWidth:2},markerEnd:{type:"arrowclosed",color:"#C67A52"}};function ec(e){let{proposalUuid:t,status:s,documentDrafts:o,taskDrafts:d,onStatusChange:m}=e,x=(0,i.c)(),p=(0,n.useRouter)(),[h,f]=(0,r.useTransition)(),{getPresence:S}=(0,C.xQ)();S("proposal",t);let[V,K]=(0,r.useState)(o),[Z,J]=(0,r.useState)(d),[H,W]=(0,r.useState)(new Set),Q=(0,r.useRef)(V);Q.current=V;let X=(0,r.useRef)(Z);X.current=Z;let Y=(0,r.useRef)(null),ee=(0,r.useRef)(null),[et,es]=(0,r.useState)("cards"),[ea,ec]=(0,r.useState)(new Set),[eu,em]=(0,r.useState)(!1),[ex,ep]=(0,r.useState)(null),[eh,ef]=(0,r.useState)("prd"),[eg,eb]=(0,r.useState)(""),[ev,ej]=(0,r.useState)(""),[ey,eN]=(0,r.useState)(null),[ew,eC]=(0,r.useState)(!1),[ek,eA]=(0,r.useState)(null),[eE,eF]=(0,r.useState)(null),eD="draft"===s;(0,A.w0)("proposal",t,async e=>{if(["created","updated","deleted"].includes(e.action)&&!eu&&!ey&&!ew)try{var a,r,n,i,l,o,d,c,u,x;let e=await B(t),h=null!=(a=Q.current)?a:[],f=null!=(r=X.current)?r:[],g=null!=(n=e.documentDrafts)?n:[],b=null!=(i=e.taskDrafts)?i:[],v=[...E(h,g),...E(f,b)];if(v.length>0){let e=S("proposal",t)[0];if(e)for(let s of v)(0,C.fv)({entityType:"proposal",entityUuid:t,subEntityType:"draft",subEntityUuid:s,agentUuid:e.agentUuid,agentName:e.agentName,action:"mutate"})}let j=[...F(h,g),...F(f,b)];j.length>0?(Y.current=g,ee.current=b,W(new Set(j)),setTimeout(()=>{var e,t;K(null!=(e=Y.current)?e:g),J(null!=(t=ee.current)?t:b),Y.current=null,ee.current=null,W(new Set)},500)):(Y.current=g,ee.current=b,K(g),J(b)),o=e.status,d=h.length,c=g.length,u=f.length,x=b.length,(null!=o&&o!==s||"draft"===s&&(c!==d||x!==u))&&p.refresh(),null==m||m(null!=(l=e.status)?l:s)}catch(e){en.q.warn("[ProposalEditor] Failed to refresh drafts:",e)}});let eS=(0,r.useMemo)(()=>ey&&Z&&Z.find(e=>e.uuid===ey)||null,[ey,Z]),[eB,eP,eR]=(0,l.ck)([]),[eT,ez,eM]=(0,l.fM)([]);(0,r.useEffect)(()=>{if(!Z||0===Z.length){eP([]),ez([]);return}let e=Z.map(e=>({id:e.uuid,type:"taskDraftNode",position:{x:0,y:0},data:{title:e.title,priority:e.priority||"medium"}})),t=[];Z.forEach(e=>{e.dependsOnDraftUuids&&e.dependsOnDraftUuids.forEach((s,a)=>{t.push({id:"e-".concat(e.uuid,"-").concat(a),source:s,target:e.uuid,...ed})})});let{nodes:s,edges:a}=function(e,t){let s=new(c()).graphlib.Graph;return s.setDefaultEdgeLabel(()=>({})),s.setGraph({rankdir:"TB",nodesep:50,ranksep:80}),e.forEach(e=>{s.setNode(e.id,{width:240,height:80})}),t.forEach(e=>{s.setEdge(e.source,e.target)}),c().layout(s),{nodes:e.map(e=>{let t=s.node(e.id);return{...e,position:{x:t.x-120,y:t.y-40}}}),edges:t}}(e,t);eP(s),ez(a)},[Z,eP,ez]);let e_=(0,r.useCallback)(async e=>{if(!e.source||!e.target||!eD||e.source===e.target)return;eF(null);let s=e.target,a=e.source,r=null==Z?void 0:Z.find(e=>e.uuid===s);if(!r)return;let n=r.dependsOnDraftUuids||[];if(n.includes(a))return void eF(x("proposals.dependencyExists"));if(((e,t)=>{let s=new Set,a=[e];for(;a.length>0;){let e=a.shift();if(e===t)return!0;if(s.has(e))continue;s.add(e);let r=null==Z?void 0:Z.find(t=>t.uuid===e);(null==r?void 0:r.dependsOnDraftUuids)&&a.push(...r.dependsOnDraftUuids)}return!1})(a,s))return void eF(x("proposals.cyclicDependency"));let i=[...n,a];f(async()=>{let e=await $(t,s,{dependsOnDraftUuids:i});e.success?p.refresh():eF(e.error||x("proposals.failedToAddDependency"))})},[eD,Z,t,p,f,x]),eU=(0,r.useCallback)((e,t)=>{eC(!1),eN(t.id)},[]),eO=V&&V.length>0,eq=Z&&Z.length>0,e$=null!==ey||ew;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(P.Zp,{className:"border-[#E5E2DC] shadow-none rounded-2xl gap-0 py-0 overflow-hidden",children:[(0,a.jsxs)(P.aR,{className:"flex-row items-center justify-between border-b border-[#F5F2EC] px-6 py-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(u.A,{className:"h-[18px] w-[18px] text-[#C67A52]"}),(0,a.jsx)(P.ZB,{className:"text-sm font-semibold text-foreground",children:x("proposals.documentDrafts")}),(0,a.jsx)(T.E,{variant:"secondary",className:"border-0 bg-[#F5F2EC] text-[11px] font-medium text-muted-foreground",children:(null==V?void 0:V.length)||0})]}),eD&&(0,a.jsxs)(R.$,{variant:"ghost",size:"sm",onClick:()=>{ep(null),ef("prd"),eb(""),ej(""),em(!0)},className:"h-7 gap-1 text-xs font-medium text-[#C67A52] hover:bg-[#FFFBF8] hover:text-[#C67A52]",children:[(0,a.jsx)(g.A,{className:"h-3.5 w-3.5"}),x("proposals.addDocumentDraft")]})]}),(0,a.jsx)(P.Wu,{className:"p-0",children:eO?(0,a.jsx)("div",{className:"space-y-0 divide-y divide-[#F5F2EC]",children:V.map(e=>{var s;let r=ea.has(e.uuid),n=el[e.type]||el.guide,i=n.icon;return(0,a.jsx)(k.D,{entityType:"proposal",entityUuid:t,subEntityType:"draft",subEntityUuid:e.uuid,badgeInside:!0,children:(0,a.jsxs)("div",{className:"px-5 py-4 transition-all duration-500 ".concat(H.has(e.uuid)?"opacity-0":""),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("button",{onClick:()=>{var t;return t=e.uuid,void ec(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},className:"flex items-center gap-3 text-left cursor-pointer hover:opacity-80 transition-opacity min-w-0",children:[(0,a.jsx)("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-[10px] ".concat(n.bg),children:(0,a.jsx)(i,{className:"h-[18px] w-[18px] ".concat(n.fg)})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-[13px] font-medium text-foreground truncate",children:e.title}),(0,a.jsx)("div",{className:"text-[11px] text-muted-foreground",children:x(n.subtitleKey)})]}),(0,a.jsx)("span",{className:"text-muted-foreground shrink-0",children:r?(0,a.jsx)(b.A,{className:"h-4 w-4"}):(0,a.jsx)(v.A,{className:"h-4 w-4"})})]}),(0,a.jsxs)("div",{className:"flex gap-1 shrink-0",children:[(0,a.jsx)(D.E,{document:{title:e.title,content:null!=(s=e.content)?s:"",type:e.type,version:"Draft"},variant:"compact"}),eD&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(R.$,{variant:"ghost",size:"sm",onClick:()=>{ep(e),ef(e.type),eb(e.title),ej(e.content),em(!0)},className:"h-6 text-[11px] text-muted-foreground hover:text-foreground",children:x("proposals.editDraft")}),(0,a.jsx)(R.$,{variant:"ghost",size:"sm",onClick:()=>{confirm(x("common.confirmDelete"))&&f(async()=>{(await G(t,e.uuid)).success&&p.refresh()})},disabled:h,className:"h-6 text-[11px] text-[#C4574C] hover:bg-[#FFEBEE] hover:text-[#C4574C]",children:x("proposals.deleteDraft")})]})]})]}),r&&e.content&&(0,a.jsx)("div",{className:"mt-3 border-t border-[#F5F2EC] pt-4",children:(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-foreground",children:(0,a.jsx)(q.MarkdownContent,{children:e.content})})})]})},e.uuid)})}):(0,a.jsxs)("div",{className:"flex flex-col items-center gap-2 px-6 py-8",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-[10px] bg-[#F5F2EC]",children:(0,a.jsx)(u.A,{className:"h-[18px] w-[18px] text-[#D0CCC4]"})}),(0,a.jsx)("p",{className:"text-[13px] text-muted-foreground",children:x("proposals.emptyContainer")})]})})]}),(0,a.jsxs)(P.Zp,{className:"border-[#E5E2DC] shadow-none rounded-2xl gap-0 py-0 overflow-hidden",children:[(0,a.jsxs)(P.aR,{className:"flex-row items-center justify-between border-b border-[#F5F2EC] px-6 py-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(j,{className:"h-[18px] w-[18px] text-[#C67A52]"}),(0,a.jsx)(P.ZB,{className:"text-sm font-semibold text-foreground",children:x("proposals.taskDrafts")}),(0,a.jsx)(T.E,{className:"border-0 bg-[#C67A5220] text-[11px] font-semibold text-[#C67A52]",children:(null==Z?void 0:Z.length)||0})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[eq&&(0,a.jsxs)("div",{className:"flex rounded-lg bg-[#F5F2EC] p-0.5",children:[(0,a.jsx)("button",{onClick:()=>es("cards"),className:"rounded-md px-3 py-1 text-[11px] font-medium transition-colors ".concat("cards"===et?"bg-white text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:x("proposals.cardsView")}),(0,a.jsx)("button",{onClick:()=>es("dag"),className:"rounded-md px-3 py-1 text-[11px] font-medium transition-colors ".concat("dag"===et?"bg-white text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"DAG"})]}),eD&&(0,a.jsxs)(R.$,{variant:"ghost",size:"sm",onClick:()=>{eN(null),eC(!0)},className:"h-7 gap-1 text-xs font-medium text-[#C67A52] hover:bg-[#FFFBF8] hover:text-[#C67A52]",children:[(0,a.jsx)(g.A,{className:"h-3.5 w-3.5"}),x("proposals.addTaskDraft")]})]})]}),(0,a.jsx)(P.Wu,{className:"p-0",children:eq?"cards"===et?(0,a.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3 p-5",children:Z.map(e=>{var s,r;let n=ei[e.priority||"medium"]||ei.medium,i=(null==(s=e.dependsOnDraftUuids)?void 0:s.length)||0,l=(null==(r=e.acceptanceCriteriaItems)?void 0:r.length)||0,o=ey===e.uuid;return(0,a.jsx)(k.D,{entityType:"proposal",entityUuid:t,subEntityType:"draft",subEntityUuid:e.uuid,children:(0,a.jsxs)("div",{onClick:()=>{eC(!1),eN(e.uuid)},className:"cursor-pointer rounded-[10px] bg-white p-4 transition-all duration-500 flex flex-col gap-2.5 h-full ".concat(H.has(e.uuid)?"opacity-0":""," ").concat(o?"border-[#C67A52] shadow-sm border":"border-[#E5E2DC] hover:border-[#C67A52]/50 border"),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[e.priority&&(0,a.jsx)(T.E,{className:"text-[10px] font-semibold border-0 ".concat(n.bg," ").concat(n.text),children:x("priority.".concat(e.priority))}),null!=e.storyPoints&&e.storyPoints>0&&(0,a.jsxs)("span",{className:"flex items-center gap-1 text-[10px] font-medium text-muted-foreground font-mono",children:[(0,a.jsx)(y,{className:"h-3 w-3 text-muted-foreground"}),e.storyPoints," SP"]})]}),(0,a.jsx)("span",{className:"text-[13px] font-semibold leading-snug text-foreground line-clamp-2",children:e.title}),e.description&&(0,a.jsx)("p",{className:"text-[11px] leading-relaxed text-[#6B6B6B] line-clamp-2",children:e.description}),(0,a.jsxs)("div",{className:"flex items-center gap-3 pt-0.5",children:[l>0&&(0,a.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground",children:[(0,a.jsx)(N.A,{className:"h-3 w-3 text-[#4CAF50]"}),x("proposals.acCount",{count:l})]}),i>0&&(0,a.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground",children:[(0,a.jsx)(w.A,{className:"h-3 w-3"}),x("proposals.depCount",{count:i})]})]})]})},e.uuid)})}):(0,a.jsxs)("div",{className:"h-[400px] relative",children:[eE&&(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:[eE,(0,a.jsx)("button",{className:"ml-2 font-medium hover:text-red-900",onClick:()=>eF(null),children:"x"})]}),(0,a.jsxs)(l.Gc,{nodes:eB,edges:eT,onNodesChange:eR,onEdgesChange:eM,onConnect:e_,onNodeClick:eU,nodeTypes:eo,fitView:!0,fitViewOptions:{padding:.3},minZoom:.3,maxZoom:1.5,proOptions:{hideAttribution:!0},children:[(0,a.jsx)(l.VS,{color:"#E5E0D8",gap:20}),(0,a.jsx)(l.H2,{className:"[&>button]:border-[#E5E0D8] [&>button]:bg-white [&>button]:text-[#2C2C2C] [&>button:hover]:bg-[#FAF8F4]"})]})]}):(0,a.jsxs)("div",{className:"flex flex-col items-center gap-2 px-6 py-8",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-[10px] bg-[#F5F2EC]",children:(0,a.jsx)(j,{className:"h-[18px] w-[18px] text-[#D0CCC4]"})}),(0,a.jsx)("p",{className:"text-[13px] text-muted-foreground",children:x("proposals.emptyContainer")})]})})]}),(0,a.jsx)(U.lG,{open:eu,onOpenChange:em,children:(0,a.jsxs)(U.Cf,{className:"max-w-2xl",children:[(0,a.jsx)(U.c7,{children:(0,a.jsx)(U.L3,{children:ex?x("proposals.editDraft"):x("proposals.addDocumentDraft")})}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(_.J,{className:"mb-2 block text-muted-foreground",children:x("proposals.documentType")}),(0,a.jsxs)(O.l6,{value:eh,onValueChange:ef,children:[(0,a.jsx)(O.bq,{className:"border-[#E5E2DC]",children:(0,a.jsx)(O.yv,{})}),(0,a.jsxs)(O.gC,{children:[(0,a.jsx)(O.eb,{value:"prd",children:x("proposals.docTypePrd")}),(0,a.jsx)(O.eb,{value:"tech_design",children:x("proposals.docTypeTechDesign")}),(0,a.jsx)(O.eb,{value:"adr",children:x("proposals.docTypeAdr")}),(0,a.jsx)(O.eb,{value:"spec",children:x("proposals.docTypeSpec")}),(0,a.jsx)(O.eb,{value:"guide",children:x("proposals.docTypeGuide")})]})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)(_.J,{className:"mb-2 block text-muted-foreground",children:[x("proposals.documentTitle")," *"]}),(0,a.jsx)(z.p,{value:eg,onChange:e=>eb(e.target.value),placeholder:x("proposals.titlePlaceholder"),className:"border-[#E5E2DC]"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(_.J,{className:"mb-2 block text-muted-foreground",children:x("proposals.documentContent")}),(0,a.jsx)(M.T,{value:ev,onChange:e=>ej(e.target.value),className:"h-64 resize-none border-[#E5E2DC] font-mono",placeholder:"# Document Title Write your content in Markdown..."})]}),ek&&(0,a.jsx)("div",{className:"rounded-lg bg-[#FFEBEE] p-3 text-sm text-[#C4574C]",children:ek}),(0,a.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,a.jsx)(R.$,{variant:"outline",onClick:()=>em(!1),disabled:h,className:"border-[#E5E2DC]",children:x("common.cancel")}),(0,a.jsx)(R.$,{onClick:()=>{if(!eg.trim())return void eA(x("proposals.titleRequired"));eA(null),f(async()=>{let e;(e=ex?await I(t,ex.uuid,{type:eh,title:eg.trim(),content:ev}):await L(t,{type:eh,title:eg.trim(),content:ev})).success?(em(!1),p.refresh()):eA(e.error||x("proposals.failedToSaveDocDraft"))})},disabled:h,className:"bg-[#C67A52] text-white hover:bg-[#B56A42]",children:h?x("common.saving"):x("common.save")})]})]})]})}),e$&&(0,a.jsx)(er,{taskDraft:ew?null:eS,allTaskDrafts:Z||[],proposalUuid:t,canEdit:eD,onClose:()=>{eN(null),eC(!1)},onSaved:()=>{ew&&eC(!1)},onDeleted:()=>{eN(null),eC(!1)}})]})}},42485:(e,t,s)=>{"use strict";s.d(t,{ProposalActions:()=>F});var a=s(90508),r=s(23675),n=s(1856),i=s(39268),l=s(66206);let o=(0,l.A)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);var d=s(95886),c=s(60532),u=s(9160);let m=(0,l.A)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]),x=(0,l.A)("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]);var p=s(97413),h=s(32470),f=s(56770),g=s(22922),b=s(66343),v=s(97438),j=s(15972),y=s(52217);let N=(0,y.createServerReference)("40d0ef9445a074e5830de31b2216515bf3f0b88089",y.callServer,void 0,y.findSourceMapURL,"submitProposalAction"),w=(0,y.createServerReference)("603992716777392733977804b835c41dacdcb7430c",y.callServer,void 0,y.findSourceMapURL,"approveProposalAction"),C=(0,y.createServerReference)("60d92acaf2dedd97b696f8d1ec706b8c1394b83f5f",y.callServer,void 0,y.findSourceMapURL,"rejectProposalAction"),k=(0,y.createServerReference)("607a6d565f16ef35921573113050fb914235b5d4a2",y.callServer,void 0,y.findSourceMapURL,"closeProposalAction"),A=(0,y.createServerReference)("604b434013afa142aeb9ba252b17ea2220d603f9a0",y.callServer,void 0,y.findSourceMapURL,"revokeProposalAction"),E=(0,y.createServerReference)("609ca917dba44b2b51bd5cb0e3ed88ead7da9fbaab",y.callServer,void 0,y.findSourceMapURL,"deleteProposalAction");function F(e){let{proposalUuid:t,projectUuid:s,status:l,materializedEntities:y}=e,F=(0,i.c)(),D=(0,r.useRouter)(),[S,B]=(0,n.useTransition)(),[P,R]=(0,n.useState)(!1),[T,z]=(0,n.useState)(""),[M,_]=(0,n.useState)(!1),[U,O]=(0,n.useState)(""),[q,$]=(0,n.useState)(!1),[I,L]=(0,n.useState)(""),[G,V]=(0,n.useState)(!1),[K,Z]=(0,n.useState)(""),[J,H]=(0,n.useState)(!1),[W,Q]=(0,n.useState)(!1);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(b.rI,{children:[(0,a.jsx)(b.ty,{asChild:!0,children:(0,a.jsxs)(g.$,{variant:"outline",className:"border-[#E5E0D8] text-[#3D3D3D] gap-1.5",disabled:S,children:[(0,a.jsx)(o,{className:"h-4 w-4"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:F("common.actions")})]})}),(0,a.jsxs)(b.SQ,{align:"end",className:"w-48",children:["draft"===l&&(0,a.jsxs)(b._2,{onClick:()=>H(!0),children:[(0,a.jsx)(d.A,{className:"h-4 w-4"}),F("proposals.submitForReview")]}),"pending"===l&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(b._2,{onClick:()=>R(!0),children:[(0,a.jsx)(c.A,{className:"h-4 w-4 text-[#5A9E6F]"}),F("common.approve")]}),(0,a.jsxs)(b._2,{onClick:()=>_(!0),children:[(0,a.jsx)(u.A,{className:"h-4 w-4 text-[#D32F2F]"}),F("common.reject")]}),(0,a.jsxs)(b._2,{onClick:()=>$(!0),children:[(0,a.jsx)(m,{className:"h-4 w-4"}),F("proposals.closeProposal")]})]}),"approved"===l&&(0,a.jsxs)(b._2,{onClick:()=>V(!0),children:[(0,a.jsx)(x,{className:"h-4 w-4"}),F("proposals.revokeProposal")]}),("draft"===l||"pending"===l||"approved"===l)&&(0,a.jsx)(b.mB,{}),(0,a.jsxs)(b._2,{variant:"destructive",onClick:()=>Q(!0),children:[(0,a.jsx)(p.A,{className:"h-4 w-4"}),F("proposals.deleteProposal")]})]})]}),(0,a.jsx)(v.lG,{open:J,onOpenChange:H,children:(0,a.jsxs)(v.Cf,{className:"sm:max-w-md",children:[(0,a.jsxs)(v.c7,{children:[(0,a.jsx)(v.L3,{children:F("proposals.confirmSubmit")}),(0,a.jsx)(v.rr,{children:F("proposals.confirmSubmitDesc")})]}),(0,a.jsxs)(v.Es,{className:"gap-2",children:[(0,a.jsx)(g.$,{variant:"outline",onClick:()=>H(!1),className:"border-[#E5E0D8] text-[#6B6B6B]",children:F("common.cancel")}),(0,a.jsx)(g.$,{onClick:()=>{B(async()=>{(await N(t)).success&&(H(!1),D.refresh())})},disabled:S,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:F(S?"common.processing":"proposals.submitForReview")})]})]})}),(0,a.jsx)(v.lG,{open:P,onOpenChange:R,children:(0,a.jsxs)(v.Cf,{className:"sm:max-w-md",children:[(0,a.jsxs)(v.c7,{children:[(0,a.jsx)(v.L3,{children:F("proposals.approveProposal")}),(0,a.jsx)(v.rr,{children:F("proposals.approveProposalDesc")})]}),(0,a.jsx)(j.T,{value:T,onChange:e=>z(e.target.value),placeholder:F("proposals.approveNotePlaceholder"),className:"min-h-[100px] border-[#E5E0D8]"}),(0,a.jsxs)(v.Es,{className:"gap-2",children:[(0,a.jsx)(g.$,{variant:"outline",onClick:()=>R(!1),className:"border-[#E5E0D8] text-[#6B6B6B]",children:F("common.cancel")}),(0,a.jsx)(g.$,{onClick:()=>{B(async()=>{(await w(t,T.trim()||void 0)).success&&(R(!1),z(""),D.refresh())})},disabled:S,className:"bg-[#5A9E6F] hover:bg-[#4A8E5F] text-white",children:F(S?"common.processing":"common.approve")})]})]})}),(0,a.jsx)(v.lG,{open:M,onOpenChange:_,children:(0,a.jsxs)(v.Cf,{className:"sm:max-w-md",children:[(0,a.jsxs)(v.c7,{children:[(0,a.jsx)(v.L3,{children:F("proposals.rejectProposal")}),(0,a.jsx)(v.rr,{children:F("proposals.rejectProposalDesc")})]}),(0,a.jsx)(j.T,{value:U,onChange:e=>O(e.target.value),placeholder:F("proposals.rejectReasonPlaceholder"),className:"min-h-[100px] border-[#E5E0D8]"}),(0,a.jsxs)(v.Es,{className:"gap-2",children:[(0,a.jsx)(g.$,{variant:"outline",onClick:()=>_(!1),className:"border-[#E5E0D8] text-[#6B6B6B]",children:F("common.cancel")}),(0,a.jsx)(g.$,{onClick:()=>{B(async()=>{(await C(t,U)).success&&(_(!1),O(""),D.refresh())})},disabled:S||!U.trim(),className:"bg-[#D32F2F] hover:bg-[#B71C1C] text-white",children:F(S?"common.processing":"common.reject")})]})]})}),(0,a.jsx)(v.lG,{open:q,onOpenChange:$,children:(0,a.jsxs)(v.Cf,{className:"sm:max-w-md",children:[(0,a.jsxs)(v.c7,{children:[(0,a.jsx)(v.L3,{children:F("proposals.closeProposal")}),(0,a.jsx)(v.rr,{children:F("proposals.closeProposalDesc")})]}),(0,a.jsx)(j.T,{value:I,onChange:e=>L(e.target.value),placeholder:F("proposals.closeReasonPlaceholder"),className:"min-h-[100px] border-[#E5E0D8]"}),(0,a.jsxs)(v.Es,{className:"gap-2",children:[(0,a.jsx)(g.$,{variant:"outline",onClick:()=>$(!1),className:"border-[#E5E0D8] text-[#6B6B6B]",children:F("common.cancel")}),(0,a.jsx)(g.$,{onClick:()=>{B(async()=>{(await k(t,I)).success&&($(!1),L(""),D.refresh())})},disabled:S||!I.trim(),className:"bg-[#6B6B6B] hover:bg-[#555555] text-white",children:F(S?"common.processing":"proposals.closeProposal")})]})]})}),(0,a.jsx)(v.lG,{open:G,onOpenChange:V,children:(0,a.jsxs)(v.Cf,{className:"sm:max-w-lg",children:[(0,a.jsxs)(v.c7,{children:[(0,a.jsx)(v.L3,{children:F("proposals.revokeProposal")}),(0,a.jsx)(v.rr,{children:F("proposals.revokeProposalDesc")})]}),y&&(y.tasks.length>0||y.documents.length>0)&&(0,a.jsxs)("div",{className:"space-y-3 rounded-lg border border-[#FFCDD2] bg-[#FFF5F5] p-3",children:[y.tasks.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-semibold text-[#D32F2F] mb-1.5",children:[(0,a.jsx)(h.A,{className:"h-3.5 w-3.5"}),F("proposals.revokeTasksToClose",{count:y.tasks.length})]}),(0,a.jsx)("ul",{className:"space-y-1 pl-5",children:y.tasks.map(e=>(0,a.jsxs)("li",{className:"text-xs text-[#6B6B6B]",children:[e.title,(0,a.jsxs)("span",{className:"ml-1.5 text-[10px] text-muted-foreground",children:["(",e.status,")"]})]},e.uuid))})]}),y.documents.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-semibold text-[#D32F2F] mb-1.5",children:[(0,a.jsx)(f.A,{className:"h-3.5 w-3.5"}),F("proposals.revokeDocsToDelete",{count:y.documents.length})]}),(0,a.jsx)("ul",{className:"space-y-1 pl-5",children:y.documents.map(e=>(0,a.jsx)("li",{className:"text-xs text-[#6B6B6B]",children:e.title},e.uuid))})]})]}),(0,a.jsx)(j.T,{value:K,onChange:e=>Z(e.target.value),placeholder:F("proposals.revokeReasonPlaceholder"),className:"min-h-[100px] border-[#E5E0D8]"}),(0,a.jsxs)(v.Es,{className:"gap-2",children:[(0,a.jsx)(g.$,{variant:"outline",onClick:()=>V(!1),className:"border-[#E5E0D8] text-[#6B6B6B]",children:F("common.cancel")}),(0,a.jsx)(g.$,{onClick:()=>{B(async()=>{(await A(t,K.trim()||void 0)).success&&(V(!1),Z(""),D.refresh())})},disabled:S,className:"bg-[#D32F2F] hover:bg-[#B71C1C] text-white",children:F(S?"common.processing":"proposals.revokeProposal")})]})]})}),(0,a.jsx)(v.lG,{open:W,onOpenChange:Q,children:(0,a.jsxs)(v.Cf,{className:"sm:max-w-md",children:[(0,a.jsxs)(v.c7,{children:[(0,a.jsx)(v.L3,{children:F("proposals.deleteProposal")}),(0,a.jsx)(v.rr,{children:F("proposals.deleteProposalDesc")})]}),(0,a.jsxs)(v.Es,{className:"gap-2",children:[(0,a.jsx)(g.$,{variant:"outline",onClick:()=>Q(!1),className:"border-[#E5E0D8] text-[#6B6B6B]",children:F("common.cancel")}),(0,a.jsx)(g.$,{onClick:()=>{B(async()=>{(await E(t,s)).success&&(Q(!1),D.push("/projects/".concat(s,"/proposals")),D.refresh())})},disabled:S,className:"bg-[#D32F2F] hover:bg-[#B71C1C] text-white",children:F(S?"common.processing":"common.delete")})]})]})})]})}},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})}},64284:(e,t,s)=>{"use strict";s.d(t,{SourceIdeasCard:()=>Z});var a=s(90508),r=s(1856),n=s(39268),i=s(29767);let l=(0,s(66206).A)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var o=s(48416),d=s(23675),c=s(95900),u=s(57893),m=s(9160),x=s(5425),p=s(85226),h=s(60532),f=s(94903),g=s(42533),b=s(97413),v=s(57731),j=s(22922),y=s(14554),N=s(15972),w=s(88064),C=s(64993),k=s(51817),A=s(73693),E=s(70968),F=s(72216),D=s(53240),S=s(76973),B=s(97261),P=s(4674),R=s(21985),T=s(2986),z=s(60992),M=s(95745),_=s(52217);let U=(0,_.createServerReference)("605495c490084c9c830a5fe1db3cca4e56e5277160",_.callServer,void 0,_.findSourceMapURL,"skipElaborationAction");var O=s(63964),q=s(11166),$=s(16544),I=s(65626),L=s(38106);let G={open:"bg-[#FFF3E0] text-[#E65100]",elaborating:"bg-[#E3F2FD] text-[#1976D2]",elaborated:"bg-[#E0F2F1] text-[#00796B]"},V={open:"open",elaborating:"elaborating",elaborated:"elaborated"};function K(e){var t;let{idea:s,projectUuid:i,currentUserUuid:l,isUsedInProposal:o,onClose:_,onDeleted:K}=e,Z=(0,n.c)(),J=(0,d.useRouter)(),[H,W]=(0,r.useState)([]),[Q,X]=(0,r.useState)(!0),[Y,ee]=(0,r.useState)(!1),[et,es]=(0,r.useState)(null),ea=(0,r.useCallback)(async()=>{let e=await (0,z.z)(s.uuid);e.success&&e.data&&es(e.data)},[s.uuid]);(0,r.useEffect)(()=>{ea()},[ea]),(0,O.eV)("idea",ea);let[er,en]=(0,r.useState)(!1),[ei,el]=(0,r.useState)(""),[eo,ed]=(0,r.useState)(!1),[ec,eu]=(0,r.useState)(null),[em,ex]=(0,r.useState)(!1),[ep,eh]=(0,r.useState)(null),[ef,eg]=(0,r.useState)(!1),[eb,ev]=(0,r.useState)(!1),[ej,ey]=(0,r.useState)(s.title),[eN,ew]=(0,r.useState)(s.content||""),[eC,ek]=(0,r.useState)(!1),[eA,eE]=(0,r.useState)(null),[eF,eD]=(0,r.useState)(!1),[eS,eB]=(0,r.useState)(!1),[eP,eR]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e=setTimeout(()=>eR(!0),300);return()=>clearTimeout(e)},[]);let eT="elaborated"!==s.status,ez="resolved"===s.elaborationStatus,eM=(0,q.o)({ideaStatus:s.status,elaborationStatus:s.elaborationStatus,elaboration:et}),e_="elaborating"===s.status&&(!s.elaborationStatus||"resolved"!==s.elaborationStatus)&&(null==(t=s.assignee)?void 0:t.uuid)===l,eU="elaborated"!==s.status;(0,r.useEffect)(()=>{!async function(){X(!0),W((await (0,F.x)(s.uuid)).activities),X(!1)}()},[s.uuid]),(0,r.useEffect)(()=>{ev(!1),ey(s.title),ew(s.content||""),eE(null)},[s.uuid,s.title,s.content]);let eO=()=>{ev(!1),ey(s.title),ew(s.content||""),eE(null)},eq=async()=>{if(!ej.trim())return void eE(Z("ideas.titleRequired"));ek(!0),eE(null);let e=await (0,D.J)({ideaUuid:s.uuid,projectUuid:i,title:ej.trim(),content:eN.trim()||null});ek(!1),e.success?(ev(!1),J.refresh()):eE(e.error||Z("ideas.updateFailed"))},e$=async()=>{eD(!0);let e=await (0,S.Z)(s.uuid,i);eD(!1),e.success&&(null==K||K(),_(),J.refresh())},eI=async()=>{ex(!0),eh(null);let e=await (0,M.e)(s.uuid);ex(!1),e.success?(eg(!0),J.refresh()):eh(e.error||Z("elaboration.verifyFailed"))},eL=async()=>{if(!ei.trim())return void eu(Z("elaboration.skipReasonRequired"));ed(!0),eu(null);let e=await U(s.uuid,ei.trim());ed(!1),e.success?(en(!1),el(""),J.refresh()):eu(e.error||Z("common.genericError"))};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:_}),(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(eP?"":"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:eb?(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:Z("ideas.editIdea")}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C] truncate",children:s.title}),(0,a.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,a.jsx)(v.E,{className:G[s.status]||"",children:Z("status.".concat(V[s.status]||s.status))}),(0,a.jsx)("span",{className:"text-xs text-[#9A9A9A]",children:(0,L.r)(s.createdAt)})]})]})}),(0,a.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[!eb&&(0,a.jsx)(j.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:()=>eB(!0),title:Z("ideas.actions.move"),"aria-label":Z("ideas.actions.move"),children:(0,a.jsx)(c.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),eU&&!eb&&(0,a.jsx)(j.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:()=>{ey(s.title),ew(s.content||""),eE(null),ev(!0)},children:(0,a.jsx)(u.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),(0,a.jsx)(j.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:eb?eO:_,children:(0,a.jsx)(m.A,{className:"h-4 w-4 text-[#6B6B6B]"})})]})]}),(0,a.jsx)(C.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:eb?(0,a.jsxs)("div",{className:"space-y-5",children:[eA&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:eA}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(w.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:Z("ideas.titleLabel")}),(0,a.jsx)(y.p,{id:"edit-title",value:ej,onChange:e=>ey(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)(w.J,{htmlFor:"edit-content",className:"text-[13px] font-medium text-[#2C2C2C]",children:Z("common.content")}),(0,a.jsx)(N.T,{id:"edit-content",value:eN,onChange:e=>ew(e.target.value),rows:8,className:"border-[#E5E0D8] text-sm resize-none focus-visible:ring-[#C67A52]"})]})]}):(0,a.jsxs)($.P.div,{variants:I.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:Z("common.assignee")}),(0,a.jsx)("div",{className:"mt-2 flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-3",children:s.assignee?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(A.eu,{className:"h-7 w-7",children:(0,a.jsx)(A.q5,{className:"agent"===s.assignee.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]",children:"agent"===s.assignee.type?(0,a.jsx)(x.A,{className:"h-3.5 w-3.5"}):s.assignee.name.charAt(0).toUpperCase()})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-[#2C2C2C]",children:s.assignee.name}),(0,a.jsx)("div",{className:"text-xs text-[#6B6B6B]",children:"agent"===s.assignee.type?"".concat(Z("common.agent")," • ").concat(s.assignee.assignedAt?(0,L.r)(s.assignee.assignedAt):""):Z("common.user")})]})]}):(0,a.jsx)("span",{className:"text-sm text-[#9A9A9A]",children:Z("common.unassigned")})})]}),et&&et.rounds.length>0&&(0,a.jsx)("div",{className:"mt-5",children:(0,a.jsx)(T.R,{ideaUuid:s.uuid,elaboration:et,onRefresh:async()=>{let e=await (0,z.z)(s.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:Z("common.content")}),(0,a.jsx)("div",{className:"mt-2",children:s.content?(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,a.jsx)(B.MarkdownContent,{children:s.content})}):(0,a.jsx)("p",{className:"text-sm italic text-[#9A9A9A]",children:Z("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:Z("common.activity")}),(0,a.jsx)("div",{className:"mt-2 space-y-3",children:Q?(0,a.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,a.jsx)(p.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):0===H.length?(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A] italic",children:Z("common.noActivity")}):H.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,t){let{action:s,actorName:a}=e;switch(s){case"created":case"idea_created":return t("activity.ideaCreated",{actor:a});case"assigned":case"idea_assigned":return t("activity.ideaAssigned",{actor:a});case"claimed":case"idea_claimed":return t("activity.ideaClaimed",{actor:a});case"released":case"idea_released":return t("activity.ideaReleased",{actor:a});case"status_changed":case"idea_status_changed":return t("activity.ideaStatusChanged",{actor:a});case"edited":case"idea_edited":return t("activity.ideaEdited",{actor:a});case"reparented":case"idea_reparented":return t("activity.ideaReparented",{actor:a});case"elaboration_started":return t("activity.elaborationStarted",{actor:a});case"elaboration_answered":return t("activity.elaborationAnswered",{actor:a});case"elaboration_skipped":return t("activity.elaborationSkipped",{actor:a});case"elaboration_resolved":return t("activity.elaborationResolved",{actor:a});case"elaboration_followup":return t("activity.elaborationFollowup",{actor:a});default:return"".concat(a,": ").concat(s)}}(e,Z)}),(0,a.jsx)("p",{className:"text-[11px] text-[#9A9A9A]",children:function(e,t){let s=new Date(e),a=new Date().getTime()-s.getTime(),r=Math.floor(a/6e4),n=Math.floor(a/36e5),i=Math.floor(a/864e5);return r<1?t("time.justNow"):r<60?t("time.minutesAgo",{minutes:r}):n<24?t("time.hoursAgo",{hours:n}):i<7?t("time.daysAgo",{days:i}):(0,L.r)(s)}(e.createdAt,Z)})]})]},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:Z("comments.title")}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(E.$,{targetType:"idea",targetUuid:s.uuid,currentUserUuid:l,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:eb?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:eO,disabled:eC,children:Z("common.cancel")}),(0,a.jsx)(j.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:eq,disabled:eC||!ej.trim(),children:eC?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),Z("common.saving")]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.A,{className:"mr-2 h-4 w-4"}),Z("ideas.saveChanges")]})})]}):(0,a.jsxs)(a.Fragment,{children:[eT&&(0,a.jsxs)(j.$,{variant:"outline",className:"shrink-0 border-[#E5E0D8] rounded-md px-4 py-2 text-[13px] font-medium",onClick:()=>ee(!0),children:[(0,a.jsx)(f.A,{className:"mr-2 h-4 w-4"}),s.assignee?Z("common.reassign"):Z("common.assign")]}),(0,a.jsxs)("div",{className:"flex-1 min-w-0 flex flex-wrap items-center gap-2",children:[e_&&(0,a.jsx)(j.$,{variant:"outline",size:"sm",className:"border-[#E5E0D8]",onClick:()=>{el(""),eu(null),en(!0)},children:Z("elaboration.skipButton")}),eM&&!ef&&(0,a.jsx)(j.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:eI,disabled:em,children:em?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),Z("elaboration.verifying")]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.A,{className:"mr-2 h-4 w-4"}),Z("elaboration.verifyButton")]})}),ef&&(0,a.jsx)("span",{className:"text-[11px] text-[#00796B]",children:Z("elaboration.verifiedQueuedHint")}),ep&&(0,a.jsx)("span",{className:"text-[11px] text-destructive",children:ep}),"elaborating"===s.status&&!ez&&!eM&&!ef&&!e_&&(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:Z("elaboration.elaborationRequiredHint")})]}),(0,a.jsxs)(k.Lt,{children:[(0,a.jsx)(k.tv,{asChild:!0,children:(0,a.jsx)(j.$,{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)(b.A,{className:"h-4 w-4"})})}),(0,a.jsxs)(k.EO,{children:[(0,a.jsxs)(k.wd,{children:[(0,a.jsx)(k.r7,{children:Z("ideas.deleteIdea")}),(0,a.jsx)(k.$v,{children:Z("ideas.deleteIdeaConfirm",{title:s.title})})]}),(0,a.jsxs)(k.ck,{children:[(0,a.jsx)(k.Zr,{children:Z("common.cancel")}),(0,a.jsx)(k.Rx,{variant:"destructive",onClick:e$,disabled:eF,children:eF?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),Z("common.delete")]}):Z("common.delete")})]})]})]})]})})})]}),(0,a.jsx)(k.Lt,{open:er,onOpenChange:en,children:(0,a.jsxs)(k.EO,{children:[(0,a.jsxs)(k.wd,{children:[(0,a.jsx)(k.r7,{children:Z("elaboration.skipConfirmTitle")}),(0,a.jsx)(k.$v,{children:Z("elaboration.skipConfirmDescription")})]}),(0,a.jsxs)("div",{className:"space-y-2 py-2",children:[(0,a.jsx)(w.J,{htmlFor:"skip-reason",className:"text-[13px] font-medium text-[#2C2C2C]",children:Z("elaboration.skipReasonLabel")}),(0,a.jsx)(y.p,{id:"skip-reason",value:ei,onChange:e=>{el(e.target.value),ec&&eu(null)},placeholder:Z("elaboration.skipReasonPlaceholder"),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]",autoFocus:!0}),ec&&(0,a.jsx)("p",{className:"text-xs text-destructive",children:ec})]}),(0,a.jsxs)(k.ck,{children:[(0,a.jsx)(k.Zr,{disabled:eo,children:Z("common.cancel")}),(0,a.jsx)(k.Rx,{onClick:e=>{e.preventDefault(),eL()},disabled:eo||!ei.trim(),className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:eo?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),Z("common.processing")]}):Z("elaboration.skipButton")})]})]})}),(0,a.jsx)(R.h,{open:eS,onOpenChange:eB,ideaUuid:s.uuid,projectUuid:i,onMoved:()=>{_()}}),Y&&(0,a.jsx)(P.i,{idea:{uuid:s.uuid,title:s.title,content:s.content,status:s.status,assignee:s.assignee?{type:s.assignee.type,uuid:s.assignee.uuid,name:s.assignee.name}:null},projectUuid:i,currentUserUuid:l,onClose:()=>{ee(!1),_()}})]})}function Z(e){let{ideas:t,projectUuid:s,currentUserUuid:d}=e,c=(0,n.c)("proposals"),[u,m]=(0,r.useState)(null);return 0===t.length?null:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(o.Zp,{className:"border-[#E5E2DC] shadow-none rounded-2xl gap-0 py-0 overflow-hidden",children:[(0,a.jsx)(o.aR,{className:"border-b border-[#F5F2EC] px-5 py-4",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(i.A,{className:"h-4 w-4 text-[#C67A52]"}),(0,a.jsx)(o.ZB,{className:"text-[13px] font-semibold text-foreground",children:c("sourceIdeas")})]})}),(0,a.jsx)(o.Wu,{className:"space-y-2 px-5 py-3",children:t.map(e=>(0,a.jsxs)("button",{onClick:()=>m(e),className:"flex w-full items-center gap-2 rounded-lg bg-[#F5F2EC] px-3 py-2 text-left transition-colors hover:bg-[#EDE9E3]",children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C67A52]"}),(0,a.jsx)("span",{className:"flex-1 truncate text-xs font-medium text-[#C67A52]",children:e.title}),(0,a.jsx)(l,{className:"h-3 w-3 shrink-0 text-[#9A9A9A]"})]},e.uuid))})]}),u&&(0,a.jsx)(K,{idea:u,projectUuid:s,currentUserUuid:d,isUsedInProposal:!0,onClose:()=>m(null)})]})}},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}}}},66343:(e,t,s)=>{"use strict";s.d(t,{SQ:()=>o,_2:()=>d,mB:()=>c,rI:()=>i,ty:()=>l});var a=s(90508);s(1856);var r=s(39025),n=s(24377);function i(e){let{...t}=e;return(0,a.jsx)(r.Root,{"data-slot":"dropdown-menu",...t})}function l(e){let{...t}=e;return(0,a.jsx)(r.Trigger,{"data-slot":"dropdown-menu-trigger",...t})}function o(e){let{className:t,sideOffset:s=4,...i}=e;return(0,a.jsx)(r.Portal,{children:(0,a.jsx)(r.Content,{"data-slot":"dropdown-menu-content",sideOffset:s,className:(0,n.cn)("bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md","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",t),...i})})}function d(e){let{className:t,inset:s,variant:i="default",...l}=e;return(0,a.jsx)(r.Item,{"data-slot":"dropdown-menu-item","data-inset":s,"data-variant":i,className:(0,n.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0","data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive","data-[inset]:pl-8 [&_svg]:size-4",t),...l})}function c(e){let{className:t,...s}=e;return(0,a.jsx)(r.Separator,{"data-slot":"dropdown-menu-separator",className:(0,n.cn)("bg-border -mx-1 my-1 h-px",t),...s})}},68923:(e,t,s)=>{"use strict";s.d(t,{CG:()=>d,Fm:()=>p,cj:()=>o,h:()=>x,qp:()=>h});var a=s(90508);s(1856);var r=s(9160),n=s(71350),i=s(49499),l=s(24377);function o(e){let{...t}=e;return(0,a.jsx)(n.Root,{"data-slot":"sheet",...t})}function d(e){let{...t}=e;return(0,a.jsx)(n.Trigger,{"data-slot":"sheet-trigger",...t})}function c(e){let{...t}=e;return(0,a.jsx)(n.Portal,{"data-slot":"sheet-portal",...t})}function u(e){let{className:t,...s}=e;return(0,a.jsx)(n.Overlay,{"data-slot":"sheet-overlay",className:(0,l.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})}let m=(0,i.F)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 border-b",bottom:"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 border-t",left:"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",right:"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm"}},defaultVariants:{side:"right"}});function x(e){let{className:t,children:s,side:i="right",...o}=e;return(0,a.jsxs)(c,{children:[(0,a.jsx)(u,{}),(0,a.jsxs)(n.Content,{"data-slot":"sheet-content",className:(0,l.cn)(m({side:i}),t),...o,children:[s,(0,a.jsxs)(n.Close,{"data-slot":"sheet-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary 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",children:[(0,a.jsx)(r.A,{className:"size-4"}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function p(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"sheet-header",className:(0,l.cn)("flex flex-col gap-2 p-4",t),...s})}function h(e){let{className:t,...s}=e;return(0,a.jsx)(n.Title,{"data-slot":"sheet-title",className:(0,l.cn)("text-foreground text-lg font-semibold",t),...s})}},75320:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},76546:(e,t,s)=>{"use strict";s.d(t,{FormattedDateTime:()=>n});var a=s(90508),r=s(38106);function n(e){let{date:t}=e;return(0,a.jsx)(a.Fragment,{children:(0,r.r)(t)})}},79834:(e,t,s)=>{"use strict";s.r(t),s.d(t,{Content:()=>B,List:()=>D,Root:()=>F,Tabs:()=>v,TabsContent:()=>k,TabsList:()=>y,TabsTrigger:()=>w,Trigger:()=>S,createTabsScope:()=>h});var a=s(1856),r=s(33328),n=s(21032),i=s(94782),l=s(19900),o=s(93367),d=s(72599),c=s(66249),u=s(40577),m=s(90508),x="Tabs",[p,h]=(0,n.A)(x,[i.RG]),f=(0,i.RG)(),[g,b]=p(x),v=a.forwardRef((e,t)=>{let{__scopeTabs:s,value:a,onValueChange:r,defaultValue:n,orientation:i="horizontal",dir:l,activationMode:p="automatic",...h}=e,f=(0,d.jH)(l),[b,v]=(0,c.i)({prop:a,onChange:r,defaultProp:null!=n?n:"",caller:x});return(0,m.jsx)(g,{scope:s,baseId:(0,u.B)(),value:b,onValueChange:v,orientation:i,dir:f,activationMode:p,children:(0,m.jsx)(o.sG.div,{dir:f,"data-orientation":i,...h,ref:t})})});v.displayName=x;var j="TabsList",y=a.forwardRef((e,t)=>{let{__scopeTabs:s,loop:a=!0,...r}=e,n=b(j,s),l=f(s);return(0,m.jsx)(i.bL,{asChild:!0,...l,orientation:n.orientation,dir:n.dir,loop:a,children:(0,m.jsx)(o.sG.div,{role:"tablist","aria-orientation":n.orientation,...r,ref:t})})});y.displayName=j;var N="TabsTrigger",w=a.forwardRef((e,t)=>{let{__scopeTabs:s,value:a,disabled:n=!1,...l}=e,d=b(N,s),c=f(s),u=A(d.baseId,a),x=E(d.baseId,a),p=a===d.value;return(0,m.jsx)(i.q7,{asChild:!0,...c,focusable:!n,active:p,children:(0,m.jsx)(o.sG.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":x,"data-state":p?"active":"inactive","data-disabled":n?"":void 0,disabled:n,id:u,...l,ref:t,onMouseDown:(0,r.mK)(e.onMouseDown,e=>{n||0!==e.button||!1!==e.ctrlKey?e.preventDefault():d.onValueChange(a)}),onKeyDown:(0,r.mK)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&d.onValueChange(a)}),onFocus:(0,r.mK)(e.onFocus,()=>{let e="manual"!==d.activationMode;p||n||!e||d.onValueChange(a)})})})});w.displayName=N;var C="TabsContent",k=a.forwardRef((e,t)=>{let{__scopeTabs:s,value:r,forceMount:n,children:i,...d}=e,c=b(C,s),u=A(c.baseId,r),x=E(c.baseId,r),p=r===c.value,h=a.useRef(p);return a.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,m.jsx)(l.C,{present:n||p,children:s=>{let{present:a}=s;return(0,m.jsx)(o.sG.div,{"data-state":p?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":u,hidden:!a,id:x,tabIndex:0,...d,ref:t,style:{...e.style,animationDuration:h.current?"0s":void 0},children:a&&i})}})});function A(e,t){return"".concat(e,"-trigger-").concat(t)}function E(e,t){return"".concat(e,"-content-").concat(t)}k.displayName=C;var F=v,D=y,S=w,B=k},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:()=>x,gC:()=>m,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 m(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)(p,{}),(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)(h,{})]})})}function x(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 p(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 h(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"})})}},97438:(e,t,s)=>{"use strict";s.d(t,{Cf:()=>m,Es:()=>p,L3:()=>h,c7:()=>x,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 m(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 x(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 p(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 h(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})}},98861:(e,t,s)=>{"use strict";s.r(t),s.d(t,{Checkbox:()=>y,CheckboxIndicator:()=>w,Indicator:()=>w,Root:()=>y,createCheckboxScope:()=>h,unstable_BubbleInput:()=>k,unstable_CheckboxBubbleInput:()=>k,unstable_CheckboxProvider:()=>b,unstable_CheckboxTrigger:()=>j,unstable_Provider:()=>b,unstable_Trigger:()=>j});var a=s(1856),r=s(34124),n=s(21032),i=s(33328),l=s(66249),o=s(72009),d=s(3705),c=s(19900),u=s(93367),m=s(90508),x="Checkbox",[p,h]=(0,n.A)(x),[f,g]=p(x);function b(e){let{__scopeCheckbox:t,checked:s,children:r,defaultChecked:n,disabled:i,form:o,name:d,onCheckedChange:c,required:u,value:p="on",internal_do_not_use_render:h}=e,[g,b]=(0,l.i)({prop:s,defaultProp:null!=n&&n,onChange:c,caller:x}),[v,j]=a.useState(null),[y,N]=a.useState(null),w=a.useRef(!1),C=!v||!!o||!!v.closest("form"),k={checked:g,disabled:i,setChecked:b,control:v,setControl:j,name:d,form:o,value:p,hasConsumerStoppedPropagationRef:w,required:u,defaultChecked:!A(n)&&n,isFormControl:C,bubbleInput:y,setBubbleInput:N};return(0,m.jsx)(f,{scope:t,...k,children:"function"==typeof h?h(k):r})}var v="CheckboxTrigger",j=a.forwardRef((e,t)=>{let{__scopeCheckbox:s,onKeyDown:n,onClick:l,...o}=e,{control:d,value:c,disabled:x,checked:p,required:h,setControl:f,setChecked:b,hasConsumerStoppedPropagationRef:j,isFormControl:y,bubbleInput:N}=g(v,s),w=(0,r.s)(t,f),C=a.useRef(p);return a.useEffect(()=>{let e=null==d?void 0:d.form;if(e){let t=()=>b(C.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[d,b]),(0,m.jsx)(u.sG.button,{type:"button",role:"checkbox","aria-checked":A(p)?"mixed":p,"aria-required":h,"data-state":E(p),"data-disabled":x?"":void 0,disabled:x,value:c,...o,ref:w,onKeyDown:(0,i.mK)(n,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,i.mK)(l,e=>{b(e=>!!A(e)||!e),N&&y&&(j.current=e.isPropagationStopped(),j.current||e.stopPropagation())})})});j.displayName=v;var y=a.forwardRef((e,t)=>{let{__scopeCheckbox:s,name:a,checked:r,defaultChecked:n,required:i,disabled:l,value:o,onCheckedChange:d,form:c,...u}=e;return(0,m.jsx)(b,{__scopeCheckbox:s,checked:r,defaultChecked:n,disabled:l,required:i,onCheckedChange:d,name:a,form:c,value:o,internal_do_not_use_render:e=>{let{isFormControl:a}=e;return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(j,{...u,ref:t,__scopeCheckbox:s}),a&&(0,m.jsx)(k,{__scopeCheckbox:s})]})}})});y.displayName=x;var N="CheckboxIndicator",w=a.forwardRef((e,t)=>{let{__scopeCheckbox:s,forceMount:a,...r}=e,n=g(N,s);return(0,m.jsx)(c.C,{present:a||A(n.checked)||!0===n.checked,children:(0,m.jsx)(u.sG.span,{"data-state":E(n.checked),"data-disabled":n.disabled?"":void 0,...r,ref:t,style:{pointerEvents:"none",...e.style}})})});w.displayName=N;var C="CheckboxBubbleInput",k=a.forwardRef((e,t)=>{let{__scopeCheckbox:s,...n}=e,{control:i,hasConsumerStoppedPropagationRef:l,checked:c,defaultChecked:x,required:p,disabled:h,name:f,value:b,form:v,bubbleInput:j,setBubbleInput:y}=g(C,s),N=(0,r.s)(t,y),w=(0,o.Z)(c),k=(0,d.X)(i);a.useEffect(()=>{if(!j)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!l.current;if(w!==c&&e){let s=new Event("click",{bubbles:t});j.indeterminate=A(c),e.call(j,!A(c)&&c),j.dispatchEvent(s)}},[j,w,c,l]);let E=a.useRef(!A(c)&&c);return(0,m.jsx)(u.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:null!=x?x:E.current,required:p,disabled:h,name:f,value:b,form:v,...n,tabIndex:-1,ref:N,style:{...n.style,...k,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function A(e){return"indeterminate"===e}function E(e){return A(e)?"indeterminate":e?"checked":"unchecked"}k.displayName=C}},e=>{e.O(0,[41282,93151,41752,30996,57084,59764,12079,18944,12790,26885,71350,30724,16544,27201,16551,97784,14753,66969,45532,70552,15183,60648,76803,1217,84541,23466,16984,78584,60694,74951,65496,77358],()=>e(e.s=39236)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[14730],{14554:(e,r,t)=>{"use strict";t.d(r,{p:()=>i});var a=t(90508);t(1856);var s=t(24377);function i(e){let{className:r,type:t,...i}=e;return(0,a.jsx)("input",{type:t,"data-slot":"input",className:(0,s.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",r),...i})}},15972:(e,r,t)=>{"use strict";t.d(r,{T:()=>i});var a=t(90508);t(1856);var s=t(24377);function i(e){let{className:r,...t}=e;return(0,a.jsx)("textarea",{"data-slot":"textarea",className:(0,s.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",r),...t})}},22922:(e,r,t)=>{"use strict";t.d(r,{$:()=>d});var a=t(90508);t(1856);var s=t(49499),i=t(54154),n=t(24377);let o=(0,s.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 d(e){let{className:r,variant:t="default",size:s="default",asChild:d=!1,...l}=e,c=d?i.bL:"button";return(0,a.jsx)(c,{"data-slot":"button","data-variant":t,"data-size":s,className:(0,n.cn)(o({variant:t,size:s,className:r})),...l})}},23675:(e,r,t)=>{"use strict";var a=t(84675);t.o(a,"useParams")&&t.d(r,{useParams:function(){return a.useParams}}),t.o(a,"usePathname")&&t.d(r,{usePathname:function(){return a.usePathname}}),t.o(a,"useRouter")&&t.d(r,{useRouter:function(){return a.useRouter}}),t.o(a,"useSearchParams")&&t.d(r,{useSearchParams:function(){return a.useSearchParams}})},24377:(e,r,t)=>{"use strict";t.d(r,{cn:()=>i});var a=t(49251),s=t(58849);function i(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];return(0,s.QP)((0,a.$)(r))}},31309:(e,r,t)=>{Promise.resolve().then(t.bind(t,41002))},41002:(e,r,t)=>{"use strict";t.d(r,{CreateProposalForm:()=>g});var a=t(90508),s=t(1856),i=t(23675),n=t(39268),o=t(60532),d=t(48416),l=t(22922),c=t(14554),u=t(57731),v=t(15972),p=t(88064),b=t(52217);let f=(0,b.createServerReference)("6020f8b41bf00f14e8072df973467208717d2e4f9f",b.callServer,void 0,b.findSourceMapURL,"createProposalAction");function g(e){let{projectUuid:r,availableIdeas:t,preselectedIdeaUuid:b}=e,g=(0,n.c)(),x=(0,i.useRouter)(),[m,h]=(0,s.useTransition)(),[y,j]=(0,s.useState)(""),[w,k]=(0,s.useState)(""),[N,E]=(0,s.useState)(b?[b]:[]),[C,P]=(0,s.useState)(null);return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)(d.Zp,{className:"border-[#E5E0D8] p-6",children:[(0,a.jsx)("h2",{className:"mb-4 text-lg font-medium text-[#2C2C2C]",children:g("proposals.basicInfo")}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)(p.J,{className:"mb-2 block text-[#6B6B6B]",children:[g("proposals.title")," *"]}),(0,a.jsx)(c.p,{value:y,onChange:e=>j(e.target.value),placeholder:g("proposals.titlePlaceholder"),className:"border-[#E5E0D8]"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(p.J,{className:"mb-2 block text-[#6B6B6B]",children:g("common.description")}),(0,a.jsx)(v.T,{value:w,onChange:e=>k(e.target.value),placeholder:g("proposals.descriptionPlaceholder"),className:"h-24 resize-none border-[#E5E0D8]"})]})]})]}),(0,a.jsxs)(d.Zp,{className:"border-[#E5E0D8] p-6",children:[(0,a.jsxs)("h2",{className:"mb-4 text-lg font-medium text-[#2C2C2C]",children:[g("proposals.selectSourceIdeas")," *"]}),0===t.length?(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A]",children:g("proposals.noAvailableIdeas")}):(0,a.jsx)("div",{className:"space-y-2",children:t.map(e=>(0,a.jsxs)("div",{onClick:()=>{var r;return r=e.uuid,void E(e=>e.includes(r)?e.filter(e=>e!==r):[...e,r])},className:"flex cursor-pointer items-center justify-between rounded-lg border p-3 transition-colors ".concat(N.includes(e.uuid)?"border-[#C67A52] bg-[#FFFBF8]":"border-[#E5E0D8] hover:border-[#C67A52]"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"flex h-5 w-5 items-center justify-center rounded border ".concat(N.includes(e.uuid)?"border-[#C67A52] bg-[#C67A52] text-white":"border-[#E5E0D8]"),children:N.includes(e.uuid)&&(0,a.jsx)(o.A,{className:"h-3 w-3",strokeWidth:3})}),(0,a.jsx)("span",{className:"font-medium text-[#2C2C2C]",children:e.title})]}),(0,a.jsx)(u.E,{variant:"outline",className:"text-xs",children:e.status})]},e.uuid))})]}),C&&(0,a.jsx)("div",{className:"rounded-lg bg-[#FFEBEE] p-3 text-sm text-[#D32F2F]",children:C}),(0,a.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,a.jsx)(l.$,{variant:"outline",onClick:()=>x.back(),disabled:m,className:"border-[#E5E0D8]",children:g("common.cancel")}),(0,a.jsx)(l.$,{onClick:()=>y.trim()?0===N.length?void P(g("proposals.selectAtLeastOneIdea")):void(P(null),h(async()=>{let e=await f(r,{title:y.trim(),description:w.trim()||void 0,inputType:"idea",inputUuids:N});e.success&&e.proposal?x.push("/projects/".concat(r,"/proposals/").concat(e.proposal.uuid)):P(e.error||g("proposals.createFailed"))})):void P(g("proposals.titleRequired")),disabled:m,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:m?g("common.creating"):g("proposals.createAndEdit")})]})]})}},48416:(e,r,t)=>{"use strict";t.d(r,{BT:()=>d,Wu:()=>l,ZB:()=>o,Zp:()=>i,aR:()=>n});var a=t(90508);t(1856);var s=t(24377);function i(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card",className:(0,s.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",r),...t})}function n(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card-header",className:(0,s.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",r),...t})}function o(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card-title",className:(0,s.cn)("leading-none font-semibold",r),...t})}function d(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card-description",className:(0,s.cn)("text-muted-foreground text-sm",r),...t})}function l(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card-content",className:(0,s.cn)("px-6",r),...t})}},52217:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,r){for(var t in r)Object.defineProperty(e,t,{enumerable:!0,get:r[t]})}(r,{callServer:function(){return a.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return s.findSourceMapURL}});let a=t(53874),s=t(11550),i=t(31802)},57731:(e,r,t)=>{"use strict";t.d(r,{E:()=>d});var a=t(90508);t(1856);var s=t(49499),i=t(54154),n=t(24377);let o=(0,s.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 d(e){let{className:r,variant:t="default",asChild:s=!1,...d}=e,l=s?i.bL:"span";return(0,a.jsx)(l,{"data-slot":"badge","data-variant":t,className:(0,n.cn)(o({variant:t}),r),...d})}},58057:(e,r,t)=>{"use strict";t.r(r),t.d(r,{Label:()=>n,Root:()=>o});var a=t(1856),s=t(93367),i=t(90508),n=a.forwardRef((e,r)=>(0,i.jsx)(s.sG.label,{...e,ref:r,onMouseDown:r=>{var t;r.target.closest("button, input, select, textarea")||(null==(t=e.onMouseDown)||t.call(e,r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));n.displayName="Label";var o=n},60532:(e,r,t)=>{"use strict";t.d(r,{A:()=>a});let a=(0,t(66206).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},88064:(e,r,t)=>{"use strict";t.d(r,{J:()=>n});var a=t(90508);t(1856);var s=t(58057),i=t(24377);function n(e){let{className:r,...t}=e;return(0,a.jsx)(s.Root,{"data-slot":"label",className:(0,i.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",r),...t})}},93367:(e,r,t)=>{"use strict";t.d(r,{bL:()=>l,hO:()=>d,sG:()=>o});var a=t(1856),s=t(38129),i=t(54154),n=t(90508),o=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let t=(0,i.TL)(`Primitive.${r}`),s=a.forwardRef((e,a)=>{let{asChild:s,...i}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(s?t:r,{...i,ref:a})});return s.displayName=`Primitive.${r}`,{...e,[r]:s}},{});function d(e,r){e&&s.flushSync(()=>e.dispatchEvent(r))}var l=o}},e=>{e.O(0,[12079,18944,74951,65496,77358],()=>e(e.s=31309)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[91143],{18143:(e,t,s)=>{"use strict";s.d(t,{ProposalKanban:()=>k});var r=s(90508),n=s(1856),a=s(12790),i=s.n(a),o=s(39268),l=s(48416),d=s(57731),c=s(5425),u=s(94903),m=s(97261),p=s(63964),h=s(62205),b=s(96213),v=s(16544),x=s(52217);let f=(0,x.createServerReference)("4093d9150a875293fd09e2d67b411654bb7c6bf647",x.callServer,void 0,x.findSourceMapURL,"fetchProposalsAction"),g=[{id:"draft",labelKey:"status.draft",statuses:["draft"]},{id:"pending",labelKey:"status.pendingReview",statuses:["pending"]},{id:"completed",labelKey:"proposals.completed",statuses:["approved","closed"]}],y={draft:"bg-[#F5F5F5] text-[#6B6B6B]",pending:"bg-[#FFF3E0] text-[#E65100]",approved:"bg-[#E8F5E9] text-[#2E7D32]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},w={draft:"draft",pending:"pendingReview",approved:"approved",closed:"closed"},j=[{id:"all",labelKey:"proposals.all",statuses:[]},...g];function P(e){let{proposal:t,projectUuid:s,t:n}=e,a=function(e){var t,s;let r=(null==(t=e.documentDrafts)?void 0:t.length)||0,n=(null==(s=e.taskDrafts)?void 0:s.length)||0;return r>0&&n>0?"proposals.typeDocumentAndTasks":r>0?1===r?"proposals.typeNewDocument":"proposals.typeDocumentUpdate":n>0?"proposals.typeTaskBreakdown":null}(t);return(0,r.jsx)(i(),{href:"/projects/".concat(s,"/proposals/").concat(t.uuid),className:"block",children:(0,r.jsx)(b.D,{entityType:"proposal",entityUuid:t.uuid,children:(0,r.jsxs)(l.Zp,{className:"cursor-pointer border-[#E5E0D8] bg-white p-4 transition-all hover:border-[#C67A52] hover:shadow-sm",children:[(0,r.jsxs)("div",{className:"mb-2 flex items-start justify-between",children:[(0,r.jsx)(d.E,{className:y[t.status]||y.draft,children:n("status.".concat(w[t.status]||t.status))}),a&&(0,r.jsx)("span",{className:"rounded bg-[#FFF3E0] px-2 py-0.5 text-xs font-medium text-[#E65100]",children:n(a)})]}),(0,r.jsx)("h4",{className:"mb-1 font-medium text-[#2C2C2C]",children:t.title}),t.description&&(0,r.jsx)("div",{className:"prose prose-sm max-w-none mb-2 line-clamp-2 text-sm text-[#6B6B6B]",children:(0,r.jsx)(m.MarkdownContent,{children:t.description})}),(0,r.jsx)("div",{className:"flex items-center justify-between text-xs text-[#9A9A9A]",children:t.createdBy&&(0,r.jsxs)("span",{className:"flex items-center gap-1",children:["agent"===t.createdByType?(0,r.jsx)(c.A,{className:"h-3 w-3"}):(0,r.jsx)(u.A,{className:"h-3 w-3"}),t.createdBy.name]})})]})})})}function k(e){let{projectUuid:t,proposals:s}=e,a=(0,o.c)(),i=(0,h.a)(),[l,d]=(0,n.useState)("all"),[c,u]=(0,n.useState)(s);(0,n.useEffect)(()=>{u(s)},[s]);let m=(0,n.useCallback)(async()=>{let e=await f(t);e.success&&u(e.data)},[t]);(0,p.eV)("proposal",m);let b=e=>c.filter(t=>e.includes(t.status));if(i){let e=j.find(e=>e.id===l)||j[0],s="all"===l?c:b(e.statuses);return(0,r.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,r.jsx)("div",{className:"flex gap-2 overflow-x-auto pb-3 mb-4",children:j.map(e=>{let t="all"===e.id?c.length:b(e.statuses).length,s=l===e.id;return(0,r.jsxs)("button",{onClick:()=>d(e.id),className:"flex shrink-0 items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors ".concat(s?"bg-[#C67A52] text-white":"bg-[#F5F2EC] text-[#6B6B6B] hover:bg-[#EDE9E1]"),children:[a(e.labelKey),(0,r.jsx)("span",{className:"rounded-full px-1.5 py-0.5 text-xs ".concat(s?"bg-white/20 text-white":"bg-white text-[#6B6B6B]"),children:t})]},e.id)})}),(0,r.jsx)("div",{className:"flex-1 space-y-3",children:0===s.length?(0,r.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:a("proposals.noProposals")}):s.map(e=>(0,r.jsx)(P,{proposal:e,projectUuid:t,t:a},e.uuid))})]})}return(0,r.jsx)("div",{className:"flex flex-1 gap-4 overflow-x-auto pb-4",children:g.map(e=>{let s=b(e.statuses);return(0,r.jsxs)("div",{className:"flex w-[300px] flex-shrink-0 flex-col rounded-xl bg-[#F5F2EC] p-4",children:[(0,r.jsx)("div",{className:"mb-4 flex items-center justify-between",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("h3",{className:"font-medium text-[#2C2C2C]",children:a(e.labelKey)}),(0,r.jsx)("span",{className:"rounded-full bg-white px-2 py-0.5 text-xs font-medium text-[#6B6B6B]",children:s.length})]})}),(0,r.jsx)("div",{className:"flex-1 space-y-4 overflow-y-auto pt-3",children:0===s.length?(0,r.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:a("proposals.noProposals")}):s.map(e=>(0,r.jsx)(P,{proposal:e,projectUuid:t,t:a},e.uuid))})]},e.id)})})}},57731:(e,t,s)=>{"use strict";s.d(t,{E:()=>l});var r=s(90508);s(1856);var n=s(49499),a=s(54154),i=s(24377);let o=(0,n.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 l(e){let{className:t,variant:s="default",asChild:n=!1,...l}=e,d=n?a.bL:"span";return(0,r.jsx)(d,{"data-slot":"badge","data-variant":s,className:(0,i.cn)(o({variant:s}),t),...l})}},59146:(e,t,s)=>{Promise.resolve().then(s.bind(s,52053)),Promise.resolve().then(s.bind(s,90299)),Promise.resolve().then(s.bind(s,65514)),Promise.resolve().then(s.bind(s,98861)),Promise.resolve().then(s.bind(s,38476)),Promise.resolve().then(s.bind(s,74542)),Promise.resolve().then(s.bind(s,71350)),Promise.resolve().then(s.bind(s,39025)),Promise.resolve().then(s.bind(s,75368)),Promise.resolve().then(s.bind(s,89684)),Promise.resolve().then(s.bind(s,58057)),Promise.resolve().then(s.bind(s,6512)),Promise.resolve().then(s.bind(s,25051)),Promise.resolve().then(s.bind(s,4374)),Promise.resolve().then(s.bind(s,19345)),Promise.resolve().then(s.bind(s,79919)),Promise.resolve().then(s.bind(s,17533)),Promise.resolve().then(s.bind(s,99545)),Promise.resolve().then(s.bind(s,63197)),Promise.resolve().then(s.bind(s,65326)),Promise.resolve().then(s.bind(s,48218)),Promise.resolve().then(s.bind(s,56260)),Promise.resolve().then(s.bind(s,60322)),Promise.resolve().then(s.bind(s,79834)),Promise.resolve().then(s.bind(s,6947)),Promise.resolve().then(s.bind(s,88878)),Promise.resolve().then(s.bind(s,34857)),Promise.resolve().then(s.bind(s,97006)),Promise.resolve().then(s.bind(s,45841)),Promise.resolve().then(s.t.bind(s,12790,23)),Promise.resolve().then(s.bind(s,18143))},62205:(e,t,s)=>{"use strict";s.d(t,{a:()=>n});var r=s(1856);function n(){let[e,t]=(0,r.useState)(!1);return(0,r.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}},94903:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(66206).A)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]])},97261:(e,t,s)=>{"use strict";s.d(t,{MarkdownContent:()=>c});var r=s(90508),n=s(1856),a=s(65700),i=s(19169),o=s(26190);let l={code:i.a,mermaid:o.a},d={mermaid:{fullscreen:!0,download:!0,copy:!0,panZoom:!0}};function c(e){let{children:t}=e,s=function(){let[e,t]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{let e=document.documentElement,s=()=>t(e.classList.contains("dark"));s();let r=new MutationObserver(s);return r.observe(e,{attributes:!0,attributeFilter:["class"]}),()=>r.disconnect()},[]),e}(),i=(0,n.useMemo)(()=>({config:{theme:s?"dark":"default"}}),[s]);return(0,r.jsx)(a.jH,{plugins:l,controls:d,mermaid:i,children:t},s?"dark":"light")}}},e=>{e.O(0,[93151,41752,12079,18944,12790,26885,71350,30724,16544,27201,16551,97784,14753,66969,45532,70552,15183,60648,1217,66205,16984,59296,74951,65496,77358],()=>e(e.s=59146)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6725],{},_=>{_.O(0,[41282,93151,41752,30996,57084,59764,8893,12079,18944,26885,71350,30724,16544,27201,16551,97784,14753,66969,45532,70552,15183,60648,76803,1217,84541,23466,56527,78584,1879,78917,74951,65496,77358],()=>_(_.s=78917)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[87674],{},_=>{_.O(0,[41282,93151,41752,30996,57084,59764,8893,12079,18944,26885,71350,30724,16544,27201,16551,97784,14753,66969,45532,70552,15183,60648,76803,1217,84541,23466,56527,78584,1879,78917,74951,65496,77358],()=>_(_.s=78917)),_N_E=_.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11709],{9959:(e,s,t)=>{Promise.resolve().then(t.bind(t,30384))},30384:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>W});var r=t(90508),a=t(1856),n=t(39268),l=t(12790),i=t.n(l),c=t(63964),o=t(1976),d=t(22922),x=t(48416),p=t(57731),m=t(81750),u=t(23217),h=t(29767),g=t(56770),j=t(71388),f=t(17730),b=t(78948),v=t(62898),N=t(5616),w=t(38931),C=t(83064),A=t(51581),y=t(10263),E=t(88634),k=t(5425),D=t(60532),B=t(25373),F=t(55764),G=t(24377);function T(e){let{className:s,value:t,...a}=e;return(0,r.jsx)(F.bL,{"data-slot":"progress",className:(0,G.cn)("bg-[#E5E2DC] relative h-1.5 w-full overflow-hidden rounded-full",s),...a,children:(0,r.jsx)(F.C1,{"data-slot":"progress-indicator",className:"h-full w-full flex-1 rounded-full transition-all duration-500 ease-out",style:{transform:"translateX(-".concat(100-(t||0),"%)"),backgroundColor:"var(--progress-indicator, #C67A52)"}})})}var S=t(95900),P=t(85226),_=t(97438);function O(e){let{open:s,onOpenChange:t,projectName:l,sourceGroupName:i,targetGroupName:c,onConfirm:o}=e,x=(0,n.c)(),[p,m]=(0,a.useTransition)();return(0,r.jsx)(_.lG,{open:s,onOpenChange:t,children:(0,r.jsxs)(_.Cf,{className:"sm:max-w-[440px] gap-0 p-0 rounded-[16px]",showCloseButton:!1,children:[(0,r.jsx)(_.L3,{className:"sr-only",children:x("projectGroups.moveTitle")}),(0,r.jsxs)("div",{className:"flex flex-col items-center gap-4 p-6",children:[(0,r.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-[#C67A5220]",children:(0,r.jsx)(S.A,{className:"h-[22px] w-[22px] text-[#C67A52]"})}),(0,r.jsx)("p",{className:"text-base font-semibold text-[#2C2C2C]",children:x("projectGroups.moveTitle")}),(0,r.jsx)(_.rr,{className:"text-center text-[13px] leading-[1.5] text-[#6B6B6B]",children:x("projectGroups.moveDescription",{projectName:l,sourceGroupName:i,targetGroupName:c})})]}),(0,r.jsxs)("div",{className:"flex justify-end gap-3 p-[16px_24px] border-t border-[#E5E2DC]",children:[(0,r.jsx)(d.$,{variant:"outline",onClick:()=>t(!1),className:"rounded-lg border-[#E5E2DC] text-[13px]",children:x("common.cancel")}),(0,r.jsxs)(d.$,{onClick:()=>{m(async()=>{await o(),t(!1)})},disabled:p,className:"rounded-lg bg-[#C67A52] hover:bg-[#B56A42] text-white text-[13px] gap-1.5",children:[p?(0,r.jsx)(P.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(D.A,{className:"h-3.5 w-3.5"}),x(p?"common.processing":"projectGroups.confirmMove")]})]})]})})}var I=t(23675),R=t(14554),U=t(88064),$=t(15972),M=t(42305);function z(e){let{open:s,onOpenChange:t,onCreated:l}=e,i=(0,n.c)(),c=(0,I.useRouter)(),[o,x]=(0,a.useTransition)(),[p,m]=(0,a.useState)(""),[u,h]=(0,a.useState)(""),[g,j]=(0,a.useState)(null),f=()=>{p.trim()&&(j(null),x(async()=>{try{let e=await fetch("/api/project-groups",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:p.trim(),description:u.trim()||void 0})}),s=await e.json();s.success?(m(""),h(""),t(!1),null==l||l(),c.refresh()):j(s.error||i("projectGroups.createFailed"))}catch(e){j(i("common.genericError"))}}))};return(0,r.jsx)(_.lG,{open:s,onOpenChange:t,children:(0,r.jsxs)(_.Cf,{className:"sm:max-w-[480px] gap-0 p-0 rounded-[16px]",showCloseButton:!1,children:[(0,r.jsx)(_.c7,{className:"flex flex-row items-center justify-between p-[20px_24px] border-b border-[#E5E2DC]",children:(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)(E.A,{className:"h-5 w-5 text-[#C67A52]"}),(0,r.jsx)(_.L3,{className:"text-lg font-semibold tracking-[-0.3px] text-[#2C2C2C]",children:i("projectGroups.newGroupTitle")})]})}),(0,r.jsx)(_.rr,{className:"sr-only",children:i("projectGroups.newGroupTitle")}),(0,r.jsxs)("div",{className:"flex flex-col gap-5 p-6",children:[g&&(0,r.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:g}),(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,r.jsx)(U.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:i("projectGroups.groupName")}),(0,r.jsx)(R.p,{value:p,onChange:e=>m(e.target.value),placeholder:i("projectGroups.groupNamePlaceholder"),className:"h-10 rounded-lg border-[#E5E2DC]",onKeyDown:e=>{!(0,M.P)(e)&&"Enter"===e.key&&p.trim()&&f()}})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,r.jsx)(U.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:i("projectGroups.descriptionOptional")}),(0,r.jsx)($.T,{value:u,onChange:e=>h(e.target.value),placeholder:i("projectGroups.descriptionPlaceholder"),className:"min-h-[80px] rounded-lg border-[#E5E2DC]"})]})]}),(0,r.jsxs)("div",{className:"flex justify-end gap-3 p-[16px_24px] border-t border-[#E5E2DC]",children:[(0,r.jsx)(d.$,{variant:"outline",onClick:()=>t(!1),className:"rounded-lg border-[#E5E2DC] text-[13px]",children:i("common.cancel")}),(0,r.jsxs)(d.$,{onClick:f,disabled:o||!p.trim(),className:"rounded-lg bg-[#C67A52] hover:bg-[#B56A42] text-white text-[13px] gap-1.5",children:[o?(0,r.jsx)(P.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(N.A,{className:"h-3.5 w-3.5"}),o?i("common.creating"):i("projectGroups.createGroup")]})]})]})})}var L=t(88738),Z=t(38280);function J(e){return e>=100?{bar:"#1D9E75",text:"#0F6E56"}:e>=60?{bar:"#5DCAA5",text:"#0F6E56"}:e>=30?{bar:"#FAC775",text:"#854F0B"}:{bar:"#F09595",text:"#A32D2D"}}function V(){let e=(0,n.c)("time");return s=>{let t=new Date,r=new Date(s),a=t.getTime()-r.getTime(),n=Math.floor(a/6e4),l=Math.floor(a/36e5),i=Math.floor(a/864e5);return n<1?e("justNow"):n<60?e("minutesAgo",{minutes:n}):l<24?e("hoursAgo",{hours:l}):0===i?e("today"):1===i?e("yesterday"):e("daysAgo",{days:i})}}function K(e){let{counts:s,compact:t=!1}=e,a=(0,n.c)();return(0,r.jsxs)("span",{className:"flex items-center gap-2 text-[#9A9A9A] ".concat(t?"text-[10px]":"text-[11px]"),children:[(0,r.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,r.jsx)(u.A,{className:"text-[#BDBDBD] ".concat(t?"h-[11px] w-[11px]":"h-3 w-3")}),s.tasks,!t&&" ".concat(a("projects.tasks"))]}),(0,r.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,r.jsx)(h.A,{className:"text-[#BDBDBD] ".concat(t?"h-[11px] w-[11px]":"h-3 w-3")}),s.ideas,!t&&" ".concat(a("projects.ideas"))]}),(0,r.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,r.jsx)(g.A,{className:"text-[#BDBDBD] ".concat(t?"h-[11px] w-[11px]":"h-3 w-3")}),s.documents,!t&&" ".concat(a("projects.docs"))]})]})}function H(e){let{project:s}=e,t=(0,n.c)(),a=V(),l=(0,Z.D)(s.name),i=(0,Z.g)(s.name),c=s.counts.tasks>0?Math.round(s.counts.doneTasks/s.counts.tasks*100):0,o=J(c),d=0===s.counts.tasks,x=100===c&&!d;return(0,r.jsxs)("div",{className:"flex flex-col gap-3 rounded-xl border border-[#E5E2DC] bg-white p-4 transition-colors hover:bg-[#F5F2EC]",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-[10px] font-bold",style:{backgroundColor:i.bg,color:i.text},children:l}),(0,r.jsx)("span",{className:"truncate text-[13px] font-semibold text-[#2C2C2C]",children:s.name}),d&&(0,r.jsx)(p.E,{variant:"outline",className:"shrink-0 border-0 bg-[#FEF3C7] px-1.5 py-0 text-[10px] font-medium text-[#92400E]",children:t("projects.empty")}),x&&(0,r.jsx)(p.E,{variant:"outline",className:"shrink-0 border-0 bg-[#D1FAE5] px-1.5 py-0 text-[10px] font-medium text-[#065F46]",children:t("projects.complete")})]}),(0,r.jsx)(K,{counts:s.counts}),(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,r.jsx)(T,{value:c,className:"h-1.5 w-full bg-[#F0EDE8]",style:{"--progress-indicator":o.bar}}),(0,r.jsxs)("div",{className:"flex justify-between",children:[(0,r.jsxs)("span",{className:"text-[11px] font-semibold",style:{color:o.text},children:[c,"%"]}),(0,r.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:a(s.updatedAt)})]})]})]})}function X(e){let{project:s,showDivider:t=!0}=e,a=(0,n.c)(),l=V(),i=(0,Z.D)(s.name),c=(0,Z.g)(s.name),o=s.counts.tasks>0?Math.round(s.counts.doneTasks/s.counts.tasks*100):0,d=J(o),x=0===s.counts.tasks,m=100===o&&!x;return(0,r.jsxs)("div",{className:"flex w-full flex-col gap-1.5 px-4 py-2.5 md:flex-row md:items-center md:gap-4 md:px-6 md:py-2",style:t?{borderBottom:"1px solid #0000000a"}:void 0,children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 md:min-w-0 md:flex-1 md:gap-4",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-[10px] font-bold md:h-9 md:w-9 md:rounded-[10px] md:text-[11px]",style:{backgroundColor:c.bg,color:c.text},children:i}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"truncate text-[13px] font-semibold text-[#2C2C2C]",children:s.name}),x&&(0,r.jsx)(p.E,{variant:"outline",className:"shrink-0 border-0 bg-[#FEF3C7] px-1.5 py-0 text-[10px] font-medium text-[#92400E]",children:a("projects.empty")}),m&&(0,r.jsx)(p.E,{variant:"outline",className:"shrink-0 border-0 bg-[#D1FAE5] px-1.5 py-0 text-[10px] font-medium text-[#065F46]",children:a("projects.complete")})]}),(0,r.jsx)("div",{className:"hidden md:block",children:(0,r.jsx)(K,{counts:s.counts})})]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between md:hidden",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1.5 text-[10px] text-[#9A9A9A]",children:[(0,r.jsx)(K,{counts:s.counts,compact:!0}),(0,r.jsx)("span",{children:"\xb7"}),(0,r.jsx)("span",{children:l(s.updatedAt)})]}),(0,r.jsxs)("span",{className:"text-[10px] font-semibold",style:{color:d.text},children:[o,"%"]})]}),(0,r.jsx)("div",{className:"md:hidden",children:(0,r.jsx)(T,{value:o,className:"h-1 w-full bg-[#F0EDE8]",style:{"--progress-indicator":d.bar}})}),(0,r.jsxs)("div",{className:"hidden w-[200px] shrink-0 items-center gap-2 md:flex",children:[(0,r.jsx)(T,{value:o,className:"h-1.5 flex-1 bg-[#F0EDE8]",style:{"--progress-indicator":d.bar}}),(0,r.jsxs)("span",{className:"w-9 text-right text-[11px] font-semibold",style:{color:d.text},children:[o,"%"]})]}),(0,r.jsx)("span",{className:"hidden w-[80px] shrink-0 text-right text-[11px] text-[#9A9A9A] md:block",children:l(s.updatedAt)})]})}let Y="__ungrouped__";function q(e){let{group:s,projects:t,stats:l,onNewProject:c,defaultOpen:u=!1,viewMode:h}=e,g=(0,n.c)(),[w,C]=(0,a.useState)(u),A=l.totalTasks>0?Math.round(l.completedTasks/l.totalTasks*100):0;return(0,r.jsx)(o.gL,{droppableId:s.uuid,children:(e,a)=>(0,r.jsx)("div",{ref:e.innerRef,...e.droppableProps,children:(0,r.jsx)(m.Nt,{open:w,onOpenChange:C,children:(0,r.jsxs)(x.Zp,{className:"overflow-hidden rounded-2xl border-[#E5E2DC] gap-0 py-0 shadow-none transition-colors hover:border-[#C67A52]/40 ".concat(a.isDraggingOver?"border-[#C67A52] bg-[#C67A5208]":""),children:[(0,r.jsxs)("div",{className:"flex flex-col gap-2 px-4 py-2.5 md:flex-row md:items-center md:justify-between md:px-6 md:py-3",children:[(0,r.jsxs)(m.R6,{className:"flex flex-1 cursor-pointer items-center gap-2.5 text-left md:gap-3",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-[#C67A5215] md:h-9 md:w-9",children:(0,r.jsx)(j.A,{className:"h-4 w-4 text-[#C67A52]"})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 md:gap-2",children:[(0,r.jsx)("h2",{className:"truncate text-sm font-semibold text-[#2C2C2C] md:text-base",children:s.name}),(0,r.jsx)(p.E,{variant:"secondary",className:"shrink-0 border-0 bg-[#F0EDE8] text-[10px] font-medium text-[#6B6B6B] md:text-[11px]",children:t.length})]}),(0,r.jsxs)("div",{className:"mt-0.5 flex flex-wrap items-center gap-x-3 gap-y-0.5 text-[10px] text-[#9A9A9A] md:text-[11px]",children:[(0,r.jsxs)("span",{children:[l.totalTasks," ",g("projects.tasks")," \xb7"," ",A,"% ",g("projectGroups.complete")]}),(0,r.jsxs)("span",{className:"hidden md:inline",children:[l.openIdeas," ",g("projectGroups.openIdeas")]})]})]}),w?(0,r.jsx)(f.A,{className:"ml-auto h-3.5 w-3.5 shrink-0 text-[#9A9A9A] md:h-4 md:w-4"}):(0,r.jsx)(b.A,{className:"ml-auto h-3.5 w-3.5 shrink-0 text-[#9A9A9A] md:h-4 md:w-4"})]}),(0,r.jsxs)("div",{className:"hidden items-center gap-2 md:flex",children:[(0,r.jsx)(i(),{href:"/project-groups/".concat(s.uuid),children:(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",className:"text-xs text-[#C67A52] hover:text-[#B56A42]",children:[g("projectGroups.viewDashboard"),(0,r.jsx)(v.A,{className:"ml-1 h-3 w-3"})]})}),(0,r.jsxs)(d.$,{variant:"outline",size:"sm",className:"border-[#E5E2DC] text-xs",onClick:c,children:[(0,r.jsx)(N.A,{className:"mr-1 h-3 w-3"}),g("projects.newProject")]})]})]}),(0,r.jsx)(m.Ke,{children:(0,r.jsxs)("div",{className:"border-t border-[#0000000a] py-0",children:[0!==t.length||a.isDraggingOver?(0,r.jsx)("div",{className:"grid"===h?"md:grid md:grid-cols-2 md:gap-4 md:p-5 lg:grid-cols-3":"",children:t.map((e,s)=>(0,r.jsx)(o.sx,{draggableId:e.uuid,index:s,children:(a,n)=>(0,r.jsx)("div",{ref:a.innerRef,...a.draggableProps,...a.dragHandleProps,children:(0,r.jsx)(i(),{href:"/projects/".concat(e.uuid,"/dashboard"),draggable:!1,onClick:e=>{n.isDragging&&e.preventDefault()},children:"grid"===h?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"md:hidden transition-colors hover:bg-[#F5F2EC] ".concat(n.isDragging?"rotate-1 opacity-90 shadow-md rounded-lg bg-white":""),children:(0,r.jsx)(X,{project:e,showDivider:s<t.length-1})}),(0,r.jsx)("div",{className:"hidden md:block ".concat(n.isDragging?"rotate-1 opacity-90 shadow-md":""),children:(0,r.jsx)(H,{project:e})})]}):(0,r.jsx)("div",{className:"transition-colors hover:bg-[#F5F2EC] ".concat(n.isDragging?"rotate-1 opacity-90 shadow-md rounded-lg bg-white":""),children:(0,r.jsx)(X,{project:e,showDivider:s<t.length-1})})})})},e.uuid))}):(0,r.jsx)("p",{className:"py-4 text-center text-sm text-[#9A9A9A]",children:g("projectGroups.noProjectsInGroup")}),e.placeholder]})})]})})})})}function Q(e){let{projects:s,onNewProject:t,viewMode:l}=e,c=(0,n.c)(),[u,h]=(0,a.useState)(!1);return(0,r.jsx)(o.gL,{droppableId:Y,children:(e,a)=>0!==s.length||a.isDraggingOver?(0,r.jsx)("div",{ref:e.innerRef,...e.droppableProps,children:(0,r.jsx)(m.Nt,{open:u,onOpenChange:h,children:(0,r.jsxs)(x.Zp,{className:"overflow-hidden rounded-2xl border-[#E5E2DC] gap-0 py-0 shadow-none transition-colors hover:border-[#C67A52]/40 ".concat(a.isDraggingOver?"border-[#C67A52] bg-[#C67A5208]":""),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-2.5 md:px-6 md:py-3",children:[(0,r.jsxs)(m.R6,{className:"flex flex-1 cursor-pointer items-center gap-2.5 text-left md:gap-3",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-[#F0EDE8] md:h-9 md:w-9",children:(0,r.jsx)(w.A,{className:"h-4 w-4 text-[#9A9A9A]"})}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 md:gap-2",children:[(0,r.jsx)("h2",{className:"text-sm font-semibold text-[#6B6B6B] md:text-base",children:c("projectGroups.ungrouped")}),(0,r.jsx)(p.E,{variant:"secondary",className:"shrink-0 border-0 bg-[#F0EDE8] text-[10px] font-medium text-[#6B6B6B] md:text-[11px]",children:s.length})]}),u?(0,r.jsx)(f.A,{className:"ml-auto h-3.5 w-3.5 shrink-0 text-[#9A9A9A] md:h-4 md:w-4"}):(0,r.jsx)(b.A,{className:"ml-auto h-3.5 w-3.5 shrink-0 text-[#9A9A9A] md:h-4 md:w-4"})]}),(0,r.jsx)("div",{className:"hidden items-center gap-2 md:flex",children:(0,r.jsxs)(d.$,{variant:"outline",size:"sm",className:"shrink-0 border-[#E5E2DC] text-xs",onClick:t,children:[(0,r.jsx)(N.A,{className:"mr-1 h-3 w-3"}),c("projects.newProject")]})})]}),(0,r.jsx)(m.Ke,{children:(0,r.jsxs)("div",{className:"border-t border-[#0000000a] py-0",children:[0===s.length?(0,r.jsx)("p",{className:"py-4 text-center text-sm text-[#9A9A9A]",children:c("projectGroups.noProjectsInGroup")}):(0,r.jsx)("div",{className:"grid"===l?"md:grid md:grid-cols-2 md:gap-4 md:p-5 lg:grid-cols-3":"",children:s.map((e,t)=>(0,r.jsx)(o.sx,{draggableId:e.uuid,index:t,children:(a,n)=>(0,r.jsx)("div",{ref:a.innerRef,...a.draggableProps,...a.dragHandleProps,children:(0,r.jsx)(i(),{href:"/projects/".concat(e.uuid,"/dashboard"),draggable:!1,onClick:e=>{n.isDragging&&e.preventDefault()},children:"grid"===l?(0,r.jsx)("div",{className:n.isDragging?"rotate-1 opacity-90 shadow-md":"",children:(0,r.jsx)(H,{project:e})}):(0,r.jsx)("div",{className:"transition-colors hover:bg-[#F5F2EC] ".concat(n.isDragging?"rotate-1 opacity-90 shadow-md rounded-lg bg-white":""),children:(0,r.jsx)(X,{project:e,showDivider:t<s.length-1})})})})},e.uuid))}),e.placeholder]})})]})})}):(0,r.jsx)("div",{ref:e.innerRef,...e.droppableProps,className:"hidden",children:e.placeholder})})}function W(){var e,s,t,l,i;let p=(0,n.c)(),[m,u]=(0,a.useState)([]),[h,g]=(0,a.useState)([]),[j,f]=(0,a.useState)(!0),[b,v]=(0,a.useState)(null),[F,G]=(0,a.useState)(()=>{{let e=localStorage.getItem("chorus_projects_view_mode");if("list"===e||"grid"===e)return e}return"list"});(0,a.useEffect)(()=>{localStorage.setItem("chorus_projects_view_mode",F)},[F]);let[T,S]=(0,a.useState)(!1),[P,_]=(0,a.useState)(null),[I,R]=(0,a.useState)(!1),[U,$]=(0,a.useState)(!1),M=(0,a.useCallback)(async()=>{try{let[e,s]=await Promise.all([fetch("/api/projects?pageSize=200"),fetch("/api/project-groups")]),t=await e.json(),r=await s.json();t.success&&u(t.data.data||t.data||[]),r.success&&g(r.data.groups||[])}catch(e){}finally{f(!1)}},[]);(0,a.useEffect)(()=>{M(),fetch("/api/agents?pageSize=100").then(e=>e.json()).then(e=>{e.success&&R((e.data.data||e.data||[]).some(e=>{var s;return(null!=(s=e.effectivePermissions)?s:[]).includes("project:write")}))}).catch(()=>{})},[M]),(0,c.eV)(["project","project_group"],()=>{M()});let Z=new Map,J=[];for(let e of m)if(e.groupUuid){let s=Z.get(e.groupUuid)||[];s.push(e),Z.set(e.groupUuid,s)}else J.push(e);function V(e){var s;if(!e)return p("projectGroups.ungrouped");let t=h.find(s=>s.uuid===e);return null!=(s=null==t?void 0:t.name)?s:p("projectGroups.ungrouped")}async function K(){if(!b)return;let e=await fetch("/api/projects/".concat(b.projectUuid,"/group"),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({groupUuid:b.targetGroupUuid})}),s=await e.json();if(!s.success)throw Error(s.error||p("projectGroups.moveFailed"));await M()}return j?(0,r.jsx)("div",{className:"bg-[#FAF8F4] p-4 md:px-8 md:py-6",children:(0,r.jsx)("p",{className:"text-sm text-[#6B6B6B]",children:p("projects.loadingProjects")})}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.JY,{onDragEnd:function(e){let{destination:s,source:t,draggableId:r}=e;if(!s||s.droppableId===t.droppableId)return;let a=m.find(e=>e.uuid===r);if(!a)return;let n=s.droppableId===Y?null:s.droppableId,l=a.groupUuid;v({projectUuid:a.uuid,projectName:a.name,sourceGroupName:V(l),targetGroupUuid:n,targetGroupName:V(n)})},children:(0,r.jsxs)("div",{className:"bg-[#FAF8F4] p-4 md:px-8 md:py-6",children:[(0,r.jsxs)("div",{className:"mb-4 md:mb-6",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h1",{className:"text-2xl font-semibold text-[#2C2C2C]",children:p("projects.title")}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsxs)("div",{className:"hidden overflow-hidden rounded-lg border border-[#E5E2DC] md:flex",children:[(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",onClick:()=>G("list"),className:"flex items-center gap-1.5 rounded-none px-2.5 py-1.5 text-xs font-medium transition-colors ".concat("list"===F?"bg-[#F5F2EC] text-[#C67A52]":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:[(0,r.jsx)(C.A,{className:"h-3.5 w-3.5"}),p("projects.listView")]}),(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",onClick:()=>G("grid"),className:"flex items-center gap-1.5 rounded-none px-2.5 py-1.5 text-xs font-medium transition-colors ".concat("grid"===F?"bg-[#F5F2EC] text-[#C67A52]":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:[(0,r.jsx)(A.A,{className:"h-3.5 w-3.5"}),p("projects.gridView")]})]}),(0,r.jsxs)(d.$,{className:"hidden rounded-xl bg-[#C67A52] px-5 text-white hover:bg-[#B56A42] md:flex",onClick:()=>S(!0),children:[(0,r.jsx)(N.A,{className:"mr-2 h-4 w-4"}),p("projectGroups.newProjectGroup")]})]})]}),(0,r.jsx)("p",{className:"mt-1 text-sm text-[#6B6B6B]",children:p("projects.subtitle")})]}),0===m.length&&0===h.length?(0,r.jsxs)("div",{className:"space-y-5",children:[(0,r.jsx)(x.Zp,{className:"border-[#C67A5230] bg-[#C67A520A] p-6 md:p-8",children:(0,r.jsxs)("div",{className:"flex items-start gap-4",children:[(0,r.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-[#C67A5220]",children:(0,r.jsx)(y.A,{className:"h-5 w-5 text-[#C67A52]"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{className:"text-lg font-semibold text-[#2C2C2C]",children:p("projects.onboarding.welcomeTitle")}),(0,r.jsx)("p",{className:"mt-1 text-sm text-[#6B6B6B]",children:p("projects.onboarding.welcomeDesc")})]})]})}),(0,r.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,r.jsxs)(x.Zp,{className:"border-[#E5E2DC] p-5",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 mb-2",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-[#C67A5215]",children:(0,r.jsx)(E.A,{className:"h-4 w-4 text-[#C67A52]"})}),(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#2C2C2C]",children:p("projects.onboarding.whatIsGroupTitle")})]}),(0,r.jsx)("p",{className:"text-[13px] leading-relaxed text-[#6B6B6B]",children:p("projects.onboarding.whatIsGroupDesc")})]}),(0,r.jsxs)(x.Zp,{className:"border-[#E5E2DC] p-5",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 mb-2",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-[#C67A5215]",children:(0,r.jsx)(w.A,{className:"h-4 w-4 text-[#C67A52]"})}),(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#2C2C2C]",children:p("projects.onboarding.whatIsProjectTitle")})]}),(0,r.jsx)("p",{className:"text-[13px] leading-relaxed text-[#6B6B6B]",children:p("projects.onboarding.whatIsProjectDesc")})]})]}),(0,r.jsx)(x.Zp,{className:"border-[#E5E2DC] p-6 md:p-8",children:(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsxs)("div",{className:"flex flex-col items-center",children:[(0,r.jsx)("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-[#C67A52] text-xs font-bold text-white",children:"1"}),(0,r.jsx)("div",{className:"mt-2 h-full w-px bg-[#E5E2DC]"})]}),(0,r.jsxs)("div",{className:"flex-1 pb-6",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#2C2C2C]",children:p("projects.onboarding.step1Title")}),(0,r.jsx)("p",{className:"mt-1 text-[13px] text-[#6B6B6B]",children:p("projects.onboarding.step1Desc")}),(0,r.jsxs)(d.$,{className:"mt-3 rounded-xl bg-[#C67A52] text-white hover:bg-[#B56A42]",onClick:()=>S(!0),children:[(0,r.jsx)(E.A,{className:"mr-2 h-4 w-4"}),p("projects.onboarding.createGroupBtn")]})]})]}),(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsx)("div",{className:"flex flex-col items-center",children:(0,r.jsx)("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-[#E5E2DC] text-xs font-bold text-[#9A9A9A]",children:"2"})}),(0,r.jsxs)("div",{className:"flex-1",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#9A9A9A]",children:p("projects.onboarding.step2Title")}),(0,r.jsx)("p",{className:"mt-1 text-[13px] text-[#9A9A9A]",children:p("projects.onboarding.step2Desc")})]})]})]})}),I&&(0,r.jsx)(x.Zp,{className:"border-[#E5E2DC] bg-[#F5F2EC] p-5 md:p-6",children:(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-[#C67A5215]",children:(0,r.jsx)(k.A,{className:"h-4 w-4 text-[#C67A52]"})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#2C2C2C]",children:p("projects.onboarding.agentTipTitle")}),(0,r.jsx)("p",{className:"mt-1 text-[13px] text-[#6B6B6B]",children:p("projects.onboarding.agentTipDesc")}),(0,r.jsxs)("div",{className:"mt-3 relative",children:[(0,r.jsx)("pre",{className:"rounded-lg bg-white border border-[#E5E2DC] p-3 pr-10 text-xs text-[#2C2C2C] whitespace-pre-wrap break-words",children:p("projects.onboarding.agentPromptDefault")}),(0,r.jsx)(d.$,{variant:"ghost",size:"icon",className:"absolute right-2 top-2 h-7 w-7 text-[#9A9A9A] hover:text-[#C67A52]",onClick:()=>{navigator.clipboard.writeText(p("projects.onboarding.agentPromptDefault")),$(!0),setTimeout(()=>$(!1),2e3)},children:U?(0,r.jsx)(D.A,{className:"h-3.5 w-3.5 text-green-600"}):(0,r.jsx)(B.A,{className:"h-3.5 w-3.5"})})]}),U&&(0,r.jsx)("p",{className:"mt-1.5 text-xs text-green-600",children:p("projects.onboarding.copiedPrompt")})]})]})})]}):(0,r.jsxs)("div",{className:"space-y-4",children:[h.map((e,s)=>{let t=Z.get(e.uuid)||[],a=function(e){let s=0,t=0,r=0;for(let a of e)s+=a.counts.tasks,t+=a.counts.doneTasks,r+=a.counts.ideas;return{totalTasks:s,completedTasks:t,openIdeas:r}}(t);return(0,r.jsx)(q,{group:e,projects:t,stats:a,defaultOpen:0===s,viewMode:F,onNewProject:()=>_({groupUuid:e.uuid,groupName:e.name})},e.uuid)}),(0,r.jsx)(Q,{projects:J,viewMode:F,onNewProject:()=>_({groupUuid:null,groupName:p("projectGroups.ungrouped")})}),(0,r.jsxs)(d.$,{className:"w-full rounded-xl bg-[#C67A52] text-white hover:bg-[#B56A42] md:hidden",onClick:()=>S(!0),children:[(0,r.jsx)(N.A,{className:"mr-2 h-4 w-4"}),p("projectGroups.newProjectGroup")]})]})]})}),(0,r.jsx)(O,{open:null!==b,onOpenChange:e=>{e||v(null)},projectName:null!=(e=null==b?void 0:b.projectName)?e:"",sourceGroupName:null!=(s=null==b?void 0:b.sourceGroupName)?s:"",targetGroupName:null!=(t=null==b?void 0:b.targetGroupName)?t:"",onConfirm:K}),(0,r.jsx)(z,{open:T,onOpenChange:S,onCreated:()=>{S(!1),M()}}),(0,r.jsx)(L.C,{open:null!==P,onOpenChange:e=>{e||_(null)},groupUuid:null!=(l=null==P?void 0:P.groupUuid)?l:null,groupName:null!=(i=null==P?void 0:P.groupName)?i:"",onCreated:()=>{_(null),M()}})]})}},57731:(e,s,t)=>{"use strict";t.d(s,{E:()=>c});var r=t(90508);t(1856);var a=t(49499),n=t(54154),l=t(24377);let i=(0,a.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 c(e){let{className:s,variant:t="default",asChild:a=!1,...c}=e,o=a?n.bL:"span";return(0,r.jsx)(o,{"data-slot":"badge","data-variant":t,className:(0,l.cn)(i({variant:t}),s),...c})}},63964:(e,s,t)=>{"use strict";t.d(s,{S2:()=>o,eV:()=>c,l9:()=>i,tS:()=>l,w0:()=>d});var r=t(90508),a=t(1856);t(23675);let n=(0,a.createContext)(null);function l(e){let{projectUuid:s,children:t}=e,l=(0,a.useRef)(new Set),i=(0,a.useRef)(new Set),c=(0,a.useRef)(new Set),o=(0,a.useCallback)(()=>{l.current.forEach(e=>e())},[]),d=(0,a.useCallback)(e=>{i.current.forEach(s=>s(e))},[]);(0,a.useEffect)(()=>{let e,t=null,r=0,a={};function n(){l(),(t=new EventSource(s?"/api/events?projectUuid=".concat(s):"/api/events")).onmessage=s=>{let t=null;try{t=JSON.parse(s.data)}catch(e){return}if(!t)return;if("presence"===t.type)return void c.current.forEach(e=>e(t));let n=t;clearTimeout(e);let l=Date.now(),i=l-r;i>=3e3?(r=l,o()):e=setTimeout(()=>{r=Date.now(),o()},Math.max(1e3,3e3-i));let x=n.entityType;clearTimeout(a[x]),a[x]=setTimeout(()=>{d(n)},300)},t.onerror=()=>{}}function l(){t&&(t.close(),t=null)}function i(){if("visible"===document.visibilityState&&(!t||t.readyState===EventSource.CLOSED))for(let e of(n(),o(),["task","idea","proposal","document","project","project_group"]))d({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return n(),document.addEventListener("visibilitychange",i),()=>{for(let s in l(),clearTimeout(e),a)clearTimeout(a[s]);document.removeEventListener("visibilitychange",i)}},[s,o,d]);let x=(0,a.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),p=(0,a.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),m=(0,a.useCallback)(e=>(c.current.add(e),()=>{c.current.delete(e)}),[]),u=(0,a.useMemo)(()=>({subscribe:x,subscribeEntity:p,subscribePresence:m}),[x,p,m]);return(0,r.jsx)(n.Provider,{value:u,children:t})}function i(e){let s=(0,a.useContext)(n),t=(0,a.useRef)(e);t.current=e,(0,a.useEffect)(()=>{if(!s)return;let e=()=>t.current();return e(),s.subscribe(e)},[s])}function c(e,s){let t=(0,a.useContext)(n),r=(0,a.useRef)(s);r.current=s;let l=(0,a.useRef)(e);l.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribeEntity(e=>{let s=l.current;(Array.isArray(s)?s.includes(e.entityType):e.entityType===s)&&r.current(e)})},[t])}function o(e){let s=(0,a.useContext)(n),t=(0,a.useRef)(e);t.current=e,(0,a.useEffect)(()=>{if(s)return s.subscribePresence(e=>t.current(e))},[s])}function d(e,s,t){let r=(0,a.useContext)(n),l=(0,a.useRef)(t);l.current=t,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(t=>{t.entityType===e&&t.entityUuid===s&&l.current(t)})},[r,e,s])}},81750:(e,s,t)=>{"use strict";t.d(s,{Ke:()=>c,Nt:()=>l,R6:()=>i});var r=t(90508),a=t(38476),n=t(24377);function l(e){let{...s}=e;return(0,r.jsx)(a.Root,{"data-slot":"collapsible",...s})}function i(e){let{...s}=e;return(0,r.jsx)(a.Trigger,{"data-slot":"collapsible-trigger",...s})}function c(e){let{className:s,...t}=e;return(0,r.jsx)(a.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]",s),...t})}}},e=>{e.O(0,[8893,12079,18944,12790,21932,16544,56527,37880,4842,93346,74951,65496,77358],()=>e(e.s=9959)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11709],{9959:(e,s,t)=>{Promise.resolve().then(t.bind(t,30384))},30384:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>W});var r=t(90508),a=t(1856),n=t(39268),l=t(12790),i=t.n(l),c=t(63964),o=t(1976),d=t(22922),x=t(48416),p=t(57731),u=t(81750),m=t(23217),h=t(29767),g=t(56770),j=t(71388),f=t(17730),b=t(78948),v=t(62898),N=t(5616),w=t(38931),C=t(83064),A=t(51581),y=t(10263),E=t(88634),k=t(5425),D=t(60532),B=t(25373),F=t(55764),G=t(24377);function T(e){let{className:s,value:t,...a}=e;return(0,r.jsx)(F.bL,{"data-slot":"progress",className:(0,G.cn)("bg-[#E5E2DC] relative h-1.5 w-full overflow-hidden rounded-full",s),...a,children:(0,r.jsx)(F.C1,{"data-slot":"progress-indicator",className:"h-full w-full flex-1 rounded-full transition-all duration-500 ease-out",style:{transform:"translateX(-".concat(100-(t||0),"%)"),backgroundColor:"var(--progress-indicator, #C67A52)"}})})}var S=t(95900),P=t(85226),_=t(97438);function O(e){let{open:s,onOpenChange:t,projectName:l,sourceGroupName:i,targetGroupName:c,onConfirm:o}=e,x=(0,n.c)(),[p,u]=(0,a.useTransition)();return(0,r.jsx)(_.lG,{open:s,onOpenChange:t,children:(0,r.jsxs)(_.Cf,{className:"sm:max-w-[440px] gap-0 p-0 rounded-[16px]",showCloseButton:!1,children:[(0,r.jsx)(_.L3,{className:"sr-only",children:x("projectGroups.moveTitle")}),(0,r.jsxs)("div",{className:"flex flex-col items-center gap-4 p-6",children:[(0,r.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-[#C67A5220]",children:(0,r.jsx)(S.A,{className:"h-[22px] w-[22px] text-[#C67A52]"})}),(0,r.jsx)("p",{className:"text-base font-semibold text-[#2C2C2C]",children:x("projectGroups.moveTitle")}),(0,r.jsx)(_.rr,{className:"text-center text-[13px] leading-[1.5] text-[#6B6B6B]",children:x("projectGroups.moveDescription",{projectName:l,sourceGroupName:i,targetGroupName:c})})]}),(0,r.jsxs)("div",{className:"flex justify-end gap-3 p-[16px_24px] border-t border-[#E5E2DC]",children:[(0,r.jsx)(d.$,{variant:"outline",onClick:()=>t(!1),className:"rounded-lg border-[#E5E2DC] text-[13px]",children:x("common.cancel")}),(0,r.jsxs)(d.$,{onClick:()=>{u(async()=>{await o(),t(!1)})},disabled:p,className:"rounded-lg bg-[#C67A52] hover:bg-[#B56A42] text-white text-[13px] gap-1.5",children:[p?(0,r.jsx)(P.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(D.A,{className:"h-3.5 w-3.5"}),x(p?"common.processing":"projectGroups.confirmMove")]})]})]})})}var R=t(23675),I=t(14554),U=t(88064),$=t(15972),M=t(42305);function z(e){let{open:s,onOpenChange:t,onCreated:l}=e,i=(0,n.c)(),c=(0,R.useRouter)(),[o,x]=(0,a.useTransition)(),[p,u]=(0,a.useState)(""),[m,h]=(0,a.useState)(""),[g,j]=(0,a.useState)(null),f=()=>{p.trim()&&(j(null),x(async()=>{try{let e=await fetch("/api/project-groups",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:p.trim(),description:m.trim()||void 0})}),s=await e.json();s.success?(u(""),h(""),t(!1),null==l||l(),c.refresh()):j(s.error||i("projectGroups.createFailed"))}catch(e){j(i("common.genericError"))}}))};return(0,r.jsx)(_.lG,{open:s,onOpenChange:t,children:(0,r.jsxs)(_.Cf,{className:"sm:max-w-[480px] gap-0 p-0 rounded-[16px]",showCloseButton:!1,children:[(0,r.jsx)(_.c7,{className:"flex flex-row items-center justify-between p-[20px_24px] border-b border-[#E5E2DC]",children:(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)(E.A,{className:"h-5 w-5 text-[#C67A52]"}),(0,r.jsx)(_.L3,{className:"text-lg font-semibold tracking-[-0.3px] text-[#2C2C2C]",children:i("projectGroups.newGroupTitle")})]})}),(0,r.jsx)(_.rr,{className:"sr-only",children:i("projectGroups.newGroupTitle")}),(0,r.jsxs)("div",{className:"flex flex-col gap-5 p-6",children:[g&&(0,r.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:g}),(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,r.jsx)(U.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:i("projectGroups.groupName")}),(0,r.jsx)(I.p,{value:p,onChange:e=>u(e.target.value),placeholder:i("projectGroups.groupNamePlaceholder"),className:"h-10 rounded-lg border-[#E5E2DC]",onKeyDown:e=>{!(0,M.P)(e)&&"Enter"===e.key&&p.trim()&&f()}})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,r.jsx)(U.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:i("projectGroups.descriptionOptional")}),(0,r.jsx)($.T,{value:m,onChange:e=>h(e.target.value),placeholder:i("projectGroups.descriptionPlaceholder"),className:"min-h-[80px] rounded-lg border-[#E5E2DC]"})]})]}),(0,r.jsxs)("div",{className:"flex justify-end gap-3 p-[16px_24px] border-t border-[#E5E2DC]",children:[(0,r.jsx)(d.$,{variant:"outline",onClick:()=>t(!1),className:"rounded-lg border-[#E5E2DC] text-[13px]",children:i("common.cancel")}),(0,r.jsxs)(d.$,{onClick:f,disabled:o||!p.trim(),className:"rounded-lg bg-[#C67A52] hover:bg-[#B56A42] text-white text-[13px] gap-1.5",children:[o?(0,r.jsx)(P.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(N.A,{className:"h-3.5 w-3.5"}),o?i("common.creating"):i("projectGroups.createGroup")]})]})]})})}var L=t(88738),Z=t(38280);function J(e){return e>=100?{bar:"#1D9E75",text:"#0F6E56"}:e>=60?{bar:"#5DCAA5",text:"#0F6E56"}:e>=30?{bar:"#FAC775",text:"#854F0B"}:{bar:"#F09595",text:"#A32D2D"}}function V(){let e=(0,n.c)("time");return s=>{let t=new Date,r=new Date(s),a=t.getTime()-r.getTime(),n=Math.floor(a/6e4),l=Math.floor(a/36e5),i=Math.floor(a/864e5);return n<1?e("justNow"):n<60?e("minutesAgo",{minutes:n}):l<24?e("hoursAgo",{hours:l}):0===i?e("today"):1===i?e("yesterday"):e("daysAgo",{days:i})}}function K(e){let{counts:s,compact:t=!1}=e,a=(0,n.c)();return(0,r.jsxs)("span",{className:"flex items-center gap-2 text-[#9A9A9A] ".concat(t?"text-[10px]":"text-[11px]"),children:[(0,r.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,r.jsx)(m.A,{className:"text-[#BDBDBD] ".concat(t?"h-[11px] w-[11px]":"h-3 w-3")}),s.tasks,!t&&" ".concat(a("projects.tasks"))]}),(0,r.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,r.jsx)(h.A,{className:"text-[#BDBDBD] ".concat(t?"h-[11px] w-[11px]":"h-3 w-3")}),s.ideas,!t&&" ".concat(a("projects.ideas"))]}),(0,r.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,r.jsx)(g.A,{className:"text-[#BDBDBD] ".concat(t?"h-[11px] w-[11px]":"h-3 w-3")}),s.documents,!t&&" ".concat(a("projects.docs"))]})]})}function H(e){let{project:s}=e,t=(0,n.c)(),a=V(),l=(0,Z.D)(s.name),i=(0,Z.g)(s.name),c=s.counts.tasks>0?Math.round(s.counts.doneTasks/s.counts.tasks*100):0,o=J(c),d=0===s.counts.tasks,x=100===c&&!d;return(0,r.jsxs)("div",{className:"flex flex-col gap-3 rounded-xl border border-[#E5E2DC] bg-white p-4 transition-colors hover:bg-[#F5F2EC]",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-[10px] font-bold",style:{backgroundColor:i.bg,color:i.text},children:l}),(0,r.jsx)("span",{className:"truncate text-[13px] font-semibold text-[#2C2C2C]",children:s.name}),d&&(0,r.jsx)(p.E,{variant:"outline",className:"shrink-0 border-0 bg-[#FEF3C7] px-1.5 py-0 text-[10px] font-medium text-[#92400E]",children:t("projects.empty")}),x&&(0,r.jsx)(p.E,{variant:"outline",className:"shrink-0 border-0 bg-[#D1FAE5] px-1.5 py-0 text-[10px] font-medium text-[#065F46]",children:t("projects.complete")})]}),(0,r.jsx)(K,{counts:s.counts}),(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,r.jsx)(T,{value:c,className:"h-1.5 w-full bg-[#F0EDE8]",style:{"--progress-indicator":o.bar}}),(0,r.jsxs)("div",{className:"flex justify-between",children:[(0,r.jsxs)("span",{className:"text-[11px] font-semibold",style:{color:o.text},children:[c,"%"]}),(0,r.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:a(s.updatedAt)})]})]})]})}function X(e){let{project:s,showDivider:t=!0}=e,a=(0,n.c)(),l=V(),i=(0,Z.D)(s.name),c=(0,Z.g)(s.name),o=s.counts.tasks>0?Math.round(s.counts.doneTasks/s.counts.tasks*100):0,d=J(o),x=0===s.counts.tasks,u=100===o&&!x;return(0,r.jsxs)("div",{className:"flex w-full flex-col gap-1.5 px-4 py-2.5 md:flex-row md:items-center md:gap-4 md:px-6 md:py-2",style:t?{borderBottom:"1px solid #0000000a"}:void 0,children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 md:min-w-0 md:flex-1 md:gap-4",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-[10px] font-bold md:h-9 md:w-9 md:rounded-[10px] md:text-[11px]",style:{backgroundColor:c.bg,color:c.text},children:i}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"truncate text-[13px] font-semibold text-[#2C2C2C]",children:s.name}),x&&(0,r.jsx)(p.E,{variant:"outline",className:"shrink-0 border-0 bg-[#FEF3C7] px-1.5 py-0 text-[10px] font-medium text-[#92400E]",children:a("projects.empty")}),u&&(0,r.jsx)(p.E,{variant:"outline",className:"shrink-0 border-0 bg-[#D1FAE5] px-1.5 py-0 text-[10px] font-medium text-[#065F46]",children:a("projects.complete")})]}),(0,r.jsx)("div",{className:"hidden md:block",children:(0,r.jsx)(K,{counts:s.counts})})]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between md:hidden",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1.5 text-[10px] text-[#9A9A9A]",children:[(0,r.jsx)(K,{counts:s.counts,compact:!0}),(0,r.jsx)("span",{children:"\xb7"}),(0,r.jsx)("span",{children:l(s.updatedAt)})]}),(0,r.jsxs)("span",{className:"text-[10px] font-semibold",style:{color:d.text},children:[o,"%"]})]}),(0,r.jsx)("div",{className:"md:hidden",children:(0,r.jsx)(T,{value:o,className:"h-1 w-full bg-[#F0EDE8]",style:{"--progress-indicator":d.bar}})}),(0,r.jsxs)("div",{className:"hidden w-[200px] shrink-0 items-center gap-2 md:flex",children:[(0,r.jsx)(T,{value:o,className:"h-1.5 flex-1 bg-[#F0EDE8]",style:{"--progress-indicator":d.bar}}),(0,r.jsxs)("span",{className:"w-9 text-right text-[11px] font-semibold",style:{color:d.text},children:[o,"%"]})]}),(0,r.jsx)("span",{className:"hidden w-[80px] shrink-0 text-right text-[11px] text-[#9A9A9A] md:block",children:l(s.updatedAt)})]})}let Y="__ungrouped__";function q(e){let{group:s,projects:t,stats:l,onNewProject:c,defaultOpen:m=!1,viewMode:h}=e,g=(0,n.c)(),[w,C]=(0,a.useState)(m),A=l.totalTasks>0?Math.round(l.completedTasks/l.totalTasks*100):0;return(0,r.jsx)(o.gL,{droppableId:s.uuid,children:(e,a)=>(0,r.jsx)("div",{ref:e.innerRef,...e.droppableProps,children:(0,r.jsx)(u.Nt,{open:w,onOpenChange:C,children:(0,r.jsxs)(x.Zp,{className:"overflow-hidden rounded-2xl border-[#E5E2DC] gap-0 py-0 shadow-none transition-colors hover:border-[#C67A52]/40 ".concat(a.isDraggingOver?"border-[#C67A52] bg-[#C67A5208]":""),children:[(0,r.jsxs)("div",{className:"flex flex-col gap-2 px-4 py-2.5 md:flex-row md:items-center md:justify-between md:px-6 md:py-3",children:[(0,r.jsxs)(u.R6,{className:"flex flex-1 cursor-pointer items-center gap-2.5 text-left md:gap-3",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-[#C67A5215] md:h-9 md:w-9",children:(0,r.jsx)(j.A,{className:"h-4 w-4 text-[#C67A52]"})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 md:gap-2",children:[(0,r.jsx)("h2",{className:"truncate text-sm font-semibold text-[#2C2C2C] md:text-base",children:s.name}),(0,r.jsx)(p.E,{variant:"secondary",className:"shrink-0 border-0 bg-[#F0EDE8] text-[10px] font-medium text-[#6B6B6B] md:text-[11px]",children:t.length})]}),(0,r.jsxs)("div",{className:"mt-0.5 flex flex-wrap items-center gap-x-3 gap-y-0.5 text-[10px] text-[#9A9A9A] md:text-[11px]",children:[(0,r.jsxs)("span",{children:[l.totalTasks," ",g("projects.tasks")," \xb7"," ",A,"% ",g("projectGroups.complete")]}),(0,r.jsxs)("span",{className:"hidden md:inline",children:[l.openIdeas," ",g("projectGroups.openIdeas")]})]})]}),w?(0,r.jsx)(f.A,{className:"ml-auto h-3.5 w-3.5 shrink-0 text-[#9A9A9A] md:h-4 md:w-4"}):(0,r.jsx)(b.A,{className:"ml-auto h-3.5 w-3.5 shrink-0 text-[#9A9A9A] md:h-4 md:w-4"})]}),(0,r.jsxs)("div",{className:"hidden items-center gap-2 md:flex",children:[(0,r.jsx)(i(),{href:"/project-groups/".concat(s.uuid),children:(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",className:"text-xs text-[#C67A52] hover:text-[#B56A42]",children:[g("projectGroups.viewDashboard"),(0,r.jsx)(v.A,{className:"ml-1 h-3 w-3"})]})}),(0,r.jsxs)(d.$,{variant:"outline",size:"sm",className:"border-[#E5E2DC] text-xs",onClick:c,children:[(0,r.jsx)(N.A,{className:"mr-1 h-3 w-3"}),g("projects.newProject")]})]})]}),(0,r.jsx)(u.Ke,{children:(0,r.jsxs)("div",{className:"border-t border-[#0000000a] py-0",children:[0!==t.length||a.isDraggingOver?(0,r.jsx)("div",{className:"grid"===h?"md:grid md:grid-cols-2 md:gap-4 md:p-5 lg:grid-cols-3":"",children:t.map((e,s)=>(0,r.jsx)(o.sx,{draggableId:e.uuid,index:s,children:(a,n)=>(0,r.jsx)("div",{ref:a.innerRef,...a.draggableProps,...a.dragHandleProps,children:(0,r.jsx)(i(),{href:"/projects/".concat(e.uuid,"/dashboard"),draggable:!1,onClick:e=>{n.isDragging&&e.preventDefault()},children:"grid"===h?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"md:hidden transition-colors hover:bg-[#F5F2EC] ".concat(n.isDragging?"rotate-1 opacity-90 shadow-md rounded-lg bg-white":""),children:(0,r.jsx)(X,{project:e,showDivider:s<t.length-1})}),(0,r.jsx)("div",{className:"hidden md:block ".concat(n.isDragging?"rotate-1 opacity-90 shadow-md":""),children:(0,r.jsx)(H,{project:e})})]}):(0,r.jsx)("div",{className:"transition-colors hover:bg-[#F5F2EC] ".concat(n.isDragging?"rotate-1 opacity-90 shadow-md rounded-lg bg-white":""),children:(0,r.jsx)(X,{project:e,showDivider:s<t.length-1})})})})},e.uuid))}):(0,r.jsx)("p",{className:"py-4 text-center text-sm text-[#9A9A9A]",children:g("projectGroups.noProjectsInGroup")}),e.placeholder]})})]})})})})}function Q(e){let{projects:s,onNewProject:t,viewMode:l}=e,c=(0,n.c)(),[m,h]=(0,a.useState)(!1);return(0,r.jsx)(o.gL,{droppableId:Y,children:(e,a)=>0!==s.length||a.isDraggingOver?(0,r.jsx)("div",{ref:e.innerRef,...e.droppableProps,children:(0,r.jsx)(u.Nt,{open:m,onOpenChange:h,children:(0,r.jsxs)(x.Zp,{className:"overflow-hidden rounded-2xl border-[#E5E2DC] gap-0 py-0 shadow-none transition-colors hover:border-[#C67A52]/40 ".concat(a.isDraggingOver?"border-[#C67A52] bg-[#C67A5208]":""),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-2.5 md:px-6 md:py-3",children:[(0,r.jsxs)(u.R6,{className:"flex flex-1 cursor-pointer items-center gap-2.5 text-left md:gap-3",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-[#F0EDE8] md:h-9 md:w-9",children:(0,r.jsx)(w.A,{className:"h-4 w-4 text-[#9A9A9A]"})}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 md:gap-2",children:[(0,r.jsx)("h2",{className:"text-sm font-semibold text-[#6B6B6B] md:text-base",children:c("projectGroups.ungrouped")}),(0,r.jsx)(p.E,{variant:"secondary",className:"shrink-0 border-0 bg-[#F0EDE8] text-[10px] font-medium text-[#6B6B6B] md:text-[11px]",children:s.length})]}),m?(0,r.jsx)(f.A,{className:"ml-auto h-3.5 w-3.5 shrink-0 text-[#9A9A9A] md:h-4 md:w-4"}):(0,r.jsx)(b.A,{className:"ml-auto h-3.5 w-3.5 shrink-0 text-[#9A9A9A] md:h-4 md:w-4"})]}),(0,r.jsx)("div",{className:"hidden items-center gap-2 md:flex",children:(0,r.jsxs)(d.$,{variant:"outline",size:"sm",className:"shrink-0 border-[#E5E2DC] text-xs",onClick:t,children:[(0,r.jsx)(N.A,{className:"mr-1 h-3 w-3"}),c("projects.newProject")]})})]}),(0,r.jsx)(u.Ke,{children:(0,r.jsxs)("div",{className:"border-t border-[#0000000a] py-0",children:[0===s.length?(0,r.jsx)("p",{className:"py-4 text-center text-sm text-[#9A9A9A]",children:c("projectGroups.noProjectsInGroup")}):(0,r.jsx)("div",{className:"grid"===l?"md:grid md:grid-cols-2 md:gap-4 md:p-5 lg:grid-cols-3":"",children:s.map((e,t)=>(0,r.jsx)(o.sx,{draggableId:e.uuid,index:t,children:(a,n)=>(0,r.jsx)("div",{ref:a.innerRef,...a.draggableProps,...a.dragHandleProps,children:(0,r.jsx)(i(),{href:"/projects/".concat(e.uuid,"/dashboard"),draggable:!1,onClick:e=>{n.isDragging&&e.preventDefault()},children:"grid"===l?(0,r.jsx)("div",{className:n.isDragging?"rotate-1 opacity-90 shadow-md":"",children:(0,r.jsx)(H,{project:e})}):(0,r.jsx)("div",{className:"transition-colors hover:bg-[#F5F2EC] ".concat(n.isDragging?"rotate-1 opacity-90 shadow-md rounded-lg bg-white":""),children:(0,r.jsx)(X,{project:e,showDivider:t<s.length-1})})})})},e.uuid))}),e.placeholder]})})]})})}):(0,r.jsx)("div",{ref:e.innerRef,...e.droppableProps,className:"hidden",children:e.placeholder})})}function W(){var e,s,t,l,i;let p=(0,n.c)(),[u,m]=(0,a.useState)([]),[h,g]=(0,a.useState)([]),[j,f]=(0,a.useState)(!0),[b,v]=(0,a.useState)(null),[F,G]=(0,a.useState)(()=>{{let e=localStorage.getItem("chorus_projects_view_mode");if("list"===e||"grid"===e)return e}return"list"});(0,a.useEffect)(()=>{localStorage.setItem("chorus_projects_view_mode",F)},[F]);let[T,S]=(0,a.useState)(!1),[P,_]=(0,a.useState)(null),[R,I]=(0,a.useState)(!1),[U,$]=(0,a.useState)(!1),M=(0,a.useCallback)(async()=>{try{let[e,s]=await Promise.all([fetch("/api/projects?pageSize=200"),fetch("/api/project-groups")]),t=await e.json(),r=await s.json();t.success&&m(t.data.data||t.data||[]),r.success&&g(r.data.groups||[])}catch(e){}finally{f(!1)}},[]);(0,a.useEffect)(()=>{M(),fetch("/api/agents?pageSize=100").then(e=>e.json()).then(e=>{e.success&&I((e.data.data||e.data||[]).some(e=>{var s;return(null!=(s=e.effectivePermissions)?s:[]).includes("project:write")}))}).catch(()=>{})},[M]),(0,c.eV)(["project","project_group"],()=>{M()});let Z=new Map,J=[];for(let e of u)if(e.groupUuid){let s=Z.get(e.groupUuid)||[];s.push(e),Z.set(e.groupUuid,s)}else J.push(e);function V(e){var s;if(!e)return p("projectGroups.ungrouped");let t=h.find(s=>s.uuid===e);return null!=(s=null==t?void 0:t.name)?s:p("projectGroups.ungrouped")}async function K(){if(!b)return;let e=await fetch("/api/projects/".concat(b.projectUuid,"/group"),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({groupUuid:b.targetGroupUuid})}),s=await e.json();if(!s.success)throw Error(s.error||p("projectGroups.moveFailed"));await M()}return j?(0,r.jsx)("div",{className:"bg-[#FAF8F4] p-4 md:px-8 md:py-6",children:(0,r.jsx)("p",{className:"text-sm text-[#6B6B6B]",children:p("projects.loadingProjects")})}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.JY,{onDragEnd:function(e){let{destination:s,source:t,draggableId:r}=e;if(!s||s.droppableId===t.droppableId)return;let a=u.find(e=>e.uuid===r);if(!a)return;let n=s.droppableId===Y?null:s.droppableId,l=a.groupUuid;v({projectUuid:a.uuid,projectName:a.name,sourceGroupName:V(l),targetGroupUuid:n,targetGroupName:V(n)})},children:(0,r.jsxs)("div",{className:"bg-[#FAF8F4] p-4 md:px-8 md:py-6",children:[(0,r.jsxs)("div",{className:"mb-4 md:mb-6",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h1",{className:"text-2xl font-semibold text-[#2C2C2C]",children:p("projects.title")}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsxs)("div",{className:"hidden overflow-hidden rounded-lg border border-[#E5E2DC] md:flex",children:[(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",onClick:()=>G("list"),className:"flex items-center gap-1.5 rounded-none px-2.5 py-1.5 text-xs font-medium transition-colors ".concat("list"===F?"bg-[#F5F2EC] text-[#C67A52]":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:[(0,r.jsx)(C.A,{className:"h-3.5 w-3.5"}),p("projects.listView")]}),(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",onClick:()=>G("grid"),className:"flex items-center gap-1.5 rounded-none px-2.5 py-1.5 text-xs font-medium transition-colors ".concat("grid"===F?"bg-[#F5F2EC] text-[#C67A52]":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:[(0,r.jsx)(A.A,{className:"h-3.5 w-3.5"}),p("projects.gridView")]})]}),(0,r.jsxs)(d.$,{className:"hidden rounded-xl bg-[#C67A52] px-5 text-white hover:bg-[#B56A42] md:flex",onClick:()=>S(!0),children:[(0,r.jsx)(N.A,{className:"mr-2 h-4 w-4"}),p("projectGroups.newProjectGroup")]})]})]}),(0,r.jsx)("p",{className:"mt-1 text-sm text-[#6B6B6B]",children:p("projects.subtitle")})]}),0===u.length&&0===h.length?(0,r.jsxs)("div",{className:"space-y-5",children:[(0,r.jsx)(x.Zp,{className:"border-[#C67A5230] bg-[#C67A520A] p-6 md:p-8",children:(0,r.jsxs)("div",{className:"flex items-start gap-4",children:[(0,r.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-[#C67A5220]",children:(0,r.jsx)(y.A,{className:"h-5 w-5 text-[#C67A52]"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{className:"text-lg font-semibold text-[#2C2C2C]",children:p("projects.onboarding.welcomeTitle")}),(0,r.jsx)("p",{className:"mt-1 text-sm text-[#6B6B6B]",children:p("projects.onboarding.welcomeDesc")})]})]})}),(0,r.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,r.jsxs)(x.Zp,{className:"border-[#E5E2DC] p-5",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 mb-2",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-[#C67A5215]",children:(0,r.jsx)(E.A,{className:"h-4 w-4 text-[#C67A52]"})}),(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#2C2C2C]",children:p("projects.onboarding.whatIsGroupTitle")})]}),(0,r.jsx)("p",{className:"text-[13px] leading-relaxed text-[#6B6B6B]",children:p("projects.onboarding.whatIsGroupDesc")})]}),(0,r.jsxs)(x.Zp,{className:"border-[#E5E2DC] p-5",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 mb-2",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-[#C67A5215]",children:(0,r.jsx)(w.A,{className:"h-4 w-4 text-[#C67A52]"})}),(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#2C2C2C]",children:p("projects.onboarding.whatIsProjectTitle")})]}),(0,r.jsx)("p",{className:"text-[13px] leading-relaxed text-[#6B6B6B]",children:p("projects.onboarding.whatIsProjectDesc")})]})]}),(0,r.jsx)(x.Zp,{className:"border-[#E5E2DC] p-6 md:p-8",children:(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsxs)("div",{className:"flex flex-col items-center",children:[(0,r.jsx)("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-[#C67A52] text-xs font-bold text-white",children:"1"}),(0,r.jsx)("div",{className:"mt-2 h-full w-px bg-[#E5E2DC]"})]}),(0,r.jsxs)("div",{className:"flex-1 pb-6",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#2C2C2C]",children:p("projects.onboarding.step1Title")}),(0,r.jsx)("p",{className:"mt-1 text-[13px] text-[#6B6B6B]",children:p("projects.onboarding.step1Desc")}),(0,r.jsxs)(d.$,{className:"mt-3 rounded-xl bg-[#C67A52] text-white hover:bg-[#B56A42]",onClick:()=>S(!0),children:[(0,r.jsx)(E.A,{className:"mr-2 h-4 w-4"}),p("projects.onboarding.createGroupBtn")]})]})]}),(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsx)("div",{className:"flex flex-col items-center",children:(0,r.jsx)("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-[#E5E2DC] text-xs font-bold text-[#9A9A9A]",children:"2"})}),(0,r.jsxs)("div",{className:"flex-1",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#9A9A9A]",children:p("projects.onboarding.step2Title")}),(0,r.jsx)("p",{className:"mt-1 text-[13px] text-[#9A9A9A]",children:p("projects.onboarding.step2Desc")})]})]})]})}),R&&(0,r.jsx)(x.Zp,{className:"border-[#E5E2DC] bg-[#F5F2EC] p-5 md:p-6",children:(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-[#C67A5215]",children:(0,r.jsx)(k.A,{className:"h-4 w-4 text-[#C67A52]"})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#2C2C2C]",children:p("projects.onboarding.agentTipTitle")}),(0,r.jsx)("p",{className:"mt-1 text-[13px] text-[#6B6B6B]",children:p("projects.onboarding.agentTipDesc")}),(0,r.jsxs)("div",{className:"mt-3 relative",children:[(0,r.jsx)("pre",{className:"rounded-lg bg-white border border-[#E5E2DC] p-3 pr-10 text-xs text-[#2C2C2C] whitespace-pre-wrap break-words",children:p("projects.onboarding.agentPromptDefault")}),(0,r.jsx)(d.$,{variant:"ghost",size:"icon",className:"absolute right-2 top-2 h-7 w-7 text-[#9A9A9A] hover:text-[#C67A52]",onClick:()=>{navigator.clipboard.writeText(p("projects.onboarding.agentPromptDefault")),$(!0),setTimeout(()=>$(!1),2e3)},children:U?(0,r.jsx)(D.A,{className:"h-3.5 w-3.5 text-green-600"}):(0,r.jsx)(B.A,{className:"h-3.5 w-3.5"})})]}),U&&(0,r.jsx)("p",{className:"mt-1.5 text-xs text-green-600",children:p("projects.onboarding.copiedPrompt")})]})]})})]}):(0,r.jsxs)("div",{className:"space-y-4",children:[h.map((e,s)=>{let t=Z.get(e.uuid)||[],a=function(e){let s=0,t=0,r=0;for(let a of e)s+=a.counts.tasks,t+=a.counts.doneTasks,r+=a.counts.ideas;return{totalTasks:s,completedTasks:t,openIdeas:r}}(t);return(0,r.jsx)(q,{group:e,projects:t,stats:a,defaultOpen:0===s,viewMode:F,onNewProject:()=>_({groupUuid:e.uuid,groupName:e.name})},e.uuid)}),(0,r.jsx)(Q,{projects:J,viewMode:F,onNewProject:()=>_({groupUuid:null,groupName:p("projectGroups.ungrouped")})}),(0,r.jsxs)(d.$,{className:"w-full rounded-xl bg-[#C67A52] text-white hover:bg-[#B56A42] md:hidden",onClick:()=>S(!0),children:[(0,r.jsx)(N.A,{className:"mr-2 h-4 w-4"}),p("projectGroups.newProjectGroup")]})]})]})}),(0,r.jsx)(O,{open:null!==b,onOpenChange:e=>{e||v(null)},projectName:null!=(e=null==b?void 0:b.projectName)?e:"",sourceGroupName:null!=(s=null==b?void 0:b.sourceGroupName)?s:"",targetGroupName:null!=(t=null==b?void 0:b.targetGroupName)?t:"",onConfirm:K}),(0,r.jsx)(z,{open:T,onOpenChange:S,onCreated:()=>{S(!1),M()}}),(0,r.jsx)(L.C,{open:null!==P,onOpenChange:e=>{e||_(null)},groupUuid:null!=(l=null==P?void 0:P.groupUuid)?l:null,groupName:null!=(i=null==P?void 0:P.groupName)?i:"",onCreated:()=>{_(null),M()}})]})}},57731:(e,s,t)=>{"use strict";t.d(s,{E:()=>c});var r=t(90508);t(1856);var a=t(49499),n=t(54154),l=t(24377);let i=(0,a.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 c(e){let{className:s,variant:t="default",asChild:a=!1,...c}=e,o=a?n.bL:"span";return(0,r.jsx)(o,{"data-slot":"badge","data-variant":t,className:(0,l.cn)(i({variant:t}),s),...c})}},63964:(e,s,t)=>{"use strict";t.d(s,{S2:()=>o,eV:()=>c,l9:()=>i,tS:()=>l,w0:()=>d});var r=t(90508),a=t(1856);t(23675);let n=(0,a.createContext)(null);function l(e){let{projectUuid:s,children:t}=e,l=(0,a.useRef)(new Set),i=(0,a.useRef)(new Set),c=(0,a.useRef)(new Set),o=(0,a.useRef)(new Set),d=(0,a.useCallback)(()=>{l.current.forEach(e=>e())},[]),x=(0,a.useCallback)(e=>{i.current.forEach(s=>s(e))},[]);(0,a.useEffect)(()=>{let e,t=null,r=0,a={};function n(){l(),(t=new EventSource(s?"/api/events?projectUuid=".concat(s):"/api/events")).onmessage=s=>{let t=null;try{t=JSON.parse(s.data)}catch(e){return}if(!t)return;if("presence"===t.type)return void c.current.forEach(e=>e(t));if("execution"===t.type)return void o.current.forEach(e=>e(t));let n=t;clearTimeout(e);let l=Date.now(),i=l-r;i>=3e3?(r=l,d()):e=setTimeout(()=>{r=Date.now(),d()},Math.max(1e3,3e3-i));let p=n.entityType;clearTimeout(a[p]),a[p]=setTimeout(()=>{x(n)},300)},t.onerror=()=>{}}function l(){t&&(t.close(),t=null)}function i(){if("visible"===document.visibilityState&&(!t||t.readyState===EventSource.CLOSED))for(let e of(n(),d(),["task","idea","proposal","document","project","project_group"]))x({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return n(),document.addEventListener("visibilitychange",i),()=>{for(let s in l(),clearTimeout(e),a)clearTimeout(a[s]);document.removeEventListener("visibilitychange",i)}},[s,d,x]);let p=(0,a.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),u=(0,a.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),m=(0,a.useCallback)(e=>(c.current.add(e),()=>{c.current.delete(e)}),[]),h=(0,a.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),g=(0,a.useMemo)(()=>({subscribe:p,subscribeEntity:u,subscribePresence:m,subscribeExecution:h}),[p,u,m,h]);return(0,r.jsx)(n.Provider,{value:g,children:t})}function i(e){let s=(0,a.useContext)(n),t=(0,a.useRef)(e);t.current=e,(0,a.useEffect)(()=>{if(!s)return;let e=()=>t.current();return e(),s.subscribe(e)},[s])}function c(e,s){let t=(0,a.useContext)(n),r=(0,a.useRef)(s);r.current=s;let l=(0,a.useRef)(e);l.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribeEntity(e=>{let s=l.current;(Array.isArray(s)?s.includes(e.entityType):e.entityType===s)&&r.current(e)})},[t])}function o(e){let s=(0,a.useContext)(n),t=(0,a.useRef)(e);t.current=e,(0,a.useEffect)(()=>{if(s)return s.subscribePresence(e=>t.current(e))},[s])}function d(e,s,t){let r=(0,a.useContext)(n),l=(0,a.useRef)(t);l.current=t,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(t=>{t.entityType===e&&t.entityUuid===s&&l.current(t)})},[r,e,s])}},81750:(e,s,t)=>{"use strict";t.d(s,{Ke:()=>c,Nt:()=>l,R6:()=>i});var r=t(90508),a=t(38476),n=t(24377);function l(e){let{...s}=e;return(0,r.jsx)(a.Root,{"data-slot":"collapsible",...s})}function i(e){let{...s}=e;return(0,r.jsx)(a.Trigger,{"data-slot":"collapsible-trigger",...s})}function c(e){let{className:s,...t}=e;return(0,r.jsx)(a.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]",s),...t})}}},e=>{e.O(0,[8893,12079,18944,12790,71350,16544,56527,19276,78389,93346,74951,65496,77358],()=>e(e.s=9959)),_N_E=e.O()}]);
|