@burdenoff/microfe-proserviceworld 2026.624.1 → 2026.626.1

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 (31) hide show
  1. package/dist/proserviceworld/pages/AdminReportsPage.js +396 -329
  2. package/dist/proserviceworld/pages/AdminReportsPage.js.map +1 -1
  3. package/dist/proserviceworld/pages/AdminUsersPage.js +261 -237
  4. package/dist/proserviceworld/pages/AdminUsersPage.js.map +1 -1
  5. package/dist/proserviceworld/pages/AnalyticsPage.js +373 -315
  6. package/dist/proserviceworld/pages/AnalyticsPage.js.map +1 -1
  7. package/dist/proserviceworld/pages/BookingsPage.js +221 -200
  8. package/dist/proserviceworld/pages/BookingsPage.js.map +1 -1
  9. package/dist/proserviceworld/pages/DashboardPage.js +474 -405
  10. package/dist/proserviceworld/pages/DashboardPage.js.map +1 -1
  11. package/dist/proserviceworld/pages/DocumentsPage.js +386 -317
  12. package/dist/proserviceworld/pages/DocumentsPage.js.map +1 -1
  13. package/dist/proserviceworld/pages/MessagesPage.js +201 -192
  14. package/dist/proserviceworld/pages/MessagesPage.js.map +1 -1
  15. package/dist/proserviceworld/pages/PaymentsPage.js +398 -340
  16. package/dist/proserviceworld/pages/PaymentsPage.js.map +1 -1
  17. package/dist/proserviceworld/pages/ProjectsPage.js +543 -463
  18. package/dist/proserviceworld/pages/ProjectsPage.js.map +1 -1
  19. package/dist/proserviceworld/pages/ProviderDetailPage.js +420 -346
  20. package/dist/proserviceworld/pages/ProviderDetailPage.js.map +1 -1
  21. package/dist/proserviceworld/pages/ProvidersPage.js +249 -244
  22. package/dist/proserviceworld/pages/ProvidersPage.js.map +1 -1
  23. package/dist/proserviceworld/pages/ReviewsPage.js +93 -76
  24. package/dist/proserviceworld/pages/ReviewsPage.js.map +1 -1
  25. package/dist/proserviceworld/pages/ServiceDetailsPage.js +377 -309
  26. package/dist/proserviceworld/pages/ServiceDetailsPage.js.map +1 -1
  27. package/dist/proserviceworld/pages/ServicesPage.js +116 -109
  28. package/dist/proserviceworld/pages/ServicesPage.js.map +1 -1
  29. package/dist/proserviceworld/pages/VerificationPage.js +264 -251
  30. package/dist/proserviceworld/pages/VerificationPage.js.map +1 -1
  31. package/package.json +2 -2
@@ -2,35 +2,35 @@ import { useProServiceWorldStore as e } from "../store/proserviceworldStore.js";
2
2
  import { useMemo as t, useState as n } from "react";
3
3
  import { AlertTriangle as r, BarChart3 as i, Calendar as a, CheckCircle2 as o, ChevronRight as s, Clock as c, DollarSign as l, Flag as u, Plus as d, Search as f, Tag as p, Target as m, Users as h } from "lucide-react";
4
4
  import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
5
- import { Badge as y, Button as b, Card as x, CardContent as S, CardHeader as C, CardTitle as w, Input as T } from "@burdenoff/fe-libs/ui";
5
+ import { AuroraBackground as y, Badge as b, Button as x, Card as S, CardContent as C, CardHeader as w, CardTitle as T, GlassCard as E, GradientText as D, IllustratedEmptyState as O, Input as k, NextSteps as A, PagePurpose as j } from "@burdenoff/fe-libs/ui";
6
6
  //#region src/proserviceworld/pages/ProjectsPage.tsx
7
- var E = {
7
+ var M = {
8
8
  planning: {
9
9
  label: "Planning",
10
- color: "text-yellow-600",
11
- bgColor: "bg-yellow-100 dark:bg-yellow-950"
10
+ color: "text-status-warning-text",
11
+ dot: "bg-status-warning-text"
12
12
  },
13
13
  active: {
14
14
  label: "Active",
15
- color: "text-blue-600",
16
- bgColor: "bg-blue-100 dark:bg-blue-950"
15
+ color: "text-accent-blue",
16
+ dot: "bg-accent-blue"
17
17
  },
18
18
  on_hold: {
19
19
  label: "On Hold",
20
- color: "text-orange-600",
21
- bgColor: "bg-orange-100 dark:bg-orange-950"
20
+ color: "text-status-warning-text",
21
+ dot: "bg-status-warning-text"
22
22
  },
23
23
  completed: {
24
24
  label: "Completed",
25
- color: "text-green-600",
26
- bgColor: "bg-green-100 dark:bg-green-950"
25
+ color: "text-status-success-text",
26
+ dot: "bg-status-success-text"
27
27
  },
28
28
  cancelled: {
29
29
  label: "Cancelled",
30
- color: "text-red-600",
31
- bgColor: "bg-red-100 dark:bg-red-950"
30
+ color: "text-status-error-text",
31
+ dot: "bg-status-error-text"
32
32
  }
33
- }, D = {
33
+ }, N = {
34
34
  low: {
35
35
  label: "Low",
36
36
  variant: "outline"
@@ -47,501 +47,581 @@ var E = {
47
47
  label: "Critical",
48
48
  variant: "destructive"
49
49
  }
50
+ }, P = {
51
+ completed: "bg-status-success-text",
52
+ in_progress: "bg-accent-blue",
53
+ pending: "bg-bg-sunken",
54
+ overdue: "bg-status-error-text"
55
+ }, F = {
56
+ completed: "text-status-success-text",
57
+ in_progress: "text-accent-blue",
58
+ pending: "text-text-secondary",
59
+ overdue: "text-status-error-text"
50
60
  };
51
- function O() {
52
- let { projects: O } = e(), [k, A] = n(""), [j, M] = n("all"), [N, P] = n(O[0]?.id ?? ""), [F, I] = n("overview"), L = t(() => {
53
- let e = [...O];
54
- if (j !== "all" && (e = e.filter((e) => e.status === j)), k.trim()) {
55
- let t = k.toLowerCase();
61
+ function I() {
62
+ let { projects: I } = e(), [L, R] = n(""), [z, B] = n("all"), [V, H] = n(I[0]?.id ?? ""), [U, W] = n("overview"), G = t(() => {
63
+ let e = [...I];
64
+ if (z !== "all" && (e = e.filter((e) => e.status === z)), L.trim()) {
65
+ let t = L.toLowerCase();
56
66
  e = e.filter((e) => e.title.toLowerCase().includes(t) || e.category.toLowerCase().includes(t));
57
67
  }
58
68
  return e;
59
69
  }, [
60
- O,
61
- j,
62
- k
63
- ]), R = O.find((e) => e.id === N);
70
+ I,
71
+ z,
72
+ L
73
+ ]), K = I.find((e) => e.id === V);
64
74
  return /* @__PURE__ */ v("div", {
65
- className: "space-y-6 p-6",
66
- children: [/* @__PURE__ */ v("div", {
67
- className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
68
- children: [/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("h1", {
69
- className: "text-2xl font-semibold",
70
- children: "Projects"
71
- }), /* @__PURE__ */ _("p", {
72
- className: "text-sm text-text-secondary",
73
- children: "Track progress and manage your professional service projects."
74
- })] }), /* @__PURE__ */ v(b, {
75
- size: "sm",
76
- children: [/* @__PURE__ */ _(d, { className: "mr-2 h-4 w-4" }), " New Project"]
77
- })]
78
- }), /* @__PURE__ */ v("div", {
79
- className: "grid gap-6 lg:grid-cols-3",
80
- children: [/* @__PURE__ */ v("div", {
81
- className: "space-y-4",
82
- children: [
83
- /* @__PURE__ */ v("div", {
84
- className: "relative",
85
- children: [/* @__PURE__ */ _(f, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ _(T, {
86
- placeholder: "Search projects...",
87
- value: k,
88
- onChange: (e) => A(e.target.value),
89
- className: "pl-10"
90
- })]
91
- }),
92
- /* @__PURE__ */ _("div", {
93
- className: "flex flex-wrap gap-1",
94
- children: [
95
- "all",
96
- "active",
97
- "planning",
98
- "completed",
99
- "on_hold",
100
- "cancelled"
101
- ].map((e) => /* @__PURE__ */ _("button", {
102
- onClick: () => M(e),
103
- className: `rounded px-2 py-1 text-xs font-medium transition-colors ${j === e ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken text-text-secondary hover:bg-bg-sunken/80"}`,
104
- children: e === "all" ? "All" : E[e].label
105
- }, e))
106
- }),
107
- /* @__PURE__ */ _("div", {
108
- className: "space-y-2",
109
- children: L.length === 0 ? /* @__PURE__ */ _("p", {
110
- className: "py-8 text-center text-sm text-text-secondary",
111
- children: "No projects found."
112
- }) : L.map((e) => {
113
- let t = E[e.status];
114
- return /* @__PURE__ */ v("button", {
115
- onClick: () => {
116
- P(e.id), I("overview");
117
- },
118
- className: `w-full rounded-lg border p-3 text-left transition-colors ${N === e.id ? "border-primary bg-action-primary-bg/5" : "hover:bg-bg-sunken/50"}`,
75
+ className: "space-y-6 p-6 bg-bg-canvas min-h-screen",
76
+ children: [
77
+ /* @__PURE__ */ v("div", {
78
+ className: "relative overflow-hidden rounded-card -mx-2 px-2 pt-1",
79
+ children: [/* @__PURE__ */ _(y, { intensity: "subtle" }), /* @__PURE__ */ v("div", {
80
+ className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
81
+ children: [/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("h1", {
82
+ className: "text-2xl font-semibold tracking-tight",
83
+ children: /* @__PURE__ */ _(D, { children: "Projects" })
84
+ }), /* @__PURE__ */ _("p", {
85
+ className: "text-sm text-text-secondary",
86
+ children: "Track progress and manage your professional service projects."
87
+ })] }), /* @__PURE__ */ v(x, {
88
+ size: "sm",
89
+ children: [/* @__PURE__ */ _(d, { className: "mr-2 h-4 w-4" }), " New Project"]
90
+ })]
91
+ })]
92
+ }),
93
+ /* @__PURE__ */ _(j, {
94
+ icon: /* @__PURE__ */ _(m, { className: "h-4 w-4" }),
95
+ children: "Run your engagements from kickoff to delivery. Pick a project to see its budget, progress, milestones, timeline, and team in one place — so you always know what is on track, what is at risk, and what is due next."
96
+ }),
97
+ /* @__PURE__ */ _(A, {
98
+ storageKey: "proserviceworld-projects",
99
+ steps: [
100
+ {
101
+ id: "timeline",
102
+ label: "Walk the timeline",
103
+ description: "See milestones in chronological order to gauge momentum.",
104
+ icon: /* @__PURE__ */ _(a, { className: "h-4 w-4" }),
105
+ onClick: () => W("timeline")
106
+ },
107
+ {
108
+ id: "milestones",
109
+ label: "Drill into milestones",
110
+ description: "Review deliverables, dependencies, and due dates.",
111
+ icon: /* @__PURE__ */ _(u, { className: "h-4 w-4" }),
112
+ onClick: () => W("milestones")
113
+ },
114
+ {
115
+ id: "team",
116
+ label: "Check the team",
117
+ description: "See who is assigned and their roles.",
118
+ icon: /* @__PURE__ */ _(h, { className: "h-4 w-4" }),
119
+ onClick: () => W("team")
120
+ }
121
+ ]
122
+ }),
123
+ /* @__PURE__ */ v("div", {
124
+ className: "grid gap-6 lg:grid-cols-3",
125
+ children: [/* @__PURE__ */ v("div", {
126
+ className: "space-y-4",
127
+ children: [
128
+ /* @__PURE__ */ v("div", {
129
+ className: "relative",
130
+ children: [/* @__PURE__ */ _(f, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ _(k, {
131
+ placeholder: "Search projects...",
132
+ "aria-label": "Search projects",
133
+ value: L,
134
+ onChange: (e) => R(e.target.value),
135
+ className: "pl-10"
136
+ })]
137
+ }),
138
+ /* @__PURE__ */ _("div", {
139
+ className: "flex flex-wrap gap-1",
140
+ children: [
141
+ "all",
142
+ "active",
143
+ "planning",
144
+ "completed",
145
+ "on_hold",
146
+ "cancelled"
147
+ ].map((e) => /* @__PURE__ */ _("button", {
148
+ onClick: () => B(e),
149
+ "aria-pressed": z === e,
150
+ className: `rounded px-2 py-1 text-xs font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus ${z === e ? "bg-accent-blue text-action-primary-text" : "bg-bg-sunken text-text-secondary hover:text-text-primary"}`,
151
+ children: e === "all" ? "All" : M[e].label
152
+ }, e))
153
+ }),
154
+ /* @__PURE__ */ _("div", {
155
+ className: "space-y-2",
156
+ children: G.length === 0 ? /* @__PURE__ */ _(O, {
157
+ illustration: L || z !== "all" ? "empty-search" : "empty-data",
158
+ title: "No projects found",
159
+ description: "Try adjusting your search or filters."
160
+ }) : G.map((e) => {
161
+ let t = M[e.status];
162
+ return /* @__PURE__ */ v("button", {
163
+ onClick: () => {
164
+ H(e.id), W("overview");
165
+ },
166
+ "aria-pressed": V === e.id,
167
+ className: `w-full rounded-lg border p-3 text-left transition-shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus ${V === e.id ? "border-accent-blue bg-accent-blue-subtle" : "border-border-seam hover:shadow-pop"}`,
168
+ children: [
169
+ /* @__PURE__ */ v("div", {
170
+ className: "flex items-center justify-between",
171
+ children: [/* @__PURE__ */ _("h3", {
172
+ className: "font-medium text-sm truncate pr-2",
173
+ children: e.title
174
+ }), /* @__PURE__ */ _(s, { className: "h-4 w-4 shrink-0 text-text-secondary" })]
175
+ }),
176
+ /* @__PURE__ */ v("div", {
177
+ className: "mt-2 flex items-center gap-2",
178
+ children: [/* @__PURE__ */ _(b, {
179
+ variant: N[e.priority].variant,
180
+ className: "text-xs",
181
+ children: e.priority
182
+ }), /* @__PURE__ */ v("span", {
183
+ className: `flex items-center gap-1 text-xs ${t.color}`,
184
+ children: [/* @__PURE__ */ _("span", { className: `h-1.5 w-1.5 rounded-full ${t.dot} ${e.status === "active" ? "motion-safe:animate-vc-glow-pulse" : ""}` }), t.label]
185
+ })]
186
+ }),
187
+ /* @__PURE__ */ v("div", {
188
+ className: "mt-2",
189
+ children: [/* @__PURE__ */ v("div", {
190
+ className: "flex items-center justify-between text-xs text-text-secondary",
191
+ children: [/* @__PURE__ */ _("span", { children: "Progress" }), /* @__PURE__ */ v("span", {
192
+ className: "tabular-nums",
193
+ children: [e.progress, "%"]
194
+ })]
195
+ }), /* @__PURE__ */ _("div", {
196
+ className: "mt-1 h-1.5 overflow-hidden rounded-full bg-bg-sunken",
197
+ children: /* @__PURE__ */ _("div", {
198
+ className: "h-1.5 rounded-full bg-accent-blue transition-all",
199
+ style: { width: `${e.progress}%` }
200
+ })
201
+ })]
202
+ })
203
+ ]
204
+ }, e.id);
205
+ })
206
+ })
207
+ ]
208
+ }), /* @__PURE__ */ _("div", {
209
+ className: "space-y-4 lg:col-span-2",
210
+ children: K ? /* @__PURE__ */ v(g, { children: [
211
+ /* @__PURE__ */ _(E, {
212
+ treatment: "insight",
213
+ className: "border-border-seam",
214
+ children: /* @__PURE__ */ v(C, {
215
+ className: "pt-6",
119
216
  children: [
120
217
  /* @__PURE__ */ v("div", {
121
- className: "flex items-center justify-between",
122
- children: [/* @__PURE__ */ _("h3", {
123
- className: "font-medium text-sm truncate pr-2",
124
- children: e.title
125
- }), /* @__PURE__ */ _(s, { className: "h-4 w-4 shrink-0 text-text-secondary" })]
126
- }),
127
- /* @__PURE__ */ v("div", {
128
- className: "mt-2 flex items-center gap-2",
129
- children: [/* @__PURE__ */ _(y, {
130
- variant: D[e.priority].variant,
131
- className: "text-xs",
132
- children: e.priority
133
- }), /* @__PURE__ */ _("span", {
134
- className: `text-xs ${t.color}`,
135
- children: t.label
218
+ className: "flex flex-wrap items-start justify-between gap-4",
219
+ children: [/* @__PURE__ */ v("div", {
220
+ className: "space-y-2",
221
+ children: [
222
+ /* @__PURE__ */ v("div", {
223
+ className: "flex items-center gap-2",
224
+ children: [/* @__PURE__ */ v(b, {
225
+ variant: N[K.priority].variant,
226
+ children: [K.priority, " priority"]
227
+ }), /* @__PURE__ */ _("span", {
228
+ className: `text-sm font-medium ${M[K.status].color}`,
229
+ children: M[K.status].label
230
+ })]
231
+ }),
232
+ /* @__PURE__ */ _("h2", {
233
+ className: "text-xl font-bold tracking-tight",
234
+ children: K.title
235
+ }),
236
+ /* @__PURE__ */ _("p", {
237
+ className: "text-sm text-text-secondary",
238
+ children: K.description
239
+ })
240
+ ]
241
+ }), /* @__PURE__ */ v("div", {
242
+ className: "text-right",
243
+ children: [
244
+ /* @__PURE__ */ _("p", {
245
+ className: "text-sm text-text-secondary",
246
+ children: "Budget"
247
+ }),
248
+ /* @__PURE__ */ v("p", {
249
+ className: "text-xl font-bold tabular-nums",
250
+ children: ["$", K.budget.toLocaleString()]
251
+ }),
252
+ /* @__PURE__ */ v("p", {
253
+ className: "text-xs text-text-secondary tabular-nums",
254
+ children: [
255
+ "Spent: $",
256
+ K.spent.toLocaleString(),
257
+ " (",
258
+ Math.round(K.spent / K.budget * 100),
259
+ "%)"
260
+ ]
261
+ })
262
+ ]
136
263
  })]
137
264
  }),
138
265
  /* @__PURE__ */ v("div", {
139
- className: "mt-2",
266
+ className: "mt-4",
140
267
  children: [/* @__PURE__ */ v("div", {
141
- className: "flex items-center justify-between text-xs text-text-secondary",
142
- children: [/* @__PURE__ */ _("span", { children: "Progress" }), /* @__PURE__ */ v("span", { children: [e.progress, "%"] })]
268
+ className: "flex items-center justify-between text-sm",
269
+ children: [/* @__PURE__ */ _("span", {
270
+ className: "text-text-secondary",
271
+ children: "Overall Progress"
272
+ }), /* @__PURE__ */ v("span", {
273
+ className: "font-medium tabular-nums",
274
+ children: [K.progress, "%"]
275
+ })]
143
276
  }), /* @__PURE__ */ _("div", {
144
- className: "mt-1 h-1.5 overflow-hidden rounded-full bg-bg-sunken",
277
+ className: "mt-1 h-3 overflow-hidden rounded-full bg-bg-sunken",
145
278
  children: /* @__PURE__ */ _("div", {
146
- className: "h-1.5 rounded-full bg-action-primary-bg transition-all",
147
- style: { width: `${e.progress}%` }
279
+ className: "h-3 rounded-full bg-accent-blue transition-all",
280
+ style: { width: `${K.progress}%` }
148
281
  })
149
282
  })]
283
+ }),
284
+ /* @__PURE__ */ v("div", {
285
+ className: "mt-4 flex flex-wrap gap-4 text-sm",
286
+ children: [
287
+ /* @__PURE__ */ v("span", {
288
+ className: "flex items-center gap-1 text-text-secondary",
289
+ children: [
290
+ /* @__PURE__ */ _(a, { className: "h-4 w-4" }),
291
+ " ",
292
+ K.startDate,
293
+ " -",
294
+ " ",
295
+ K.endDate
296
+ ]
297
+ }),
298
+ /* @__PURE__ */ v("span", {
299
+ className: "flex items-center gap-1 text-text-secondary",
300
+ children: [
301
+ /* @__PURE__ */ _(h, { className: "h-4 w-4" }),
302
+ /* @__PURE__ */ _("span", {
303
+ className: "tabular-nums",
304
+ children: K.teamMembers.length
305
+ }),
306
+ " ",
307
+ "members"
308
+ ]
309
+ }),
310
+ /* @__PURE__ */ v("span", {
311
+ className: "flex items-center gap-1 text-text-secondary",
312
+ children: [
313
+ /* @__PURE__ */ _(m, { className: "h-4 w-4" }),
314
+ /* @__PURE__ */ _("span", {
315
+ className: "tabular-nums",
316
+ children: K.milestones.length
317
+ }),
318
+ " ",
319
+ "milestones"
320
+ ]
321
+ })
322
+ ]
323
+ }),
324
+ K.tags.length > 0 && /* @__PURE__ */ v("div", {
325
+ className: "mt-3 flex flex-wrap items-center gap-2",
326
+ children: [/* @__PURE__ */ _(p, { className: "h-4 w-4 text-text-secondary" }), K.tags.map((e) => /* @__PURE__ */ _(b, {
327
+ variant: "outline",
328
+ className: "text-xs",
329
+ children: e
330
+ }, e))]
150
331
  })
151
332
  ]
152
- }, e.id);
153
- })
154
- })
155
- ]
156
- }), /* @__PURE__ */ _("div", {
157
- className: "space-y-4 lg:col-span-2",
158
- children: R ? /* @__PURE__ */ v(g, { children: [
159
- /* @__PURE__ */ _(x, { children: /* @__PURE__ */ v(S, {
160
- className: "pt-6",
161
- children: [
162
- /* @__PURE__ */ v("div", {
163
- className: "flex flex-wrap items-start justify-between gap-4",
164
- children: [/* @__PURE__ */ v("div", {
165
- className: "space-y-2",
333
+ })
334
+ }),
335
+ /* @__PURE__ */ _("div", {
336
+ className: "flex gap-1 border-b border-border-seam",
337
+ children: [
338
+ {
339
+ key: "overview",
340
+ label: "Overview"
341
+ },
342
+ {
343
+ key: "timeline",
344
+ label: "Timeline"
345
+ },
346
+ {
347
+ key: "milestones",
348
+ label: "Milestones"
349
+ },
350
+ {
351
+ key: "team",
352
+ label: "Team"
353
+ }
354
+ ].map(({ key: e, label: t }) => /* @__PURE__ */ _("button", {
355
+ onClick: () => W(e),
356
+ "aria-pressed": U === e,
357
+ className: `border-b-2 px-4 py-2 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus ${U === e ? "border-accent-blue text-accent-blue" : "border-transparent text-text-secondary hover:text-text-primary"}`,
358
+ children: t
359
+ }, e))
360
+ }),
361
+ U === "overview" && /* @__PURE__ */ v("div", {
362
+ className: "grid gap-4 sm:grid-cols-2",
363
+ children: [/* @__PURE__ */ v(E, {
364
+ treatment: "metric",
365
+ className: "border-border-seam",
366
+ children: [/* @__PURE__ */ _(w, { children: /* @__PURE__ */ v(T, {
367
+ className: "text-base flex items-center gap-2",
368
+ children: [/* @__PURE__ */ _(l, { className: "h-4 w-4" }), " Budget Overview"]
369
+ }) }), /* @__PURE__ */ v(C, {
370
+ className: "space-y-3",
166
371
  children: [
167
372
  /* @__PURE__ */ v("div", {
168
- className: "flex items-center gap-2",
169
- children: [/* @__PURE__ */ v(y, {
170
- variant: D[R.priority].variant,
171
- children: [R.priority, " priority"]
172
- }), /* @__PURE__ */ _("span", {
173
- className: `text-sm font-medium ${E[R.status].color}`,
174
- children: E[R.status].label
373
+ className: "flex justify-between text-sm",
374
+ children: [/* @__PURE__ */ _("span", {
375
+ className: "text-text-secondary",
376
+ children: "Total Budget"
377
+ }), /* @__PURE__ */ v("span", {
378
+ className: "font-medium tabular-nums",
379
+ children: ["$", K.budget.toLocaleString()]
175
380
  })]
176
381
  }),
177
- /* @__PURE__ */ _("h2", {
178
- className: "text-xl font-bold",
179
- children: R.title
180
- }),
181
- /* @__PURE__ */ _("p", {
182
- className: "text-sm text-text-secondary",
183
- children: R.description
184
- })
185
- ]
186
- }), /* @__PURE__ */ v("div", {
187
- className: "text-right",
188
- children: [
189
- /* @__PURE__ */ _("p", {
190
- className: "text-sm text-text-secondary",
191
- children: "Budget"
382
+ /* @__PURE__ */ v("div", {
383
+ className: "flex justify-between text-sm",
384
+ children: [/* @__PURE__ */ _("span", {
385
+ className: "text-text-secondary",
386
+ children: "Spent"
387
+ }), /* @__PURE__ */ v("span", {
388
+ className: "font-medium tabular-nums",
389
+ children: ["$", K.spent.toLocaleString()]
390
+ })]
192
391
  }),
193
- /* @__PURE__ */ v("p", {
194
- className: "text-xl font-bold",
195
- children: ["$", R.budget.toLocaleString()]
392
+ /* @__PURE__ */ v("div", {
393
+ className: "flex justify-between text-sm",
394
+ children: [/* @__PURE__ */ _("span", {
395
+ className: "text-text-secondary",
396
+ children: "Remaining"
397
+ }), /* @__PURE__ */ v("span", {
398
+ className: "font-medium text-status-success-text tabular-nums",
399
+ children: ["$", (K.budget - K.spent).toLocaleString()]
400
+ })]
196
401
  }),
197
- /* @__PURE__ */ v("p", {
198
- className: "text-xs text-text-secondary",
199
- children: [
200
- "Spent: $",
201
- R.spent.toLocaleString(),
202
- " (",
203
- Math.round(R.spent / R.budget * 100),
204
- "%)"
205
- ]
402
+ /* @__PURE__ */ _("div", {
403
+ className: "h-2 overflow-hidden rounded-full bg-bg-sunken",
404
+ children: /* @__PURE__ */ _("div", {
405
+ className: "h-2 rounded-full bg-accent-blue",
406
+ style: { width: `${Math.round(K.spent / K.budget * 100)}%` }
407
+ })
206
408
  })
207
409
  ]
208
410
  })]
209
- }),
210
- /* @__PURE__ */ v("div", {
211
- className: "mt-4",
212
- children: [/* @__PURE__ */ v("div", {
213
- className: "flex items-center justify-between text-sm",
214
- children: [/* @__PURE__ */ _("span", {
215
- className: "text-text-secondary",
216
- children: "Overall Progress"
217
- }), /* @__PURE__ */ v("span", {
218
- className: "font-medium",
219
- children: [R.progress, "%"]
220
- })]
221
- }), /* @__PURE__ */ _("div", {
222
- className: "mt-1 h-3 overflow-hidden rounded-full bg-bg-sunken",
223
- children: /* @__PURE__ */ _("div", {
224
- className: "h-3 rounded-full bg-action-primary-bg transition-all",
225
- style: { width: `${R.progress}%` }
411
+ }), /* @__PURE__ */ v(E, {
412
+ treatment: "metric",
413
+ className: "border-border-seam",
414
+ children: [/* @__PURE__ */ _(w, { children: /* @__PURE__ */ v(T, {
415
+ className: "text-base flex items-center gap-2",
416
+ children: [/* @__PURE__ */ _(i, { className: "h-4 w-4" }), " Milestone Summary"]
417
+ }) }), /* @__PURE__ */ _(C, {
418
+ className: "space-y-3",
419
+ children: [
420
+ "completed",
421
+ "in_progress",
422
+ "pending",
423
+ "overdue"
424
+ ].map((e) => {
425
+ let t = K.milestones.filter((t) => t.status === e).length;
426
+ return /* @__PURE__ */ v("div", {
427
+ className: "flex items-center justify-between text-sm",
428
+ children: [/* @__PURE__ */ v("span", {
429
+ className: "flex items-center gap-2 text-text-secondary capitalize",
430
+ children: [/* @__PURE__ */ _("span", { className: `h-1.5 w-1.5 rounded-full ${P[e]}` }), e.replace("_", " ")]
431
+ }), /* @__PURE__ */ _("span", {
432
+ className: "font-medium tabular-nums",
433
+ children: t
434
+ })]
435
+ }, e);
226
436
  })
227
437
  })]
228
- }),
229
- /* @__PURE__ */ v("div", {
230
- className: "mt-4 flex flex-wrap gap-4 text-sm",
231
- children: [
232
- /* @__PURE__ */ v("span", {
233
- className: "flex items-center gap-1 text-text-secondary",
234
- children: [
235
- /* @__PURE__ */ _(a, { className: "h-4 w-4" }),
236
- " ",
237
- R.startDate,
238
- " -",
239
- " ",
240
- R.endDate
241
- ]
242
- }),
243
- /* @__PURE__ */ v("span", {
244
- className: "flex items-center gap-1 text-text-secondary",
245
- children: [
246
- /* @__PURE__ */ _(h, { className: "h-4 w-4" }),
247
- " ",
248
- R.teamMembers.length,
249
- " members"
250
- ]
251
- }),
252
- /* @__PURE__ */ v("span", {
253
- className: "flex items-center gap-1 text-text-secondary",
254
- children: [
255
- /* @__PURE__ */ _(m, { className: "h-4 w-4" }),
256
- " ",
257
- R.milestones.length,
258
- " milestones"
259
- ]
260
- })
261
- ]
262
- }),
263
- R.tags.length > 0 && /* @__PURE__ */ v("div", {
264
- className: "mt-3 flex items-center gap-2",
265
- children: [/* @__PURE__ */ _(p, { className: "h-4 w-4 text-text-secondary" }), R.tags.map((e) => /* @__PURE__ */ _(y, {
266
- variant: "outline",
267
- className: "text-xs",
268
- children: e
269
- }, e))]
270
- })
271
- ]
272
- }) }),
273
- /* @__PURE__ */ _("div", {
274
- className: "flex gap-1 border-b",
275
- children: [
276
- {
277
- key: "overview",
278
- label: "Overview"
279
- },
280
- {
281
- key: "timeline",
282
- label: "Timeline"
283
- },
284
- {
285
- key: "milestones",
286
- label: "Milestones"
287
- },
288
- {
289
- key: "team",
290
- label: "Team"
291
- }
292
- ].map(({ key: e, label: t }) => /* @__PURE__ */ _("button", {
293
- onClick: () => I(e),
294
- className: `border-b-2 px-4 py-2 text-sm font-medium transition-colors ${F === e ? "border-primary text-primary" : "border-transparent text-text-secondary hover:text-text-primary"}`,
295
- children: t
296
- }, e))
297
- }),
298
- F === "overview" && /* @__PURE__ */ v("div", {
299
- className: "grid gap-4 sm:grid-cols-2",
300
- children: [/* @__PURE__ */ v(x, { children: [/* @__PURE__ */ _(C, { children: /* @__PURE__ */ v(w, {
301
- className: "text-base flex items-center gap-2",
302
- children: [/* @__PURE__ */ _(l, { className: "h-4 w-4" }), " Budget Overview"]
303
- }) }), /* @__PURE__ */ v(S, {
304
- className: "space-y-3",
305
- children: [
306
- /* @__PURE__ */ v("div", {
307
- className: "flex justify-between text-sm",
308
- children: [/* @__PURE__ */ _("span", {
309
- className: "text-text-secondary",
310
- children: "Total Budget"
311
- }), /* @__PURE__ */ v("span", {
312
- className: "font-medium",
313
- children: ["$", R.budget.toLocaleString()]
314
- })]
315
- }),
316
- /* @__PURE__ */ v("div", {
317
- className: "flex justify-between text-sm",
318
- children: [/* @__PURE__ */ _("span", {
319
- className: "text-text-secondary",
320
- children: "Spent"
321
- }), /* @__PURE__ */ v("span", {
322
- className: "font-medium",
323
- children: ["$", R.spent.toLocaleString()]
324
- })]
325
- }),
326
- /* @__PURE__ */ v("div", {
327
- className: "flex justify-between text-sm",
328
- children: [/* @__PURE__ */ _("span", {
329
- className: "text-text-secondary",
330
- children: "Remaining"
331
- }), /* @__PURE__ */ v("span", {
332
- className: "font-medium text-green-600",
333
- children: ["$", (R.budget - R.spent).toLocaleString()]
334
- })]
335
- }),
336
- /* @__PURE__ */ _("div", {
337
- className: "h-2 overflow-hidden rounded-full bg-bg-sunken",
338
- children: /* @__PURE__ */ _("div", {
339
- className: "h-2 rounded-full bg-action-primary-bg",
340
- style: { width: `${Math.round(R.spent / R.budget * 100)}%` }
341
- })
342
- })
343
- ]
344
- })] }), /* @__PURE__ */ v(x, { children: [/* @__PURE__ */ _(C, { children: /* @__PURE__ */ v(w, {
345
- className: "text-base flex items-center gap-2",
346
- children: [/* @__PURE__ */ _(i, { className: "h-4 w-4" }), " Milestone Summary"]
347
- }) }), /* @__PURE__ */ _(S, {
348
- className: "space-y-3",
349
- children: [
350
- "completed",
351
- "in_progress",
352
- "pending",
353
- "overdue"
354
- ].map((e) => {
355
- let t = R.milestones.filter((t) => t.status === e).length;
356
- return /* @__PURE__ */ v("div", {
357
- className: "flex items-center justify-between text-sm",
358
- children: [/* @__PURE__ */ _("span", {
359
- className: "text-text-secondary capitalize",
360
- children: e.replace("_", " ")
361
- }), /* @__PURE__ */ _("span", {
362
- className: "font-medium",
363
- children: t
364
- })]
365
- }, e);
366
- })
367
- })] })]
368
- }),
369
- F === "timeline" && /* @__PURE__ */ _(x, { children: /* @__PURE__ */ _(S, {
370
- className: "pt-6",
371
- children: /* @__PURE__ */ _("div", {
372
- className: "relative space-y-0",
373
- children: R.milestones.map((e, t) => /* @__PURE__ */ v("div", {
374
- className: "relative flex gap-4 pb-8",
375
- children: [
376
- t !== R.milestones.length - 1 && /* @__PURE__ */ _("div", { className: "absolute left-[11px] top-6 h-full w-0.5 bg-bg-sunken" }),
377
- /* @__PURE__ */ v("div", {
378
- className: `relative z-10 mt-1 h-6 w-6 shrink-0 rounded-full ${{
379
- completed: "bg-green-500",
380
- in_progress: "bg-blue-500",
381
- pending: "bg-gray-300",
382
- overdue: "bg-red-500"
383
- }[e.status]} flex items-center justify-center`,
384
- children: [e.status === "completed" && /* @__PURE__ */ _(o, { className: "h-4 w-4 text-white" }), e.status === "in_progress" && /* @__PURE__ */ _(c, { className: "h-4 w-4 text-white" })]
385
- }),
386
- /* @__PURE__ */ v("div", {
387
- className: "flex-1",
438
+ })]
439
+ }),
440
+ U === "timeline" && /* @__PURE__ */ _(S, {
441
+ className: "border-border-seam",
442
+ children: /* @__PURE__ */ _(C, {
443
+ className: "pt-6",
444
+ children: /* @__PURE__ */ _("div", {
445
+ className: "relative space-y-0",
446
+ children: K.milestones.map((e, t) => /* @__PURE__ */ v("div", {
447
+ className: "relative flex gap-4 pb-8",
388
448
  children: [
449
+ t !== K.milestones.length - 1 && /* @__PURE__ */ _("div", { className: "absolute left-[11px] top-6 h-full w-0.5 bg-border-seam" }),
389
450
  /* @__PURE__ */ v("div", {
390
- className: "flex items-center gap-2",
391
- children: [/* @__PURE__ */ _("h4", {
392
- className: "font-medium",
393
- children: e.title
394
- }), /* @__PURE__ */ _(y, {
395
- variant: D[e.priority].variant,
396
- className: "text-xs",
397
- children: e.priority
398
- })]
399
- }),
400
- /* @__PURE__ */ _("p", {
401
- className: "mt-1 text-sm text-text-secondary",
402
- children: e.description
451
+ className: `relative z-10 mt-1 h-6 w-6 shrink-0 rounded-full ${P[e.status]} flex items-center justify-center`,
452
+ children: [e.status === "completed" && /* @__PURE__ */ _(o, { className: "h-4 w-4 text-white" }), e.status === "in_progress" && /* @__PURE__ */ _(c, { className: "h-4 w-4 text-white" })]
403
453
  }),
404
454
  /* @__PURE__ */ v("div", {
405
- className: "mt-2 flex flex-wrap gap-3 text-xs text-text-secondary",
406
- children: [/* @__PURE__ */ v("span", {
407
- className: "flex items-center gap-1",
408
- children: [
409
- /* @__PURE__ */ _(a, { className: "h-3 w-3" }),
410
- " Due: ",
411
- e.dueDate
412
- ]
413
- }), e.completedAt && /* @__PURE__ */ v("span", {
414
- className: "flex items-center gap-1 text-green-600",
415
- children: [
416
- /* @__PURE__ */ _(o, { className: "h-3 w-3" }),
417
- " Completed:",
418
- " ",
419
- e.completedAt
420
- ]
421
- })]
455
+ className: "flex-1",
456
+ children: [
457
+ /* @__PURE__ */ v("div", {
458
+ className: "flex items-center gap-2",
459
+ children: [/* @__PURE__ */ _("h4", {
460
+ className: "font-medium",
461
+ children: e.title
462
+ }), /* @__PURE__ */ _(b, {
463
+ variant: N[e.priority].variant,
464
+ className: "text-xs",
465
+ children: e.priority
466
+ })]
467
+ }),
468
+ /* @__PURE__ */ _("p", {
469
+ className: "mt-1 text-sm text-text-secondary",
470
+ children: e.description
471
+ }),
472
+ /* @__PURE__ */ v("div", {
473
+ className: "mt-2 flex flex-wrap gap-3 text-xs text-text-secondary",
474
+ children: [/* @__PURE__ */ v("span", {
475
+ className: "flex items-center gap-1",
476
+ children: [
477
+ /* @__PURE__ */ _(a, { className: "h-3 w-3" }),
478
+ " Due: ",
479
+ e.dueDate
480
+ ]
481
+ }), e.completedAt && /* @__PURE__ */ v("span", {
482
+ className: "flex items-center gap-1 text-status-success-text",
483
+ children: [
484
+ /* @__PURE__ */ _(o, { className: "h-3 w-3" }),
485
+ " Completed:",
486
+ " ",
487
+ e.completedAt
488
+ ]
489
+ })]
490
+ })
491
+ ]
422
492
  })
423
493
  ]
424
- })
425
- ]
426
- }, e.id))
427
- })
428
- }) }),
429
- F === "milestones" && /* @__PURE__ */ _("div", {
430
- className: "space-y-3",
431
- children: R.milestones.map((e) => /* @__PURE__ */ _(x, { children: /* @__PURE__ */ _(S, {
432
- className: "pt-4",
433
- children: /* @__PURE__ */ v("div", {
434
- className: "flex items-start gap-3",
435
- children: [/* @__PURE__ */ _({
436
- completed: o,
437
- in_progress: c,
438
- pending: m,
439
- overdue: r
440
- }[e.status] ?? m, { className: `mt-0.5 h-5 w-5 ${{
441
- completed: "text-green-600",
442
- in_progress: "text-blue-600",
443
- pending: "text-gray-400",
444
- overdue: "text-red-600"
445
- }[e.status]}` }), /* @__PURE__ */ v("div", {
446
- className: "flex-1",
447
- children: [
448
- /* @__PURE__ */ v("div", {
449
- className: "flex items-center gap-2",
450
- children: [/* @__PURE__ */ _("h4", {
451
- className: "font-medium",
452
- children: e.title
453
- }), /* @__PURE__ */ _(y, {
454
- variant: D[e.priority].variant,
455
- className: "text-xs",
456
- children: e.priority
457
- })]
458
- }),
459
- /* @__PURE__ */ _("p", {
460
- className: "mt-1 text-sm text-text-secondary",
461
- children: e.description
462
- }),
463
- e.deliverables.length > 0 && /* @__PURE__ */ v("div", {
464
- className: "mt-3",
465
- children: [/* @__PURE__ */ _("p", {
466
- className: "text-xs font-medium text-text-secondary",
467
- children: "Deliverables"
468
- }), /* @__PURE__ */ _("div", {
469
- className: "mt-1 flex flex-wrap gap-1",
470
- children: e.deliverables.map((e) => /* @__PURE__ */ _(y, {
471
- variant: "outline",
472
- className: "text-xs",
473
- children: e
474
- }, e))
475
- })]
476
- }),
477
- /* @__PURE__ */ v("div", {
478
- className: "mt-3 flex flex-wrap gap-4 text-xs text-text-secondary",
494
+ }, e.id))
495
+ })
496
+ })
497
+ }),
498
+ U === "milestones" && /* @__PURE__ */ _("div", {
499
+ className: "space-y-3",
500
+ children: K.milestones.map((e) => /* @__PURE__ */ _(S, {
501
+ className: "border-border-seam",
502
+ children: /* @__PURE__ */ _(C, {
503
+ className: "pt-4",
504
+ children: /* @__PURE__ */ v("div", {
505
+ className: "flex items-start gap-3",
506
+ children: [/* @__PURE__ */ _({
507
+ completed: o,
508
+ in_progress: c,
509
+ pending: m,
510
+ overdue: r
511
+ }[e.status] ?? m, { className: `mt-0.5 h-5 w-5 ${F[e.status]}` }), /* @__PURE__ */ v("div", {
512
+ className: "flex-1",
479
513
  children: [
480
- /* @__PURE__ */ v("span", {
481
- className: "flex items-center gap-1",
482
- children: [
483
- /* @__PURE__ */ _(a, { className: "h-3 w-3" }),
484
- " Due: ",
485
- e.dueDate
486
- ]
514
+ /* @__PURE__ */ v("div", {
515
+ className: "flex items-center gap-2",
516
+ children: [/* @__PURE__ */ _("h4", {
517
+ className: "font-medium",
518
+ children: e.title
519
+ }), /* @__PURE__ */ _(b, {
520
+ variant: N[e.priority].variant,
521
+ className: "text-xs",
522
+ children: e.priority
523
+ })]
487
524
  }),
488
- e.completedAt && /* @__PURE__ */ v("span", {
489
- className: "flex items-center gap-1 text-green-600",
490
- children: [
491
- /* @__PURE__ */ _(o, { className: "h-3 w-3" }),
492
- " ",
493
- e.completedAt
494
- ]
525
+ /* @__PURE__ */ _("p", {
526
+ className: "mt-1 text-sm text-text-secondary",
527
+ children: e.description
528
+ }),
529
+ e.deliverables.length > 0 && /* @__PURE__ */ v("div", {
530
+ className: "mt-3",
531
+ children: [/* @__PURE__ */ _("p", {
532
+ className: "text-xs font-medium text-text-secondary",
533
+ children: "Deliverables"
534
+ }), /* @__PURE__ */ _("div", {
535
+ className: "mt-1 flex flex-wrap gap-1",
536
+ children: e.deliverables.map((e) => /* @__PURE__ */ _(b, {
537
+ variant: "outline",
538
+ className: "text-xs",
539
+ children: e
540
+ }, e))
541
+ })]
495
542
  }),
496
- e.dependencies.length > 0 && /* @__PURE__ */ v("span", {
497
- className: "flex items-center gap-1",
543
+ /* @__PURE__ */ v("div", {
544
+ className: "mt-3 flex flex-wrap gap-4 text-xs text-text-secondary",
498
545
  children: [
499
- /* @__PURE__ */ _(u, { className: "h-3 w-3" }),
500
- " ",
501
- e.dependencies.length,
502
- " ",
503
- "dependencies"
546
+ /* @__PURE__ */ v("span", {
547
+ className: "flex items-center gap-1",
548
+ children: [
549
+ /* @__PURE__ */ _(a, { className: "h-3 w-3" }),
550
+ " Due: ",
551
+ e.dueDate
552
+ ]
553
+ }),
554
+ e.completedAt && /* @__PURE__ */ v("span", {
555
+ className: "flex items-center gap-1 text-status-success-text",
556
+ children: [
557
+ /* @__PURE__ */ _(o, { className: "h-3 w-3" }),
558
+ " ",
559
+ e.completedAt
560
+ ]
561
+ }),
562
+ e.dependencies.length > 0 && /* @__PURE__ */ v("span", {
563
+ className: "flex items-center gap-1",
564
+ children: [
565
+ /* @__PURE__ */ _(u, { className: "h-3 w-3" }),
566
+ /* @__PURE__ */ _("span", {
567
+ className: "tabular-nums",
568
+ children: e.dependencies.length
569
+ }),
570
+ " ",
571
+ "dependencies"
572
+ ]
573
+ })
504
574
  ]
575
+ }),
576
+ e.notes && /* @__PURE__ */ _("p", {
577
+ className: "mt-2 rounded bg-bg-sunken p-2 text-xs text-text-secondary italic",
578
+ children: e.notes
505
579
  })
506
580
  ]
507
- }),
508
- e.notes && /* @__PURE__ */ _("p", {
509
- className: "mt-2 rounded bg-bg-sunken/50 p-2 text-xs text-text-secondary italic",
510
- children: e.notes
511
- })
512
- ]
513
- })]
581
+ })]
582
+ })
583
+ })
584
+ }, e.id))
585
+ }),
586
+ U === "team" && /* @__PURE__ */ v(S, {
587
+ className: "border-border-seam",
588
+ children: [/* @__PURE__ */ _(w, { children: /* @__PURE__ */ _(T, {
589
+ className: "text-base",
590
+ children: "Team Members"
591
+ }) }), /* @__PURE__ */ _(C, { children: /* @__PURE__ */ _("div", {
592
+ className: "space-y-3",
593
+ children: K.teamMembers.map((e, t) => /* @__PURE__ */ v("div", {
594
+ className: "flex items-center gap-3 rounded-lg border border-border-seam p-3",
595
+ children: [/* @__PURE__ */ _("div", {
596
+ className: "flex h-10 w-10 items-center justify-center rounded-full bg-accent-soft font-semibold text-text-primary",
597
+ children: e.name.charAt(0)
598
+ }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("p", {
599
+ className: "font-medium",
600
+ children: e.name
601
+ }), /* @__PURE__ */ _("p", {
602
+ className: "text-sm text-text-secondary",
603
+ children: e.role
604
+ })] })]
605
+ }, t))
606
+ }) })]
607
+ })
608
+ ] }) : /* @__PURE__ */ _(S, {
609
+ className: "border-border-seam",
610
+ children: /* @__PURE__ */ _(C, {
611
+ className: "py-6",
612
+ children: /* @__PURE__ */ _(O, {
613
+ illustration: "onboarding",
614
+ title: "Select a project",
615
+ description: "Pick a project from the sidebar to view its details."
514
616
  })
515
- }) }, e.id))
516
- }),
517
- F === "team" && /* @__PURE__ */ v(x, { children: [/* @__PURE__ */ _(C, { children: /* @__PURE__ */ _(w, {
518
- className: "text-base",
519
- children: "Team Members"
520
- }) }), /* @__PURE__ */ _(S, { children: /* @__PURE__ */ _("div", {
521
- className: "space-y-3",
522
- children: R.teamMembers.map((e, t) => /* @__PURE__ */ v("div", {
523
- className: "flex items-center gap-3 rounded-lg border p-3",
524
- children: [/* @__PURE__ */ _("div", {
525
- className: "flex h-10 w-10 items-center justify-center rounded-full bg-action-primary-bg/10 font-semibold text-primary",
526
- children: e.name.charAt(0)
527
- }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("p", {
528
- className: "font-medium",
529
- children: e.name
530
- }), /* @__PURE__ */ _("p", {
531
- className: "text-sm text-text-secondary",
532
- children: e.role
533
- })] })]
534
- }, t))
535
- }) })] })
536
- ] }) : /* @__PURE__ */ _(x, { children: /* @__PURE__ */ _(S, {
537
- className: "py-12 text-center text-text-secondary",
538
- children: "Select a project from the sidebar to view details."
539
- }) })
540
- })]
541
- })]
617
+ })
618
+ })
619
+ })]
620
+ })
621
+ ]
542
622
  });
543
623
  }
544
624
  //#endregion
545
- export { O as ProjectsPage };
625
+ export { I as ProjectsPage };
546
626
 
547
627
  //# sourceMappingURL=ProjectsPage.js.map