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