@burdenoff/microfe-adaptercloud 2026.624.1 → 2026.625.2
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/adaptercloud/components/EmptyState.js +17 -21
- package/dist/adaptercloud/components/EmptyState.js.map +1 -1
- package/dist/adaptercloud/components/InvestmentCard.js +25 -23
- package/dist/adaptercloud/components/InvestmentCard.js.map +1 -1
- package/dist/adaptercloud/components/MetricsCard.js +18 -12
- package/dist/adaptercloud/components/MetricsCard.js.map +1 -1
- package/dist/adaptercloud/components/PageLayout.js +45 -19
- package/dist/adaptercloud/components/PageLayout.js.map +1 -1
- package/dist/adaptercloud/components/RatingDisplay.js +3 -3
- package/dist/adaptercloud/components/RatingDisplay.js.map +1 -1
- package/dist/adaptercloud/components/StatusBadge.js +36 -16
- package/dist/adaptercloud/components/StatusBadge.js.map +1 -1
- package/dist/adaptercloud/pages/HomePage.js +244 -231
- package/dist/adaptercloud/pages/HomePage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminAnalyticsPage.js +121 -113
- package/dist/adaptercloud/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminDashboard.js +102 -76
- package/dist/adaptercloud/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminFinancialPage.js +70 -65
- package/dist/adaptercloud/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminOrdersPage.js +108 -103
- package/dist/adaptercloud/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminProfilePage.js +61 -59
- package/dist/adaptercloud/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminSettingsPage.js +119 -105
- package/dist/adaptercloud/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/CartManagementPage.js +165 -160
- package/dist/adaptercloud/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/UserManagementPage.js +174 -169
- package/dist/adaptercloud/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/AnalyticsDashboard.js +103 -97
- package/dist/adaptercloud/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/BusinessSettingsPage.js +186 -172
- package/dist/adaptercloud/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartOwnerDashboard.js +109 -81
- package/dist/adaptercloud/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartOwnerProfilePage.js +111 -109
- package/dist/adaptercloud/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartServiceConfigPage.js +127 -124
- package/dist/adaptercloud/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/InventoryManagementPage.js +310 -316
- package/dist/adaptercloud/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/OrderManagementPage.js +251 -257
- package/dist/adaptercloud/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/StaffManagementPage.js +142 -148
- package/dist/adaptercloud/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/HelpSupportPage.js +287 -283
- package/dist/adaptercloud/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/NotificationCenterPage.js +120 -114
- package/dist/adaptercloud/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/SettingsPage.js +754 -736
- package/dist/adaptercloud/pages/common/SettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/BookingDetailsPage.js +83 -80
- package/dist/adaptercloud/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CartDetailPage.js +120 -117
- package/dist/adaptercloud/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CartDiscoveryPage.js +231 -226
- package/dist/adaptercloud/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CheckoutPage.js +97 -95
- package/dist/adaptercloud/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CustomerDashboard.js +418 -389
- package/dist/adaptercloud/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CustomerProfilePage.js +134 -132
- package/dist/adaptercloud/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/DirectServiceBookingPage.js +108 -102
- package/dist/adaptercloud/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/FavoritesPage.js +62 -59
- package/dist/adaptercloud/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/OrderHistoryPage.js +117 -111
- package/dist/adaptercloud/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/OrderTrackingPage.js +71 -68
- package/dist/adaptercloud/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/PaymentMethodsPage.js +97 -81
- package/dist/adaptercloud/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/ReviewsPage.js +83 -80
- package/dist/adaptercloud/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/SavedAddressesPage.js +82 -66
- package/dist/adaptercloud/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestmentDetailsPage.js +93 -91
- package/dist/adaptercloud/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestmentOpportunitiesPage.js +100 -97
- package/dist/adaptercloud/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorAnalyticsPage.js +83 -81
- package/dist/adaptercloud/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorDashboard.js +344 -311
- package/dist/adaptercloud/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorInvestmentsPage.js +43 -40
- package/dist/adaptercloud/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorPortfolioPage.js +59 -57
- package/dist/adaptercloud/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorProfilePage.js +394 -392
- package/dist/adaptercloud/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/TaskDetailsPage.js +354 -324
- package/dist/adaptercloud/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerDashboard.js +122 -97
- package/dist/adaptercloud/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerOrdersPage.js +107 -104
- package/dist/adaptercloud/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerProfilePage.js +109 -107
- package/dist/adaptercloud/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerSchedulePage.js +94 -90
- package/dist/adaptercloud/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +3 -3
|
@@ -6,8 +6,9 @@ import { formatRelativeTime as i } from "../../utils/formatters.js";
|
|
|
6
6
|
import { useCallback as a, useMemo as o, useState as s } from "react";
|
|
7
7
|
import { AlertCircle as c, AlertTriangle as l, ArrowUpDown as u, Bell as d, Check as f, CheckCheck as p, Clock as m, CreditCard as h, Inbox as g, MailOpen as _, Megaphone as v, RefreshCw as y, Search as b, ShoppingBag as x, Star as S, Trash2 as C, TrendingUp as w, Truck as T, UserCheck as E, Users as D, X as O } from "lucide-react";
|
|
8
8
|
import { Fragment as k, jsx as A, jsxs as j } from "react/jsx-runtime";
|
|
9
|
+
import { EmphasisPanel as M } from "@burdenoff/fe-libs/ui";
|
|
9
10
|
//#region src/adaptercloud/pages/common/NotificationCenterPage.tsx
|
|
10
|
-
var
|
|
11
|
+
var N = [
|
|
11
12
|
{
|
|
12
13
|
id: "n-001",
|
|
13
14
|
type: "order_update",
|
|
@@ -169,83 +170,83 @@ var M = [
|
|
|
169
170
|
amount: 280
|
|
170
171
|
}
|
|
171
172
|
}
|
|
172
|
-
],
|
|
173
|
+
], P = {
|
|
173
174
|
order_update: {
|
|
174
175
|
icon: x,
|
|
175
|
-
color: "text-
|
|
176
|
-
bg: "bg-blue-
|
|
176
|
+
color: "text-accent-blue",
|
|
177
|
+
bg: "bg-accent-blue-subtle/10",
|
|
177
178
|
label: "Order"
|
|
178
179
|
},
|
|
179
180
|
payment: {
|
|
180
181
|
icon: h,
|
|
181
|
-
color: "text-
|
|
182
|
-
bg: "bg-
|
|
182
|
+
color: "text-status-success-text",
|
|
183
|
+
bg: "bg-status-success-bg-subtle/10",
|
|
183
184
|
label: "Payment"
|
|
184
185
|
},
|
|
185
186
|
promotion: {
|
|
186
187
|
icon: v,
|
|
187
|
-
color: "text-
|
|
188
|
-
bg: "bg-orange-
|
|
188
|
+
color: "text-accent-orange",
|
|
189
|
+
bg: "bg-accent-orange-subtle/10",
|
|
189
190
|
label: "Promo"
|
|
190
191
|
},
|
|
191
192
|
system: {
|
|
192
193
|
icon: c,
|
|
193
|
-
color: "text-
|
|
194
|
-
bg: "bg-purple-
|
|
194
|
+
color: "text-accent-purple",
|
|
195
|
+
bg: "bg-accent-purple-subtle/10",
|
|
195
196
|
label: "System"
|
|
196
197
|
},
|
|
197
198
|
review: {
|
|
198
199
|
icon: S,
|
|
199
|
-
color: "text-
|
|
200
|
-
bg: "bg-
|
|
200
|
+
color: "text-status-warning-text",
|
|
201
|
+
bg: "bg-status-warning-bg-subtle/10",
|
|
201
202
|
label: "Review"
|
|
202
203
|
},
|
|
203
204
|
staff: {
|
|
204
205
|
icon: D,
|
|
205
|
-
color: "text-
|
|
206
|
-
bg: "bg-indigo-
|
|
206
|
+
color: "text-accent-indigo",
|
|
207
|
+
bg: "bg-accent-indigo-subtle/10",
|
|
207
208
|
label: "Staff"
|
|
208
209
|
},
|
|
209
210
|
investment: {
|
|
210
211
|
icon: w,
|
|
211
|
-
color: "text-
|
|
212
|
-
bg: "bg-
|
|
212
|
+
color: "text-status-success-text",
|
|
213
|
+
bg: "bg-status-success-bg-subtle/10",
|
|
213
214
|
label: "Investment"
|
|
214
215
|
},
|
|
215
216
|
alert: {
|
|
216
217
|
icon: l,
|
|
217
|
-
color: "text-
|
|
218
|
-
bg: "bg-
|
|
218
|
+
color: "text-status-error-text",
|
|
219
|
+
bg: "bg-status-error-bg-subtle/10",
|
|
219
220
|
label: "Alert"
|
|
220
221
|
},
|
|
221
222
|
delivery: {
|
|
222
223
|
icon: T,
|
|
223
|
-
color: "text-
|
|
224
|
-
bg: "bg-cyan-
|
|
224
|
+
color: "text-accent-cyan",
|
|
225
|
+
bg: "bg-accent-cyan-subtle/10",
|
|
225
226
|
label: "Delivery"
|
|
226
227
|
},
|
|
227
228
|
account: {
|
|
228
229
|
icon: E,
|
|
229
|
-
color: "text-
|
|
230
|
-
bg: "bg-teal-
|
|
230
|
+
color: "text-accent-teal",
|
|
231
|
+
bg: "bg-accent-teal-subtle/10",
|
|
231
232
|
label: "Account"
|
|
232
233
|
}
|
|
233
|
-
}, P = {
|
|
234
|
-
urgent: "bg-red-500/20 text-red-600 dark:text-red-400",
|
|
235
|
-
high: "bg-orange-500/20 text-orange-600 dark:text-orange-400",
|
|
236
|
-
medium: "bg-blue-500/20 text-blue-600 dark:text-blue-400",
|
|
237
|
-
low: "bg-bg-sunken text-text-secondary"
|
|
238
234
|
}, F = {
|
|
235
|
+
urgent: "bg-status-error-bg-subtle/20 text-status-error-text",
|
|
236
|
+
high: "bg-accent-orange-subtle/20 text-accent-orange",
|
|
237
|
+
medium: "bg-accent-blue-subtle/20 text-accent-blue",
|
|
238
|
+
low: "bg-bg-sunken text-text-secondary"
|
|
239
|
+
}, I = {
|
|
239
240
|
urgent: "border-l-red-500",
|
|
240
241
|
high: "border-l-orange-500",
|
|
241
242
|
medium: "border-l-blue-500",
|
|
242
243
|
low: "border-l-border"
|
|
243
|
-
},
|
|
244
|
+
}, L = {
|
|
244
245
|
urgent: 4,
|
|
245
246
|
high: 3,
|
|
246
247
|
medium: 2,
|
|
247
248
|
low: 1
|
|
248
|
-
},
|
|
249
|
+
}, R = [
|
|
249
250
|
{
|
|
250
251
|
id: "all",
|
|
251
252
|
label: "All",
|
|
@@ -272,18 +273,18 @@ var M = [
|
|
|
272
273
|
icon: d
|
|
273
274
|
}
|
|
274
275
|
];
|
|
275
|
-
function
|
|
276
|
+
function z(e) {
|
|
276
277
|
let t = new Date(e), n = /* @__PURE__ */ new Date(), r = new Date(n.getFullYear(), n.getMonth(), n.getDate()), i = /* @__PURE__ */ new Date(r.getTime() - 1440 * 60 * 1e3);
|
|
277
278
|
return t >= r ? "Today" : t >= i ? "Yesterday" : "Earlier";
|
|
278
279
|
}
|
|
279
|
-
function
|
|
280
|
+
function B(e) {
|
|
280
281
|
let t = [], n = /* @__PURE__ */ new Map(), r = [
|
|
281
282
|
"Today",
|
|
282
283
|
"Yesterday",
|
|
283
284
|
"Earlier"
|
|
284
285
|
];
|
|
285
286
|
for (let t of e) {
|
|
286
|
-
let e =
|
|
287
|
+
let e = z(t.createdAt);
|
|
287
288
|
n.has(e) || n.set(e, []), n.get(e).push(t);
|
|
288
289
|
}
|
|
289
290
|
for (let e of r) {
|
|
@@ -295,11 +296,11 @@ function z(e) {
|
|
|
295
296
|
}
|
|
296
297
|
return t;
|
|
297
298
|
}
|
|
298
|
-
function
|
|
299
|
-
let { navigateTo: c } = e(), [l, h] = s(
|
|
299
|
+
function V() {
|
|
300
|
+
let { navigateTo: c } = e(), [l, h] = s(N), [g, v] = s("all"), [x, S] = s(""), [w, T] = s("recent"), [E, D] = s(!1), V = o(() => l.filter((e) => !e.isRead).length, [l]), H = o(() => l.filter((e) => e.priority === "urgent").length, [l]), U = o(() => l.filter((e) => z(e.createdAt) === "Today").length, [l]), W = o(() => {
|
|
300
301
|
let e = /* @__PURE__ */ new Date(Date.now() - 10080 * 60 * 1e3);
|
|
301
302
|
return l.filter((t) => new Date(t.createdAt) >= e).length;
|
|
302
|
-
}, [l]),
|
|
303
|
+
}, [l]), G = o(() => {
|
|
303
304
|
let e = {
|
|
304
305
|
all: 0,
|
|
305
306
|
orders: 0,
|
|
@@ -309,7 +310,7 @@ function B() {
|
|
|
309
310
|
};
|
|
310
311
|
for (let t of l) e.all++, t.isRead || e.unread++, (t.type === "order_update" || t.type === "delivery") && e.orders++, t.type === "promotion" && e.promotions++, (t.type === "system" || t.type === "alert" || t.type === "account") && e.system++;
|
|
311
312
|
return e;
|
|
312
|
-
}, [l]),
|
|
313
|
+
}, [l]), K = o(() => {
|
|
313
314
|
let e = [...l];
|
|
314
315
|
switch (g) {
|
|
315
316
|
case "orders":
|
|
@@ -334,7 +335,7 @@ function B() {
|
|
|
334
335
|
e.sort((e, t) => new Date(t.createdAt).getTime() - new Date(e.createdAt).getTime());
|
|
335
336
|
break;
|
|
336
337
|
case "priority":
|
|
337
|
-
e.sort((e, t) =>
|
|
338
|
+
e.sort((e, t) => L[t.priority] - L[e.priority]);
|
|
338
339
|
break;
|
|
339
340
|
case "unread":
|
|
340
341
|
e.sort((e, t) => e.isRead === t.isRead ? 0 : e.isRead ? 1 : -1);
|
|
@@ -346,102 +347,106 @@ function B() {
|
|
|
346
347
|
g,
|
|
347
348
|
x,
|
|
348
349
|
w
|
|
349
|
-
]),
|
|
350
|
+
]), q = o(() => B(K), [K]), J = a((e) => {
|
|
350
351
|
h((t) => t.map((t) => t.id === e ? {
|
|
351
352
|
...t,
|
|
352
353
|
isRead: !0
|
|
353
354
|
} : t));
|
|
354
|
-
}, []),
|
|
355
|
+
}, []), Y = a(() => {
|
|
355
356
|
h((e) => e.map((e) => ({
|
|
356
357
|
...e,
|
|
357
358
|
isRead: !0
|
|
358
359
|
})));
|
|
359
|
-
}, []), Y = a((e) => {
|
|
360
|
-
h((t) => t.filter((t) => t.id !== e));
|
|
361
360
|
}, []), X = a((e) => {
|
|
362
|
-
|
|
363
|
-
}, [
|
|
361
|
+
h((t) => t.filter((t) => t.id !== e));
|
|
362
|
+
}, []), Z = a((e) => {
|
|
363
|
+
e.isRead || J(e.id), e.actionUrl && c(e.actionUrl);
|
|
364
|
+
}, [J, c]), Q = a(() => {
|
|
364
365
|
window.confirm("Are you sure you want to clear all notifications?") && h([]);
|
|
365
366
|
}, []);
|
|
366
367
|
return /* @__PURE__ */ j(n, {
|
|
367
368
|
title: "Notifications",
|
|
368
|
-
description:
|
|
369
|
+
description: V > 0 ? `${V} unread notification${V === 1 ? "" : "s"}` : "All caught up!",
|
|
370
|
+
purpose: "Your single feed of order updates, account alerts, and platform news. Filter by type, mark items read, and tap any notification to jump straight to what it's about so nothing important slips by.",
|
|
369
371
|
actions: /* @__PURE__ */ j("div", {
|
|
370
372
|
className: "flex items-center gap-2",
|
|
371
373
|
children: [l.length > 0 && /* @__PURE__ */ j("button", {
|
|
372
374
|
type: "button",
|
|
373
|
-
onClick:
|
|
375
|
+
onClick: Q,
|
|
374
376
|
className: "flex items-center gap-1.5 rounded-lg border border-border-subtle px-3 py-2 text-sm font-medium text-text-secondary hover:text-text-primary hover:bg-accent transition-colors",
|
|
375
377
|
children: [/* @__PURE__ */ A(C, { className: "h-4 w-4" }), /* @__PURE__ */ A("span", {
|
|
376
378
|
className: "hidden sm:inline",
|
|
377
379
|
children: "Clear All"
|
|
378
380
|
})]
|
|
379
|
-
}),
|
|
381
|
+
}), V > 0 && /* @__PURE__ */ j("button", {
|
|
380
382
|
type: "button",
|
|
381
|
-
onClick:
|
|
383
|
+
onClick: Y,
|
|
382
384
|
className: "flex items-center gap-1.5 rounded-lg border border-border-subtle px-3 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
383
385
|
children: [/* @__PURE__ */ A(p, { className: "h-4 w-4" }), "Mark All Read"]
|
|
384
386
|
})]
|
|
385
387
|
}),
|
|
386
388
|
children: [
|
|
387
|
-
/* @__PURE__ */
|
|
388
|
-
className: "
|
|
389
|
-
children:
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
className: "
|
|
394
|
-
children:
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
className: "
|
|
404
|
-
children:
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
className: "
|
|
414
|
-
children:
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
className: "
|
|
424
|
-
children:
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
className: "
|
|
434
|
-
children:
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
389
|
+
/* @__PURE__ */ A(M, {
|
|
390
|
+
className: "mb-6",
|
|
391
|
+
children: /* @__PURE__ */ j("div", {
|
|
392
|
+
className: "grid grid-cols-2 gap-3 sm:grid-cols-5",
|
|
393
|
+
children: [
|
|
394
|
+
/* @__PURE__ */ j("div", {
|
|
395
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface p-3 text-center",
|
|
396
|
+
children: [/* @__PURE__ */ A("p", {
|
|
397
|
+
className: "text-2xl font-bold text-text-primary",
|
|
398
|
+
children: l.length
|
|
399
|
+
}), /* @__PURE__ */ A("p", {
|
|
400
|
+
className: "text-xs text-text-secondary",
|
|
401
|
+
children: "Total"
|
|
402
|
+
})]
|
|
403
|
+
}),
|
|
404
|
+
/* @__PURE__ */ j("div", {
|
|
405
|
+
className: "rounded-lg border border-accent-blue-subtle/30 bg-accent-blue-subtle/5 p-3 text-center",
|
|
406
|
+
children: [/* @__PURE__ */ A("p", {
|
|
407
|
+
className: "text-2xl font-bold text-accent-blue",
|
|
408
|
+
children: V
|
|
409
|
+
}), /* @__PURE__ */ A("p", {
|
|
410
|
+
className: "text-xs text-text-secondary",
|
|
411
|
+
children: "Unread"
|
|
412
|
+
})]
|
|
413
|
+
}),
|
|
414
|
+
/* @__PURE__ */ j("div", {
|
|
415
|
+
className: "rounded-lg border border-status-error-border/30 bg-status-error-bg-subtle/5 p-3 text-center",
|
|
416
|
+
children: [/* @__PURE__ */ A("p", {
|
|
417
|
+
className: "text-2xl font-bold text-status-error-text",
|
|
418
|
+
children: H
|
|
419
|
+
}), /* @__PURE__ */ A("p", {
|
|
420
|
+
className: "text-xs text-text-secondary",
|
|
421
|
+
children: "Urgent"
|
|
422
|
+
})]
|
|
423
|
+
}),
|
|
424
|
+
/* @__PURE__ */ j("div", {
|
|
425
|
+
className: "rounded-lg border border-status-success-border/30 bg-status-success-bg-subtle/5 p-3 text-center",
|
|
426
|
+
children: [/* @__PURE__ */ A("p", {
|
|
427
|
+
className: "text-2xl font-bold text-status-success-text",
|
|
428
|
+
children: U
|
|
429
|
+
}), /* @__PURE__ */ A("p", {
|
|
430
|
+
className: "text-xs text-text-secondary",
|
|
431
|
+
children: "Today"
|
|
432
|
+
})]
|
|
433
|
+
}),
|
|
434
|
+
/* @__PURE__ */ j("div", {
|
|
435
|
+
className: "rounded-lg border border-status-warning-border/30 bg-status-warning-bg-subtle/5 p-3 text-center",
|
|
436
|
+
children: [/* @__PURE__ */ A("p", {
|
|
437
|
+
className: "text-2xl font-bold text-status-warning-text",
|
|
438
|
+
children: W
|
|
439
|
+
}), /* @__PURE__ */ A("p", {
|
|
440
|
+
className: "text-xs text-text-secondary",
|
|
441
|
+
children: "This Week"
|
|
442
|
+
})]
|
|
443
|
+
})
|
|
444
|
+
]
|
|
445
|
+
})
|
|
441
446
|
}),
|
|
442
447
|
/* @__PURE__ */ A("div", {
|
|
443
448
|
className: "flex items-center gap-2 mb-4 overflow-x-auto pb-1",
|
|
444
|
-
children:
|
|
449
|
+
children: R.map((e) => {
|
|
445
450
|
let n = e.icon;
|
|
446
451
|
return /* @__PURE__ */ j("button", {
|
|
447
452
|
type: "button",
|
|
@@ -452,7 +457,7 @@ function B() {
|
|
|
452
457
|
e.label,
|
|
453
458
|
/* @__PURE__ */ A("span", {
|
|
454
459
|
className: t("inline-flex h-5 min-w-[20px] items-center justify-center rounded-full px-1 text-xs", g === e.id ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken text-text-secondary"),
|
|
455
|
-
children:
|
|
460
|
+
children: G[e.id]
|
|
456
461
|
})
|
|
457
462
|
]
|
|
458
463
|
}, e.id);
|
|
@@ -517,7 +522,8 @@ function B() {
|
|
|
517
522
|
})] })]
|
|
518
523
|
})]
|
|
519
524
|
}),
|
|
520
|
-
|
|
525
|
+
K.length === 0 ? /* @__PURE__ */ A(r, {
|
|
526
|
+
illustration: "empty-notifications",
|
|
521
527
|
icon: /* @__PURE__ */ A(d, { className: "h-12 w-12" }),
|
|
522
528
|
title: "No notifications",
|
|
523
529
|
description: x ? "No notifications match your search. Try different keywords." : g === "unread" ? "You're all caught up! No unread notifications." : "No notifications in this category yet.",
|
|
@@ -534,7 +540,7 @@ function B() {
|
|
|
534
540
|
})
|
|
535
541
|
}) : /* @__PURE__ */ A("div", {
|
|
536
542
|
className: "space-y-6",
|
|
537
|
-
children:
|
|
543
|
+
children: q.map((e) => /* @__PURE__ */ j("div", { children: [/* @__PURE__ */ j("div", {
|
|
538
544
|
className: "flex items-center gap-3 mb-2",
|
|
539
545
|
children: [
|
|
540
546
|
/* @__PURE__ */ A("h3", {
|
|
@@ -554,9 +560,9 @@ function B() {
|
|
|
554
560
|
}), /* @__PURE__ */ A("div", {
|
|
555
561
|
className: "rounded-lg border border-border-subtle bg-bg-surface divide-y divide-border overflow-hidden",
|
|
556
562
|
children: e.items.map((e) => {
|
|
557
|
-
let n =
|
|
563
|
+
let n = P[e.type] ?? P.system, r = n.icon;
|
|
558
564
|
return /* @__PURE__ */ j("div", {
|
|
559
|
-
className: t("flex items-start gap-3 px-4 py-4 border-l-4 transition-colors",
|
|
565
|
+
className: t("flex items-start gap-3 px-4 py-4 border-l-4 transition-colors", I[e.priority], !e.isRead && "bg-accent/30"),
|
|
560
566
|
children: [
|
|
561
567
|
/* @__PURE__ */ A("div", {
|
|
562
568
|
className: t("flex h-10 w-10 shrink-0 items-center justify-center rounded-full", n.bg),
|
|
@@ -574,7 +580,7 @@ function B() {
|
|
|
574
580
|
}),
|
|
575
581
|
!e.isRead && /* @__PURE__ */ A("span", { className: "h-2 w-2 rounded-full bg-action-primary-bg shrink-0" }),
|
|
576
582
|
/* @__PURE__ */ A("span", {
|
|
577
|
-
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium",
|
|
583
|
+
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium", F[e.priority]),
|
|
578
584
|
children: e.priority
|
|
579
585
|
})
|
|
580
586
|
]
|
|
@@ -605,20 +611,20 @@ function B() {
|
|
|
605
611
|
children: [
|
|
606
612
|
e.actionUrl && /* @__PURE__ */ A("button", {
|
|
607
613
|
type: "button",
|
|
608
|
-
onClick: () =>
|
|
614
|
+
onClick: () => Z(e),
|
|
609
615
|
className: "rounded-lg bg-action-primary-bg px-3 py-1.5 text-xs font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors",
|
|
610
616
|
children: e.actionText ?? "View"
|
|
611
617
|
}),
|
|
612
618
|
!e.isRead && /* @__PURE__ */ j("button", {
|
|
613
619
|
type: "button",
|
|
614
|
-
onClick: () =>
|
|
620
|
+
onClick: () => J(e.id),
|
|
615
621
|
title: "Mark as read",
|
|
616
622
|
className: "flex items-center gap-1 rounded-lg border border-border-subtle px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-accent transition-colors",
|
|
617
623
|
children: [/* @__PURE__ */ A(f, { className: "h-3 w-3" }), "Mark Read"]
|
|
618
624
|
}),
|
|
619
625
|
/* @__PURE__ */ j("button", {
|
|
620
626
|
type: "button",
|
|
621
|
-
onClick: () =>
|
|
627
|
+
onClick: () => X(e.id),
|
|
622
628
|
title: "Delete notification",
|
|
623
629
|
className: "flex items-center gap-1 rounded-lg border border-border-subtle px-3 py-1.5 text-xs font-medium text-status-error-text hover:bg-status-error-bg/10 transition-colors",
|
|
624
630
|
children: [/* @__PURE__ */ A(C, { className: "h-3 w-3" }), "Delete"]
|
|
@@ -636,13 +642,13 @@ function B() {
|
|
|
636
642
|
})
|
|
637
643
|
})] }, e.label))
|
|
638
644
|
}),
|
|
639
|
-
|
|
645
|
+
K.length > 0 && /* @__PURE__ */ j("div", {
|
|
640
646
|
className: "mt-6 flex items-center justify-between rounded-lg border border-border-subtle bg-bg-surface px-4 py-3",
|
|
641
647
|
children: [/* @__PURE__ */ j("p", {
|
|
642
648
|
className: "text-sm text-text-secondary",
|
|
643
649
|
children: [
|
|
644
650
|
"Showing ",
|
|
645
|
-
|
|
651
|
+
K.length,
|
|
646
652
|
" of ",
|
|
647
653
|
l.length,
|
|
648
654
|
" notifications"
|
|
@@ -660,6 +666,6 @@ function B() {
|
|
|
660
666
|
});
|
|
661
667
|
}
|
|
662
668
|
//#endregion
|
|
663
|
-
export {
|
|
669
|
+
export { V as NotificationCenterPage };
|
|
664
670
|
|
|
665
671
|
//# sourceMappingURL=NotificationCenterPage.js.map
|