@burdenoff/microfe-planmagnet 2026.509.103

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/README.md +12 -0
  2. package/dist/dev/main.d.ts +2 -0
  3. package/dist/dev/main.d.ts.map +1 -0
  4. package/dist/generated/global-operations.d.ts +2 -0
  5. package/dist/generated/global-operations.d.ts.map +1 -0
  6. package/dist/generated/global-types.d.ts +21253 -0
  7. package/dist/generated/global-types.d.ts.map +1 -0
  8. package/dist/generated/wspace-operations.d.ts +8370 -0
  9. package/dist/generated/wspace-operations.d.ts.map +1 -0
  10. package/dist/generated/wspace-types.d.ts +4182 -0
  11. package/dist/generated/wspace-types.d.ts.map +1 -0
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +5 -0
  15. package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js +24 -0
  16. package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js.map +1 -0
  17. package/dist/node_modules/@apollo/client/errors/utils.js +16 -0
  18. package/dist/node_modules/@apollo/client/errors/utils.js.map +1 -0
  19. package/dist/planmagnet/PlanMagnetRoot.d.ts +5 -0
  20. package/dist/planmagnet/PlanMagnetRoot.d.ts.map +1 -0
  21. package/dist/planmagnet/PlanMagnetRoot.js +292 -0
  22. package/dist/planmagnet/PlanMagnetRoot.js.map +1 -0
  23. package/dist/planmagnet/PlanMagnetRoutes.d.ts +2 -0
  24. package/dist/planmagnet/PlanMagnetRoutes.d.ts.map +1 -0
  25. package/dist/planmagnet/PlanMagnetRoutes.js +211 -0
  26. package/dist/planmagnet/PlanMagnetRoutes.js.map +1 -0
  27. package/dist/planmagnet/index.d.ts +5 -0
  28. package/dist/planmagnet/index.d.ts.map +1 -0
  29. package/dist/planmagnet/index.js +3 -0
  30. package/dist/planmagnet/pages/AnalyticsAnalyticsPagePage.d.ts +2 -0
  31. package/dist/planmagnet/pages/AnalyticsAnalyticsPagePage.d.ts.map +1 -0
  32. package/dist/planmagnet/pages/AnalyticsAnalyticsPagePage.js +312 -0
  33. package/dist/planmagnet/pages/AnalyticsAnalyticsPagePage.js.map +1 -0
  34. package/dist/planmagnet/pages/CollaborationCollaborationPagePage.d.ts +2 -0
  35. package/dist/planmagnet/pages/CollaborationCollaborationPagePage.d.ts.map +1 -0
  36. package/dist/planmagnet/pages/CollaborationCollaborationPagePage.js +110 -0
  37. package/dist/planmagnet/pages/CollaborationCollaborationPagePage.js.map +1 -0
  38. package/dist/planmagnet/pages/CollaborationCreateChannelPagePage.d.ts +2 -0
  39. package/dist/planmagnet/pages/CollaborationCreateChannelPagePage.d.ts.map +1 -0
  40. package/dist/planmagnet/pages/CollaborationCreateChannelPagePage.js +96 -0
  41. package/dist/planmagnet/pages/CollaborationCreateChannelPagePage.js.map +1 -0
  42. package/dist/planmagnet/pages/CollaborationFilesPagePage.d.ts +2 -0
  43. package/dist/planmagnet/pages/CollaborationFilesPagePage.d.ts.map +1 -0
  44. package/dist/planmagnet/pages/CollaborationFilesPagePage.js +112 -0
  45. package/dist/planmagnet/pages/CollaborationFilesPagePage.js.map +1 -0
  46. package/dist/planmagnet/pages/CollaborationMessagesPagePage.d.ts +2 -0
  47. package/dist/planmagnet/pages/CollaborationMessagesPagePage.d.ts.map +1 -0
  48. package/dist/planmagnet/pages/CollaborationMessagesPagePage.js +141 -0
  49. package/dist/planmagnet/pages/CollaborationMessagesPagePage.js.map +1 -0
  50. package/dist/planmagnet/pages/CollaborationNewDiscussionPagePage.d.ts +2 -0
  51. package/dist/planmagnet/pages/CollaborationNewDiscussionPagePage.d.ts.map +1 -0
  52. package/dist/planmagnet/pages/CollaborationNewDiscussionPagePage.js +124 -0
  53. package/dist/planmagnet/pages/CollaborationNewDiscussionPagePage.js.map +1 -0
  54. package/dist/planmagnet/pages/DashboardDashboardPagePage.d.ts +2 -0
  55. package/dist/planmagnet/pages/DashboardDashboardPagePage.d.ts.map +1 -0
  56. package/dist/planmagnet/pages/DashboardDashboardPagePage.js +350 -0
  57. package/dist/planmagnet/pages/DashboardDashboardPagePage.js.map +1 -0
  58. package/dist/planmagnet/pages/MeetingsScheduleMeetingPagePage.d.ts +2 -0
  59. package/dist/planmagnet/pages/MeetingsScheduleMeetingPagePage.d.ts.map +1 -0
  60. package/dist/planmagnet/pages/MeetingsScheduleMeetingPagePage.js +290 -0
  61. package/dist/planmagnet/pages/MeetingsScheduleMeetingPagePage.js.map +1 -0
  62. package/dist/planmagnet/pages/ProductsCreateProductPagePage.d.ts +2 -0
  63. package/dist/planmagnet/pages/ProductsCreateProductPagePage.d.ts.map +1 -0
  64. package/dist/planmagnet/pages/ProductsCreateProductPagePage.js +189 -0
  65. package/dist/planmagnet/pages/ProductsCreateProductPagePage.js.map +1 -0
  66. package/dist/planmagnet/pages/ProductsCreateRoadmapPagePage.d.ts +2 -0
  67. package/dist/planmagnet/pages/ProductsCreateRoadmapPagePage.d.ts.map +1 -0
  68. package/dist/planmagnet/pages/ProductsCreateRoadmapPagePage.js +151 -0
  69. package/dist/planmagnet/pages/ProductsCreateRoadmapPagePage.js.map +1 -0
  70. package/dist/planmagnet/pages/ProductsEditProductPagePage.d.ts +2 -0
  71. package/dist/planmagnet/pages/ProductsEditProductPagePage.d.ts.map +1 -0
  72. package/dist/planmagnet/pages/ProductsEditProductPagePage.js +257 -0
  73. package/dist/planmagnet/pages/ProductsEditProductPagePage.js.map +1 -0
  74. package/dist/planmagnet/pages/ProductsEditReleasePagePage.d.ts +2 -0
  75. package/dist/planmagnet/pages/ProductsEditReleasePagePage.d.ts.map +1 -0
  76. package/dist/planmagnet/pages/ProductsEditReleasePagePage.js +221 -0
  77. package/dist/planmagnet/pages/ProductsEditReleasePagePage.js.map +1 -0
  78. package/dist/planmagnet/pages/ProductsFeatureAnalyticsPagePage.d.ts +2 -0
  79. package/dist/planmagnet/pages/ProductsFeatureAnalyticsPagePage.d.ts.map +1 -0
  80. package/dist/planmagnet/pages/ProductsFeatureAnalyticsPagePage.js +284 -0
  81. package/dist/planmagnet/pages/ProductsFeatureAnalyticsPagePage.js.map +1 -0
  82. package/dist/planmagnet/pages/ProductsFeatureDetailPagePage.d.ts +2 -0
  83. package/dist/planmagnet/pages/ProductsFeatureDetailPagePage.d.ts.map +1 -0
  84. package/dist/planmagnet/pages/ProductsFeatureDetailPagePage.js +291 -0
  85. package/dist/planmagnet/pages/ProductsFeatureDetailPagePage.js.map +1 -0
  86. package/dist/planmagnet/pages/ProductsFeaturesPagePage.d.ts +2 -0
  87. package/dist/planmagnet/pages/ProductsFeaturesPagePage.d.ts.map +1 -0
  88. package/dist/planmagnet/pages/ProductsFeaturesPagePage.js +257 -0
  89. package/dist/planmagnet/pages/ProductsFeaturesPagePage.js.map +1 -0
  90. package/dist/planmagnet/pages/ProductsNewFeaturePagePage.d.ts +2 -0
  91. package/dist/planmagnet/pages/ProductsNewFeaturePagePage.d.ts.map +1 -0
  92. package/dist/planmagnet/pages/ProductsNewFeaturePagePage.js +222 -0
  93. package/dist/planmagnet/pages/ProductsNewFeaturePagePage.js.map +1 -0
  94. package/dist/planmagnet/pages/ProductsProductDetailPagePage.d.ts +2 -0
  95. package/dist/planmagnet/pages/ProductsProductDetailPagePage.d.ts.map +1 -0
  96. package/dist/planmagnet/pages/ProductsProductDetailPagePage.js +288 -0
  97. package/dist/planmagnet/pages/ProductsProductDetailPagePage.js.map +1 -0
  98. package/dist/planmagnet/pages/ProductsProductsPagePage.d.ts +2 -0
  99. package/dist/planmagnet/pages/ProductsProductsPagePage.d.ts.map +1 -0
  100. package/dist/planmagnet/pages/ProductsProductsPagePage.js +225 -0
  101. package/dist/planmagnet/pages/ProductsProductsPagePage.js.map +1 -0
  102. package/dist/planmagnet/pages/ProductsReleaseDetailPagePage.d.ts +2 -0
  103. package/dist/planmagnet/pages/ProductsReleaseDetailPagePage.d.ts.map +1 -0
  104. package/dist/planmagnet/pages/ProductsReleaseDetailPagePage.js +262 -0
  105. package/dist/planmagnet/pages/ProductsReleaseDetailPagePage.js.map +1 -0
  106. package/dist/planmagnet/pages/ProductsReleasesPagePage.d.ts +2 -0
  107. package/dist/planmagnet/pages/ProductsReleasesPagePage.d.ts.map +1 -0
  108. package/dist/planmagnet/pages/ProductsReleasesPagePage.js +162 -0
  109. package/dist/planmagnet/pages/ProductsReleasesPagePage.js.map +1 -0
  110. package/dist/planmagnet/pages/ProductsRoadmapAnalyticsPagePage.d.ts +2 -0
  111. package/dist/planmagnet/pages/ProductsRoadmapAnalyticsPagePage.d.ts.map +1 -0
  112. package/dist/planmagnet/pages/ProductsRoadmapAnalyticsPagePage.js +342 -0
  113. package/dist/planmagnet/pages/ProductsRoadmapAnalyticsPagePage.js.map +1 -0
  114. package/dist/planmagnet/pages/ProductsRoadmapDetailPagePage.d.ts +2 -0
  115. package/dist/planmagnet/pages/ProductsRoadmapDetailPagePage.d.ts.map +1 -0
  116. package/dist/planmagnet/pages/ProductsRoadmapDetailPagePage.js +233 -0
  117. package/dist/planmagnet/pages/ProductsRoadmapDetailPagePage.js.map +1 -0
  118. package/dist/planmagnet/pages/ProductsRoadmapsPagePage.d.ts +2 -0
  119. package/dist/planmagnet/pages/ProductsRoadmapsPagePage.d.ts.map +1 -0
  120. package/dist/planmagnet/pages/ProductsRoadmapsPagePage.js +193 -0
  121. package/dist/planmagnet/pages/ProductsRoadmapsPagePage.js.map +1 -0
  122. package/dist/planmagnet/pages/ProjectsActiveProjectsPagePage.d.ts +2 -0
  123. package/dist/planmagnet/pages/ProjectsActiveProjectsPagePage.d.ts.map +1 -0
  124. package/dist/planmagnet/pages/ProjectsActiveProjectsPagePage.js +116 -0
  125. package/dist/planmagnet/pages/ProjectsActiveProjectsPagePage.js.map +1 -0
  126. package/dist/planmagnet/pages/ProjectsCreateProjectPagePage.d.ts +2 -0
  127. package/dist/planmagnet/pages/ProjectsCreateProjectPagePage.d.ts.map +1 -0
  128. package/dist/planmagnet/pages/ProjectsCreateProjectPagePage.js +199 -0
  129. package/dist/planmagnet/pages/ProjectsCreateProjectPagePage.js.map +1 -0
  130. package/dist/planmagnet/pages/ProjectsEditProjectPagePage.d.ts +2 -0
  131. package/dist/planmagnet/pages/ProjectsEditProjectPagePage.d.ts.map +1 -0
  132. package/dist/planmagnet/pages/ProjectsEditProjectPagePage.js +197 -0
  133. package/dist/planmagnet/pages/ProjectsEditProjectPagePage.js.map +1 -0
  134. package/dist/planmagnet/pages/ProjectsMilestoneDetailPagePage.d.ts +2 -0
  135. package/dist/planmagnet/pages/ProjectsMilestoneDetailPagePage.d.ts.map +1 -0
  136. package/dist/planmagnet/pages/ProjectsMilestoneDetailPagePage.js +173 -0
  137. package/dist/planmagnet/pages/ProjectsMilestoneDetailPagePage.js.map +1 -0
  138. package/dist/planmagnet/pages/ProjectsMilestonesPagePage.d.ts +2 -0
  139. package/dist/planmagnet/pages/ProjectsMilestonesPagePage.d.ts.map +1 -0
  140. package/dist/planmagnet/pages/ProjectsMilestonesPagePage.js +119 -0
  141. package/dist/planmagnet/pages/ProjectsMilestonesPagePage.js.map +1 -0
  142. package/dist/planmagnet/pages/ProjectsPlanningDetailPagePage.d.ts +2 -0
  143. package/dist/planmagnet/pages/ProjectsPlanningDetailPagePage.d.ts.map +1 -0
  144. package/dist/planmagnet/pages/ProjectsPlanningDetailPagePage.js +257 -0
  145. package/dist/planmagnet/pages/ProjectsPlanningDetailPagePage.js.map +1 -0
  146. package/dist/planmagnet/pages/ProjectsPlanningEditPagePage.d.ts +2 -0
  147. package/dist/planmagnet/pages/ProjectsPlanningEditPagePage.d.ts.map +1 -0
  148. package/dist/planmagnet/pages/ProjectsPlanningEditPagePage.js +222 -0
  149. package/dist/planmagnet/pages/ProjectsPlanningEditPagePage.js.map +1 -0
  150. package/dist/planmagnet/pages/ProjectsPlanningPagePage.d.ts +2 -0
  151. package/dist/planmagnet/pages/ProjectsPlanningPagePage.d.ts.map +1 -0
  152. package/dist/planmagnet/pages/ProjectsPlanningPagePage.js +142 -0
  153. package/dist/planmagnet/pages/ProjectsPlanningPagePage.js.map +1 -0
  154. package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.d.ts +2 -0
  155. package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.d.ts.map +1 -0
  156. package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.js +363 -0
  157. package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.js.map +1 -0
  158. package/dist/planmagnet/pages/ProjectsProjectsPagePage.d.ts +2 -0
  159. package/dist/planmagnet/pages/ProjectsProjectsPagePage.d.ts.map +1 -0
  160. package/dist/planmagnet/pages/ProjectsProjectsPagePage.js +176 -0
  161. package/dist/planmagnet/pages/ProjectsProjectsPagePage.js.map +1 -0
  162. package/dist/planmagnet/pages/ReportsCreateReportPagePage.d.ts +2 -0
  163. package/dist/planmagnet/pages/ReportsCreateReportPagePage.d.ts.map +1 -0
  164. package/dist/planmagnet/pages/ReportsCreateReportPagePage.js +173 -0
  165. package/dist/planmagnet/pages/ReportsCreateReportPagePage.js.map +1 -0
  166. package/dist/planmagnet/pages/ReportsReportsPagePage.d.ts +2 -0
  167. package/dist/planmagnet/pages/ReportsReportsPagePage.d.ts.map +1 -0
  168. package/dist/planmagnet/pages/ReportsReportsPagePage.js +221 -0
  169. package/dist/planmagnet/pages/ReportsReportsPagePage.js.map +1 -0
  170. package/dist/planmagnet/pages/SprintsStartSprintPagePage.d.ts +2 -0
  171. package/dist/planmagnet/pages/SprintsStartSprintPagePage.d.ts.map +1 -0
  172. package/dist/planmagnet/pages/SprintsStartSprintPagePage.js +282 -0
  173. package/dist/planmagnet/pages/SprintsStartSprintPagePage.js.map +1 -0
  174. package/dist/planmagnet/pages/TasksCreateTaskPagePage.d.ts +2 -0
  175. package/dist/planmagnet/pages/TasksCreateTaskPagePage.d.ts.map +1 -0
  176. package/dist/planmagnet/pages/TasksCreateTaskPagePage.js +227 -0
  177. package/dist/planmagnet/pages/TasksCreateTaskPagePage.js.map +1 -0
  178. package/dist/planmagnet/pages/TasksEditTaskPagePage.d.ts +2 -0
  179. package/dist/planmagnet/pages/TasksEditTaskPagePage.d.ts.map +1 -0
  180. package/dist/planmagnet/pages/TasksEditTaskPagePage.js +234 -0
  181. package/dist/planmagnet/pages/TasksEditTaskPagePage.js.map +1 -0
  182. package/dist/planmagnet/pages/TasksTaskDetailPagePage.d.ts +2 -0
  183. package/dist/planmagnet/pages/TasksTaskDetailPagePage.d.ts.map +1 -0
  184. package/dist/planmagnet/pages/TasksTaskDetailPagePage.js +232 -0
  185. package/dist/planmagnet/pages/TasksTaskDetailPagePage.js.map +1 -0
  186. package/dist/planmagnet/pages/TasksTasksPagePage.d.ts +2 -0
  187. package/dist/planmagnet/pages/TasksTasksPagePage.d.ts.map +1 -0
  188. package/dist/planmagnet/pages/TasksTasksPagePage.js +206 -0
  189. package/dist/planmagnet/pages/TasksTasksPagePage.js.map +1 -0
  190. package/dist/planmagnet/pages/TeamCreateTeamPagePage.d.ts +2 -0
  191. package/dist/planmagnet/pages/TeamCreateTeamPagePage.d.ts.map +1 -0
  192. package/dist/planmagnet/pages/TeamCreateTeamPagePage.js +138 -0
  193. package/dist/planmagnet/pages/TeamCreateTeamPagePage.js.map +1 -0
  194. package/dist/planmagnet/pages/TeamInviteMemberPagePage.d.ts +2 -0
  195. package/dist/planmagnet/pages/TeamInviteMemberPagePage.d.ts.map +1 -0
  196. package/dist/planmagnet/pages/TeamInviteMemberPagePage.js +161 -0
  197. package/dist/planmagnet/pages/TeamInviteMemberPagePage.js.map +1 -0
  198. package/dist/planmagnet/pages/TeamTeamPagePage.d.ts +2 -0
  199. package/dist/planmagnet/pages/TeamTeamPagePage.d.ts.map +1 -0
  200. package/dist/planmagnet/pages/TeamTeamPagePage.js +203 -0
  201. package/dist/planmagnet/pages/TeamTeamPagePage.js.map +1 -0
  202. package/dist/planmagnet/pages/WorkspaceCreateWorkspacePagePage.d.ts +2 -0
  203. package/dist/planmagnet/pages/WorkspaceCreateWorkspacePagePage.d.ts.map +1 -0
  204. package/dist/planmagnet/pages/WorkspaceCreateWorkspacePagePage.js +97 -0
  205. package/dist/planmagnet/pages/WorkspaceCreateWorkspacePagePage.js.map +1 -0
  206. package/dist/planmagnet/providers/PlanMagnetProvider.d.ts +31 -0
  207. package/dist/planmagnet/providers/PlanMagnetProvider.d.ts.map +1 -0
  208. package/dist/planmagnet/providers/PlanMagnetProvider.js +119 -0
  209. package/dist/planmagnet/providers/PlanMagnetProvider.js.map +1 -0
  210. package/dist/planmagnet/store/planmagnetStore.d.ts +30 -0
  211. package/dist/planmagnet/store/planmagnetStore.d.ts.map +1 -0
  212. package/dist/planmagnet/store/planmagnetStore.js +42 -0
  213. package/dist/planmagnet/store/planmagnetStore.js.map +1 -0
  214. package/dist/planmagnet/types/index.d.ts +317 -0
  215. package/dist/planmagnet/types/index.d.ts.map +1 -0
  216. package/dist/planmagnet/utils/cn.d.ts +4 -0
  217. package/dist/planmagnet/utils/cn.d.ts.map +1 -0
  218. package/dist/planmagnet/utils/navigation.d.ts +2 -0
  219. package/dist/planmagnet/utils/navigation.d.ts.map +1 -0
  220. package/dist/planmagnet/utils/navigation.js +8 -0
  221. package/dist/planmagnet/utils/navigation.js.map +1 -0
  222. package/package.json +107 -0
@@ -0,0 +1,112 @@
1
+ import { usePlanMagnet as e } from "../providers/PlanMagnetProvider.js";
2
+ import { Calendar as t, File as n, FolderKanban as r } from "lucide-react";
3
+ import { gql as i } from "@apollo/client";
4
+ import { useQuery as a } from "@apollo/client/react";
5
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
6
+ import { Card as c, CardContent as l } from "@burdenoff/fe-libs/ui";
7
+ //#region src/planmagnet/pages/CollaborationFilesPagePage.tsx
8
+ var u = i`
9
+ query GetProjectsForFiles($workspaceId: ID!, $pagination: PaginationInput) {
10
+ planmagnetProjects(workspaceId: $workspaceId, pagination: $pagination) {
11
+ items {
12
+ id
13
+ name
14
+ key
15
+ status
16
+ methodology
17
+ tags
18
+ startDate
19
+ endDate
20
+ }
21
+ totalCount
22
+ }
23
+ }
24
+ `;
25
+ function d() {
26
+ let { workspaceId: i } = e(), { data: d, loading: f, error: p } = a(u, {
27
+ variables: {
28
+ workspaceId: i,
29
+ pagination: { first: 100 }
30
+ },
31
+ skip: !i
32
+ });
33
+ if (f) return /* @__PURE__ */ o("div", {
34
+ className: "flex items-center justify-center p-12",
35
+ children: /* @__PURE__ */ o("div", { className: "animate-spin h-8 w-8 border-2 border-primary border-t-transparent rounded-full" })
36
+ });
37
+ if (p) return /* @__PURE__ */ s("div", {
38
+ className: "p-6 text-red-500",
39
+ children: ["Error: ", p.message]
40
+ });
41
+ let m = d?.planmagnetProjects?.items ?? [], h = m.map((e) => ({
42
+ id: e.id,
43
+ name: e.name,
44
+ key: e.key,
45
+ status: e.status,
46
+ methodology: e.methodology,
47
+ tags: e.tags,
48
+ startDate: e.startDate,
49
+ endDate: e.endDate
50
+ }));
51
+ return /* @__PURE__ */ s("div", {
52
+ className: "space-y-6 p-6",
53
+ children: [/* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("h1", {
54
+ className: "text-2xl font-semibold",
55
+ children: "Shared Files"
56
+ }), /* @__PURE__ */ s("p", {
57
+ className: "text-sm text-muted-foreground",
58
+ children: [m.length, " projects with associated resources"]
59
+ })] }), /* @__PURE__ */ s("div", {
60
+ className: "space-y-2",
61
+ children: [h.map((e) => /* @__PURE__ */ o(c, {
62
+ className: "hover:bg-muted/30 cursor-pointer transition-colors",
63
+ children: /* @__PURE__ */ s(l, {
64
+ className: "py-3 flex items-center justify-between",
65
+ children: [/* @__PURE__ */ s("div", {
66
+ className: "flex items-center gap-3",
67
+ children: [/* @__PURE__ */ o(r, { className: "h-5 w-5 text-muted-foreground" }), /* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("p", {
68
+ className: "text-sm font-medium",
69
+ children: e.name
70
+ }), /* @__PURE__ */ s("p", {
71
+ className: "text-xs text-muted-foreground",
72
+ children: [
73
+ e.key,
74
+ " · ",
75
+ e.methodology ?? "No methodology"
76
+ ]
77
+ })] })]
78
+ }), /* @__PURE__ */ s("div", {
79
+ className: "flex items-center gap-6 text-xs text-muted-foreground",
80
+ children: [
81
+ /* @__PURE__ */ o("span", {
82
+ className: "capitalize",
83
+ children: e.status.toLowerCase()
84
+ }),
85
+ e.tags.length > 0 && /* @__PURE__ */ o("div", {
86
+ className: "flex gap-1",
87
+ children: e.tags.slice(0, 3).map((e) => /* @__PURE__ */ o("span", {
88
+ className: "px-1.5 py-0.5 bg-muted rounded text-[10px]",
89
+ children: e
90
+ }, e))
91
+ }),
92
+ e.startDate && /* @__PURE__ */ s("span", {
93
+ className: "flex items-center gap-1",
94
+ children: [/* @__PURE__ */ o(t, { className: "h-3 w-3" }), e.startDate]
95
+ })
96
+ ]
97
+ })]
98
+ })
99
+ }, e.id)), h.length === 0 && /* @__PURE__ */ s("div", {
100
+ className: "text-center py-12",
101
+ children: [/* @__PURE__ */ o(n, { className: "h-12 w-12 text-muted-foreground mx-auto mb-3" }), /* @__PURE__ */ o("p", {
102
+ className: "text-sm text-muted-foreground",
103
+ children: "No projects found. Files will appear once projects are created."
104
+ })]
105
+ })]
106
+ })]
107
+ });
108
+ }
109
+ //#endregion
110
+ export { d as CollaborationFilesPagePage };
111
+
112
+ //# sourceMappingURL=CollaborationFilesPagePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollaborationFilesPagePage.js","names":[],"sources":["../../../src/planmagnet/pages/CollaborationFilesPagePage.tsx"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\nimport { gql } from '@apollo/client';\nimport { useQuery } from '@apollo/client/react';\nimport { Card, CardContent } from '@burdenoff/fe-libs/ui';\nimport { FileText, File, FolderKanban, Calendar } from 'lucide-react';\nimport { usePlanMagnet } from '../providers/PlanMagnetProvider';\n\nconst GET_PROJECTS_FOR_FILES = gql`\n query GetProjectsForFiles($workspaceId: ID!, $pagination: PaginationInput) {\n planmagnetProjects(workspaceId: $workspaceId, pagination: $pagination) {\n items {\n id\n name\n key\n status\n methodology\n tags\n startDate\n endDate\n }\n totalCount\n }\n }\n`;\n\ninterface ProjectNode {\n id: string;\n name: string;\n key: string;\n status: string;\n methodology: string | null;\n tags: string[];\n startDate: string | null;\n endDate: string | null;\n}\n\ninterface ProjectsData {\n projects: { items: ProjectNode[]; totalCount: number };\n}\n\nexport function CollaborationFilesPagePage() {\n const { workspaceId } = usePlanMagnet();\n\n const { data, loading, error } = useQuery<ProjectsData>(GET_PROJECTS_FOR_FILES, {\n variables: {\n workspaceId,\n pagination: { first: 100 },\n },\n skip: !workspaceId,\n });\n\n if (loading) {\n return (\n <div className=\"flex items-center justify-center p-12\">\n <div className=\"animate-spin h-8 w-8 border-2 border-primary border-t-transparent rounded-full\" />\n </div>\n );\n }\n\n if (error) {\n return <div className=\"p-6 text-red-500\">Error: {error.message}</div>;\n }\n\n const projects = data?.planmagnetProjects?.items ?? [];\n\n const projectFiles = projects.map((project) => ({\n id: project.id,\n name: project.name,\n key: project.key,\n status: project.status,\n methodology: project.methodology,\n tags: project.tags,\n startDate: project.startDate,\n endDate: project.endDate,\n }));\n\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Shared Files</h1>\n <p className=\"text-sm text-muted-foreground\">\n {projects.length} projects with associated resources\n </p>\n </div>\n <div className=\"space-y-2\">\n {projectFiles.map((pf) => (\n <Card key={pf.id} className=\"hover:bg-muted/30 cursor-pointer transition-colors\">\n <CardContent className=\"py-3 flex items-center justify-between\">\n <div className=\"flex items-center gap-3\">\n <FolderKanban className=\"h-5 w-5 text-muted-foreground\" />\n <div>\n <p className=\"text-sm font-medium\">{pf.name}</p>\n <p className=\"text-xs text-muted-foreground\">\n {pf.key} &middot; {pf.methodology ?? 'No methodology'}\n </p>\n </div>\n </div>\n <div className=\"flex items-center gap-6 text-xs text-muted-foreground\">\n <span className=\"capitalize\">{pf.status.toLowerCase()}</span>\n {pf.tags.length > 0 && (\n <div className=\"flex gap-1\">\n {pf.tags.slice(0, 3).map((tag) => (\n <span key={tag} className=\"px-1.5 py-0.5 bg-muted rounded text-[10px]\">\n {tag}\n </span>\n ))}\n </div>\n )}\n {pf.startDate && (\n <span className=\"flex items-center gap-1\">\n <Calendar className=\"h-3 w-3\" />\n {pf.startDate}\n </span>\n )}\n </div>\n </CardContent>\n </Card>\n ))}\n {projectFiles.length === 0 && (\n <div className=\"text-center py-12\">\n <File className=\"h-12 w-12 text-muted-foreground mx-auto mb-3\" />\n <p className=\"text-sm text-muted-foreground\">\n No projects found. Files will appear once projects are created.\n </p>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;AAQA,IAAM,IAAyB,CAAG;;;;;;;;;;;;;;;;;AAiClC,SAAgB,IAA6B;CAC3C,IAAM,EAAE,mBAAgB,GAAe,EAEjC,EAAE,SAAM,YAAS,aAAU,EAAuB,GAAwB;EAC9E,WAAW;GACT;GACA,YAAY,EAAE,OAAO,KAAK;GAC3B;EACD,MAAM,CAAC;EACR,CAAC;AAEF,KAAI,EACF,QACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,OAAD,EAAK,WAAU,kFAAmF,CAAA;EAC9F,CAAA;AAIV,KAAI,EACF,QAAO,kBAAC,OAAD;EAAK,WAAU;YAAf,CAAkC,WAAQ,EAAM,QAAc;;CAGvE,IAAM,IAAW,GAAM,oBAAoB,SAAS,EAAE,EAEhD,IAAe,EAAS,KAAK,OAAa;EAC9C,IAAI,EAAQ;EACZ,MAAM,EAAQ;EACd,KAAK,EAAQ;EACb,QAAQ,EAAQ;EAChB,aAAa,EAAQ;EACrB,MAAM,EAAQ;EACd,WAAW,EAAQ;EACnB,SAAS,EAAQ;EAClB,EAAE;AAEH,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;GAAI,WAAU;aAAyB;GAAiB,CAAA,EACxD,kBAAC,KAAD;GAAG,WAAU;aAAb,CACG,EAAS,QAAO,sCACf;KACA,EAAA,CAAA,EACN,kBAAC,OAAD;GAAK,WAAU;aAAf,CACG,EAAa,KAAK,MACjB,kBAAC,GAAD;IAAkB,WAAU;cAC1B,kBAAC,GAAD;KAAa,WAAU;eAAvB,CACE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,GAAD,EAAc,WAAU,iCAAkC,CAAA,EAC1D,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;OAAG,WAAU;iBAAuB,EAAG;OAAS,CAAA,EAChD,kBAAC,KAAD;OAAG,WAAU;iBAAb;QACG,EAAG;QAAI;QAAW,EAAG,eAAe;QACnC;SACA,EAAA,CAAA,CACF;SACN,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,QAAD;QAAM,WAAU;kBAAc,EAAG,OAAO,aAAa;QAAQ,CAAA;OAC5D,EAAG,KAAK,SAAS,KAChB,kBAAC,OAAD;QAAK,WAAU;kBACZ,EAAG,KAAK,MAAM,GAAG,EAAE,CAAC,KAAK,MACxB,kBAAC,QAAD;SAAgB,WAAU;mBACvB;SACI,EAFI,EAEJ,CACP;QACE,CAAA;OAEP,EAAG,aACF,kBAAC,QAAD;QAAM,WAAU;kBAAhB,CACE,kBAAC,GAAD,EAAU,WAAU,WAAY,CAAA,EAC/B,EAAG,UACC;;OAEL;QACM;;IACT,EA9BI,EAAG,GA8BP,CACP,EACD,EAAa,WAAW,KACvB,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,GAAD,EAAM,WAAU,gDAAiD,CAAA,EACjE,kBAAC,KAAD;KAAG,WAAU;eAAgC;KAEzC,CAAA,CACA;MAEJ;KACF"}
@@ -0,0 +1,2 @@
1
+ export declare function CollaborationMessagesPagePage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=CollaborationMessagesPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollaborationMessagesPagePage.d.ts","sourceRoot":"","sources":["../../../src/planmagnet/pages/CollaborationMessagesPagePage.tsx"],"names":[],"mappings":"AA0DA,wBAAgB,6BAA6B,4CAqG5C"}
@@ -0,0 +1,141 @@
1
+ import { usePlanMagnet as e } from "../providers/PlanMagnetProvider.js";
2
+ import { Hash as t, MessageSquare as n } from "lucide-react";
3
+ import { gql as r } from "@apollo/client";
4
+ import { useQuery as i } from "@apollo/client/react";
5
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
+ import { Card as s, CardContent as c } from "@burdenoff/fe-libs/ui";
7
+ //#region src/planmagnet/pages/CollaborationMessagesPagePage.tsx
8
+ var l = r`
9
+ query GetRecentWorkItemsForMessages($workspaceId: ID!, $pagination: PaginationInput) {
10
+ planmagnetWorkItems(workspaceId: $workspaceId, pagination: $pagination) {
11
+ items {
12
+ id
13
+ key
14
+ title
15
+ status
16
+ priority
17
+ assigneeId
18
+ labels
19
+ tags
20
+ createdAt
21
+ }
22
+ totalCount
23
+ }
24
+ planmagnetProjects(workspaceId: $workspaceId, pagination: $pagination) {
25
+ items {
26
+ id
27
+ name
28
+ key
29
+ }
30
+ totalCount
31
+ }
32
+ }
33
+ `;
34
+ function u() {
35
+ let { workspaceId: r } = e(), { data: u, loading: d, error: f } = i(l, {
36
+ variables: {
37
+ workspaceId: r,
38
+ pagination: { first: 50 }
39
+ },
40
+ skip: !r
41
+ });
42
+ if (d) return /* @__PURE__ */ a("div", {
43
+ className: "flex items-center justify-center p-12",
44
+ children: /* @__PURE__ */ a("div", { className: "animate-spin h-8 w-8 border-2 border-primary border-t-transparent rounded-full" })
45
+ });
46
+ if (f) return /* @__PURE__ */ o("div", {
47
+ className: "p-6 text-red-500",
48
+ children: ["Error: ", f.message]
49
+ });
50
+ let p = u?.planmagnetWorkItems?.items ?? [], m = u?.planmagnetProjects?.items ?? [];
51
+ new Map(m.map((e) => [e.id, e]));
52
+ let h = p.slice(0, 20).map((e) => ({
53
+ id: e.id,
54
+ key: e.key,
55
+ title: e.title,
56
+ status: e.status,
57
+ priority: e.priority,
58
+ assigneeId: e.assigneeId,
59
+ createdAt: e.createdAt,
60
+ labels: e.labels
61
+ }));
62
+ return /* @__PURE__ */ o("div", {
63
+ className: "space-y-6 p-6",
64
+ children: [/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("h1", {
65
+ className: "text-2xl font-semibold",
66
+ children: "Messages"
67
+ }), /* @__PURE__ */ a("p", {
68
+ className: "text-sm text-muted-foreground",
69
+ children: "Recent activity across all projects"
70
+ })] }), /* @__PURE__ */ o("div", {
71
+ className: "space-y-4",
72
+ children: [h.map((e) => /* @__PURE__ */ a(s, { children: /* @__PURE__ */ a(c, {
73
+ className: "py-3",
74
+ children: /* @__PURE__ */ o("div", {
75
+ className: "flex items-start gap-3",
76
+ children: [/* @__PURE__ */ a("div", {
77
+ className: "h-8 w-8 rounded-full bg-primary/10 flex items-center justify-center text-xs font-medium text-primary shrink-0 mt-0.5",
78
+ children: e.key.slice(0, 2)
79
+ }), /* @__PURE__ */ o("div", {
80
+ className: "flex-1",
81
+ children: [
82
+ /* @__PURE__ */ o("div", {
83
+ className: "flex items-center gap-2",
84
+ children: [
85
+ /* @__PURE__ */ a("span", {
86
+ className: "text-sm font-medium",
87
+ children: e.title
88
+ }),
89
+ /* @__PURE__ */ o("span", {
90
+ className: "text-xs text-muted-foreground flex items-center gap-0.5",
91
+ children: [/* @__PURE__ */ a(t, { className: "h-3 w-3" }), e.key]
92
+ }),
93
+ /* @__PURE__ */ a("span", {
94
+ className: "text-xs text-muted-foreground",
95
+ children: new Date(e.createdAt).toLocaleTimeString([], {
96
+ hour: "2-digit",
97
+ minute: "2-digit"
98
+ })
99
+ })
100
+ ]
101
+ }),
102
+ /* @__PURE__ */ o("p", {
103
+ className: "text-sm mt-1 text-muted-foreground",
104
+ children: [
105
+ "Status: ",
106
+ e.status.toLowerCase().replace("_", " "),
107
+ " · Priority:",
108
+ " ",
109
+ e.priority.toLowerCase()
110
+ ]
111
+ }),
112
+ /* @__PURE__ */ o("div", {
113
+ className: "flex items-center gap-3 mt-2",
114
+ children: [/* @__PURE__ */ a("div", {
115
+ className: "flex gap-1",
116
+ children: e.labels.slice(0, 3).map((e) => /* @__PURE__ */ a("span", {
117
+ className: "text-xs bg-muted px-1.5 py-0.5 rounded-full",
118
+ children: e
119
+ }, e))
120
+ }), e.assigneeId && /* @__PURE__ */ o("span", {
121
+ className: "text-xs text-primary flex items-center gap-1",
122
+ children: [/* @__PURE__ */ a(n, { className: "h-3 w-3" }), "Assigned"]
123
+ })]
124
+ })
125
+ ]
126
+ })]
127
+ })
128
+ }) }, e.id)), h.length === 0 && /* @__PURE__ */ o("div", {
129
+ className: "text-center py-12",
130
+ children: [/* @__PURE__ */ a(n, { className: "h-12 w-12 text-muted-foreground mx-auto mb-3" }), /* @__PURE__ */ a("p", {
131
+ className: "text-sm text-muted-foreground",
132
+ children: "No recent activity. Create work items to see updates here."
133
+ })]
134
+ })]
135
+ })]
136
+ });
137
+ }
138
+ //#endregion
139
+ export { u as CollaborationMessagesPagePage };
140
+
141
+ //# sourceMappingURL=CollaborationMessagesPagePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollaborationMessagesPagePage.js","names":[],"sources":["../../../src/planmagnet/pages/CollaborationMessagesPagePage.tsx"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\nimport { gql } from '@apollo/client';\nimport { useQuery } from '@apollo/client/react';\nimport { Card, CardContent } from '@burdenoff/fe-libs/ui';\nimport { MessageSquare, Hash } from 'lucide-react';\nimport { usePlanMagnet } from '../providers/PlanMagnetProvider';\n\nconst GET_RECENT_WORK_ITEMS = gql`\n query GetRecentWorkItemsForMessages($workspaceId: ID!, $pagination: PaginationInput) {\n planmagnetWorkItems(workspaceId: $workspaceId, pagination: $pagination) {\n items {\n id\n key\n title\n status\n priority\n assigneeId\n labels\n tags\n createdAt\n }\n totalCount\n }\n planmagnetProjects(workspaceId: $workspaceId, pagination: $pagination) {\n items {\n id\n name\n key\n }\n totalCount\n }\n }\n`;\n\ninterface WorkItemNode {\n id: string;\n key: string;\n title: string;\n status: string;\n priority: string;\n assigneeId: string | null;\n labels: string[];\n tags: string[];\n createdAt: string;\n}\n\ninterface ProjectNode {\n id: string;\n name: string;\n key: string;\n}\n\ninterface MessagesData {\n workItems: { items: WorkItemNode[]; totalCount: number };\n projects: { items: ProjectNode[]; totalCount: number };\n}\n\nexport function CollaborationMessagesPagePage() {\n const { workspaceId } = usePlanMagnet();\n\n const { data, loading, error } = useQuery<MessagesData>(GET_RECENT_WORK_ITEMS, {\n variables: {\n workspaceId,\n pagination: { first: 50 },\n },\n skip: !workspaceId,\n });\n\n if (loading) {\n return (\n <div className=\"flex items-center justify-center p-12\">\n <div className=\"animate-spin h-8 w-8 border-2 border-primary border-t-transparent rounded-full\" />\n </div>\n );\n }\n\n if (error) {\n return <div className=\"p-6 text-red-500\">Error: {error.message}</div>;\n }\n\n const workItems = data?.planmagnetWorkItems?.items ?? [];\n const projects = data?.planmagnetProjects?.items ?? [];\n const projectMap = new Map(projects.map((p) => [p.id, p]));\n\n const recentActivity = workItems.slice(0, 20).map((wi) => ({\n id: wi.id,\n key: wi.key,\n title: wi.title,\n status: wi.status,\n priority: wi.priority,\n assigneeId: wi.assigneeId,\n createdAt: wi.createdAt,\n labels: wi.labels,\n }));\n\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Messages</h1>\n <p className=\"text-sm text-muted-foreground\">Recent activity across all projects</p>\n </div>\n <div className=\"space-y-4\">\n {recentActivity.map((activity) => (\n <Card key={activity.id}>\n <CardContent className=\"py-3\">\n <div className=\"flex items-start gap-3\">\n <div className=\"h-8 w-8 rounded-full bg-primary/10 flex items-center justify-center text-xs font-medium text-primary shrink-0 mt-0.5\">\n {activity.key.slice(0, 2)}\n </div>\n <div className=\"flex-1\">\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm font-medium\">{activity.title}</span>\n <span className=\"text-xs text-muted-foreground flex items-center gap-0.5\">\n <Hash className=\"h-3 w-3\" />\n {activity.key}\n </span>\n <span className=\"text-xs text-muted-foreground\">\n {new Date(activity.createdAt).toLocaleTimeString([], {\n hour: '2-digit',\n minute: '2-digit',\n })}\n </span>\n </div>\n <p className=\"text-sm mt-1 text-muted-foreground\">\n Status: {activity.status.toLowerCase().replace('_', ' ')} &middot; Priority:{' '}\n {activity.priority.toLowerCase()}\n </p>\n <div className=\"flex items-center gap-3 mt-2\">\n <div className=\"flex gap-1\">\n {activity.labels.slice(0, 3).map((label) => (\n <span key={label} className=\"text-xs bg-muted px-1.5 py-0.5 rounded-full\">\n {label}\n </span>\n ))}\n </div>\n {activity.assigneeId && (\n <span className=\"text-xs text-primary flex items-center gap-1\">\n <MessageSquare className=\"h-3 w-3\" />\n Assigned\n </span>\n )}\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n ))}\n {recentActivity.length === 0 && (\n <div className=\"text-center py-12\">\n <MessageSquare className=\"h-12 w-12 text-muted-foreground mx-auto mb-3\" />\n <p className=\"text-sm text-muted-foreground\">\n No recent activity. Create work items to see updates here.\n </p>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;AAQA,IAAM,IAAwB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDjC,SAAgB,IAAgC;CAC9C,IAAM,EAAE,mBAAgB,GAAe,EAEjC,EAAE,SAAM,YAAS,aAAU,EAAuB,GAAuB;EAC7E,WAAW;GACT;GACA,YAAY,EAAE,OAAO,IAAI;GAC1B;EACD,MAAM,CAAC;EACR,CAAC;AAEF,KAAI,EACF,QACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,OAAD,EAAK,WAAU,kFAAmF,CAAA;EAC9F,CAAA;AAIV,KAAI,EACF,QAAO,kBAAC,OAAD;EAAK,WAAU;YAAf,CAAkC,WAAQ,EAAM,QAAc;;CAGvE,IAAM,IAAY,GAAM,qBAAqB,SAAS,EAAE,EAClD,IAAW,GAAM,oBAAoB,SAAS,EAAE;AACnC,KAAI,IAAI,EAAS,KAAK,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;CAE1D,IAAM,IAAiB,EAAU,MAAM,GAAG,GAAG,CAAC,KAAK,OAAQ;EACzD,IAAI,EAAG;EACP,KAAK,EAAG;EACR,OAAO,EAAG;EACV,QAAQ,EAAG;EACX,UAAU,EAAG;EACb,YAAY,EAAG;EACf,WAAW,EAAG;EACd,QAAQ,EAAG;EACZ,EAAE;AAEH,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;GAAI,WAAU;aAAyB;GAAa,CAAA,EACpD,kBAAC,KAAD;GAAG,WAAU;aAAgC;GAAuC,CAAA,CAChF,EAAA,CAAA,EACN,kBAAC,OAAD;GAAK,WAAU;aAAf,CACG,EAAe,KAAK,MACnB,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;IAAa,WAAU;cACrB,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,OAAD;MAAK,WAAU;gBACZ,EAAS,IAAI,MAAM,GAAG,EAAE;MACrB,CAAA,EACN,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACE,kBAAC,QAAD;UAAM,WAAU;oBAAuB,EAAS;UAAa,CAAA;SAC7D,kBAAC,QAAD;UAAM,WAAU;oBAAhB,CACE,kBAAC,GAAD,EAAM,WAAU,WAAY,CAAA,EAC3B,EAAS,IACL;;SACP,kBAAC,QAAD;UAAM,WAAU;oBACb,IAAI,KAAK,EAAS,UAAU,CAAC,mBAAmB,EAAE,EAAE;WACnD,MAAM;WACN,QAAQ;WACT,CAAC;UACG,CAAA;SACH;;OACN,kBAAC,KAAD;QAAG,WAAU;kBAAb;SAAkD;SACvC,EAAS,OAAO,aAAa,CAAC,QAAQ,KAAK,IAAI;SAAC;SAAoB;SAC5E,EAAS,SAAS,aAAa;SAC9B;;OACJ,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,OAAD;SAAK,WAAU;mBACZ,EAAS,OAAO,MAAM,GAAG,EAAE,CAAC,KAAK,MAChC,kBAAC,QAAD;UAAkB,WAAU;oBACzB;UACI,EAFI,EAEJ,CACP;SACE,CAAA,EACL,EAAS,cACR,kBAAC,QAAD;SAAM,WAAU;mBAAhB,CACE,kBAAC,GAAD,EAAe,WAAU,WAAY,CAAA,EAAA,WAEhC;WAEL;;OACF;QACF;;IACM,CAAA,EACT,EA1CI,EAAS,GA0Cb,CACP,EACD,EAAe,WAAW,KACzB,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,GAAD,EAAe,WAAU,gDAAiD,CAAA,EAC1E,kBAAC,KAAD;KAAG,WAAU;eAAgC;KAEzC,CAAA,CACA;MAEJ;KACF"}
@@ -0,0 +1,2 @@
1
+ export declare function CollaborationNewDiscussionPagePage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=CollaborationNewDiscussionPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollaborationNewDiscussionPagePage.d.ts","sourceRoot":"","sources":["../../../src/planmagnet/pages/CollaborationNewDiscussionPagePage.tsx"],"names":[],"mappings":"AAgCA,wBAAgB,kCAAkC,4CAiGjD"}
@@ -0,0 +1,124 @@
1
+ import { usePlanMagnet as e, usePlanMagnetNavigate as t } from "../providers/PlanMagnetProvider.js";
2
+ import { useState as n } from "react";
3
+ import { MessageCircle as r, Save as i, X as a } from "lucide-react";
4
+ import { gql as o } from "@apollo/client";
5
+ import { useQuery as s } from "@apollo/client/react";
6
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
7
+ import { Button as u, Card as d, CardContent as f, CardHeader as p, CardTitle as m, Input as h } from "@burdenoff/fe-libs/ui";
8
+ //#region src/planmagnet/pages/CollaborationNewDiscussionPagePage.tsx
9
+ var g = o`
10
+ query GetProjectsForDiscussion($workspaceId: ID!, $pagination: PaginationInput) {
11
+ planmagnetProjects(workspaceId: $workspaceId, pagination: $pagination) {
12
+ items {
13
+ id
14
+ name
15
+ key
16
+ }
17
+ totalCount
18
+ }
19
+ }
20
+ `;
21
+ function _() {
22
+ let { workspaceId: o } = e(), _ = t(), [v, y] = n({
23
+ title: "",
24
+ content: "",
25
+ projectId: ""
26
+ }), { data: b, loading: x, error: S } = s(g, {
27
+ variables: {
28
+ workspaceId: o,
29
+ pagination: { first: 100 }
30
+ },
31
+ skip: !o
32
+ }), C = b?.planmagnetProjects?.items ?? [];
33
+ return x ? /* @__PURE__ */ c("div", {
34
+ className: "flex items-center justify-center p-12",
35
+ children: /* @__PURE__ */ c("div", { className: "animate-spin h-8 w-8 border-2 border-primary border-t-transparent rounded-full" })
36
+ }) : S ? /* @__PURE__ */ l("div", {
37
+ className: "p-6 text-red-500",
38
+ children: ["Error: ", S.message]
39
+ }) : /* @__PURE__ */ l("div", {
40
+ className: "space-y-6 p-6 max-w-4xl",
41
+ children: [/* @__PURE__ */ l("div", {
42
+ className: "flex items-center justify-between",
43
+ children: [/* @__PURE__ */ l("div", { children: [/* @__PURE__ */ c("h1", {
44
+ className: "text-2xl font-semibold",
45
+ children: "New Discussion"
46
+ }), /* @__PURE__ */ c("p", {
47
+ className: "text-sm text-muted-foreground",
48
+ children: "Start a new discussion thread with your team."
49
+ })] }), /* @__PURE__ */ l("div", {
50
+ className: "flex gap-2",
51
+ children: [/* @__PURE__ */ l(u, {
52
+ variant: "outline",
53
+ size: "sm",
54
+ onClick: () => _("/collaboration"),
55
+ children: [/* @__PURE__ */ c(a, { className: "mr-1 h-4 w-4" }), "Cancel"]
56
+ }), /* @__PURE__ */ l(u, {
57
+ size: "sm",
58
+ onClick: () => {
59
+ !v.title.trim() || !v.content.trim() || _("/collaboration");
60
+ },
61
+ children: [/* @__PURE__ */ c(i, { className: "mr-1 h-4 w-4" }), "Post Discussion"]
62
+ })]
63
+ })]
64
+ }), /* @__PURE__ */ l(d, { children: [/* @__PURE__ */ c(p, { children: /* @__PURE__ */ l(m, {
65
+ className: "flex items-center gap-2",
66
+ children: [/* @__PURE__ */ c(r, { className: "h-4 w-4" }), "Discussion Details"]
67
+ }) }), /* @__PURE__ */ l(f, {
68
+ className: "space-y-4",
69
+ children: [
70
+ /* @__PURE__ */ l("div", { children: [/* @__PURE__ */ c("label", {
71
+ className: "text-sm font-medium",
72
+ children: "Title"
73
+ }), /* @__PURE__ */ c(h, {
74
+ value: v.title,
75
+ onChange: (e) => y({
76
+ ...v,
77
+ title: e.target.value
78
+ }),
79
+ className: "mt-1",
80
+ placeholder: "e.g. RFC: Search Architecture Proposal"
81
+ })] }),
82
+ /* @__PURE__ */ l("div", { children: [/* @__PURE__ */ c("label", {
83
+ className: "text-sm font-medium",
84
+ children: "Project (optional)"
85
+ }), /* @__PURE__ */ l("select", {
86
+ className: "mt-1 w-full rounded-md border border-input bg-background px-3 py-2 text-sm",
87
+ value: v.projectId,
88
+ onChange: (e) => y({
89
+ ...v,
90
+ projectId: e.target.value
91
+ }),
92
+ children: [/* @__PURE__ */ c("option", {
93
+ value: "",
94
+ children: "General"
95
+ }), C.map((e) => /* @__PURE__ */ l("option", {
96
+ value: e.id,
97
+ children: [
98
+ e.name,
99
+ " (",
100
+ e.key,
101
+ ")"
102
+ ]
103
+ }, e.id))]
104
+ })] }),
105
+ /* @__PURE__ */ l("div", { children: [/* @__PURE__ */ c("label", {
106
+ className: "text-sm font-medium",
107
+ children: "Content"
108
+ }), /* @__PURE__ */ c("textarea", {
109
+ className: "mt-1 w-full rounded-md border border-input bg-background px-3 py-2 text-sm min-h-[200px] font-mono",
110
+ value: v.content,
111
+ onChange: (e) => y({
112
+ ...v,
113
+ content: e.target.value
114
+ }),
115
+ placeholder: "Write your discussion content... (Markdown supported)"
116
+ })] })
117
+ ]
118
+ })] })]
119
+ });
120
+ }
121
+ //#endregion
122
+ export { _ as CollaborationNewDiscussionPagePage };
123
+
124
+ //# sourceMappingURL=CollaborationNewDiscussionPagePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollaborationNewDiscussionPagePage.js","names":[],"sources":["../../../src/planmagnet/pages/CollaborationNewDiscussionPagePage.tsx"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\nimport { useState } from 'react';\nimport { gql } from '@apollo/client';\nimport { useQuery } from '@apollo/client/react';\nimport { Card, CardContent, CardHeader, CardTitle, Button, Input } from '@burdenoff/fe-libs/ui';\nimport { Save, X, MessageCircle } from 'lucide-react';\nimport { usePlanMagnet, usePlanMagnetNavigate } from '../providers/PlanMagnetProvider';\n\nconst GET_PROJECTS_FOR_DISCUSSION = gql`\n query GetProjectsForDiscussion($workspaceId: ID!, $pagination: PaginationInput) {\n planmagnetProjects(workspaceId: $workspaceId, pagination: $pagination) {\n items {\n id\n name\n key\n }\n totalCount\n }\n }\n`;\n\ninterface ProjectNode {\n id: string;\n name: string;\n key: string;\n}\n\ninterface ProjectsData {\n projects: { items: ProjectNode[]; totalCount: number };\n}\n\nexport function CollaborationNewDiscussionPagePage() {\n const { workspaceId } = usePlanMagnet();\n const navigate = usePlanMagnetNavigate();\n const [form, setForm] = useState({ title: '', content: '', projectId: '' });\n\n const { data, loading, error } = useQuery<ProjectsData>(GET_PROJECTS_FOR_DISCUSSION, {\n variables: {\n workspaceId,\n pagination: { first: 100 },\n },\n skip: !workspaceId,\n });\n\n const projects = data?.planmagnetProjects?.items ?? [];\n\n const handlePost = () => {\n if (!form.title.trim() || !form.content.trim()) return;\n navigate('/collaboration');\n };\n\n if (loading) {\n return (\n <div className=\"flex items-center justify-center p-12\">\n <div className=\"animate-spin h-8 w-8 border-2 border-primary border-t-transparent rounded-full\" />\n </div>\n );\n }\n\n if (error) {\n return <div className=\"p-6 text-red-500\">Error: {error.message}</div>;\n }\n\n return (\n <div className=\"space-y-6 p-6 max-w-4xl\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold\">New Discussion</h1>\n <p className=\"text-sm text-muted-foreground\">\n Start a new discussion thread with your team.\n </p>\n </div>\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"sm\" onClick={() => navigate('/collaboration')}>\n <X className=\"mr-1 h-4 w-4\" />\n Cancel\n </Button>\n <Button size=\"sm\" onClick={handlePost}>\n <Save className=\"mr-1 h-4 w-4\" />\n Post Discussion\n </Button>\n </div>\n </div>\n <Card>\n <CardHeader>\n <CardTitle className=\"flex items-center gap-2\">\n <MessageCircle className=\"h-4 w-4\" />\n Discussion Details\n </CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div>\n <label className=\"text-sm font-medium\">Title</label>\n <Input\n value={form.title}\n onChange={(e) => setForm({ ...form, title: e.target.value })}\n className=\"mt-1\"\n placeholder=\"e.g. RFC: Search Architecture Proposal\"\n />\n </div>\n <div>\n <label className=\"text-sm font-medium\">Project (optional)</label>\n <select\n className=\"mt-1 w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"\n value={form.projectId}\n onChange={(e) => setForm({ ...form, projectId: e.target.value })}\n >\n <option value=\"\">General</option>\n {projects.map((p) => (\n <option key={p.id} value={p.id}>\n {p.name} ({p.key})\n </option>\n ))}\n </select>\n </div>\n <div>\n <label className=\"text-sm font-medium\">Content</label>\n <textarea\n className=\"mt-1 w-full rounded-md border border-input bg-background px-3 py-2 text-sm min-h-[200px] font-mono\"\n value={form.content}\n onChange={(e) => setForm({ ...form, content: e.target.value })}\n placeholder=\"Write your discussion content... (Markdown supported)\"\n />\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":";;;;;;;;AASA,IAAM,IAA8B,CAAG;;;;;;;;;;;;AAuBvC,SAAgB,IAAqC;CACnD,IAAM,EAAE,mBAAgB,GAAe,EACjC,IAAW,GAAuB,EAClC,CAAC,GAAM,KAAW,EAAS;EAAE,OAAO;EAAI,SAAS;EAAI,WAAW;EAAI,CAAC,EAErE,EAAE,SAAM,YAAS,aAAU,EAAuB,GAA6B;EACnF,WAAW;GACT;GACA,YAAY,EAAE,OAAO,KAAK;GAC3B;EACD,MAAM,CAAC;EACR,CAAC,EAEI,IAAW,GAAM,oBAAoB,SAAS,EAAE;AAmBtD,QAZI,IAEA,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,OAAD,EAAK,WAAU,kFAAmF,CAAA;EAC9F,CAAA,GAIN,IACK,kBAAC,OAAD;EAAK,WAAU;YAAf,CAAkC,WAAQ,EAAM,QAAc;MAIrE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;IAAI,WAAU;cAAyB;IAAmB,CAAA,EAC1D,kBAAC,KAAD;IAAG,WAAU;cAAgC;IAEzC,CAAA,CACA,EAAA,CAAA,EACN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,GAAD;KAAQ,SAAQ;KAAU,MAAK;KAAK,eAAe,EAAS,iBAAiB;eAA7E,CACE,kBAAC,GAAD,EAAG,WAAU,gBAAiB,CAAA,EAAA,SAEvB;QACT,kBAAC,GAAD;KAAQ,MAAK;KAAK,eA/BD;AACnB,OAAC,EAAK,MAAM,MAAM,IAAI,CAAC,EAAK,QAAQ,MAAM,IAC9C,EAAS,iBAAiB;;eA6BpB,CACE,kBAAC,GAAD,EAAM,WAAU,gBAAiB,CAAA,EAAA,kBAE1B;OACL;MACF;MACN,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GAAW,WAAU;aAArB,CACE,kBAAC,GAAD,EAAe,WAAU,WAAY,CAAA,EAAA,qBAE3B;MACD,CAAA,EACb,kBAAC,GAAD;GAAa,WAAU;aAAvB;IACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;KAAO,WAAU;eAAsB;KAAa,CAAA,EACpD,kBAAC,GAAD;KACE,OAAO,EAAK;KACZ,WAAW,MAAM,EAAQ;MAAE,GAAG;MAAM,OAAO,EAAE,OAAO;MAAO,CAAC;KAC5D,WAAU;KACV,aAAY;KACZ,CAAA,CACE,EAAA,CAAA;IACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;KAAO,WAAU;eAAsB;KAA0B,CAAA,EACjE,kBAAC,UAAD;KACE,WAAU;KACV,OAAO,EAAK;KACZ,WAAW,MAAM,EAAQ;MAAE,GAAG;MAAM,WAAW,EAAE,OAAO;MAAO,CAAC;eAHlE,CAKE,kBAAC,UAAD;MAAQ,OAAM;gBAAG;MAAgB,CAAA,EAChC,EAAS,KAAK,MACb,kBAAC,UAAD;MAAmB,OAAO,EAAE;gBAA5B;OACG,EAAE;OAAK;OAAG,EAAE;OAAI;OACV;QAFI,EAAE,GAEN,CACT,CACK;OACL,EAAA,CAAA;IACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;KAAO,WAAU;eAAsB;KAAe,CAAA,EACtD,kBAAC,YAAD;KACE,WAAU;KACV,OAAO,EAAK;KACZ,WAAW,MAAM,EAAQ;MAAE,GAAG;MAAM,SAAS,EAAE,OAAO;MAAO,CAAC;KAC9D,aAAY;KACZ,CAAA,CACE,EAAA,CAAA;IACM;KACT,EAAA,CAAA,CACH"}
@@ -0,0 +1,2 @@
1
+ export declare function DashboardDashboardPagePage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=DashboardDashboardPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardDashboardPagePage.d.ts","sourceRoot":"","sources":["../../../src/planmagnet/pages/DashboardDashboardPagePage.tsx"],"names":[],"mappings":"AAuFA,wBAAgB,0BAA0B,4CAwUzC"}