@mohasinac/appkit 2.7.54 → 2.7.56
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/_internal/server/jobs/runtime/adapters/firebase.js +5 -14
- package/dist/_internal/shared/actions/action-registry.js +827 -4
- package/dist/_internal/shared/features/events/schema.d.ts +4 -4
- package/dist/constants/api-endpoints.d.ts +3 -0
- package/dist/constants/api-endpoints.js +1 -0
- package/dist/features/account/components/UserOffersPanel.js +2 -1
- package/dist/features/admin/components/AdminAllEventEntriesView.js +4 -3
- package/dist/features/admin/components/AdminBidsView.js +5 -3
- package/dist/features/admin/components/AdminBlogView.js +3 -2
- package/dist/features/admin/components/AdminBrandsView.js +2 -1
- package/dist/features/admin/components/AdminBundleEditorView.js +4 -5
- package/dist/features/admin/components/AdminBundlesView.js +3 -3
- package/dist/features/admin/components/AdminCarouselView.d.ts +2 -1
- package/dist/features/admin/components/AdminCarouselView.js +14 -5
- package/dist/features/admin/components/AdminCategoriesView.js +2 -1
- package/dist/features/admin/components/AdminContactView.d.ts +4 -1
- package/dist/features/admin/components/AdminContactView.js +27 -7
- package/dist/features/admin/components/AdminCouponsView.d.ts +3 -1
- package/dist/features/admin/components/AdminCouponsView.js +17 -3
- package/dist/features/admin/components/AdminFaqsView.d.ts +3 -1
- package/dist/features/admin/components/AdminFaqsView.js +18 -4
- package/dist/features/admin/components/AdminFeaturesView.js +2 -1
- package/dist/features/admin/components/AdminMediaView.js +3 -2
- package/dist/features/admin/components/AdminNavigationView.js +3 -2
- package/dist/features/admin/components/AdminNewsletterView.d.ts +2 -1
- package/dist/features/admin/components/AdminNewsletterView.js +13 -4
- package/dist/features/admin/components/AdminNotificationsView.js +6 -4
- package/dist/features/admin/components/AdminOrdersView.js +4 -3
- package/dist/features/admin/components/AdminPayoutsView.js +2 -2
- package/dist/features/admin/components/AdminPrizeDrawsView.js +2 -1
- package/dist/features/admin/components/AdminProductsView.js +3 -3
- package/dist/features/admin/components/AdminReviewsView.js +4 -3
- package/dist/features/admin/components/AdminScammersView.js +2 -1
- package/dist/features/admin/components/AdminSessionsView.js +5 -3
- package/dist/features/admin/components/AdminStoresView.js +2 -2
- package/dist/features/admin/components/AdminSublistingCategoriesView.d.ts +5 -1
- package/dist/features/admin/components/AdminSublistingCategoriesView.js +12 -3
- package/dist/features/admin/components/AdminSupportTicketsView.js +2 -1
- package/dist/features/admin/components/AdminTeamView.d.ts +2 -1
- package/dist/features/admin/components/AdminTeamView.js +13 -4
- package/dist/features/admin/components/AdminUsersView.js +2 -2
- package/dist/features/products/constants/action-defs.d.ts +86 -7
- package/dist/features/products/constants/action-defs.js +99 -7
- package/dist/features/seller/components/QuickProductForm.d.ts +13 -0
- package/dist/features/seller/components/QuickProductForm.js +50 -0
- package/dist/features/seller/components/SellerAuctionsView.d.ts +4 -1
- package/dist/features/seller/components/SellerAuctionsView.js +37 -3
- package/dist/features/seller/components/SellerBidsView.js +2 -1
- package/dist/features/seller/components/SellerBundlesView.d.ts +3 -1
- package/dist/features/seller/components/SellerBundlesView.js +38 -5
- package/dist/features/seller/components/SellerClassifiedView.d.ts +3 -1
- package/dist/features/seller/components/SellerClassifiedView.js +37 -4
- package/dist/features/seller/components/SellerDigitalCodesView.d.ts +3 -1
- package/dist/features/seller/components/SellerDigitalCodesView.js +37 -4
- package/dist/features/seller/components/SellerGoogleReviewsView.js +2 -1
- package/dist/features/seller/components/SellerGroupedListingsView.js +3 -2
- package/dist/features/seller/components/SellerLiveView.d.ts +3 -1
- package/dist/features/seller/components/SellerLiveView.js +37 -4
- package/dist/features/seller/components/SellerOffersPanel.js +2 -1
- package/dist/features/seller/components/SellerOffersView.d.ts +4 -1
- package/dist/features/seller/components/SellerOffersView.js +8 -3
- package/dist/features/seller/components/SellerPayoutsView.d.ts +3 -1
- package/dist/features/seller/components/SellerPayoutsView.js +7 -3
- package/dist/features/seller/components/SellerPreOrdersView.d.ts +2 -1
- package/dist/features/seller/components/SellerPreOrdersView.js +30 -7
- package/dist/features/seller/components/SellerPrizeDrawsView.d.ts +2 -1
- package/dist/features/seller/components/SellerPrizeDrawsView.js +30 -7
- package/dist/features/seller/components/SellerProductShell.js +12 -0
- package/dist/features/seller/components/SellerReviewsView.js +2 -1
- package/dist/features/seller/components/SellerShippingConfigsView.js +3 -2
- package/dist/features/seller/components/SellerStoreCategoriesView.js +6 -5
- package/dist/features/seller/components/SellerTemplatesView.js +4 -3
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +30 -16
- package/dist/styles.css +1 -1
- package/dist/tailwind-utilities.css +1 -1
- package/package.json +1 -1
|
@@ -248,6 +248,130 @@ export const ACTIONS = {
|
|
|
248
248
|
description: "Navigate to the full product listing for this store.",
|
|
249
249
|
kind: "link",
|
|
250
250
|
},
|
|
251
|
+
// ── Offer management ─────────────────────────────────────────────────
|
|
252
|
+
"accept-offer": {
|
|
253
|
+
id: "store.accept-offer",
|
|
254
|
+
label: "Accept",
|
|
255
|
+
ariaLabel: "Accept this offer",
|
|
256
|
+
description: "Accept a buyer's offer on a classified listing.",
|
|
257
|
+
kind: "primary",
|
|
258
|
+
permissions: ["seller", "admin"],
|
|
259
|
+
},
|
|
260
|
+
"reject-offer": {
|
|
261
|
+
id: "store.reject-offer",
|
|
262
|
+
label: "Reject",
|
|
263
|
+
ariaLabel: "Reject this offer",
|
|
264
|
+
description: "Reject a buyer's offer on a classified listing.",
|
|
265
|
+
kind: "danger",
|
|
266
|
+
permissions: ["seller", "admin"],
|
|
267
|
+
confirmation: {
|
|
268
|
+
title: "Reject this offer?",
|
|
269
|
+
body: "The buyer will be notified that their offer was declined.",
|
|
270
|
+
confirmLabel: "Reject offer",
|
|
271
|
+
confirmKind: "danger",
|
|
272
|
+
},
|
|
273
|
+
},
|
|
274
|
+
"counter-offer": {
|
|
275
|
+
id: "store.counter-offer",
|
|
276
|
+
label: "Counter",
|
|
277
|
+
ariaLabel: "Counter this offer",
|
|
278
|
+
description: "Send a counter-offer to the buyer.",
|
|
279
|
+
kind: "secondary",
|
|
280
|
+
permissions: ["seller", "admin"],
|
|
281
|
+
},
|
|
282
|
+
// ── Payout view ──────────────────────────────────────────────────────
|
|
283
|
+
"view-payout": {
|
|
284
|
+
id: "store.view-payout",
|
|
285
|
+
label: "View Details",
|
|
286
|
+
ariaLabel: "View payout details",
|
|
287
|
+
description: "View the details of a payout.",
|
|
288
|
+
kind: "ghost",
|
|
289
|
+
permissions: ["seller", "admin"],
|
|
290
|
+
},
|
|
291
|
+
"export-payout": {
|
|
292
|
+
id: "store.export-payout",
|
|
293
|
+
label: "Export",
|
|
294
|
+
ariaLabel: "Export payout details",
|
|
295
|
+
description: "Download payout details as a file.",
|
|
296
|
+
kind: "ghost",
|
|
297
|
+
permissions: ["seller", "admin"],
|
|
298
|
+
},
|
|
299
|
+
// ── Review management ───────────────────────────────────────────────
|
|
300
|
+
"reply-review": {
|
|
301
|
+
id: "store.reply-review",
|
|
302
|
+
label: "Reply",
|
|
303
|
+
ariaLabel: "Reply to this review",
|
|
304
|
+
description: "Post or edit a public store reply to a buyer's review.",
|
|
305
|
+
kind: "secondary",
|
|
306
|
+
permissions: ["seller", "admin"],
|
|
307
|
+
},
|
|
308
|
+
"contest-review": {
|
|
309
|
+
id: "store.contest-review",
|
|
310
|
+
label: "Contest",
|
|
311
|
+
ariaLabel: "Contest this review",
|
|
312
|
+
description: "Flag a review for admin investigation.",
|
|
313
|
+
kind: "ghost",
|
|
314
|
+
permissions: ["seller", "admin"],
|
|
315
|
+
},
|
|
316
|
+
"buyer-feedback": {
|
|
317
|
+
id: "store.buyer-feedback",
|
|
318
|
+
label: "Feedback",
|
|
319
|
+
ariaLabel: "Send feedback to buyer",
|
|
320
|
+
description: "Send a private message to the buyer's notification inbox.",
|
|
321
|
+
kind: "ghost",
|
|
322
|
+
permissions: ["seller", "admin"],
|
|
323
|
+
},
|
|
324
|
+
// ── WhatsApp integration ────────────────────────────────────────────
|
|
325
|
+
"whatsapp-connect": {
|
|
326
|
+
id: "store.whatsapp-connect",
|
|
327
|
+
label: "Save & Connect",
|
|
328
|
+
ariaLabel: "Save WhatsApp credentials and connect",
|
|
329
|
+
description: "Save WhatsApp Business credentials and establish connection.",
|
|
330
|
+
kind: "primary",
|
|
331
|
+
permissions: ["seller", "admin"],
|
|
332
|
+
},
|
|
333
|
+
"whatsapp-catalog-sync": {
|
|
334
|
+
id: "store.whatsapp-catalog-sync",
|
|
335
|
+
label: "Push to WhatsApp",
|
|
336
|
+
ariaLabel: "Sync products to WhatsApp catalog",
|
|
337
|
+
description: "Push published standard products to WhatsApp Business Catalog.",
|
|
338
|
+
kind: "secondary",
|
|
339
|
+
permissions: ["seller", "admin"],
|
|
340
|
+
},
|
|
341
|
+
"whatsapp-catalog-import": {
|
|
342
|
+
id: "store.whatsapp-catalog-import",
|
|
343
|
+
label: "Import from WhatsApp",
|
|
344
|
+
ariaLabel: "Import products from WhatsApp catalog",
|
|
345
|
+
description: "Import products from WhatsApp Catalog as drafts.",
|
|
346
|
+
kind: "secondary",
|
|
347
|
+
permissions: ["seller", "admin"],
|
|
348
|
+
},
|
|
349
|
+
// ── Google Reviews integration ──────────────────────────────────────
|
|
350
|
+
"google-reviews-sync": {
|
|
351
|
+
id: "store.google-reviews-sync",
|
|
352
|
+
label: "Sync now",
|
|
353
|
+
ariaLabel: "Sync Google Business reviews",
|
|
354
|
+
description: "Pull latest reviews from Google Business profile.",
|
|
355
|
+
kind: "ghost",
|
|
356
|
+
permissions: ["seller", "admin"],
|
|
357
|
+
},
|
|
358
|
+
"save-google-settings": {
|
|
359
|
+
id: "store.save-google-settings",
|
|
360
|
+
label: "Save Settings",
|
|
361
|
+
ariaLabel: "Save Google Business settings",
|
|
362
|
+
description: "Save Google Business profile configuration.",
|
|
363
|
+
kind: "primary",
|
|
364
|
+
permissions: ["seller", "admin"],
|
|
365
|
+
},
|
|
366
|
+
// ── Refresh ─────────────────────────────────────────────────────────
|
|
367
|
+
"refresh-offers": {
|
|
368
|
+
id: "store.refresh-offers",
|
|
369
|
+
label: "Refresh",
|
|
370
|
+
ariaLabel: "Refresh offers list",
|
|
371
|
+
description: "Reload latest offers and statuses.",
|
|
372
|
+
kind: "ghost",
|
|
373
|
+
permissions: ["seller", "admin"],
|
|
374
|
+
},
|
|
251
375
|
"edit-listing": {
|
|
252
376
|
id: "store.edit-listing",
|
|
253
377
|
label: "Edit",
|
|
@@ -437,7 +561,38 @@ export const ACTIONS = {
|
|
|
437
561
|
permissions: ["seller", "admin"],
|
|
438
562
|
},
|
|
439
563
|
},
|
|
440
|
-
BLOG: {
|
|
564
|
+
BLOG: {
|
|
565
|
+
"create-post": {
|
|
566
|
+
id: "blog.create-post",
|
|
567
|
+
label: "New Post",
|
|
568
|
+
ariaLabel: "Create a new blog post",
|
|
569
|
+
description: "Navigate to the blog post editor.",
|
|
570
|
+
kind: "primary",
|
|
571
|
+
permissions: ["admin", "moderator"],
|
|
572
|
+
},
|
|
573
|
+
"edit-post": {
|
|
574
|
+
id: "blog.edit-post",
|
|
575
|
+
label: "Edit",
|
|
576
|
+
ariaLabel: "Edit this blog post",
|
|
577
|
+
description: "Open the editor for a blog post.",
|
|
578
|
+
kind: "ghost",
|
|
579
|
+
permissions: ["admin", "moderator"],
|
|
580
|
+
},
|
|
581
|
+
"delete-post": {
|
|
582
|
+
id: "blog.delete-post",
|
|
583
|
+
label: "Delete",
|
|
584
|
+
ariaLabel: "Delete this blog post",
|
|
585
|
+
description: "Permanently delete a blog post.",
|
|
586
|
+
kind: "danger",
|
|
587
|
+
permissions: ["admin", "moderator"],
|
|
588
|
+
confirmation: {
|
|
589
|
+
title: "Delete this post?",
|
|
590
|
+
body: "This blog post will be permanently removed. This action cannot be undone.",
|
|
591
|
+
confirmLabel: "Delete post",
|
|
592
|
+
confirmKind: "danger",
|
|
593
|
+
},
|
|
594
|
+
},
|
|
595
|
+
},
|
|
441
596
|
EVENT: {
|
|
442
597
|
"register": {
|
|
443
598
|
id: "event.register",
|
|
@@ -543,6 +698,43 @@ export const ACTIONS = {
|
|
|
543
698
|
description: "Exit selection mode.",
|
|
544
699
|
kind: "ghost",
|
|
545
700
|
},
|
|
701
|
+
// ── Order lifecycle ─────────────────────────────────────────────────
|
|
702
|
+
"track-order": {
|
|
703
|
+
id: "user.track-order",
|
|
704
|
+
label: "Track Order",
|
|
705
|
+
ariaLabel: "Track your order shipment",
|
|
706
|
+
description: "View shipment tracking details for a shipped order.",
|
|
707
|
+
kind: "ghost",
|
|
708
|
+
},
|
|
709
|
+
"reorder": {
|
|
710
|
+
id: "user.reorder",
|
|
711
|
+
label: "Reorder",
|
|
712
|
+
ariaLabel: "Reorder items from this order",
|
|
713
|
+
description: "Add the same items from a past order to your cart.",
|
|
714
|
+
kind: "secondary",
|
|
715
|
+
},
|
|
716
|
+
"download-invoice": {
|
|
717
|
+
id: "user.download-invoice",
|
|
718
|
+
label: "Download Invoice",
|
|
719
|
+
ariaLabel: "Download order invoice",
|
|
720
|
+
description: "Download a PDF invoice for this order.",
|
|
721
|
+
kind: "ghost",
|
|
722
|
+
iconKey: "FileDown",
|
|
723
|
+
},
|
|
724
|
+
"write-review": {
|
|
725
|
+
id: "user.write-review",
|
|
726
|
+
label: "Write Review",
|
|
727
|
+
ariaLabel: "Write a review for this order",
|
|
728
|
+
description: "Leave a review for a product from a delivered order.",
|
|
729
|
+
kind: "secondary",
|
|
730
|
+
},
|
|
731
|
+
"refresh-offers": {
|
|
732
|
+
id: "user.refresh-offers",
|
|
733
|
+
label: "Refresh",
|
|
734
|
+
ariaLabel: "Refresh offers",
|
|
735
|
+
description: "Reload latest offers received.",
|
|
736
|
+
kind: "ghost",
|
|
737
|
+
},
|
|
546
738
|
// Plan §10 — claim-coupon wallet (won-coupon entry points & wallet leaves).
|
|
547
739
|
"claim-coupon": {
|
|
548
740
|
id: "user.claim-coupon",
|
|
@@ -566,7 +758,22 @@ export const ACTIONS = {
|
|
|
566
758
|
kind: "ghost",
|
|
567
759
|
},
|
|
568
760
|
},
|
|
569
|
-
SELLER: {
|
|
761
|
+
SELLER: {
|
|
762
|
+
"cancel-bid": {
|
|
763
|
+
id: "seller.cancel-bid",
|
|
764
|
+
label: "Cancel selected",
|
|
765
|
+
ariaLabel: "Cancel selected bids",
|
|
766
|
+
description: "Cancel the selected bids from this store's auctions.",
|
|
767
|
+
kind: "danger",
|
|
768
|
+
permissions: ["seller", "admin"],
|
|
769
|
+
confirmation: {
|
|
770
|
+
title: "Cancel these bids?",
|
|
771
|
+
body: "The selected bids will be cancelled and bidders will be notified.",
|
|
772
|
+
confirmLabel: "Cancel bids",
|
|
773
|
+
confirmKind: "danger",
|
|
774
|
+
},
|
|
775
|
+
},
|
|
776
|
+
},
|
|
570
777
|
ADMIN: {
|
|
571
778
|
// ── Product moderation ─────────────────────────────────────────────────
|
|
572
779
|
"approve-product": {
|
|
@@ -760,6 +967,565 @@ export const ACTIONS = {
|
|
|
760
967
|
kind: "primary",
|
|
761
968
|
permissions: ["admin", "moderator"],
|
|
762
969
|
},
|
|
970
|
+
"export-csv": {
|
|
971
|
+
id: "admin.export-csv",
|
|
972
|
+
label: "Export CSV",
|
|
973
|
+
ariaLabel: "Export data as CSV",
|
|
974
|
+
description: "Download the current view's data as a CSV file.",
|
|
975
|
+
kind: "ghost",
|
|
976
|
+
permissions: ["admin", "moderator"],
|
|
977
|
+
},
|
|
978
|
+
// ── Order management ──────────────────────────────────────────────────
|
|
979
|
+
"mark-shipped": {
|
|
980
|
+
id: "admin.mark-shipped",
|
|
981
|
+
label: "Mark as Shipped",
|
|
982
|
+
ariaLabel: "Mark order as shipped",
|
|
983
|
+
description: "Update an order status to shipped.",
|
|
984
|
+
kind: "primary",
|
|
985
|
+
permissions: ["admin", "moderator"],
|
|
986
|
+
},
|
|
987
|
+
"mark-delivered": {
|
|
988
|
+
id: "admin.mark-delivered",
|
|
989
|
+
label: "Mark as Delivered",
|
|
990
|
+
ariaLabel: "Mark order as delivered",
|
|
991
|
+
description: "Update an order status to delivered.",
|
|
992
|
+
kind: "primary",
|
|
993
|
+
permissions: ["admin", "moderator"],
|
|
994
|
+
},
|
|
995
|
+
"cancel-order": {
|
|
996
|
+
id: "admin.cancel-order",
|
|
997
|
+
label: "Cancel Orders",
|
|
998
|
+
ariaLabel: "Cancel selected orders",
|
|
999
|
+
description: "Cancel one or more pending orders.",
|
|
1000
|
+
kind: "danger",
|
|
1001
|
+
permissions: ["admin"],
|
|
1002
|
+
confirmation: {
|
|
1003
|
+
title: "Cancel these orders?",
|
|
1004
|
+
body: "The selected orders will be cancelled. Refunds are processed within 5–7 business days.",
|
|
1005
|
+
confirmLabel: "Cancel orders",
|
|
1006
|
+
confirmKind: "danger",
|
|
1007
|
+
},
|
|
1008
|
+
},
|
|
1009
|
+
// ── Payout management (extended) ──────────────────────────────────────
|
|
1010
|
+
"mark-paid": {
|
|
1011
|
+
id: "admin.mark-paid",
|
|
1012
|
+
label: "Mark Paid",
|
|
1013
|
+
ariaLabel: "Mark payout as paid",
|
|
1014
|
+
description: "Mark a payout as paid after transfer has been completed.",
|
|
1015
|
+
kind: "primary",
|
|
1016
|
+
permissions: ["admin"],
|
|
1017
|
+
},
|
|
1018
|
+
// ── Session management ────────────────────────────────────────────────
|
|
1019
|
+
"revoke-session": {
|
|
1020
|
+
id: "admin.revoke-session",
|
|
1021
|
+
label: "Revoke Sessions",
|
|
1022
|
+
ariaLabel: "Revoke selected sessions",
|
|
1023
|
+
description: "Force-end one or more active user sessions.",
|
|
1024
|
+
kind: "danger",
|
|
1025
|
+
permissions: ["admin"],
|
|
1026
|
+
confirmation: {
|
|
1027
|
+
title: "Revoke these sessions?",
|
|
1028
|
+
body: "The selected sessions will be terminated. Users will need to sign in again.",
|
|
1029
|
+
confirmLabel: "Revoke sessions",
|
|
1030
|
+
confirmKind: "danger",
|
|
1031
|
+
},
|
|
1032
|
+
},
|
|
1033
|
+
// ── Notification management ───────────────────────────────────────────
|
|
1034
|
+
"mark-read": {
|
|
1035
|
+
id: "admin.mark-read",
|
|
1036
|
+
label: "Mark Read",
|
|
1037
|
+
ariaLabel: "Mark selected notifications as read",
|
|
1038
|
+
description: "Mark one or more notifications as read.",
|
|
1039
|
+
kind: "primary",
|
|
1040
|
+
permissions: ["admin", "moderator"],
|
|
1041
|
+
},
|
|
1042
|
+
"delete-notification": {
|
|
1043
|
+
id: "admin.delete-notification",
|
|
1044
|
+
label: "Delete Notifications",
|
|
1045
|
+
ariaLabel: "Delete selected notifications",
|
|
1046
|
+
description: "Permanently delete one or more notifications.",
|
|
1047
|
+
kind: "danger",
|
|
1048
|
+
permissions: ["admin"],
|
|
1049
|
+
confirmation: {
|
|
1050
|
+
title: "Delete these notifications?",
|
|
1051
|
+
body: "The selected notifications will be permanently removed.",
|
|
1052
|
+
confirmLabel: "Delete",
|
|
1053
|
+
confirmKind: "danger",
|
|
1054
|
+
},
|
|
1055
|
+
},
|
|
1056
|
+
"resend-notification": {
|
|
1057
|
+
id: "admin.resend-notification",
|
|
1058
|
+
label: "Resend",
|
|
1059
|
+
ariaLabel: "Resend this notification",
|
|
1060
|
+
description: "Re-send a notification to the recipient.",
|
|
1061
|
+
kind: "ghost",
|
|
1062
|
+
permissions: ["admin"],
|
|
1063
|
+
},
|
|
1064
|
+
// ── Blog management ───────────────────────────────────────────────────
|
|
1065
|
+
"publish-blog": {
|
|
1066
|
+
id: "admin.publish-blog",
|
|
1067
|
+
label: "Publish Selected",
|
|
1068
|
+
ariaLabel: "Publish selected blog posts",
|
|
1069
|
+
description: "Set selected blog posts to published status.",
|
|
1070
|
+
kind: "primary",
|
|
1071
|
+
permissions: ["admin", "moderator"],
|
|
1072
|
+
},
|
|
1073
|
+
"draft-blog": {
|
|
1074
|
+
id: "admin.draft-blog",
|
|
1075
|
+
label: "Move to Draft",
|
|
1076
|
+
ariaLabel: "Move selected posts to draft",
|
|
1077
|
+
description: "Revert selected blog posts to draft status.",
|
|
1078
|
+
kind: "secondary",
|
|
1079
|
+
permissions: ["admin", "moderator"],
|
|
1080
|
+
},
|
|
1081
|
+
// ── Brand & category management ───────────────────────────────────────
|
|
1082
|
+
"edit-brand": {
|
|
1083
|
+
id: "admin.edit-brand",
|
|
1084
|
+
label: "Edit Brand",
|
|
1085
|
+
ariaLabel: "Edit this brand",
|
|
1086
|
+
description: "Open the edit panel for a brand.",
|
|
1087
|
+
kind: "primary",
|
|
1088
|
+
permissions: ["admin"],
|
|
1089
|
+
},
|
|
1090
|
+
"edit-category": {
|
|
1091
|
+
id: "admin.edit-category",
|
|
1092
|
+
label: "Edit Category",
|
|
1093
|
+
ariaLabel: "Edit this category",
|
|
1094
|
+
description: "Open the edit panel for a category.",
|
|
1095
|
+
kind: "primary",
|
|
1096
|
+
permissions: ["admin"],
|
|
1097
|
+
},
|
|
1098
|
+
// ── Feature & prize-draw management ────────────────────────────────────
|
|
1099
|
+
"delete-feature": {
|
|
1100
|
+
id: "admin.delete-feature",
|
|
1101
|
+
label: "Delete Features",
|
|
1102
|
+
ariaLabel: "Delete selected features",
|
|
1103
|
+
description: "Permanently delete the selected product feature badges.",
|
|
1104
|
+
kind: "danger",
|
|
1105
|
+
permissions: ["admin"],
|
|
1106
|
+
confirmation: {
|
|
1107
|
+
title: "Delete these features?",
|
|
1108
|
+
body: "The selected product feature badges will be permanently removed. Products tagged with them will lose the badge.",
|
|
1109
|
+
confirmLabel: "Delete",
|
|
1110
|
+
confirmKind: "danger",
|
|
1111
|
+
},
|
|
1112
|
+
},
|
|
1113
|
+
"delete-prize-draw": {
|
|
1114
|
+
id: "admin.delete-prize-draw",
|
|
1115
|
+
label: "Delete Prize Draws",
|
|
1116
|
+
ariaLabel: "Delete selected prize draws",
|
|
1117
|
+
description: "Permanently delete the selected prize draw listings.",
|
|
1118
|
+
kind: "danger",
|
|
1119
|
+
permissions: ["admin"],
|
|
1120
|
+
confirmation: {
|
|
1121
|
+
title: "Delete these prize draws?",
|
|
1122
|
+
body: "The selected prize draw listings will be permanently removed. This action cannot be undone.",
|
|
1123
|
+
confirmLabel: "Delete",
|
|
1124
|
+
confirmKind: "danger",
|
|
1125
|
+
},
|
|
1126
|
+
},
|
|
1127
|
+
// ── Product toggles ───────────────────────────────────────────────────
|
|
1128
|
+
"toggle-featured": {
|
|
1129
|
+
id: "admin.toggle-featured",
|
|
1130
|
+
label: "Toggle Featured",
|
|
1131
|
+
ariaLabel: "Toggle featured status",
|
|
1132
|
+
description: "Toggle whether the selected products appear in featured sections.",
|
|
1133
|
+
kind: "secondary",
|
|
1134
|
+
permissions: ["admin", "moderator"],
|
|
1135
|
+
},
|
|
1136
|
+
"toggle-promoted": {
|
|
1137
|
+
id: "admin.toggle-promoted",
|
|
1138
|
+
label: "Toggle Promoted",
|
|
1139
|
+
ariaLabel: "Toggle promoted status",
|
|
1140
|
+
description: "Toggle whether the selected products appear in promoted placements.",
|
|
1141
|
+
kind: "secondary",
|
|
1142
|
+
permissions: ["admin"],
|
|
1143
|
+
},
|
|
1144
|
+
"toggle-on-sale": {
|
|
1145
|
+
id: "admin.toggle-on-sale",
|
|
1146
|
+
label: "Toggle On Sale",
|
|
1147
|
+
ariaLabel: "Toggle on-sale status",
|
|
1148
|
+
description: "Toggle the on-sale flag for the selected products.",
|
|
1149
|
+
kind: "secondary",
|
|
1150
|
+
permissions: ["admin", "moderator"],
|
|
1151
|
+
},
|
|
1152
|
+
// ── Bundle management ─────────────────────────────────────────────────
|
|
1153
|
+
"activate-bundle": {
|
|
1154
|
+
id: "admin.activate-bundle",
|
|
1155
|
+
label: "Activate",
|
|
1156
|
+
ariaLabel: "Activate selected bundles",
|
|
1157
|
+
description: "Set the selected bundles to active status.",
|
|
1158
|
+
kind: "primary",
|
|
1159
|
+
permissions: ["admin"],
|
|
1160
|
+
},
|
|
1161
|
+
"deactivate-bundle": {
|
|
1162
|
+
id: "admin.deactivate-bundle",
|
|
1163
|
+
label: "Deactivate",
|
|
1164
|
+
ariaLabel: "Deactivate selected bundles",
|
|
1165
|
+
description: "Set the selected bundles to inactive status.",
|
|
1166
|
+
kind: "secondary",
|
|
1167
|
+
permissions: ["admin"],
|
|
1168
|
+
},
|
|
1169
|
+
"delete-bundle": {
|
|
1170
|
+
id: "admin.delete-bundle",
|
|
1171
|
+
label: "Delete",
|
|
1172
|
+
ariaLabel: "Delete selected bundles",
|
|
1173
|
+
description: "Permanently delete the selected bundles.",
|
|
1174
|
+
kind: "danger",
|
|
1175
|
+
permissions: ["admin"],
|
|
1176
|
+
confirmation: {
|
|
1177
|
+
title: "Delete these bundles?",
|
|
1178
|
+
body: "The selected bundles will be permanently removed. This action cannot be undone.",
|
|
1179
|
+
confirmLabel: "Delete",
|
|
1180
|
+
confirmKind: "danger",
|
|
1181
|
+
},
|
|
1182
|
+
},
|
|
1183
|
+
// ── Store/User management (bulk) ──────────────────────────────────────
|
|
1184
|
+
"manage-store": {
|
|
1185
|
+
id: "admin.manage-store",
|
|
1186
|
+
label: "Manage Store",
|
|
1187
|
+
ariaLabel: "Manage this store",
|
|
1188
|
+
description: "Open the store management panel.",
|
|
1189
|
+
kind: "primary",
|
|
1190
|
+
permissions: ["admin"],
|
|
1191
|
+
},
|
|
1192
|
+
"manage-user": {
|
|
1193
|
+
id: "admin.manage-user",
|
|
1194
|
+
label: "Manage Selected",
|
|
1195
|
+
ariaLabel: "Manage selected users",
|
|
1196
|
+
description: "Open the user management panel.",
|
|
1197
|
+
kind: "primary",
|
|
1198
|
+
permissions: ["admin"],
|
|
1199
|
+
},
|
|
1200
|
+
// ── Carousel management ──────────────────────────────────────────────
|
|
1201
|
+
"edit-carousel": {
|
|
1202
|
+
id: "admin.edit-carousel",
|
|
1203
|
+
label: "Edit Slide",
|
|
1204
|
+
ariaLabel: "Edit carousel slide",
|
|
1205
|
+
description: "Open the edit panel for a carousel slide.",
|
|
1206
|
+
kind: "ghost",
|
|
1207
|
+
permissions: ["admin"],
|
|
1208
|
+
},
|
|
1209
|
+
"delete-carousel": {
|
|
1210
|
+
id: "admin.delete-carousel",
|
|
1211
|
+
label: "Delete Slides",
|
|
1212
|
+
ariaLabel: "Delete selected carousel slides",
|
|
1213
|
+
description: "Permanently delete the selected carousel slides.",
|
|
1214
|
+
kind: "danger",
|
|
1215
|
+
permissions: ["admin"],
|
|
1216
|
+
confirmation: {
|
|
1217
|
+
title: "Delete these slides?",
|
|
1218
|
+
body: "The selected carousel slides will be permanently removed.",
|
|
1219
|
+
confirmLabel: "Delete",
|
|
1220
|
+
confirmKind: "danger",
|
|
1221
|
+
},
|
|
1222
|
+
},
|
|
1223
|
+
// ── Contact management ────────────────────────────────────────────────
|
|
1224
|
+
"mark-contact-read": {
|
|
1225
|
+
id: "admin.mark-contact-read",
|
|
1226
|
+
label: "Mark Read",
|
|
1227
|
+
ariaLabel: "Mark selected messages as read",
|
|
1228
|
+
description: "Mark one or more contact messages as read.",
|
|
1229
|
+
kind: "primary",
|
|
1230
|
+
permissions: ["admin", "moderator"],
|
|
1231
|
+
},
|
|
1232
|
+
"archive-contact": {
|
|
1233
|
+
id: "admin.archive-contact",
|
|
1234
|
+
label: "Archive Messages",
|
|
1235
|
+
ariaLabel: "Archive selected messages",
|
|
1236
|
+
description: "Move the selected contact messages to archive.",
|
|
1237
|
+
kind: "secondary",
|
|
1238
|
+
permissions: ["admin", "moderator"],
|
|
1239
|
+
},
|
|
1240
|
+
"delete-contact": {
|
|
1241
|
+
id: "admin.delete-contact",
|
|
1242
|
+
label: "Delete Messages",
|
|
1243
|
+
ariaLabel: "Delete selected messages",
|
|
1244
|
+
description: "Permanently delete the selected contact messages.",
|
|
1245
|
+
kind: "danger",
|
|
1246
|
+
permissions: ["admin"],
|
|
1247
|
+
confirmation: {
|
|
1248
|
+
title: "Delete these messages?",
|
|
1249
|
+
body: "The selected messages will be permanently removed.",
|
|
1250
|
+
confirmLabel: "Delete",
|
|
1251
|
+
confirmKind: "danger",
|
|
1252
|
+
},
|
|
1253
|
+
},
|
|
1254
|
+
// ── Newsletter management ─────────────────────────────────────────────
|
|
1255
|
+
"unsubscribe-newsletter": {
|
|
1256
|
+
id: "admin.unsubscribe-newsletter",
|
|
1257
|
+
label: "Unsubscribe",
|
|
1258
|
+
ariaLabel: "Unsubscribe selected subscribers",
|
|
1259
|
+
description: "Remove the selected subscribers from the newsletter.",
|
|
1260
|
+
kind: "danger",
|
|
1261
|
+
permissions: ["admin"],
|
|
1262
|
+
confirmation: {
|
|
1263
|
+
title: "Unsubscribe these subscribers?",
|
|
1264
|
+
body: "The selected subscribers will be removed from the newsletter.",
|
|
1265
|
+
confirmLabel: "Unsubscribe",
|
|
1266
|
+
confirmKind: "danger",
|
|
1267
|
+
},
|
|
1268
|
+
},
|
|
1269
|
+
// ── Team management ───────────────────────────────────────────────────
|
|
1270
|
+
"edit-team-member": {
|
|
1271
|
+
id: "admin.edit-team-member",
|
|
1272
|
+
label: "Edit Permissions",
|
|
1273
|
+
ariaLabel: "Edit team member permissions",
|
|
1274
|
+
description: "Open the permissions editor for a team member.",
|
|
1275
|
+
kind: "ghost",
|
|
1276
|
+
permissions: ["admin"],
|
|
1277
|
+
},
|
|
1278
|
+
"remove-team-member": {
|
|
1279
|
+
id: "admin.remove-team-member",
|
|
1280
|
+
label: "Remove Members",
|
|
1281
|
+
ariaLabel: "Remove selected team members",
|
|
1282
|
+
description: "Remove the selected team members.",
|
|
1283
|
+
kind: "danger",
|
|
1284
|
+
permissions: ["admin"],
|
|
1285
|
+
confirmation: {
|
|
1286
|
+
title: "Remove these team members?",
|
|
1287
|
+
body: "The selected team members will be removed from the team.",
|
|
1288
|
+
confirmLabel: "Remove",
|
|
1289
|
+
confirmKind: "danger",
|
|
1290
|
+
},
|
|
1291
|
+
},
|
|
1292
|
+
// ── FAQ management ────────────────────────────────────────────────────
|
|
1293
|
+
"delete-faq": {
|
|
1294
|
+
id: "admin.delete-faq",
|
|
1295
|
+
label: "Delete FAQs",
|
|
1296
|
+
ariaLabel: "Delete selected FAQs",
|
|
1297
|
+
description: "Permanently delete the selected FAQ entries.",
|
|
1298
|
+
kind: "danger",
|
|
1299
|
+
permissions: ["admin"],
|
|
1300
|
+
confirmation: {
|
|
1301
|
+
title: "Delete these FAQs?",
|
|
1302
|
+
body: "The selected FAQ entries will be permanently removed.",
|
|
1303
|
+
confirmLabel: "Delete",
|
|
1304
|
+
confirmKind: "danger",
|
|
1305
|
+
},
|
|
1306
|
+
},
|
|
1307
|
+
"archive-faq": {
|
|
1308
|
+
id: "admin.archive-faq",
|
|
1309
|
+
label: "Archive FAQs",
|
|
1310
|
+
ariaLabel: "Archive selected FAQs",
|
|
1311
|
+
description: "Archive the selected FAQ entries.",
|
|
1312
|
+
kind: "secondary",
|
|
1313
|
+
permissions: ["admin", "moderator"],
|
|
1314
|
+
},
|
|
1315
|
+
// ── Coupon management ─────────────────────────────────────────────────
|
|
1316
|
+
"delete-coupon": {
|
|
1317
|
+
id: "admin.delete-coupon",
|
|
1318
|
+
label: "Delete Coupons",
|
|
1319
|
+
ariaLabel: "Delete selected coupons",
|
|
1320
|
+
description: "Permanently delete the selected coupons.",
|
|
1321
|
+
kind: "danger",
|
|
1322
|
+
permissions: ["admin"],
|
|
1323
|
+
confirmation: {
|
|
1324
|
+
title: "Delete these coupons?",
|
|
1325
|
+
body: "The selected coupons will be permanently removed. Active coupon codes will stop working.",
|
|
1326
|
+
confirmLabel: "Delete",
|
|
1327
|
+
confirmKind: "danger",
|
|
1328
|
+
},
|
|
1329
|
+
},
|
|
1330
|
+
"edit-coupon": {
|
|
1331
|
+
id: "admin.edit-coupon",
|
|
1332
|
+
label: "Edit Coupon",
|
|
1333
|
+
ariaLabel: "Edit this coupon",
|
|
1334
|
+
description: "Open the edit panel for a coupon.",
|
|
1335
|
+
kind: "ghost",
|
|
1336
|
+
permissions: ["admin"],
|
|
1337
|
+
},
|
|
1338
|
+
"duplicate-coupon": {
|
|
1339
|
+
id: "admin.duplicate-coupon",
|
|
1340
|
+
label: "Duplicate",
|
|
1341
|
+
ariaLabel: "Duplicate this coupon",
|
|
1342
|
+
description: "Create a copy of this coupon with a new code.",
|
|
1343
|
+
kind: "ghost",
|
|
1344
|
+
permissions: ["admin"],
|
|
1345
|
+
},
|
|
1346
|
+
// ── Navigation management ─────────────────────────────────────────────
|
|
1347
|
+
"edit-nav": {
|
|
1348
|
+
id: "admin.edit-nav",
|
|
1349
|
+
label: "Edit",
|
|
1350
|
+
ariaLabel: "Edit navigation item",
|
|
1351
|
+
description: "Edit a navigation menu item.",
|
|
1352
|
+
kind: "ghost",
|
|
1353
|
+
permissions: ["admin"],
|
|
1354
|
+
},
|
|
1355
|
+
"delete-nav": {
|
|
1356
|
+
id: "admin.delete-nav",
|
|
1357
|
+
label: "Delete Nav Items",
|
|
1358
|
+
ariaLabel: "Delete selected navigation items",
|
|
1359
|
+
description: "Permanently delete the selected navigation items.",
|
|
1360
|
+
kind: "danger",
|
|
1361
|
+
permissions: ["admin"],
|
|
1362
|
+
confirmation: {
|
|
1363
|
+
title: "Delete these navigation items?",
|
|
1364
|
+
body: "The selected navigation items will be permanently removed from the menu.",
|
|
1365
|
+
confirmLabel: "Delete",
|
|
1366
|
+
confirmKind: "danger",
|
|
1367
|
+
},
|
|
1368
|
+
},
|
|
1369
|
+
// ── Sublisting category management ────────────────────────────────────
|
|
1370
|
+
"delete-sublisting-category": {
|
|
1371
|
+
id: "admin.delete-sublisting-category",
|
|
1372
|
+
label: "Delete Categories",
|
|
1373
|
+
ariaLabel: "Delete selected sublisting categories",
|
|
1374
|
+
description: "Permanently delete the selected sublisting categories.",
|
|
1375
|
+
kind: "danger",
|
|
1376
|
+
permissions: ["admin"],
|
|
1377
|
+
confirmation: {
|
|
1378
|
+
title: "Delete these categories?",
|
|
1379
|
+
body: "Products tagged with these categories will lose the tag.",
|
|
1380
|
+
confirmLabel: "Delete",
|
|
1381
|
+
confirmKind: "danger",
|
|
1382
|
+
},
|
|
1383
|
+
},
|
|
1384
|
+
// ── Scammer management ────────────────────────────────────────────────
|
|
1385
|
+
"verify-scammer": {
|
|
1386
|
+
id: "admin.verify-scammer",
|
|
1387
|
+
label: "Verify Report",
|
|
1388
|
+
ariaLabel: "Verify this scammer report",
|
|
1389
|
+
description: "Mark a scammer report as verified after review.",
|
|
1390
|
+
kind: "primary",
|
|
1391
|
+
permissions: ["admin", "moderator"],
|
|
1392
|
+
},
|
|
1393
|
+
"dismiss-scammer": {
|
|
1394
|
+
id: "admin.dismiss-scammer",
|
|
1395
|
+
label: "Dismiss",
|
|
1396
|
+
ariaLabel: "Dismiss this scammer report",
|
|
1397
|
+
description: "Dismiss a scammer report as unverified.",
|
|
1398
|
+
kind: "secondary",
|
|
1399
|
+
permissions: ["admin", "moderator"],
|
|
1400
|
+
},
|
|
1401
|
+
"delete-scammer": {
|
|
1402
|
+
id: "admin.delete-scammer",
|
|
1403
|
+
label: "Delete Reports",
|
|
1404
|
+
ariaLabel: "Delete selected scammer reports",
|
|
1405
|
+
description: "Permanently delete the selected scammer reports.",
|
|
1406
|
+
kind: "danger",
|
|
1407
|
+
permissions: ["admin"],
|
|
1408
|
+
confirmation: {
|
|
1409
|
+
title: "Delete these reports?",
|
|
1410
|
+
body: "The selected scammer reports will be permanently removed.",
|
|
1411
|
+
confirmLabel: "Delete",
|
|
1412
|
+
confirmKind: "danger",
|
|
1413
|
+
},
|
|
1414
|
+
},
|
|
1415
|
+
// ── Support ticket management ──────────────────────────────────────────
|
|
1416
|
+
"view-ticket": {
|
|
1417
|
+
id: "admin.view-ticket",
|
|
1418
|
+
label: "View Details",
|
|
1419
|
+
ariaLabel: "View support ticket details",
|
|
1420
|
+
description: "Open the full support ticket details.",
|
|
1421
|
+
kind: "ghost",
|
|
1422
|
+
permissions: ["admin", "moderator"],
|
|
1423
|
+
},
|
|
1424
|
+
"close-ticket": {
|
|
1425
|
+
id: "admin.close-ticket",
|
|
1426
|
+
label: "Close Tickets",
|
|
1427
|
+
ariaLabel: "Close selected tickets",
|
|
1428
|
+
description: "Close the selected support tickets.",
|
|
1429
|
+
kind: "secondary",
|
|
1430
|
+
permissions: ["admin", "moderator"],
|
|
1431
|
+
},
|
|
1432
|
+
"escalate-ticket": {
|
|
1433
|
+
id: "admin.escalate-ticket",
|
|
1434
|
+
label: "Escalate",
|
|
1435
|
+
ariaLabel: "Escalate this ticket",
|
|
1436
|
+
description: "Escalate a support ticket to a higher priority.",
|
|
1437
|
+
kind: "primary",
|
|
1438
|
+
permissions: ["admin", "moderator"],
|
|
1439
|
+
},
|
|
1440
|
+
// ── Event entry management ────────────────────────────────────────────
|
|
1441
|
+
"approve-entry": {
|
|
1442
|
+
id: "admin.approve-entry",
|
|
1443
|
+
label: "Approve Entries",
|
|
1444
|
+
ariaLabel: "Approve selected event entries",
|
|
1445
|
+
description: "Approve the selected event entries.",
|
|
1446
|
+
kind: "primary",
|
|
1447
|
+
permissions: ["admin", "moderator"],
|
|
1448
|
+
},
|
|
1449
|
+
"reject-entry": {
|
|
1450
|
+
id: "admin.reject-entry",
|
|
1451
|
+
label: "Reject Entries",
|
|
1452
|
+
ariaLabel: "Reject selected event entries",
|
|
1453
|
+
description: "Reject the selected event entries.",
|
|
1454
|
+
kind: "danger",
|
|
1455
|
+
permissions: ["admin", "moderator"],
|
|
1456
|
+
confirmation: {
|
|
1457
|
+
title: "Reject these entries?",
|
|
1458
|
+
body: "The selected entries will be rejected and participants will be notified.",
|
|
1459
|
+
confirmLabel: "Reject",
|
|
1460
|
+
confirmKind: "danger",
|
|
1461
|
+
},
|
|
1462
|
+
},
|
|
1463
|
+
// ── Event entry management (row-level) ──────────────────────────────
|
|
1464
|
+
"confirm-entry": {
|
|
1465
|
+
id: "admin.confirm-entry",
|
|
1466
|
+
label: "Confirm",
|
|
1467
|
+
ariaLabel: "Confirm this event entry",
|
|
1468
|
+
description: "Confirm a single event entry.",
|
|
1469
|
+
kind: "primary",
|
|
1470
|
+
permissions: ["admin", "moderator"],
|
|
1471
|
+
},
|
|
1472
|
+
"waitlist-entry": {
|
|
1473
|
+
id: "admin.waitlist-entry",
|
|
1474
|
+
label: "Waitlist",
|
|
1475
|
+
ariaLabel: "Waitlist this event entry",
|
|
1476
|
+
description: "Move a single event entry to waitlist.",
|
|
1477
|
+
kind: "secondary",
|
|
1478
|
+
permissions: ["admin", "moderator"],
|
|
1479
|
+
},
|
|
1480
|
+
"cancel-entry": {
|
|
1481
|
+
id: "admin.cancel-entry",
|
|
1482
|
+
label: "Cancel",
|
|
1483
|
+
ariaLabel: "Cancel this event entry",
|
|
1484
|
+
description: "Cancel a single event entry.",
|
|
1485
|
+
kind: "danger",
|
|
1486
|
+
permissions: ["admin", "moderator"],
|
|
1487
|
+
},
|
|
1488
|
+
// ── Review management (row-level) ─────────────────────────────────
|
|
1489
|
+
"feature-review": {
|
|
1490
|
+
id: "admin.feature-review",
|
|
1491
|
+
label: "Feature",
|
|
1492
|
+
ariaLabel: "Feature this review",
|
|
1493
|
+
description: "Feature a review on the product page.",
|
|
1494
|
+
kind: "ghost",
|
|
1495
|
+
permissions: ["admin", "moderator"],
|
|
1496
|
+
},
|
|
1497
|
+
"unfeature-review": {
|
|
1498
|
+
id: "admin.unfeature-review",
|
|
1499
|
+
label: "Unfeature",
|
|
1500
|
+
ariaLabel: "Unfeature this review",
|
|
1501
|
+
description: "Remove a review from the featured section.",
|
|
1502
|
+
kind: "ghost",
|
|
1503
|
+
permissions: ["admin", "moderator"],
|
|
1504
|
+
},
|
|
1505
|
+
// ── Scammer management (row-level) ────────────────────────────────
|
|
1506
|
+
"review-scammer": {
|
|
1507
|
+
id: "admin.review-scammer",
|
|
1508
|
+
label: "Review",
|
|
1509
|
+
ariaLabel: "Review this scammer report",
|
|
1510
|
+
description: "Open the scammer profile for detailed review.",
|
|
1511
|
+
kind: "ghost",
|
|
1512
|
+
permissions: ["admin", "moderator"],
|
|
1513
|
+
},
|
|
1514
|
+
// ── Bid management ────────────────────────────────────────────────────
|
|
1515
|
+
"cancel-bid": {
|
|
1516
|
+
id: "admin.cancel-bid",
|
|
1517
|
+
label: "Cancel Selected",
|
|
1518
|
+
ariaLabel: "Cancel selected bids",
|
|
1519
|
+
description: "Cancel the selected bids.",
|
|
1520
|
+
kind: "danger",
|
|
1521
|
+
permissions: ["admin", "moderator"],
|
|
1522
|
+
confirmation: {
|
|
1523
|
+
title: "Cancel these bids?",
|
|
1524
|
+
body: "The selected bids will be cancelled. Bidders will be notified.",
|
|
1525
|
+
confirmLabel: "Cancel bids",
|
|
1526
|
+
confirmKind: "danger",
|
|
1527
|
+
},
|
|
1528
|
+
},
|
|
763
1529
|
},
|
|
764
1530
|
CART: {
|
|
765
1531
|
"clear-cart": {
|
|
@@ -875,8 +1641,65 @@ export const ACTIONS = {
|
|
|
875
1641
|
},
|
|
876
1642
|
},
|
|
877
1643
|
},
|
|
878
|
-
MEDIA: {
|
|
879
|
-
|
|
1644
|
+
MEDIA: {
|
|
1645
|
+
"copy-url": {
|
|
1646
|
+
id: "media.copy-url",
|
|
1647
|
+
label: "Copy URL",
|
|
1648
|
+
ariaLabel: "Copy media URL to clipboard",
|
|
1649
|
+
description: "Copy the storage URL of a media file to clipboard.",
|
|
1650
|
+
kind: "ghost",
|
|
1651
|
+
},
|
|
1652
|
+
"clear-previews": {
|
|
1653
|
+
id: "media.clear-previews",
|
|
1654
|
+
label: "Clear previews",
|
|
1655
|
+
ariaLabel: "Clear uploaded previews",
|
|
1656
|
+
description: "Remove all preview images from the current session.",
|
|
1657
|
+
kind: "secondary",
|
|
1658
|
+
permissions: ["admin", "moderator"],
|
|
1659
|
+
},
|
|
1660
|
+
"discard-staged": {
|
|
1661
|
+
id: "media.discard-staged",
|
|
1662
|
+
label: "Discard staged uploads",
|
|
1663
|
+
ariaLabel: "Discard all staged uploads",
|
|
1664
|
+
description: "Remove staged upload files from temporary storage.",
|
|
1665
|
+
kind: "danger",
|
|
1666
|
+
permissions: ["admin", "moderator"],
|
|
1667
|
+
confirmation: {
|
|
1668
|
+
title: "Discard staged uploads?",
|
|
1669
|
+
body: "All uploaded files not yet saved to a record will be deleted from storage.",
|
|
1670
|
+
confirmLabel: "Discard",
|
|
1671
|
+
confirmKind: "danger",
|
|
1672
|
+
},
|
|
1673
|
+
},
|
|
1674
|
+
},
|
|
1675
|
+
SUPPORT: {
|
|
1676
|
+
"create-ticket": {
|
|
1677
|
+
id: "support.create-ticket",
|
|
1678
|
+
label: "Contact Support",
|
|
1679
|
+
ariaLabel: "Create a support ticket",
|
|
1680
|
+
description: "Open the support ticket form.",
|
|
1681
|
+
kind: "primary",
|
|
1682
|
+
},
|
|
1683
|
+
"reply-ticket": {
|
|
1684
|
+
id: "support.reply-ticket",
|
|
1685
|
+
label: "Reply",
|
|
1686
|
+
ariaLabel: "Reply to this ticket",
|
|
1687
|
+
description: "Add a reply to an open support ticket.",
|
|
1688
|
+
kind: "primary",
|
|
1689
|
+
},
|
|
1690
|
+
"close-ticket": {
|
|
1691
|
+
id: "support.close-ticket",
|
|
1692
|
+
label: "Close Ticket",
|
|
1693
|
+
ariaLabel: "Close this support ticket",
|
|
1694
|
+
description: "Mark this support ticket as resolved.",
|
|
1695
|
+
kind: "secondary",
|
|
1696
|
+
confirmation: {
|
|
1697
|
+
title: "Close this ticket?",
|
|
1698
|
+
body: "The ticket will be marked as resolved. You can reopen it later.",
|
|
1699
|
+
confirmLabel: "Close ticket",
|
|
1700
|
+
},
|
|
1701
|
+
},
|
|
1702
|
+
},
|
|
880
1703
|
};
|
|
881
1704
|
/** Sugar — `act("PRODUCT", "add-to-cart")` reads more naturally at call sites. */
|
|
882
1705
|
export function act(resource, id) {
|