@burdenoff/microfe-subscriberbot 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.
- package/dist/subscriberbot/components/EmptyState.js +17 -10
- package/dist/subscriberbot/components/EmptyState.js.map +1 -1
- package/dist/subscriberbot/components/InvestmentCard.js +23 -22
- package/dist/subscriberbot/components/InvestmentCard.js.map +1 -1
- package/dist/subscriberbot/components/MetricsCard.js +15 -12
- package/dist/subscriberbot/components/MetricsCard.js.map +1 -1
- package/dist/subscriberbot/components/PageLayout.js +27 -15
- package/dist/subscriberbot/components/PageLayout.js.map +1 -1
- package/dist/subscriberbot/components/RatingDisplay.js +3 -3
- package/dist/subscriberbot/components/RatingDisplay.js.map +1 -1
- package/dist/subscriberbot/components/StatusBadge.js +25 -13
- package/dist/subscriberbot/components/StatusBadge.js.map +1 -1
- package/dist/subscriberbot/context/SubscriberBotContext.js.map +1 -1
- package/dist/subscriberbot/pages/HomePage.js +72 -63
- package/dist/subscriberbot/pages/HomePage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminAnalyticsPage.js +106 -100
- package/dist/subscriberbot/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminDashboard.js +125 -85
- package/dist/subscriberbot/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminFinancialPage.js +51 -45
- package/dist/subscriberbot/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminOrdersPage.js +246 -241
- package/dist/subscriberbot/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminProfilePage.js +131 -129
- package/dist/subscriberbot/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminSettingsPage.js +247 -242
- package/dist/subscriberbot/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/CartManagementPage.js +307 -302
- package/dist/subscriberbot/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/UserManagementPage.js +308 -303
- package/dist/subscriberbot/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/AnalyticsDashboard.js +89 -84
- package/dist/subscriberbot/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/BusinessSettingsPage.js +269 -264
- package/dist/subscriberbot/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartOwnerDashboard.js +269 -227
- package/dist/subscriberbot/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartOwnerProfilePage.js +191 -186
- package/dist/subscriberbot/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartServiceConfigPage.js +168 -166
- package/dist/subscriberbot/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/InventoryManagementPage.js +344 -347
- package/dist/subscriberbot/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/OrderManagementPage.js +270 -272
- package/dist/subscriberbot/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/StaffManagementPage.js +294 -289
- package/dist/subscriberbot/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/HelpSupportPage.js +156 -158
- package/dist/subscriberbot/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/NotificationCenterPage.js +94 -87
- package/dist/subscriberbot/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/SettingsPage.js +749 -740
- package/dist/subscriberbot/pages/common/SettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/BookingDetailsPage.js +357 -324
- package/dist/subscriberbot/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CartDetailPage.js +281 -247
- package/dist/subscriberbot/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CartDiscoveryPage.js +106 -98
- package/dist/subscriberbot/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CheckoutPage.js +235 -238
- package/dist/subscriberbot/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CustomerDashboard.js +426 -390
- package/dist/subscriberbot/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CustomerProfilePage.js +488 -479
- package/dist/subscriberbot/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/DirectServiceBookingPage.js +522 -512
- package/dist/subscriberbot/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/FavoritesPage.js +73 -66
- package/dist/subscriberbot/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/OrderHistoryPage.js +75 -67
- package/dist/subscriberbot/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/OrderTrackingPage.js +82 -76
- package/dist/subscriberbot/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/PaymentMethodsPage.js +100 -93
- package/dist/subscriberbot/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/ReviewsPage.js +97 -90
- package/dist/subscriberbot/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/SavedAddressesPage.js +86 -79
- package/dist/subscriberbot/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestmentDetailsPage.js +330 -293
- package/dist/subscriberbot/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestmentOpportunitiesPage.js +269 -261
- package/dist/subscriberbot/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorAnalyticsPage.js +97 -91
- package/dist/subscriberbot/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorDashboard.js +354 -322
- package/dist/subscriberbot/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorInvestmentsPage.js +118 -111
- package/dist/subscriberbot/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorPortfolioPage.js +75 -69
- package/dist/subscriberbot/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorProfilePage.js +435 -430
- package/dist/subscriberbot/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/TaskDetailsPage.js +328 -289
- package/dist/subscriberbot/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerDashboard.js +135 -103
- package/dist/subscriberbot/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerOrdersPage.js +120 -114
- package/dist/subscriberbot/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerProfilePage.js +125 -120
- package/dist/subscriberbot/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerSchedulePage.js +354 -344
- package/dist/subscriberbot/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, PagePurpose as N } from "@burdenoff/fe-libs/ui";
|
|
9
10
|
//#region src/subscriberbot/pages/common/NotificationCenterPage.tsx
|
|
10
|
-
var
|
|
11
|
+
var P = [
|
|
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
|
+
], F = {
|
|
173
174
|
order_update: {
|
|
174
175
|
icon: x,
|
|
175
|
-
color: "text-
|
|
176
|
-
bg: "bg-
|
|
176
|
+
color: "text-status-info-text",
|
|
177
|
+
bg: "bg-status-info-bg/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/10",
|
|
183
184
|
label: "Payment"
|
|
184
185
|
},
|
|
185
186
|
promotion: {
|
|
186
187
|
icon: v,
|
|
187
|
-
color: "text-
|
|
188
|
-
bg: "bg-
|
|
188
|
+
color: "text-status-warning-text",
|
|
189
|
+
bg: "bg-status-warning-bg/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",
|
|
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/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",
|
|
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/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/10",
|
|
219
220
|
label: "Alert"
|
|
220
221
|
},
|
|
221
222
|
delivery: {
|
|
222
223
|
icon: T,
|
|
223
|
-
color: "text-
|
|
224
|
-
bg: "bg-
|
|
224
|
+
color: "text-status-info-text",
|
|
225
|
+
bg: "bg-status-info-bg/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",
|
|
231
232
|
label: "Account"
|
|
232
233
|
}
|
|
233
|
-
},
|
|
234
|
-
urgent: "bg-
|
|
235
|
-
high: "bg-
|
|
236
|
-
medium: "bg-
|
|
234
|
+
}, I = {
|
|
235
|
+
urgent: "bg-status-error-bg/20 text-status-error-text",
|
|
236
|
+
high: "bg-status-warning-bg/20 text-status-warning-text",
|
|
237
|
+
medium: "bg-status-info-bg/20 text-status-info-text",
|
|
237
238
|
low: "bg-bg-sunken text-text-secondary"
|
|
238
|
-
},
|
|
239
|
+
}, L = {
|
|
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
|
+
}, R = {
|
|
244
245
|
urgent: 4,
|
|
245
246
|
high: 3,
|
|
246
247
|
medium: 2,
|
|
247
248
|
low: 1
|
|
248
|
-
},
|
|
249
|
+
}, z = [
|
|
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 B(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 V(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 = B(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 H() {
|
|
300
|
+
let { navigateTo: c } = e(), [l, h] = s(P), [g, v] = s("all"), [x, S] = s(""), [w, T] = s("recent"), [E, D] = s(!1), H = o(() => l.filter((e) => !e.isRead).length, [l]), U = o(() => l.filter((e) => e.priority === "urgent").length, [l]), W = o(() => l.filter((e) => B(e.createdAt) === "Today").length, [l]), G = 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]), K = 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]), q = 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) => R[t.priority] - R[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,49 +347,54 @@ function B() {
|
|
|
346
347
|
g,
|
|
347
348
|
x,
|
|
348
349
|
w
|
|
349
|
-
]),
|
|
350
|
+
]), J = o(() => V(q), [q]), Y = a((e) => {
|
|
350
351
|
h((t) => t.map((t) => t.id === e ? {
|
|
351
352
|
...t,
|
|
352
353
|
isRead: !0
|
|
353
354
|
} : t));
|
|
354
|
-
}, []),
|
|
355
|
+
}, []), X = a(() => {
|
|
355
356
|
h((e) => e.map((e) => ({
|
|
356
357
|
...e,
|
|
357
358
|
isRead: !0
|
|
358
359
|
})));
|
|
359
|
-
}, []),
|
|
360
|
+
}, []), Z = a((e) => {
|
|
360
361
|
h((t) => t.filter((t) => t.id !== e));
|
|
361
|
-
}, []),
|
|
362
|
-
e.isRead ||
|
|
363
|
-
}, [
|
|
362
|
+
}, []), Q = a((e) => {
|
|
363
|
+
e.isRead || Y(e.id), e.actionUrl && c(e.actionUrl);
|
|
364
|
+
}, [Y, c]), $ = 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: H > 0 ? `${H} unread notification${H === 1 ? "" : "s"}` : "All caught up!",
|
|
369
370
|
actions: /* @__PURE__ */ j("div", {
|
|
370
371
|
className: "flex items-center gap-2",
|
|
371
372
|
children: [l.length > 0 && /* @__PURE__ */ j("button", {
|
|
372
373
|
type: "button",
|
|
373
|
-
onClick:
|
|
374
|
-
className: "flex items-center gap-1.5 rounded-lg border border-border-
|
|
374
|
+
onClick: $,
|
|
375
|
+
className: "flex items-center gap-1.5 rounded-lg border border-border-seam px-3 py-2 text-sm font-medium text-text-secondary hover:text-text-primary hover:bg-accent transition-colors",
|
|
375
376
|
children: [/* @__PURE__ */ A(C, { className: "h-4 w-4" }), /* @__PURE__ */ A("span", {
|
|
376
377
|
className: "hidden sm:inline",
|
|
377
378
|
children: "Clear All"
|
|
378
379
|
})]
|
|
379
|
-
}),
|
|
380
|
+
}), H > 0 && /* @__PURE__ */ j("button", {
|
|
380
381
|
type: "button",
|
|
381
|
-
onClick:
|
|
382
|
-
className: "flex items-center gap-1.5 rounded-lg border border-border-
|
|
382
|
+
onClick: X,
|
|
383
|
+
className: "flex items-center gap-1.5 rounded-lg border border-border-seam px-3 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
383
384
|
children: [/* @__PURE__ */ A(p, { className: "h-4 w-4" }), "Mark All Read"]
|
|
384
385
|
})]
|
|
385
386
|
}),
|
|
386
387
|
children: [
|
|
387
|
-
/* @__PURE__ */
|
|
388
|
+
/* @__PURE__ */ A(N, {
|
|
389
|
+
icon: /* @__PURE__ */ A(d, { className: "h-4 w-4" }),
|
|
390
|
+
className: "mb-6",
|
|
391
|
+
children: "Every update from the platform in one feed — order status changes, promotions, system alerts and more. Filter by type or unread, search for a specific alert, and mark things read or clear them once you've dealt with them. Check here first whenever something needs your attention."
|
|
392
|
+
}),
|
|
393
|
+
/* @__PURE__ */ j(M, {
|
|
388
394
|
className: "grid grid-cols-2 gap-3 sm:grid-cols-5 mb-6",
|
|
389
395
|
children: [
|
|
390
396
|
/* @__PURE__ */ j("div", {
|
|
391
|
-
className: "rounded-lg border border-border-
|
|
397
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-3 text-center",
|
|
392
398
|
children: [/* @__PURE__ */ A("p", {
|
|
393
399
|
className: "text-2xl font-bold text-text-primary",
|
|
394
400
|
children: l.length
|
|
@@ -398,40 +404,40 @@ function B() {
|
|
|
398
404
|
})]
|
|
399
405
|
}),
|
|
400
406
|
/* @__PURE__ */ j("div", {
|
|
401
|
-
className: "rounded-lg border border-
|
|
407
|
+
className: "rounded-lg border border-status-info-border/30 bg-status-info-bg/5 p-3 text-center",
|
|
402
408
|
children: [/* @__PURE__ */ A("p", {
|
|
403
|
-
className: "text-2xl font-bold text-
|
|
404
|
-
children:
|
|
409
|
+
className: "text-2xl font-bold text-status-info-text",
|
|
410
|
+
children: H
|
|
405
411
|
}), /* @__PURE__ */ A("p", {
|
|
406
412
|
className: "text-xs text-text-secondary",
|
|
407
413
|
children: "Unread"
|
|
408
414
|
})]
|
|
409
415
|
}),
|
|
410
416
|
/* @__PURE__ */ j("div", {
|
|
411
|
-
className: "rounded-lg border border-
|
|
417
|
+
className: "rounded-lg border border-status-error-border/30 bg-status-error-bg/5 p-3 text-center",
|
|
412
418
|
children: [/* @__PURE__ */ A("p", {
|
|
413
|
-
className: "text-2xl font-bold text-
|
|
414
|
-
children:
|
|
419
|
+
className: "text-2xl font-bold text-status-error-text",
|
|
420
|
+
children: U
|
|
415
421
|
}), /* @__PURE__ */ A("p", {
|
|
416
422
|
className: "text-xs text-text-secondary",
|
|
417
423
|
children: "Urgent"
|
|
418
424
|
})]
|
|
419
425
|
}),
|
|
420
426
|
/* @__PURE__ */ j("div", {
|
|
421
|
-
className: "rounded-lg border border-
|
|
427
|
+
className: "rounded-lg border border-status-success-border/30 bg-status-success-bg/5 p-3 text-center",
|
|
422
428
|
children: [/* @__PURE__ */ A("p", {
|
|
423
|
-
className: "text-2xl font-bold text-
|
|
424
|
-
children:
|
|
429
|
+
className: "text-2xl font-bold text-status-success-text",
|
|
430
|
+
children: W
|
|
425
431
|
}), /* @__PURE__ */ A("p", {
|
|
426
432
|
className: "text-xs text-text-secondary",
|
|
427
433
|
children: "Today"
|
|
428
434
|
})]
|
|
429
435
|
}),
|
|
430
436
|
/* @__PURE__ */ j("div", {
|
|
431
|
-
className: "rounded-lg border border-
|
|
437
|
+
className: "rounded-lg border border-status-warning-border/30 bg-status-warning-bg/5 p-3 text-center",
|
|
432
438
|
children: [/* @__PURE__ */ A("p", {
|
|
433
|
-
className: "text-2xl font-bold text-
|
|
434
|
-
children:
|
|
439
|
+
className: "text-2xl font-bold text-status-warning-text",
|
|
440
|
+
children: G
|
|
435
441
|
}), /* @__PURE__ */ A("p", {
|
|
436
442
|
className: "text-xs text-text-secondary",
|
|
437
443
|
children: "This Week"
|
|
@@ -441,18 +447,18 @@ function B() {
|
|
|
441
447
|
}),
|
|
442
448
|
/* @__PURE__ */ A("div", {
|
|
443
449
|
className: "flex items-center gap-2 mb-4 overflow-x-auto pb-1",
|
|
444
|
-
children:
|
|
450
|
+
children: z.map((e) => {
|
|
445
451
|
let n = e.icon;
|
|
446
452
|
return /* @__PURE__ */ j("button", {
|
|
447
453
|
type: "button",
|
|
448
454
|
onClick: () => v(e.id),
|
|
449
|
-
className: t("flex items-center gap-1.5 whitespace-nowrap rounded-full border px-3 py-1.5 text-sm font-medium transition-colors", g === e.id ? "border-primary bg-action-primary-bg/10 text-text-primary" : "border-border-
|
|
455
|
+
className: t("flex items-center gap-1.5 whitespace-nowrap rounded-full border px-3 py-1.5 text-sm font-medium transition-colors", g === e.id ? "border-primary bg-action-primary-bg/10 text-text-primary" : "border-border-seam text-text-secondary hover:text-text-primary hover:border-accent-foreground/20"),
|
|
450
456
|
children: [
|
|
451
457
|
/* @__PURE__ */ A(n, { className: "h-3.5 w-3.5" }),
|
|
452
458
|
e.label,
|
|
453
459
|
/* @__PURE__ */ A("span", {
|
|
454
460
|
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:
|
|
461
|
+
children: K[e.id]
|
|
456
462
|
})
|
|
457
463
|
]
|
|
458
464
|
}, e.id);
|
|
@@ -469,7 +475,7 @@ function B() {
|
|
|
469
475
|
placeholder: "Search notifications...",
|
|
470
476
|
value: x,
|
|
471
477
|
onChange: (e) => S(e.target.value),
|
|
472
|
-
className: "w-full rounded-lg border border-border-
|
|
478
|
+
className: "w-full rounded-lg border border-border-seam bg-bg-surface py-2.5 pl-10 pr-9 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
|
|
473
479
|
}),
|
|
474
480
|
x && /* @__PURE__ */ A("button", {
|
|
475
481
|
type: "button",
|
|
@@ -483,7 +489,7 @@ function B() {
|
|
|
483
489
|
children: [/* @__PURE__ */ j("button", {
|
|
484
490
|
type: "button",
|
|
485
491
|
onClick: () => D(!E),
|
|
486
|
-
className: "flex items-center gap-1.5 rounded-lg border border-border-
|
|
492
|
+
className: "flex items-center gap-1.5 rounded-lg border border-border-seam px-3 py-2.5 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
487
493
|
children: [/* @__PURE__ */ A(u, { className: "h-4 w-4" }), /* @__PURE__ */ A("span", {
|
|
488
494
|
className: "hidden sm:inline",
|
|
489
495
|
children: "Sort"
|
|
@@ -492,7 +498,7 @@ function B() {
|
|
|
492
498
|
className: "fixed inset-0 z-10",
|
|
493
499
|
onClick: () => D(!1)
|
|
494
500
|
}), /* @__PURE__ */ A("div", {
|
|
495
|
-
className: "absolute right-0 top-full mt-1 z-20 w-44 rounded-lg border border-border-
|
|
501
|
+
className: "absolute right-0 top-full mt-1 z-20 w-44 rounded-lg border border-border-seam bg-bg-surface shadow-lg py-1",
|
|
496
502
|
children: [
|
|
497
503
|
{
|
|
498
504
|
value: "recent",
|
|
@@ -517,31 +523,32 @@ function B() {
|
|
|
517
523
|
})] })]
|
|
518
524
|
})]
|
|
519
525
|
}),
|
|
520
|
-
|
|
526
|
+
q.length === 0 ? /* @__PURE__ */ A(r, {
|
|
527
|
+
illustration: "empty-notifications",
|
|
521
528
|
icon: /* @__PURE__ */ A(d, { className: "h-12 w-12" }),
|
|
522
529
|
title: "No notifications",
|
|
523
530
|
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.",
|
|
524
531
|
action: x ? /* @__PURE__ */ A("button", {
|
|
525
532
|
type: "button",
|
|
526
533
|
onClick: () => S(""),
|
|
527
|
-
className: "rounded-lg border border-border-
|
|
534
|
+
className: "rounded-lg border border-border-seam px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
528
535
|
children: "Clear Search"
|
|
529
536
|
}) : g === "all" ? void 0 : /* @__PURE__ */ A("button", {
|
|
530
537
|
type: "button",
|
|
531
538
|
onClick: () => v("all"),
|
|
532
|
-
className: "rounded-lg border border-border-
|
|
539
|
+
className: "rounded-lg border border-border-seam px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
533
540
|
children: "View All Notifications"
|
|
534
541
|
})
|
|
535
542
|
}) : /* @__PURE__ */ A("div", {
|
|
536
543
|
className: "space-y-6",
|
|
537
|
-
children:
|
|
544
|
+
children: J.map((e) => /* @__PURE__ */ j("div", { children: [/* @__PURE__ */ j("div", {
|
|
538
545
|
className: "flex items-center gap-3 mb-2",
|
|
539
546
|
children: [
|
|
540
547
|
/* @__PURE__ */ A("h3", {
|
|
541
548
|
className: "text-xs font-semibold uppercase tracking-wider text-text-secondary",
|
|
542
549
|
children: e.label
|
|
543
550
|
}),
|
|
544
|
-
/* @__PURE__ */ A("div", { className: "flex-1 border-t border-border-
|
|
551
|
+
/* @__PURE__ */ A("div", { className: "flex-1 border-t border-border-seam" }),
|
|
545
552
|
/* @__PURE__ */ j("span", {
|
|
546
553
|
className: "text-xs text-text-secondary",
|
|
547
554
|
children: [
|
|
@@ -552,11 +559,11 @@ function B() {
|
|
|
552
559
|
})
|
|
553
560
|
]
|
|
554
561
|
}), /* @__PURE__ */ A("div", {
|
|
555
|
-
className: "rounded-lg border border-border-
|
|
562
|
+
className: "rounded-lg border border-border-seam bg-bg-surface divide-y divide-border overflow-hidden",
|
|
556
563
|
children: e.items.map((e) => {
|
|
557
|
-
let n =
|
|
564
|
+
let n = F[e.type] ?? F.system, r = n.icon;
|
|
558
565
|
return /* @__PURE__ */ j("div", {
|
|
559
|
-
className: t("flex items-start gap-3 px-4 py-4 border-l-4 transition-colors",
|
|
566
|
+
className: t("flex items-start gap-3 px-4 py-4 border-l-4 transition-colors", L[e.priority], !e.isRead && "bg-accent/30"),
|
|
560
567
|
children: [
|
|
561
568
|
/* @__PURE__ */ A("div", {
|
|
562
569
|
className: t("flex h-10 w-10 shrink-0 items-center justify-center rounded-full", n.bg),
|
|
@@ -574,7 +581,7 @@ function B() {
|
|
|
574
581
|
}),
|
|
575
582
|
!e.isRead && /* @__PURE__ */ A("span", { className: "h-2 w-2 rounded-full bg-action-primary-bg shrink-0" }),
|
|
576
583
|
/* @__PURE__ */ A("span", {
|
|
577
|
-
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium",
|
|
584
|
+
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium", I[e.priority]),
|
|
578
585
|
children: e.priority
|
|
579
586
|
})
|
|
580
587
|
]
|
|
@@ -605,22 +612,22 @@ function B() {
|
|
|
605
612
|
children: [
|
|
606
613
|
e.actionUrl && /* @__PURE__ */ A("button", {
|
|
607
614
|
type: "button",
|
|
608
|
-
onClick: () =>
|
|
615
|
+
onClick: () => Q(e),
|
|
609
616
|
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
617
|
children: e.actionText ?? "View"
|
|
611
618
|
}),
|
|
612
619
|
!e.isRead && /* @__PURE__ */ j("button", {
|
|
613
620
|
type: "button",
|
|
614
|
-
onClick: () =>
|
|
621
|
+
onClick: () => Y(e.id),
|
|
615
622
|
title: "Mark as read",
|
|
616
|
-
className: "flex items-center gap-1 rounded-lg border border-border-
|
|
623
|
+
className: "flex items-center gap-1 rounded-lg border border-border-seam px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-accent transition-colors",
|
|
617
624
|
children: [/* @__PURE__ */ A(f, { className: "h-3 w-3" }), "Mark Read"]
|
|
618
625
|
}),
|
|
619
626
|
/* @__PURE__ */ j("button", {
|
|
620
627
|
type: "button",
|
|
621
|
-
onClick: () =>
|
|
628
|
+
onClick: () => Z(e.id),
|
|
622
629
|
title: "Delete notification",
|
|
623
|
-
className: "flex items-center gap-1 rounded-lg border border-border-
|
|
630
|
+
className: "flex items-center gap-1 rounded-lg border border-border-seam px-3 py-1.5 text-xs font-medium text-status-error-text hover:bg-status-error-bg/10 transition-colors",
|
|
624
631
|
children: [/* @__PURE__ */ A(C, { className: "h-3 w-3" }), "Delete"]
|
|
625
632
|
})
|
|
626
633
|
]
|
|
@@ -636,13 +643,13 @@ function B() {
|
|
|
636
643
|
})
|
|
637
644
|
})] }, e.label))
|
|
638
645
|
}),
|
|
639
|
-
|
|
640
|
-
className: "mt-6 flex items-center justify-between rounded-lg border border-border-
|
|
646
|
+
q.length > 0 && /* @__PURE__ */ j("div", {
|
|
647
|
+
className: "mt-6 flex items-center justify-between rounded-lg border border-border-seam bg-bg-surface px-4 py-3",
|
|
641
648
|
children: [/* @__PURE__ */ j("p", {
|
|
642
649
|
className: "text-sm text-text-secondary",
|
|
643
650
|
children: [
|
|
644
651
|
"Showing ",
|
|
645
|
-
|
|
652
|
+
q.length,
|
|
646
653
|
" of ",
|
|
647
654
|
l.length,
|
|
648
655
|
" notifications"
|
|
@@ -660,6 +667,6 @@ function B() {
|
|
|
660
667
|
});
|
|
661
668
|
}
|
|
662
669
|
//#endregion
|
|
663
|
-
export {
|
|
670
|
+
export { H as NotificationCenterPage };
|
|
664
671
|
|
|
665
672
|
//# sourceMappingURL=NotificationCenterPage.js.map
|