@burdenoff/microfe-planmagnet 2026.924.2 → 2026.924.3

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 (68) hide show
  1. package/dist/planmagnet/PlanMagnetRoot.d.ts.map +1 -1
  2. package/dist/planmagnet/PlanMagnetRoot.js +93 -142
  3. package/dist/planmagnet/PlanMagnetRoot.js.map +1 -1
  4. package/dist/planmagnet/admin/PlanMagnetAdminRoot.d.ts.map +1 -1
  5. package/dist/planmagnet/admin/PlanMagnetAdminRoot.js +150 -149
  6. package/dist/planmagnet/admin/PlanMagnetAdminRoot.js.map +1 -1
  7. package/dist/planmagnet/pages/DashboardDashboardPagePage.d.ts.map +1 -1
  8. package/dist/planmagnet/pages/DashboardDashboardPagePage.js +113 -116
  9. package/dist/planmagnet/pages/DashboardDashboardPagePage.js.map +1 -1
  10. package/dist/planmagnet/pages/GoalsGoalsPagePage.d.ts.map +1 -1
  11. package/dist/planmagnet/pages/GoalsGoalsPagePage.js +59 -58
  12. package/dist/planmagnet/pages/GoalsGoalsPagePage.js.map +1 -1
  13. package/dist/planmagnet/pages/GoalsObjectiveDetailPagePage.d.ts.map +1 -1
  14. package/dist/planmagnet/pages/GoalsObjectiveDetailPagePage.js +150 -149
  15. package/dist/planmagnet/pages/GoalsObjectiveDetailPagePage.js.map +1 -1
  16. package/dist/planmagnet/pages/ProductsEditProductPagePage.d.ts.map +1 -1
  17. package/dist/planmagnet/pages/ProductsEditProductPagePage.js +108 -107
  18. package/dist/planmagnet/pages/ProductsEditProductPagePage.js.map +1 -1
  19. package/dist/planmagnet/pages/ProductsProductDetailPagePage.d.ts.map +1 -1
  20. package/dist/planmagnet/pages/ProductsProductDetailPagePage.js +93 -92
  21. package/dist/planmagnet/pages/ProductsProductDetailPagePage.js.map +1 -1
  22. package/dist/planmagnet/pages/ProductsProductsPagePage.d.ts.map +1 -1
  23. package/dist/planmagnet/pages/ProductsProductsPagePage.js +89 -87
  24. package/dist/planmagnet/pages/ProductsProductsPagePage.js.map +1 -1
  25. package/dist/planmagnet/pages/ProductsReleaseDetailPagePage.d.ts.map +1 -1
  26. package/dist/planmagnet/pages/ProductsReleaseDetailPagePage.js +94 -93
  27. package/dist/planmagnet/pages/ProductsReleaseDetailPagePage.js.map +1 -1
  28. package/dist/planmagnet/pages/ProductsReleasesPagePage.d.ts.map +1 -1
  29. package/dist/planmagnet/pages/ProductsReleasesPagePage.js +57 -56
  30. package/dist/planmagnet/pages/ProductsReleasesPagePage.js.map +1 -1
  31. package/dist/planmagnet/pages/ProductsRoadmapDetailPagePage.d.ts.map +1 -1
  32. package/dist/planmagnet/pages/ProductsRoadmapDetailPagePage.js +82 -81
  33. package/dist/planmagnet/pages/ProductsRoadmapDetailPagePage.js.map +1 -1
  34. package/dist/planmagnet/pages/ProductsRoadmapsPagePage.d.ts.map +1 -1
  35. package/dist/planmagnet/pages/ProductsRoadmapsPagePage.js +72 -71
  36. package/dist/planmagnet/pages/ProductsRoadmapsPagePage.js.map +1 -1
  37. package/dist/planmagnet/pages/ProjectsActiveProjectsPagePage.d.ts.map +1 -1
  38. package/dist/planmagnet/pages/ProjectsActiveProjectsPagePage.js +38 -37
  39. package/dist/planmagnet/pages/ProjectsActiveProjectsPagePage.js.map +1 -1
  40. package/dist/planmagnet/pages/ProjectsMilestoneDetailPagePage.d.ts.map +1 -1
  41. package/dist/planmagnet/pages/ProjectsMilestoneDetailPagePage.js +72 -71
  42. package/dist/planmagnet/pages/ProjectsMilestoneDetailPagePage.js.map +1 -1
  43. package/dist/planmagnet/pages/ProjectsMilestonesPagePage.d.ts.map +1 -1
  44. package/dist/planmagnet/pages/ProjectsMilestonesPagePage.js +47 -46
  45. package/dist/planmagnet/pages/ProjectsMilestonesPagePage.js.map +1 -1
  46. package/dist/planmagnet/pages/ProjectsPlanningDetailPagePage.d.ts.map +1 -1
  47. package/dist/planmagnet/pages/ProjectsPlanningDetailPagePage.js +120 -119
  48. package/dist/planmagnet/pages/ProjectsPlanningDetailPagePage.js.map +1 -1
  49. package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.d.ts.map +1 -1
  50. package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.js +131 -130
  51. package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.js.map +1 -1
  52. package/dist/planmagnet/pages/ProjectsProjectsPagePage.d.ts.map +1 -1
  53. package/dist/planmagnet/pages/ProjectsProjectsPagePage.js +77 -75
  54. package/dist/planmagnet/pages/ProjectsProjectsPagePage.js.map +1 -1
  55. package/dist/planmagnet/pages/ReportsReportsPagePage.d.ts.map +1 -1
  56. package/dist/planmagnet/pages/ReportsReportsPagePage.js +71 -70
  57. package/dist/planmagnet/pages/ReportsReportsPagePage.js.map +1 -1
  58. package/dist/planmagnet/pages/TeamTeamPagePage.d.ts.map +1 -1
  59. package/dist/planmagnet/pages/TeamTeamPagePage.js +58 -57
  60. package/dist/planmagnet/pages/TeamTeamPagePage.js.map +1 -1
  61. package/dist/planmagnet/pages/WorkspaceCreateWorkspacePagePage.d.ts.map +1 -1
  62. package/dist/planmagnet/pages/WorkspaceCreateWorkspacePagePage.js +81 -72
  63. package/dist/planmagnet/pages/WorkspaceCreateWorkspacePagePage.js.map +1 -1
  64. package/dist/planmagnet/people/People.d.ts +20 -0
  65. package/dist/planmagnet/people/People.d.ts.map +1 -0
  66. package/dist/planmagnet/people/People.js +42 -0
  67. package/dist/planmagnet/people/People.js.map +1 -0
  68. package/package.json +1 -1
@@ -1,14 +1,15 @@
1
1
  import { usePlanMagnet as e, usePlanMagnetNavigate as t } from "../providers/PlanMagnetProvider.js";
2
- import { detailPath as n, rowLinkProps as r } from "../utils/rowNavigation.js";
3
- import { useState as i } from "react";
4
- import { Calendar as a, GitBranch as o, Loader2 as s, Map as c, Package as l, Plus as u } from "lucide-react";
5
- import { gql as d } from "@apollo/client";
6
- import { useQuery as f } from "@apollo/client/react";
7
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
8
- import { useI18n as h } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
9
- import { Badge as g, Button as _, Card as v, CardContent as y, CardHeader as b, CardTitle as x } from "@burdenoff/fe-libs/ui";
2
+ import { PersonName as n } from "../people/People.js";
3
+ import { detailPath as r, rowLinkProps as i } from "../utils/rowNavigation.js";
4
+ import { useState as a } from "react";
5
+ import { Calendar as o, GitBranch as s, Loader2 as c, Map as l, Package as u, Plus as d } from "lucide-react";
6
+ import { gql as f } from "@apollo/client";
7
+ import { useQuery as p } from "@apollo/client/react";
8
+ import { jsx as m, jsxs as h } from "react/jsx-runtime";
9
+ import { useI18n as g } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
10
+ import { Badge as _, Button as v, Card as y, CardContent as b, CardHeader as x, CardTitle as S } from "@burdenoff/fe-libs/ui";
10
11
  //#region src/planmagnet/pages/ProductsProductsPagePage.tsx
11
- var S = d`
12
+ var C = f`
12
13
  query ListRoadmaps($workspaceId: ID!, $pagination: PlanmagnetPaginationInput) {
13
14
  planmagnetRoadmaps(workspaceId: $workspaceId, pagination: $pagination) {
14
15
  items {
@@ -32,52 +33,52 @@ var S = d`
32
33
  totalCount
33
34
  }
34
35
  }
35
- `, C = d`
36
+ `, w = f`
36
37
  query ListFeatureRequestsForProducts($workspaceId: ID!, $pagination: PlanmagnetPaginationInput) {
37
38
  planmagnetFeatureRequests(workspaceId: $workspaceId, pagination: $pagination) {
38
39
  totalCount
39
40
  }
40
41
  }
41
- `, w = d`
42
+ `, T = f`
42
43
  query ListReleasesForProducts($workspaceId: ID!, $pagination: PlanmagnetPaginationInput) {
43
44
  planmagnetReleases(workspaceId: $workspaceId, pagination: $pagination) {
44
45
  totalCount
45
46
  }
46
47
  }
47
48
  `;
48
- function T() {
49
- let { workspaceId: d } = e(), T = t(), { t: E } = h(), [D, O] = i("grid"), { data: k, loading: A, error: j } = f(S, {
49
+ function E() {
50
+ let { workspaceId: f } = e(), E = t(), { t: D } = g(), [O, k] = a("grid"), { data: A, loading: j, error: M } = p(C, {
50
51
  variables: {
51
- workspaceId: d,
52
+ workspaceId: f,
52
53
  pagination: { first: 50 }
53
54
  },
54
- skip: !d
55
- }), { data: M } = f(C, {
55
+ skip: !f
56
+ }), { data: N } = p(w, {
56
57
  variables: {
57
- workspaceId: d,
58
+ workspaceId: f,
58
59
  pagination: { first: 1 }
59
60
  },
60
- skip: !d
61
- }), { data: N } = f(w, {
61
+ skip: !f
62
+ }), { data: P } = p(T, {
62
63
  variables: {
63
- workspaceId: d,
64
+ workspaceId: f,
64
65
  pagination: { first: 1 }
65
66
  },
66
- skip: !d
67
+ skip: !f
67
68
  });
68
- if (A) return /* @__PURE__ */ p("div", {
69
+ if (j) return /* @__PURE__ */ m("div", {
69
70
  className: "flex items-center justify-center p-12",
70
- children: /* @__PURE__ */ p(s, { className: "h-8 w-8 animate-spin text-muted-foreground" })
71
+ children: /* @__PURE__ */ m(c, { className: "h-8 w-8 animate-spin text-muted-foreground" })
71
72
  });
72
- if (j) return /* @__PURE__ */ m("div", {
73
+ if (M) return /* @__PURE__ */ h("div", {
73
74
  className: "p-6 text-destructive",
74
75
  children: [
75
- E("planmagnet.products.errorLoading", "Failed to load products"),
76
+ D("planmagnet.products.errorLoading", "Failed to load products"),
76
77
  ": ",
77
- j.message
78
+ M.message
78
79
  ]
79
80
  });
80
- let P = k?.planmagnetRoadmaps?.items ?? [], F = k?.planmagnetRoadmaps?.totalCount ?? 0, I = M?.planmagnetFeatureRequests?.totalCount ?? 0, L = N?.planmagnetReleases?.totalCount ?? 0, R = (e) => {
81
+ let F = A?.planmagnetRoadmaps?.items ?? [], I = A?.planmagnetRoadmaps?.totalCount ?? 0, L = N?.planmagnetFeatureRequests?.totalCount ?? 0, R = P?.planmagnetReleases?.totalCount ?? 0, z = (e) => {
81
82
  switch (e) {
82
83
  case "TIMELINE": return "default";
83
84
  case "GANTT": return "secondary";
@@ -85,131 +86,132 @@ function T() {
85
86
  default: return "outline";
86
87
  }
87
88
  };
88
- return /* @__PURE__ */ m("div", {
89
+ return /* @__PURE__ */ h("div", {
89
90
  className: "space-y-6 p-6",
90
91
  children: [
91
- /* @__PURE__ */ m("div", {
92
+ /* @__PURE__ */ h("div", {
92
93
  className: "flex items-center justify-between",
93
- children: [/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ m("h1", {
94
+ children: [/* @__PURE__ */ h("div", { children: [/* @__PURE__ */ h("h1", {
94
95
  className: "text-2xl font-semibold flex items-center gap-2",
95
96
  children: [
96
- /* @__PURE__ */ p(l, { className: "h-6 w-6" }),
97
+ /* @__PURE__ */ m(u, { className: "h-6 w-6" }),
97
98
  " ",
98
- E("planmagnet.products.title", "Products")
99
+ D("planmagnet.products.title", "Products")
99
100
  ]
100
- }), /* @__PURE__ */ p("p", {
101
+ }), /* @__PURE__ */ m("p", {
101
102
  className: "text-sm text-muted-foreground mt-1",
102
- children: E("planmagnet.products.subtitle", "Manage your product portfolio and track feature development")
103
- })] }), /* @__PURE__ */ m(_, {
103
+ children: D("planmagnet.products.subtitle", "Manage your product portfolio and track feature development")
104
+ })] }), /* @__PURE__ */ h(v, {
104
105
  size: "sm",
105
- onClick: () => T("/products/create-product-page"),
106
- children: [/* @__PURE__ */ p(u, { className: "h-4 w-4 mr-1" }), E("planmagnet.products.actions.newProduct", "New Product")]
106
+ onClick: () => E("/products/create-product-page"),
107
+ children: [/* @__PURE__ */ m(d, { className: "h-4 w-4 mr-1" }), D("planmagnet.products.actions.newProduct", "New Product")]
107
108
  })]
108
109
  }),
109
- /* @__PURE__ */ p("div", {
110
+ /* @__PURE__ */ m("div", {
110
111
  className: "grid gap-4 md:grid-cols-4",
111
112
  children: [
112
113
  {
113
- label: E("planmagnet.products.metrics.totalProducts", "Total Products"),
114
- val: F,
115
- icon: l,
114
+ label: D("planmagnet.products.metrics.totalProducts", "Total Products"),
115
+ val: I,
116
+ icon: u,
116
117
  color: "text-blue-500"
117
118
  },
118
119
  {
119
- label: E("planmagnet.products.metrics.activeFeatures", "Active Features"),
120
- val: I,
121
- icon: o,
120
+ label: D("planmagnet.products.metrics.activeFeatures", "Active Features"),
121
+ val: L,
122
+ icon: s,
122
123
  color: "text-green-500"
123
124
  },
124
125
  {
125
- label: E("planmagnet.products.metrics.releases", "Releases"),
126
- val: L,
127
- icon: a,
126
+ label: D("planmagnet.products.metrics.releases", "Releases"),
127
+ val: R,
128
+ icon: o,
128
129
  color: "text-purple-500"
129
130
  },
130
131
  {
131
- label: E("planmagnet.products.metrics.roadmaps", "Roadmaps"),
132
- val: F,
133
- icon: c,
132
+ label: D("planmagnet.products.metrics.roadmaps", "Roadmaps"),
133
+ val: I,
134
+ icon: l,
134
135
  color: "text-orange-500"
135
136
  }
136
- ].map((e) => /* @__PURE__ */ p(v, { children: /* @__PURE__ */ p(y, {
137
+ ].map((e) => /* @__PURE__ */ m(y, { children: /* @__PURE__ */ m(b, {
137
138
  className: "pt-6",
138
- children: /* @__PURE__ */ m("div", {
139
+ children: /* @__PURE__ */ h("div", {
139
140
  className: "flex items-center justify-between",
140
- children: [/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("p", {
141
+ children: [/* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("p", {
141
142
  className: "text-sm text-muted-foreground",
142
143
  children: e.label
143
- }), /* @__PURE__ */ p("p", {
144
+ }), /* @__PURE__ */ m("p", {
144
145
  className: "text-2xl font-bold",
145
146
  children: e.val
146
- })] }), /* @__PURE__ */ p(e.icon, { className: `h-8 w-8 ${e.color} opacity-60` })]
147
+ })] }), /* @__PURE__ */ m(e.icon, { className: `h-8 w-8 ${e.color} opacity-60` })]
147
148
  })
148
149
  }) }, e.label))
149
150
  }),
150
- /* @__PURE__ */ p("div", {
151
+ /* @__PURE__ */ m("div", {
151
152
  className: "grid gap-4 md:grid-cols-2 lg:grid-cols-2",
152
- children: P.map((e) => /* @__PURE__ */ m(v, {
153
- ...r(() => T(n("/products/product-detail-page", e.id)), e.name),
154
- children: [/* @__PURE__ */ p(b, { children: /* @__PURE__ */ m("div", {
153
+ children: F.map((e) => /* @__PURE__ */ h(y, {
154
+ ...i(() => E(r("/products/product-detail-page", e.id)), e.name),
155
+ children: [/* @__PURE__ */ m(x, { children: /* @__PURE__ */ h("div", {
155
156
  className: "flex items-center justify-between",
156
- children: [/* @__PURE__ */ p(x, {
157
+ children: [/* @__PURE__ */ m(S, {
157
158
  className: "text-base",
158
159
  children: e.name
159
- }), /* @__PURE__ */ p(g, {
160
- variant: R(e.type),
160
+ }), /* @__PURE__ */ m(_, {
161
+ variant: z(e.type),
161
162
  children: e.type.toLowerCase()
162
163
  })]
163
- }) }), /* @__PURE__ */ m(y, {
164
+ }) }), /* @__PURE__ */ h(b, {
164
165
  className: "space-y-3",
165
166
  children: [
166
- /* @__PURE__ */ p("p", {
167
+ /* @__PURE__ */ m("p", {
167
168
  className: "text-sm text-muted-foreground",
168
- children: e.description ?? E("planmagnet.products.shared.noDescription", "No description")
169
+ children: e.description ?? D("planmagnet.products.shared.noDescription", "No description")
169
170
  }),
170
- /* @__PURE__ */ m("div", {
171
+ /* @__PURE__ */ h("div", {
171
172
  className: "grid grid-cols-3 gap-2 text-center",
172
173
  children: [
173
- /* @__PURE__ */ m("div", {
174
+ /* @__PURE__ */ h("div", {
174
175
  className: "rounded border p-2",
175
- children: [/* @__PURE__ */ p("p", {
176
+ children: [/* @__PURE__ */ m("p", {
176
177
  className: "text-lg font-bold",
177
178
  children: e.items?.length ?? 0
178
- }), /* @__PURE__ */ p("p", {
179
+ }), /* @__PURE__ */ m("p", {
179
180
  className: "text-xs text-muted-foreground",
180
- children: E("planmagnet.products.shared.items", "Items")
181
+ children: D("planmagnet.products.shared.items", "Items")
181
182
  })]
182
183
  }),
183
- /* @__PURE__ */ m("div", {
184
+ /* @__PURE__ */ h("div", {
184
185
  className: "rounded border p-2",
185
- children: [/* @__PURE__ */ p("p", {
186
+ children: [/* @__PURE__ */ m("p", {
186
187
  className: "text-lg font-bold",
187
- children: e.isPublic ? E("planmagnet.products.shared.public", "Public") : E("planmagnet.products.shared.private", "Private")
188
- }), /* @__PURE__ */ p("p", {
188
+ children: e.isPublic ? D("planmagnet.products.shared.public", "Public") : D("planmagnet.products.shared.private", "Private")
189
+ }), /* @__PURE__ */ m("p", {
189
190
  className: "text-xs text-muted-foreground",
190
- children: E("planmagnet.products.shared.visibility", "Visibility")
191
+ children: D("planmagnet.products.shared.visibility", "Visibility")
191
192
  })]
192
193
  }),
193
- /* @__PURE__ */ m("div", {
194
+ /* @__PURE__ */ h("div", {
194
195
  className: "rounded border p-2",
195
- children: [/* @__PURE__ */ p("p", {
196
+ children: [/* @__PURE__ */ m("p", {
196
197
  className: "text-lg font-bold",
197
198
  children: e.type.toLowerCase()
198
- }), /* @__PURE__ */ p("p", {
199
+ }), /* @__PURE__ */ m("p", {
199
200
  className: "text-xs text-muted-foreground",
200
- children: E("planmagnet.products.shared.type", "Type")
201
+ children: D("planmagnet.products.shared.type", "Type")
201
202
  })]
202
203
  })
203
204
  ]
204
205
  }),
205
- /* @__PURE__ */ m("div", {
206
+ /* @__PURE__ */ h("div", {
206
207
  className: "flex items-center justify-between text-xs text-muted-foreground",
207
- children: [/* @__PURE__ */ m("span", { children: [
208
- E("planmagnet.products.shared.owner", "Owner"),
209
- ": ",
210
- e.ownerId
211
- ] }), /* @__PURE__ */ m("span", { children: [
212
- E("planmagnet.products.shared.updated", "Updated"),
208
+ children: [/* @__PURE__ */ h("span", { children: [
209
+ D("planmagnet.products.shared.owner", "Owner"),
210
+ ":",
211
+ " ",
212
+ /* @__PURE__ */ m(n, { id: e.ownerId })
213
+ ] }), /* @__PURE__ */ h("span", { children: [
214
+ D("planmagnet.products.shared.updated", "Updated"),
213
215
  " ",
214
216
  new Date(e.updatedAt).toLocaleDateString()
215
217
  ] })]
@@ -222,6 +224,6 @@ function T() {
222
224
  });
223
225
  }
224
226
  //#endregion
225
- export { T as ProductsProductsPagePage };
227
+ export { E as ProductsProductsPagePage };
226
228
 
227
229
  //# sourceMappingURL=ProductsProductsPagePage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProductsProductsPagePage.js","names":[],"sources":["../../../src/planmagnet/pages/ProductsProductsPagePage.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, Badge, Button } from '@burdenoff/fe-libs/ui';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { Package, Plus, TrendingUp, Calendar, GitBranch, Map, Loader2 } from 'lucide-react';\nimport { usePlanMagnet, usePlanMagnetNavigate } from '../providers/PlanMagnetProvider';\nimport { rowLinkProps, detailPath } from '../utils/rowNavigation';\n\nconst LIST_ROADMAPS = gql`\n query ListRoadmaps($workspaceId: ID!, $pagination: PlanmagnetPaginationInput) {\n planmagnetRoadmaps(workspaceId: $workspaceId, pagination: $pagination) {\n items {\n id\n workspaceId\n name\n description\n type\n isPublic\n ownerId\n metadata\n createdBy\n createdAt\n updatedAt\n updatedBy\n items {\n id\n status\n }\n }\n totalCount\n }\n }\n`;\n\nconst LIST_FEATURE_REQUESTS = gql`\n query ListFeatureRequestsForProducts($workspaceId: ID!, $pagination: PlanmagnetPaginationInput) {\n planmagnetFeatureRequests(workspaceId: $workspaceId, pagination: $pagination) {\n totalCount\n }\n }\n`;\n\nconst LIST_RELEASES = gql`\n query ListReleasesForProducts($workspaceId: ID!, $pagination: PlanmagnetPaginationInput) {\n planmagnetReleases(workspaceId: $workspaceId, pagination: $pagination) {\n totalCount\n }\n }\n`;\n\ninterface RoadmapNode {\n id: string;\n name: string;\n description: string | null;\n type: string;\n isPublic: boolean;\n ownerId: string;\n createdAt: string;\n updatedAt: string;\n items: { id: string; status: string }[];\n}\n\nexport function ProductsProductsPagePage() {\n const { workspaceId } = usePlanMagnet();\n const navigate = usePlanMagnetNavigate();\n const { t } = useI18n();\n const [view, setView] = useState<'grid' | 'list'>('grid');\n\n const {\n data: roadmapsData,\n loading: roadmapsLoading,\n error: roadmapsError,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } = useQuery<Record<string, any>>(LIST_ROADMAPS, {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n variables: { workspaceId, pagination: { first: 50 } },\n skip: !workspaceId,\n });\n\n const {\n data: featuresData,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } = // eslint-disable-next-line @typescript-eslint/no-explicit-any\n useQuery<Record<string, any>>(LIST_FEATURE_REQUESTS, {\n variables: { workspaceId, pagination: { first: 1 } },\n skip: !workspaceId,\n });\n\n const {\n data: releasesData,\n } = // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n useQuery<Record<string, any>>(LIST_RELEASES, {\n variables: { workspaceId, pagination: { first: 1 } },\n skip: !workspaceId,\n });\n\n if (roadmapsLoading) {\n return (\n <div className=\"flex items-center justify-center p-12\">\n <Loader2 className=\"h-8 w-8 animate-spin text-muted-foreground\" />\n </div>\n );\n }\n\n if (roadmapsError) {\n return (\n <div className=\"p-6 text-destructive\">\n {t('planmagnet.products.errorLoading', 'Failed to load products')}: {roadmapsError.message}\n </div>\n );\n }\n\n const roadmaps: RoadmapNode[] = roadmapsData?.planmagnetRoadmaps?.items ?? [];\n const totalRoadmaps = roadmapsData?.planmagnetRoadmaps?.totalCount ?? 0;\n const totalFeatures = featuresData?.planmagnetFeatureRequests?.totalCount ?? 0;\n const totalReleases = releasesData?.planmagnetReleases?.totalCount ?? 0;\n\n const typeLabel = (t: string) => {\n switch (t) {\n case 'TIMELINE':\n return 'default';\n case 'GANTT':\n return 'secondary';\n case 'SWIMLANE':\n return 'outline';\n default:\n return 'outline';\n }\n };\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold flex items-center gap-2\">\n <Package className=\"h-6 w-6\" /> {t('planmagnet.products.title', 'Products')}\n </h1>\n <p className=\"text-sm text-muted-foreground mt-1\">\n {t(\n 'planmagnet.products.subtitle',\n 'Manage your product portfolio and track feature development'\n )}\n </p>\n </div>\n <Button size=\"sm\" onClick={() => navigate('/products/create-product-page')}>\n <Plus className=\"h-4 w-4 mr-1\" />\n {t('planmagnet.products.actions.newProduct', 'New Product')}\n </Button>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-4\">\n {[\n {\n label: t('planmagnet.products.metrics.totalProducts', 'Total Products'),\n val: totalRoadmaps,\n icon: Package,\n color: 'text-blue-500',\n },\n {\n label: t('planmagnet.products.metrics.activeFeatures', 'Active Features'),\n val: totalFeatures,\n icon: GitBranch,\n color: 'text-green-500',\n },\n {\n label: t('planmagnet.products.metrics.releases', 'Releases'),\n val: totalReleases,\n icon: Calendar,\n color: 'text-purple-500',\n },\n {\n label: t('planmagnet.products.metrics.roadmaps', 'Roadmaps'),\n val: totalRoadmaps,\n icon: Map,\n color: 'text-orange-500',\n },\n ].map((s) => (\n <Card key={s.label}>\n <CardContent className=\"pt-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <p className=\"text-sm text-muted-foreground\">{s.label}</p>\n <p className=\"text-2xl font-bold\">{s.val}</p>\n </div>\n <s.icon className={`h-8 w-8 ${s.color} opacity-60`} />\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-2\">\n {roadmaps.map((roadmap) => (\n <Card\n key={roadmap.id}\n {...rowLinkProps(\n () => navigate(detailPath('/products/product-detail-page', roadmap.id)),\n roadmap.name\n )}\n >\n <CardHeader>\n <div className=\"flex items-center justify-between\">\n <CardTitle className=\"text-base\">{roadmap.name}</CardTitle>\n <Badge variant={typeLabel(roadmap.type)}>{roadmap.type.toLowerCase()}</Badge>\n </div>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n <p className=\"text-sm text-muted-foreground\">\n {roadmap.description ??\n t('planmagnet.products.shared.noDescription', 'No description')}\n </p>\n <div className=\"grid grid-cols-3 gap-2 text-center\">\n <div className=\"rounded border p-2\">\n <p className=\"text-lg font-bold\">{roadmap.items?.length ?? 0}</p>\n <p className=\"text-xs text-muted-foreground\">\n {t('planmagnet.products.shared.items', 'Items')}\n </p>\n </div>\n <div className=\"rounded border p-2\">\n <p className=\"text-lg font-bold\">\n {roadmap.isPublic\n ? t('planmagnet.products.shared.public', 'Public')\n : t('planmagnet.products.shared.private', 'Private')}\n </p>\n <p className=\"text-xs text-muted-foreground\">\n {t('planmagnet.products.shared.visibility', 'Visibility')}\n </p>\n </div>\n <div className=\"rounded border p-2\">\n <p className=\"text-lg font-bold\">{roadmap.type.toLowerCase()}</p>\n <p className=\"text-xs text-muted-foreground\">\n {t('planmagnet.products.shared.type', 'Type')}\n </p>\n </div>\n </div>\n <div className=\"flex items-center justify-between text-xs text-muted-foreground\">\n <span>\n {t('planmagnet.products.shared.owner', 'Owner')}: {roadmap.ownerId}\n </span>\n <span>\n {t('planmagnet.products.shared.updated', 'Updated')}{' '}\n {new Date(roadmap.updatedAt).toLocaleDateString()}\n </span>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;AAWA,IAAM,IAAgB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;GA0BnB,IAAwB,CAAG;;;;;;GAQ3B,IAAgB,CAAG;;;;;;;AAoBzB,SAAgB,IAA2B;CACzC,IAAM,EAAE,mBAAgB,GAAe,EACjC,IAAW,GAAuB,EAClC,EAAE,SAAM,GAAS,EACjB,CAAC,GAAM,KAAW,EAA0B,OAAO,EAEnD,EACJ,MAAM,GACN,SAAS,GACT,OAAO,MAEL,EAA8B,GAAe;EAE/C,WAAW;GAAE;GAAa,YAAY,EAAE,OAAO,IAAI;GAAE;EACrD,MAAM,CAAC;EACR,CAAC,EAEI,EACJ,MAAM,MAGN,EAA8B,GAAuB;EACnD,WAAW;GAAE;GAAa,YAAY,EAAE,OAAO,GAAG;GAAE;EACpD,MAAM,CAAC;EACR,CAAC,EAEE,EACJ,MAAM,MAGN,EAA8B,GAAe;EAC3C,WAAW;GAAE;GAAa,YAAY,EAAE,OAAO,GAAG;GAAE;EACpD,MAAM,CAAC;EACR,CAAC;AAEJ,KAAI,EACF,QACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD,EAAS,WAAU,8CAA+C,CAAA;EAC9D,CAAA;AAIV,KAAI,EACF,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACG,EAAE,oCAAoC,0BAA0B;GAAC;GAAG,EAAc;GAC/E;;CAIV,IAAM,IAA0B,GAAc,oBAAoB,SAAS,EAAE,EACvE,IAAgB,GAAc,oBAAoB,cAAc,GAChE,IAAgB,GAAc,2BAA2B,cAAc,GACvE,IAAgB,GAAc,oBAAoB,cAAc,GAEhE,KAAa,MAAc;AAC/B,UAAQ,GAAR;GACE,KAAK,WACH,QAAO;GACT,KAAK,QACH,QAAO;GACT,KAAK,WACH,QAAO;GACT,QACE,QAAO;;;AAIb,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;KAAI,WAAU;eAAd;MACE,kBAAC,GAAD,EAAS,WAAU,WAAY,CAAA;;MAAE,EAAE,6BAA6B,WAAW;MACxE;QACL,kBAAC,KAAD;KAAG,WAAU;eACV,EACC,gCACA,8DACD;KACC,CAAA,CACA,EAAA,CAAA,EACN,kBAAC,GAAD;KAAQ,MAAK;KAAK,eAAe,EAAS,gCAAgC;eAA1E,CACE,kBAAC,GAAD,EAAM,WAAU,gBAAiB,CAAA,EAChC,EAAE,0CAA0C,cAAc,CACpD;OACL;;GAEN,kBAAC,OAAD;IAAK,WAAU;cACZ;KACC;MACE,OAAO,EAAE,6CAA6C,iBAAiB;MACvE,KAAK;MACL,MAAM;MACN,OAAO;MACR;KACD;MACE,OAAO,EAAE,8CAA8C,kBAAkB;MACzE,KAAK;MACL,MAAM;MACN,OAAO;MACR;KACD;MACE,OAAO,EAAE,wCAAwC,WAAW;MAC5D,KAAK;MACL,MAAM;MACN,OAAO;MACR;KACD;MACE,OAAO,EAAE,wCAAwC,WAAW;MAC5D,KAAK;MACL,MAAM;MACN,OAAO;MACR;KACF,CAAC,KAAK,MACL,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;KAAa,WAAU;eACrB,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;OAAG,WAAU;iBAAiC,EAAE;OAAU,CAAA,EAC1D,kBAAC,KAAD;OAAG,WAAU;iBAAsB,EAAE;OAAQ,CAAA,CACzC,EAAA,CAAA,EACN,kBAAC,EAAE,MAAH,EAAQ,WAAW,WAAW,EAAE,MAAM,cAAgB,CAAA,CAClD;;KACM,CAAA,EACT,EAVI,EAAE,MAUN,CACP;IACE,CAAA;GAEN,kBAAC,OAAD;IAAK,WAAU;cACZ,EAAS,KAAK,MACb,kBAAC,GAAD;KAEE,GAAI,QACI,EAAS,EAAW,iCAAiC,EAAQ,GAAG,CAAC,EACvE,EAAQ,KACT;eALH,CAOE,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,GAAD;OAAW,WAAU;iBAAa,EAAQ;OAAiB,CAAA,EAC3D,kBAAC,GAAD;OAAO,SAAS,EAAU,EAAQ,KAAK;iBAAG,EAAQ,KAAK,aAAa;OAAS,CAAA,CACzE;SACK,CAAA,EACb,kBAAC,GAAD;MAAa,WAAU;gBAAvB;OACE,kBAAC,KAAD;QAAG,WAAU;kBACV,EAAQ,eACP,EAAE,4CAA4C,iBAAiB;QAC/D,CAAA;OACJ,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACE,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAqB,EAAQ,OAAO,UAAU;WAAM,CAAA,EACjE,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAE,oCAAoC,QAAQ;WAC7C,CAAA,CACA;;SACN,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAQ,WACL,EAAE,qCAAqC,SAAS,GAChD,EAAE,sCAAsC,UAAU;WACpD,CAAA,EACJ,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAE,yCAAyC,aAAa;WACvD,CAAA,CACA;;SACN,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAqB,EAAQ,KAAK,aAAa;WAAK,CAAA,EACjE,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAE,mCAAmC,OAAO;WAC3C,CAAA,CACA;;SACF;;OACN,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,QAAD,EAAA,UAAA;SACG,EAAE,oCAAoC,QAAQ;SAAC;SAAG,EAAQ;SACtD,EAAA,CAAA,EACP,kBAAC,QAAD,EAAA,UAAA;SACG,EAAE,sCAAsC,UAAU;SAAE;SACpD,IAAI,KAAK,EAAQ,UAAU,CAAC,oBAAoB;SAC5C,EAAA,CAAA,CACH;;OACM;QACT;OAnDA,EAAQ,GAmDR,CACP;IACE,CAAA;GACF"}
1
+ {"version":3,"file":"ProductsProductsPagePage.js","names":[],"sources":["../../../src/planmagnet/pages/ProductsProductsPagePage.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, Badge, Button } from '@burdenoff/fe-libs/ui';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { Package, Plus, TrendingUp, Calendar, GitBranch, Map, Loader2 } from 'lucide-react';\nimport { usePlanMagnet, usePlanMagnetNavigate } from '../providers/PlanMagnetProvider';\nimport { rowLinkProps, detailPath } from '../utils/rowNavigation';\nimport { PersonName } from '../people/People';\n\nconst LIST_ROADMAPS = gql`\n query ListRoadmaps($workspaceId: ID!, $pagination: PlanmagnetPaginationInput) {\n planmagnetRoadmaps(workspaceId: $workspaceId, pagination: $pagination) {\n items {\n id\n workspaceId\n name\n description\n type\n isPublic\n ownerId\n metadata\n createdBy\n createdAt\n updatedAt\n updatedBy\n items {\n id\n status\n }\n }\n totalCount\n }\n }\n`;\n\nconst LIST_FEATURE_REQUESTS = gql`\n query ListFeatureRequestsForProducts($workspaceId: ID!, $pagination: PlanmagnetPaginationInput) {\n planmagnetFeatureRequests(workspaceId: $workspaceId, pagination: $pagination) {\n totalCount\n }\n }\n`;\n\nconst LIST_RELEASES = gql`\n query ListReleasesForProducts($workspaceId: ID!, $pagination: PlanmagnetPaginationInput) {\n planmagnetReleases(workspaceId: $workspaceId, pagination: $pagination) {\n totalCount\n }\n }\n`;\n\ninterface RoadmapNode {\n id: string;\n name: string;\n description: string | null;\n type: string;\n isPublic: boolean;\n ownerId: string;\n createdAt: string;\n updatedAt: string;\n items: { id: string; status: string }[];\n}\n\nexport function ProductsProductsPagePage() {\n const { workspaceId } = usePlanMagnet();\n const navigate = usePlanMagnetNavigate();\n const { t } = useI18n();\n const [view, setView] = useState<'grid' | 'list'>('grid');\n\n const {\n data: roadmapsData,\n loading: roadmapsLoading,\n error: roadmapsError,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } = useQuery<Record<string, any>>(LIST_ROADMAPS, {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n variables: { workspaceId, pagination: { first: 50 } },\n skip: !workspaceId,\n });\n\n const {\n data: featuresData,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } = // eslint-disable-next-line @typescript-eslint/no-explicit-any\n useQuery<Record<string, any>>(LIST_FEATURE_REQUESTS, {\n variables: { workspaceId, pagination: { first: 1 } },\n skip: !workspaceId,\n });\n\n const {\n data: releasesData,\n } = // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n useQuery<Record<string, any>>(LIST_RELEASES, {\n variables: { workspaceId, pagination: { first: 1 } },\n skip: !workspaceId,\n });\n\n if (roadmapsLoading) {\n return (\n <div className=\"flex items-center justify-center p-12\">\n <Loader2 className=\"h-8 w-8 animate-spin text-muted-foreground\" />\n </div>\n );\n }\n\n if (roadmapsError) {\n return (\n <div className=\"p-6 text-destructive\">\n {t('planmagnet.products.errorLoading', 'Failed to load products')}: {roadmapsError.message}\n </div>\n );\n }\n\n const roadmaps: RoadmapNode[] = roadmapsData?.planmagnetRoadmaps?.items ?? [];\n const totalRoadmaps = roadmapsData?.planmagnetRoadmaps?.totalCount ?? 0;\n const totalFeatures = featuresData?.planmagnetFeatureRequests?.totalCount ?? 0;\n const totalReleases = releasesData?.planmagnetReleases?.totalCount ?? 0;\n\n const typeLabel = (t: string) => {\n switch (t) {\n case 'TIMELINE':\n return 'default';\n case 'GANTT':\n return 'secondary';\n case 'SWIMLANE':\n return 'outline';\n default:\n return 'outline';\n }\n };\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold flex items-center gap-2\">\n <Package className=\"h-6 w-6\" /> {t('planmagnet.products.title', 'Products')}\n </h1>\n <p className=\"text-sm text-muted-foreground mt-1\">\n {t(\n 'planmagnet.products.subtitle',\n 'Manage your product portfolio and track feature development'\n )}\n </p>\n </div>\n <Button size=\"sm\" onClick={() => navigate('/products/create-product-page')}>\n <Plus className=\"h-4 w-4 mr-1\" />\n {t('planmagnet.products.actions.newProduct', 'New Product')}\n </Button>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-4\">\n {[\n {\n label: t('planmagnet.products.metrics.totalProducts', 'Total Products'),\n val: totalRoadmaps,\n icon: Package,\n color: 'text-blue-500',\n },\n {\n label: t('planmagnet.products.metrics.activeFeatures', 'Active Features'),\n val: totalFeatures,\n icon: GitBranch,\n color: 'text-green-500',\n },\n {\n label: t('planmagnet.products.metrics.releases', 'Releases'),\n val: totalReleases,\n icon: Calendar,\n color: 'text-purple-500',\n },\n {\n label: t('planmagnet.products.metrics.roadmaps', 'Roadmaps'),\n val: totalRoadmaps,\n icon: Map,\n color: 'text-orange-500',\n },\n ].map((s) => (\n <Card key={s.label}>\n <CardContent className=\"pt-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <p className=\"text-sm text-muted-foreground\">{s.label}</p>\n <p className=\"text-2xl font-bold\">{s.val}</p>\n </div>\n <s.icon className={`h-8 w-8 ${s.color} opacity-60`} />\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-2\">\n {roadmaps.map((roadmap) => (\n <Card\n key={roadmap.id}\n {...rowLinkProps(\n () => navigate(detailPath('/products/product-detail-page', roadmap.id)),\n roadmap.name\n )}\n >\n <CardHeader>\n <div className=\"flex items-center justify-between\">\n <CardTitle className=\"text-base\">{roadmap.name}</CardTitle>\n <Badge variant={typeLabel(roadmap.type)}>{roadmap.type.toLowerCase()}</Badge>\n </div>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n <p className=\"text-sm text-muted-foreground\">\n {roadmap.description ??\n t('planmagnet.products.shared.noDescription', 'No description')}\n </p>\n <div className=\"grid grid-cols-3 gap-2 text-center\">\n <div className=\"rounded border p-2\">\n <p className=\"text-lg font-bold\">{roadmap.items?.length ?? 0}</p>\n <p className=\"text-xs text-muted-foreground\">\n {t('planmagnet.products.shared.items', 'Items')}\n </p>\n </div>\n <div className=\"rounded border p-2\">\n <p className=\"text-lg font-bold\">\n {roadmap.isPublic\n ? t('planmagnet.products.shared.public', 'Public')\n : t('planmagnet.products.shared.private', 'Private')}\n </p>\n <p className=\"text-xs text-muted-foreground\">\n {t('planmagnet.products.shared.visibility', 'Visibility')}\n </p>\n </div>\n <div className=\"rounded border p-2\">\n <p className=\"text-lg font-bold\">{roadmap.type.toLowerCase()}</p>\n <p className=\"text-xs text-muted-foreground\">\n {t('planmagnet.products.shared.type', 'Type')}\n </p>\n </div>\n </div>\n <div className=\"flex items-center justify-between text-xs text-muted-foreground\">\n <span>\n {t('planmagnet.products.shared.owner', 'Owner')}:{' '}\n <PersonName id={roadmap.ownerId} />\n </span>\n <span>\n {t('planmagnet.products.shared.updated', 'Updated')}{' '}\n {new Date(roadmap.updatedAt).toLocaleDateString()}\n </span>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProductsReleaseDetailPagePage.d.ts","sourceRoot":"","sources":["../../../src/planmagnet/pages/ProductsReleaseDetailPagePage.tsx"],"names":[],"mappings":"AAyDA,wBAAgB,6BAA6B,4CAyM5C"}
1
+ {"version":3,"file":"ProductsReleaseDetailPagePage.d.ts","sourceRoot":"","sources":["../../../src/planmagnet/pages/ProductsReleaseDetailPagePage.tsx"],"names":[],"mappings":"AA0DA,wBAAgB,6BAA6B,4CA2M5C"}