@burdenoff/microfe-store 2026.625.2 → 2026.625.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/dist/StoreRoutes.js +3 -3
  2. package/dist/StoreRoutes.js.map +1 -1
  3. package/dist/components/AccessDenied.js +3 -3
  4. package/dist/components/AccessDenied.js.map +1 -1
  5. package/dist/components/InstallAppModal.js +107 -120
  6. package/dist/components/InstallAppModal.js.map +1 -1
  7. package/dist/components/cart/CartDrawer.js +10 -10
  8. package/dist/components/cart/CartDrawer.js.map +1 -1
  9. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/errors/CombinedGraphQLErrors.js +1 -1
  10. package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js.map +1 -0
  11. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/errors/utils.js +1 -1
  12. package/dist/node_modules/@apollo/client/errors/utils.js.map +1 -0
  13. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/link/core/ApolloLink.js +2 -2
  14. package/dist/node_modules/@apollo/client/link/core/ApolloLink.js.map +1 -0
  15. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/link/subscriptions/index.js +2 -2
  16. package/dist/node_modules/@apollo/client/link/subscriptions/index.js.map +1 -0
  17. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/link/utils/createOperation.js +1 -1
  18. package/dist/node_modules/@apollo/client/link/utils/createOperation.js.map +1 -0
  19. package/dist/node_modules/@apollo/client/utilities/caching/sizes.js.map +1 -0
  20. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/utilities/graphql/print.js +1 -1
  21. package/dist/node_modules/@apollo/client/utilities/graphql/print.js.map +1 -0
  22. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/utilities/internal/caches.js +2 -2
  23. package/dist/node_modules/@apollo/client/utilities/internal/caches.js.map +1 -0
  24. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/utilities/internal/checkDocument.js +1 -1
  25. package/dist/node_modules/@apollo/client/utilities/internal/checkDocument.js.map +1 -0
  26. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/utilities/internal/getMainDefinition.js +1 -1
  27. package/dist/node_modules/@apollo/client/utilities/internal/getMainDefinition.js.map +1 -0
  28. package/dist/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js +9 -0
  29. package/dist/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js.map +1 -0
  30. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/utilities/internal/getOperationDefinition.js +1 -1
  31. package/dist/node_modules/@apollo/client/utilities/internal/getOperationDefinition.js.map +1 -0
  32. package/dist/node_modules/@apollo/client/utilities/internal/getOperationName.js +8 -0
  33. package/dist/node_modules/@apollo/client/utilities/internal/getOperationName.js.map +1 -0
  34. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/utilities/internal/globals/global.js +1 -1
  35. package/dist/node_modules/@apollo/client/utilities/internal/globals/global.js.map +1 -0
  36. package/dist/node_modules/@apollo/client/utilities/internal/globals/maybe.js +10 -0
  37. package/dist/node_modules/@apollo/client/utilities/internal/globals/maybe.js.map +1 -0
  38. package/dist/node_modules/@apollo/client/utilities/internal/isNonNullObject.js +8 -0
  39. package/dist/node_modules/@apollo/client/utilities/internal/isNonNullObject.js.map +1 -0
  40. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/utilities/internal/makeUniqueId.js +1 -1
  41. package/dist/node_modules/@apollo/client/utilities/internal/makeUniqueId.js.map +1 -0
  42. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/utilities/internal/memoize.js +2 -2
  43. package/dist/node_modules/@apollo/client/utilities/internal/memoize.js.map +1 -0
  44. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/utilities/internal/stringifyForDisplay.js +1 -1
  45. package/dist/node_modules/@apollo/client/utilities/internal/stringifyForDisplay.js.map +1 -0
  46. package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/utilities/invariant/index.js +1 -1
  47. package/dist/node_modules/@apollo/client/utilities/invariant/index.js.map +1 -0
  48. package/dist/node_modules/@apollo/client/version.js +6 -0
  49. package/dist/node_modules/@apollo/client/version.js.map +1 -0
  50. package/dist/node_modules/{.bun/@wry_caches@1.0.1/node_modules/@wry → @wry}/caches/lib/weak.js +1 -1
  51. package/dist/node_modules/@wry/caches/lib/weak.js.map +1 -0
  52. package/dist/node_modules/{.bun/@wry_trie@0.5.0/node_modules/@wry → @wry}/trie/lib/index.js +1 -1
  53. package/dist/node_modules/@wry/trie/lib/index.js.map +1 -0
  54. package/dist/node_modules/{.bun/graphql-ws@6.0.8_796ebe57c2b0ffe0/node_modules/graphql-ws → graphql-ws}/dist/client.js +1 -1
  55. package/dist/node_modules/graphql-ws/dist/client.js.map +1 -0
  56. package/dist/node_modules/{.bun/graphql-ws@6.0.8_796ebe57c2b0ffe0/node_modules/graphql-ws → graphql-ws}/dist/common-CGW11Fyb.js +1 -1
  57. package/dist/node_modules/graphql-ws/dist/common-CGW11Fyb.js.map +1 -0
  58. package/dist/node_modules/{.bun/rxjs@7.8.2/node_modules/rxjs → rxjs}/dist/esm5/internal/NotificationFactories.js +1 -1
  59. package/dist/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js.map +1 -0
  60. package/dist/node_modules/{.bun/rxjs@7.8.2/node_modules/rxjs → rxjs}/dist/esm5/internal/Observable.js +1 -1
  61. package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js.map +1 -0
  62. package/dist/node_modules/{.bun/rxjs@7.8.2/node_modules/rxjs → rxjs}/dist/esm5/internal/Subscriber.js +2 -2
  63. package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +1 -0
  64. package/dist/node_modules/{.bun/rxjs@7.8.2/node_modules/rxjs → rxjs}/dist/esm5/internal/Subscription.js +2 -2
  65. package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +1 -0
  66. package/dist/node_modules/{.bun/rxjs@7.8.2/node_modules/rxjs → rxjs}/dist/esm5/internal/config.js +1 -1
  67. package/dist/node_modules/rxjs/dist/esm5/internal/config.js.map +1 -0
  68. package/dist/node_modules/{.bun/rxjs@7.8.2/node_modules/rxjs → rxjs}/dist/esm5/internal/observable/empty.js +1 -1
  69. package/dist/node_modules/rxjs/dist/esm5/internal/observable/empty.js.map +1 -0
  70. package/dist/node_modules/{.bun/rxjs@7.8.2/node_modules/rxjs → rxjs}/dist/esm5/internal/scheduler/timeoutProvider.js +2 -2
  71. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +1 -0
  72. package/dist/node_modules/{.bun/rxjs@7.8.2/node_modules/rxjs → rxjs}/dist/esm5/internal/symbol/observable.js +1 -1
  73. package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +1 -0
  74. package/dist/node_modules/{.bun/rxjs@7.8.2/node_modules/rxjs → rxjs}/dist/esm5/internal/util/UnsubscriptionError.js +1 -1
  75. package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +1 -0
  76. package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js +11 -0
  77. package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +1 -0
  78. package/dist/node_modules/{.bun/rxjs@7.8.2/node_modules/rxjs → rxjs}/dist/esm5/internal/util/createErrorClass.js +1 -1
  79. package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +1 -0
  80. package/dist/node_modules/{.bun/rxjs@7.8.2/node_modules/rxjs → rxjs}/dist/esm5/internal/util/errorContext.js +1 -1
  81. package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +1 -0
  82. package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js +8 -0
  83. package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js.map +1 -0
  84. package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js +8 -0
  85. package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +1 -0
  86. package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js +6 -0
  87. package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +1 -0
  88. package/dist/node_modules/{.bun/rxjs@7.8.2/node_modules/rxjs → rxjs}/dist/esm5/internal/util/pipe.js +1 -1
  89. package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +1 -0
  90. package/dist/node_modules/{.bun/rxjs@7.8.2/node_modules/rxjs → rxjs}/dist/esm5/internal/util/reportUnhandledError.js +1 -1
  91. package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +1 -0
  92. package/dist/node_modules/{.bun/tslib@2.8.1 → rxjs}/node_modules/tslib/tslib.es6.js +1 -1
  93. package/dist/node_modules/rxjs/node_modules/tslib/tslib.es6.js.map +1 -0
  94. package/dist/pages/AdminDashboardPage.js +90 -89
  95. package/dist/pages/AdminDashboardPage.js.map +1 -1
  96. package/dist/pages/AdminReviewModerationPage.js +58 -56
  97. package/dist/pages/AdminReviewModerationPage.js.map +1 -1
  98. package/dist/pages/AdminStoresPage.js +391 -372
  99. package/dist/pages/AdminStoresPage.js.map +1 -1
  100. package/dist/pages/AdminSubmissionsQueuePage.js +134 -148
  101. package/dist/pages/AdminSubmissionsQueuePage.js.map +1 -1
  102. package/dist/pages/AppDetailPage.js +123 -120
  103. package/dist/pages/AppDetailPage.js.map +1 -1
  104. package/dist/pages/AppSettingsPage.js +70 -297
  105. package/dist/pages/AppSettingsPage.js.map +1 -1
  106. package/dist/pages/CartPage.js +65 -76
  107. package/dist/pages/CartPage.js.map +1 -1
  108. package/dist/pages/InstalledAppsPage.js +71 -100
  109. package/dist/pages/InstalledAppsPage.js.map +1 -1
  110. package/dist/pages/MarketplaceHomePage.js +368 -378
  111. package/dist/pages/MarketplaceHomePage.js.map +1 -1
  112. package/dist/pages/MyLicensesPage.js +67 -75
  113. package/dist/pages/MyLicensesPage.js.map +1 -1
  114. package/dist/pages/OrderConfirmationPage.js +38 -37
  115. package/dist/pages/OrderConfirmationPage.js.map +1 -1
  116. package/dist/pages/OrdersPage.js +53 -64
  117. package/dist/pages/OrdersPage.js.map +1 -1
  118. package/dist/pages/ProductDetailPage.js +101 -98
  119. package/dist/pages/ProductDetailPage.js.map +1 -1
  120. package/dist/pages/ProductReviewsPage.js +2 -2
  121. package/dist/pages/ProductReviewsPage.js.map +1 -1
  122. package/dist/pages/PublisherDashboardPage.js +93 -92
  123. package/dist/pages/PublisherDashboardPage.js.map +1 -1
  124. package/dist/pages/PublisherRevenuePage.js +61 -60
  125. package/dist/pages/PublisherRevenuePage.js.map +1 -1
  126. package/dist/pages/PublisherSubmissionsPage.js +97 -96
  127. package/dist/pages/PublisherSubmissionsPage.js.map +1 -1
  128. package/dist/pages/PublisherSubmitPage.js +189 -184
  129. package/dist/pages/PublisherSubmitPage.js.map +1 -1
  130. package/dist/providers/StoreProvider.js +3 -3
  131. package/package.json +2 -2
  132. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js.map +0 -1
  133. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/errors/utils.js.map +0 -1
  134. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/link/core/ApolloLink.js.map +0 -1
  135. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/link/subscriptions/index.js.map +0 -1
  136. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/link/utils/createOperation.js.map +0 -1
  137. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/caching/sizes.js.map +0 -1
  138. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/graphql/print.js.map +0 -1
  139. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/caches.js.map +0 -1
  140. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/checkDocument.js.map +0 -1
  141. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/getMainDefinition.js.map +0 -1
  142. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js +0 -9
  143. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js.map +0 -1
  144. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/getOperationDefinition.js.map +0 -1
  145. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/getOperationName.js +0 -8
  146. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/getOperationName.js.map +0 -1
  147. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/globals/global.js.map +0 -1
  148. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/globals/maybe.js +0 -10
  149. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/globals/maybe.js.map +0 -1
  150. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/isNonNullObject.js +0 -8
  151. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/isNonNullObject.js.map +0 -1
  152. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/makeUniqueId.js.map +0 -1
  153. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/memoize.js.map +0 -1
  154. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/internal/stringifyForDisplay.js.map +0 -1
  155. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/utilities/invariant/index.js.map +0 -1
  156. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/version.js +0 -6
  157. package/dist/node_modules/.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo/client/version.js.map +0 -1
  158. package/dist/node_modules/.bun/@wry_caches@1.0.1/node_modules/@wry/caches/lib/weak.js.map +0 -1
  159. package/dist/node_modules/.bun/@wry_trie@0.5.0/node_modules/@wry/trie/lib/index.js.map +0 -1
  160. package/dist/node_modules/.bun/graphql-ws@6.0.8_796ebe57c2b0ffe0/node_modules/graphql-ws/dist/client.js.map +0 -1
  161. package/dist/node_modules/.bun/graphql-ws@6.0.8_796ebe57c2b0ffe0/node_modules/graphql-ws/dist/common-CGW11Fyb.js.map +0 -1
  162. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js.map +0 -1
  163. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Observable.js.map +0 -1
  164. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +0 -1
  165. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +0 -1
  166. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/config.js.map +0 -1
  167. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/observable/empty.js.map +0 -1
  168. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +0 -1
  169. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +0 -1
  170. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +0 -1
  171. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js +0 -11
  172. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +0 -1
  173. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +0 -1
  174. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +0 -1
  175. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/identity.js +0 -8
  176. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/identity.js.map +0 -1
  177. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isFunction.js +0 -8
  178. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +0 -1
  179. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/noop.js +0 -6
  180. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +0 -1
  181. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +0 -1
  182. package/dist/node_modules/.bun/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +0 -1
  183. package/dist/node_modules/.bun/tslib@2.8.1/node_modules/tslib/tslib.es6.js.map +0 -1
  184. /package/dist/node_modules/{.bun/@apollo_client@4.1.9_e571b0b00fd00a97/node_modules/@apollo → @apollo}/client/utilities/caching/sizes.js +0 -0
@@ -6,45 +6,46 @@ import { useI18n as i } from "@burdenoff/fe-libs/shared/providers/shell/I18nProv
6
6
  import { ArrowLeft as a, CheckCircle2 as o, Clock3 as s, FileCheck2 as c, MessageSquare as l, XCircle as u } from "lucide-react";
7
7
  import { jsx as d, jsxs as f } from "react/jsx-runtime";
8
8
  import { useNavigate as p } from "react-router-dom";
9
+ import { EmphasisPanel as m, GlassCard as h } from "@burdenoff/fe-libs/ui";
9
10
  //#region src/pages/PublisherSubmissionsPage.tsx
10
- var m = (e) => e === "PUBLISHED" || e === "APPROVED" ? "bg-status-success-bg-subtle text-status-success-text" : e === "REJECTED" || e === "UNLISTED" ? "bg-status-error-bg-subtle text-status-error-text" : e === "PENDING" || e === "SUBMITTED" || e === "UNDER_REVIEW" ? "bg-status-warning-bg-subtle text-status-warning-text" : "bg-bg-sunken text-text-muted", h = () => {
11
- let h = p(), { basePath: g, currentUser: _ } = e(), { products: v, hasMore: y, loading: b, error: x, refetch: S, loadMore: C } = n(), { t: w } = i(), T = _?.id;
11
+ var g = (e) => e === "PUBLISHED" || e === "APPROVED" ? "bg-status-success-bg-subtle text-status-success-text" : e === "REJECTED" || e === "UNLISTED" ? "bg-status-error-bg-subtle text-status-error-text" : e === "PENDING" || e === "SUBMITTED" || e === "UNDER_REVIEW" ? "bg-status-warning-bg-subtle text-status-warning-text" : "bg-bg-sunken text-text-muted", _ = () => {
12
+ let _ = p(), { basePath: v, currentUser: y } = e(), { products: b, hasMore: x, loading: S, error: C, refetch: w, loadMore: T } = n(), { t: E } = i(), D = y?.id;
12
13
  t({
13
- variables: { publisherId: T ?? "" },
14
- skip: !T,
14
+ variables: { publisherId: D ?? "" },
15
+ skip: !D,
15
16
  onData: () => {
16
- S();
17
+ w();
17
18
  },
18
19
  onError: (e) => {
19
20
  console.warn("SubmissionStatusUpdated subscription error:", e.message);
20
21
  }
21
22
  });
22
- let E = r(() => {
23
- let e = v.filter((e) => e.status === "PUBLISHED" || e.status === "APPROVED").length, t = v.filter((e) => e.status === "REJECTED" || e.status === "UNLISTED").length;
23
+ let O = r(() => {
24
+ let e = b.filter((e) => e.status === "PUBLISHED" || e.status === "APPROVED").length, t = b.filter((e) => e.status === "REJECTED" || e.status === "UNLISTED").length;
24
25
  return {
25
26
  approved: e,
26
27
  rejected: t,
27
- pending: v.length - e - t
28
+ pending: b.length - e - t
28
29
  };
29
- }, [v]);
30
+ }, [b]);
30
31
  return /* @__PURE__ */ f("div", {
31
32
  className: "flex h-full flex-col",
32
33
  children: [/* @__PURE__ */ d("header", {
33
- className: "border-b border-border-default bg-bg-surface px-6 py-4",
34
+ className: "border-b border-border-seam bg-bg-surface px-6 py-4",
34
35
  children: /* @__PURE__ */ f("div", {
35
36
  className: "mx-auto flex max-w-6xl items-center gap-3",
36
37
  children: [/* @__PURE__ */ d("button", {
37
38
  type: "button",
38
- onClick: () => h(-1),
39
+ onClick: () => _(-1),
39
40
  "aria-label": "Go back",
40
41
  className: "cursor-pointer rounded-lg p-2 text-text-muted hover:bg-bg-sunken hover:text-text-primary",
41
42
  children: /* @__PURE__ */ d(a, { className: "size-5" })
42
43
  }), /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("h1", {
43
44
  className: "text-2xl font-bold text-text-primary",
44
- children: w("pages.publisherSubmissions.title", { defaultValue: "Submissions" })
45
+ children: E("pages.publisherSubmissions.title", { defaultValue: "Submissions" })
45
46
  }), /* @__PURE__ */ d("p", {
46
47
  className: "text-sm text-text-muted",
47
- children: w("pages.publisherSubmissions.subtitle", { defaultValue: "Track approval status for your store products" })
48
+ children: E("pages.publisherSubmissions.subtitle", { defaultValue: "Track approval status for your store products" })
48
49
  })] })]
49
50
  })
50
51
  }), /* @__PURE__ */ d("main", {
@@ -54,126 +55,126 @@ var m = (e) => e === "PUBLISHED" || e === "APPROVED" ? "bg-status-success-bg-sub
54
55
  children: [/* @__PURE__ */ f("div", {
55
56
  className: "grid gap-4 sm:grid-cols-3",
56
57
  children: [
57
- /* @__PURE__ */ f("div", {
58
- className: "rounded-xl border border-border-default bg-bg-surface p-4",
58
+ /* @__PURE__ */ f(h, {
59
+ treatment: "metric",
60
+ className: "p-4",
59
61
  children: [/* @__PURE__ */ f("div", {
60
62
  className: "inline-flex items-center gap-2 text-xs uppercase tracking-wide text-text-muted",
61
63
  children: [
62
64
  /* @__PURE__ */ d(s, { className: "size-4" }),
63
65
  " ",
64
- w("store.status.pending", { defaultValue: "Pending" })
66
+ E("store.status.pending", { defaultValue: "Pending" })
65
67
  ]
66
68
  }), /* @__PURE__ */ d("p", {
67
- className: "mt-2 text-2xl font-bold text-text-primary",
68
- children: E.pending
69
+ className: "mt-2 text-2xl font-bold tabular-nums text-text-primary",
70
+ children: O.pending
69
71
  })]
70
72
  }),
71
- /* @__PURE__ */ f("div", {
72
- className: "rounded-xl border border-border-default bg-bg-surface p-4",
73
+ /* @__PURE__ */ f(h, {
74
+ treatment: "metric",
75
+ className: "p-4",
73
76
  children: [/* @__PURE__ */ f("div", {
74
77
  className: "inline-flex items-center gap-2 text-xs uppercase tracking-wide text-text-muted",
75
78
  children: [
76
79
  /* @__PURE__ */ d(o, { className: "size-4" }),
77
80
  " ",
78
- w("store.status.approved", { defaultValue: "Approved" })
81
+ E("store.status.approved", { defaultValue: "Approved" })
79
82
  ]
80
83
  }), /* @__PURE__ */ d("p", {
81
- className: "mt-2 text-2xl font-bold text-text-primary",
82
- children: E.approved
84
+ className: "mt-2 text-2xl font-bold tabular-nums text-text-primary",
85
+ children: O.approved
83
86
  })]
84
87
  }),
85
- /* @__PURE__ */ f("div", {
86
- className: "rounded-xl border border-border-default bg-bg-surface p-4",
88
+ /* @__PURE__ */ f(h, {
89
+ treatment: "metric",
90
+ className: "p-4",
87
91
  children: [/* @__PURE__ */ f("div", {
88
92
  className: "inline-flex items-center gap-2 text-xs uppercase tracking-wide text-text-muted",
89
93
  children: [
90
94
  /* @__PURE__ */ d(u, { className: "size-4" }),
91
95
  " ",
92
- w("store.status.rejected", { defaultValue: "Rejected" })
96
+ E("store.status.rejected", { defaultValue: "Rejected" })
93
97
  ]
94
98
  }), /* @__PURE__ */ d("p", {
95
- className: "mt-2 text-2xl font-bold text-text-primary",
96
- children: E.rejected
99
+ className: "mt-2 text-2xl font-bold tabular-nums text-text-primary",
100
+ children: O.rejected
97
101
  })]
98
102
  })
99
103
  ]
100
- }), /* @__PURE__ */ f("div", {
101
- className: "rounded-xl border border-border-default bg-bg-surface p-5",
102
- children: [/* @__PURE__ */ f("div", {
103
- className: "mb-4 flex items-center justify-between",
104
- children: [/* @__PURE__ */ d("h2", {
105
- className: "text-lg font-semibold text-text-primary",
106
- children: w("pages.publisherSubmissions.timeline", { defaultValue: "Submission Timeline" })
107
- }), /* @__PURE__ */ d("button", {
108
- type: "button",
109
- onClick: () => h(`${g}/publisher/submit`),
110
- className: "cursor-pointer rounded-lg bg-action-primary-bg px-3 py-1.5 text-sm font-semibold text-action-primary-text",
111
- children: w("pages.publisherSubmissions.newSubmission", { defaultValue: "New Submission" })
112
- })]
113
- }), b ? /* @__PURE__ */ d("p", {
114
- role: "status",
104
+ }), /* @__PURE__ */ f(m, { children: [/* @__PURE__ */ f("div", {
105
+ className: "mb-4 flex items-center justify-between",
106
+ children: [/* @__PURE__ */ d("h2", {
107
+ className: "text-lg font-semibold text-text-primary",
108
+ children: E("pages.publisherSubmissions.timeline", { defaultValue: "Submission Timeline" })
109
+ }), /* @__PURE__ */ d("button", {
110
+ type: "button",
111
+ onClick: () => _(`${v}/publisher/submit`),
112
+ className: "cursor-pointer rounded-lg bg-action-primary-bg px-3 py-1.5 text-sm font-semibold text-action-primary-text",
113
+ children: E("pages.publisherSubmissions.newSubmission", { defaultValue: "New Submission" })
114
+ })]
115
+ }), S ? /* @__PURE__ */ d("p", {
116
+ role: "status",
117
+ className: "text-sm text-text-muted",
118
+ children: "Loading submissions…"
119
+ }) : C ? /* @__PURE__ */ f("div", {
120
+ role: "alert",
121
+ className: "space-y-2",
122
+ children: [/* @__PURE__ */ d("p", {
123
+ className: "text-sm text-status-error-text",
124
+ children: E("pages.publisherSubmissions.failedToLoad", { defaultValue: "Failed to load submissions." })
125
+ }), /* @__PURE__ */ d("button", {
126
+ type: "button",
127
+ onClick: () => w(),
128
+ className: "cursor-pointer rounded-lg bg-action-primary-bg px-3 py-1.5 text-xs font-semibold text-action-primary-text",
129
+ children: "Retry"
130
+ })]
131
+ }) : b.length === 0 ? /* @__PURE__ */ f("div", {
132
+ className: "rounded-lg border border-border-default bg-bg-sunken p-8 text-center",
133
+ children: [/* @__PURE__ */ d(c, { className: "mx-auto mb-2 size-10 text-text-muted" }), /* @__PURE__ */ d("p", {
115
134
  className: "text-sm text-text-muted",
116
- children: "Loading submissions"
117
- }) : x ? /* @__PURE__ */ f("div", {
118
- role: "alert",
119
- className: "space-y-2",
120
- children: [/* @__PURE__ */ d("p", {
121
- className: "text-sm text-status-error-text",
122
- children: w("pages.publisherSubmissions.failedToLoad", { defaultValue: "Failed to load submissions." })
123
- }), /* @__PURE__ */ d("button", {
135
+ children: E("pages.publisherSubmissions.emptyTitle", { defaultValue: "No submissions found yet." })
136
+ })]
137
+ }) : /* @__PURE__ */ f("ul", {
138
+ className: "space-y-3",
139
+ children: [b.map((e) => /* @__PURE__ */ f("li", {
140
+ className: "flex items-center justify-between rounded-lg border border-border-seam bg-bg-surface p-3 transition-[box-shadow,border-color] hover:border-border-strong hover:shadow-[var(--shadow-pop)]",
141
+ children: [/* @__PURE__ */ f("button", {
124
142
  type: "button",
125
- onClick: () => S(),
126
- className: "cursor-pointer rounded-lg bg-action-primary-bg px-3 py-1.5 text-xs font-semibold text-action-primary-text",
127
- children: "Retry"
128
- })]
129
- }) : v.length === 0 ? /* @__PURE__ */ f("div", {
130
- className: "rounded-lg border border-border-default bg-bg-sunken p-8 text-center",
131
- children: [/* @__PURE__ */ d(c, { className: "mx-auto mb-2 size-10 text-text-muted" }), /* @__PURE__ */ d("p", {
132
- className: "text-sm text-text-muted",
133
- children: w("pages.publisherSubmissions.emptyTitle", { defaultValue: "No submissions found yet." })
134
- })]
135
- }) : /* @__PURE__ */ f("ul", {
136
- className: "space-y-3",
137
- children: [v.map((e) => /* @__PURE__ */ f("li", {
138
- className: "flex items-center justify-between rounded-lg border border-border-default p-3 transition-colors hover:bg-bg-sunken",
139
- children: [/* @__PURE__ */ f("button", {
140
- type: "button",
141
- onClick: () => h(`${g}/marketplace/product/${e.id}`),
142
- className: "flex flex-1 cursor-pointer items-center justify-between text-left",
143
- children: [/* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("p", {
144
- className: "font-medium text-text-primary",
145
- children: e.name
146
- }), /* @__PURE__ */ f("p", {
147
- className: "text-xs text-text-muted",
148
- children: ["Reviews: ", e.reviewCount]
149
- })] }), /* @__PURE__ */ d("span", {
150
- className: `rounded-full px-2.5 py-1 text-xs font-semibold ${m(e.status)}`,
151
- children: e.status
152
- })]
153
- }), /* @__PURE__ */ f("button", {
154
- type: "button",
155
- onClick: () => h(`${g}/publisher/product/${e.id}/reviews`),
156
- className: "ml-3 inline-flex cursor-pointer items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-text-link hover:bg-bg-sunken hover:underline",
157
- title: "View reviews",
158
- children: [/* @__PURE__ */ d(l, { className: "size-3.5" }), "Reviews"]
143
+ onClick: () => _(`${v}/marketplace/product/${e.id}`),
144
+ className: "flex flex-1 cursor-pointer items-center justify-between text-left",
145
+ children: [/* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("p", {
146
+ className: "font-medium text-text-primary",
147
+ children: e.name
148
+ }), /* @__PURE__ */ f("p", {
149
+ className: "text-xs text-text-muted",
150
+ children: ["Reviews: ", e.reviewCount]
151
+ })] }), /* @__PURE__ */ d("span", {
152
+ className: `rounded-full px-2.5 py-1 text-xs font-semibold ${g(e.status)}`,
153
+ children: e.status
159
154
  })]
160
- }, e.id)), y && /* @__PURE__ */ d("li", {
161
- className: "flex justify-center pt-4 list-none",
162
- children: /* @__PURE__ */ d("button", {
163
- type: "button",
164
- onClick: C,
165
- disabled: b,
166
- className: "rounded-lg border border-border-default px-6 py-2.5 text-sm font-medium text-text-primary hover:bg-bg-subtle disabled:opacity-50",
167
- children: b ? "Loading…" : "Load more"
168
- })
155
+ }), /* @__PURE__ */ f("button", {
156
+ type: "button",
157
+ onClick: () => _(`${v}/publisher/product/${e.id}/reviews`),
158
+ className: "ml-3 inline-flex cursor-pointer items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-text-link hover:bg-bg-sunken hover:underline",
159
+ title: "View reviews",
160
+ children: [/* @__PURE__ */ d(l, { className: "size-3.5" }), "Reviews"]
169
161
  })]
162
+ }, e.id)), x && /* @__PURE__ */ d("li", {
163
+ className: "flex justify-center pt-4 list-none",
164
+ children: /* @__PURE__ */ d("button", {
165
+ type: "button",
166
+ onClick: T,
167
+ disabled: S,
168
+ className: "rounded-lg border border-border-default px-6 py-2.5 text-sm font-medium text-text-primary hover:bg-bg-subtle disabled:opacity-50",
169
+ children: S ? "Loading…" : "Load more"
170
+ })
170
171
  })]
171
- })]
172
+ })] })]
172
173
  })
173
174
  })]
174
175
  });
175
176
  };
176
177
  //#endregion
177
- export { h as PublisherSubmissionsPage };
178
+ export { _ as PublisherSubmissionsPage };
178
179
 
179
180
  //# sourceMappingURL=PublisherSubmissionsPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublisherSubmissionsPage.js","names":[],"sources":["../../src/pages/PublisherSubmissionsPage.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { useMemo } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { ArrowLeft, FileCheck2, Clock3, CheckCircle2, XCircle, MessageSquare } from 'lucide-react';\nimport { useStore } from '../providers/StoreProvider';\nimport { useMyPublishedProducts } from '../hooks/useStoreGraphQL';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { useSubmissionStatusUpdatedSubscription } from '../generated/global-operations';\n\nconst statusClass = (status: string): string => {\n if (status === 'PUBLISHED' || status === 'APPROVED') {\n return 'bg-status-success-bg-subtle text-status-success-text';\n }\n if (status === 'REJECTED' || status === 'UNLISTED') {\n return 'bg-status-error-bg-subtle text-status-error-text';\n }\n if (status === 'PENDING' || status === 'SUBMITTED' || status === 'UNDER_REVIEW') {\n return 'bg-status-warning-bg-subtle text-status-warning-text';\n }\n return 'bg-bg-sunken text-text-muted';\n};\n\nexport const PublisherSubmissionsPage: FC = () => {\n const navigate = useNavigate();\n const { basePath, currentUser } = useStore();\n const { products, hasMore, loading, error, refetch, loadMore } = useMyPublishedProducts();\n const { t } = useI18n();\n\n const publisherId = currentUser?.id;\n useSubmissionStatusUpdatedSubscription({\n variables: { publisherId: publisherId ?? '' },\n skip: !publisherId,\n onData: () => {\n void refetch();\n },\n onError: (err) => {\n console.warn('SubmissionStatusUpdated subscription error:', err.message);\n },\n });\n\n const grouped = useMemo(() => {\n const approved = products.filter(\n (p) => p.status === 'PUBLISHED' || p.status === 'APPROVED'\n ).length;\n const rejected = products.filter(\n (p) => p.status === 'REJECTED' || p.status === 'UNLISTED'\n ).length;\n const pending = products.length - approved - rejected;\n return { approved, rejected, pending };\n }, [products]);\n\n return (\n <div className=\"flex h-full flex-col\">\n <header className=\"border-b border-border-default bg-bg-surface px-6 py-4\">\n <div className=\"mx-auto flex max-w-6xl items-center gap-3\">\n <button\n type=\"button\"\n onClick={() => navigate(-1)}\n aria-label=\"Go back\"\n className=\"cursor-pointer rounded-lg p-2 text-text-muted hover:bg-bg-sunken hover:text-text-primary\"\n >\n <ArrowLeft className=\"size-5\" />\n </button>\n <div>\n <h1 className=\"text-2xl font-bold text-text-primary\">\n {t('pages.publisherSubmissions.title', { defaultValue: 'Submissions' })}\n </h1>\n <p className=\"text-sm text-text-muted\">\n {t('pages.publisherSubmissions.subtitle', {\n defaultValue: 'Track approval status for your store products',\n })}\n </p>\n </div>\n </div>\n </header>\n\n <main className=\"flex-1 overflow-y-auto p-6\">\n <div className=\"mx-auto max-w-6xl space-y-6\">\n <div className=\"grid gap-4 sm:grid-cols-3\">\n <div className=\"rounded-xl border border-border-default bg-bg-surface p-4\">\n <div className=\"inline-flex items-center gap-2 text-xs uppercase tracking-wide text-text-muted\">\n <Clock3 className=\"size-4\" />{' '}\n {t('store.status.pending', { defaultValue: 'Pending' })}\n </div>\n <p className=\"mt-2 text-2xl font-bold text-text-primary\">{grouped.pending}</p>\n </div>\n <div className=\"rounded-xl border border-border-default bg-bg-surface p-4\">\n <div className=\"inline-flex items-center gap-2 text-xs uppercase tracking-wide text-text-muted\">\n <CheckCircle2 className=\"size-4\" />{' '}\n {t('store.status.approved', { defaultValue: 'Approved' })}\n </div>\n <p className=\"mt-2 text-2xl font-bold text-text-primary\">{grouped.approved}</p>\n </div>\n <div className=\"rounded-xl border border-border-default bg-bg-surface p-4\">\n <div className=\"inline-flex items-center gap-2 text-xs uppercase tracking-wide text-text-muted\">\n <XCircle className=\"size-4\" />{' '}\n {t('store.status.rejected', { defaultValue: 'Rejected' })}\n </div>\n <p className=\"mt-2 text-2xl font-bold text-text-primary\">{grouped.rejected}</p>\n </div>\n </div>\n\n <div className=\"rounded-xl border border-border-default bg-bg-surface p-5\">\n <div className=\"mb-4 flex items-center justify-between\">\n <h2 className=\"text-lg font-semibold text-text-primary\">\n {t('pages.publisherSubmissions.timeline', { defaultValue: 'Submission Timeline' })}\n </h2>\n <button\n type=\"button\"\n onClick={() => navigate(`${basePath}/publisher/submit`)}\n className=\"cursor-pointer rounded-lg bg-action-primary-bg px-3 py-1.5 text-sm font-semibold text-action-primary-text\"\n >\n {t('pages.publisherSubmissions.newSubmission', { defaultValue: 'New Submission' })}\n </button>\n </div>\n\n {loading ? (\n <p role=\"status\" className=\"text-sm text-text-muted\">\n Loading submissions…\n </p>\n ) : error ? (\n <div role=\"alert\" className=\"space-y-2\">\n <p className=\"text-sm text-status-error-text\">\n {t('pages.publisherSubmissions.failedToLoad', {\n defaultValue: 'Failed to load submissions.',\n })}\n </p>\n <button\n type=\"button\"\n onClick={() => refetch()}\n className=\"cursor-pointer rounded-lg bg-action-primary-bg px-3 py-1.5 text-xs font-semibold text-action-primary-text\"\n >\n Retry\n </button>\n </div>\n ) : products.length === 0 ? (\n <div className=\"rounded-lg border border-border-default bg-bg-sunken p-8 text-center\">\n <FileCheck2 className=\"mx-auto mb-2 size-10 text-text-muted\" />\n <p className=\"text-sm text-text-muted\">\n {t('pages.publisherSubmissions.emptyTitle', {\n defaultValue: 'No submissions found yet.',\n })}\n </p>\n </div>\n ) : (\n <ul className=\"space-y-3\">\n {products.map((product) => (\n <li\n key={product.id}\n className=\"flex items-center justify-between rounded-lg border border-border-default p-3 transition-colors hover:bg-bg-sunken\"\n >\n <button\n type=\"button\"\n onClick={() => navigate(`${basePath}/marketplace/product/${product.id}`)}\n className=\"flex flex-1 cursor-pointer items-center justify-between text-left\"\n >\n <div>\n <p className=\"font-medium text-text-primary\">{product.name}</p>\n <p className=\"text-xs text-text-muted\">Reviews: {product.reviewCount}</p>\n </div>\n <span\n className={`rounded-full px-2.5 py-1 text-xs font-semibold ${statusClass(product.status)}`}\n >\n {product.status}\n </span>\n </button>\n <button\n type=\"button\"\n onClick={() =>\n navigate(`${basePath}/publisher/product/${product.id}/reviews`)\n }\n className=\"ml-3 inline-flex cursor-pointer items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-text-link hover:bg-bg-sunken hover:underline\"\n title=\"View reviews\"\n >\n <MessageSquare className=\"size-3.5\" />\n Reviews\n </button>\n </li>\n ))}\n {hasMore && (\n <li className=\"flex justify-center pt-4 list-none\">\n <button\n type=\"button\"\n onClick={loadMore}\n disabled={loading}\n className=\"rounded-lg border border-border-default px-6 py-2.5 text-sm font-medium text-text-primary hover:bg-bg-subtle disabled:opacity-50\"\n >\n {loading ? 'Loading\\u2026' : 'Load more'}\n </button>\n </li>\n )}\n </ul>\n )}\n </div>\n </div>\n </main>\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"PublisherSubmissionsPage.js","names":[],"sources":["../../src/pages/PublisherSubmissionsPage.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { useMemo } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { ArrowLeft, FileCheck2, Clock3, CheckCircle2, XCircle, MessageSquare } from 'lucide-react';\nimport { useStore } from '../providers/StoreProvider';\nimport { useMyPublishedProducts } from '../hooks/useStoreGraphQL';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { GlassCard, EmphasisPanel } from '@burdenoff/fe-libs/ui';\nimport { useSubmissionStatusUpdatedSubscription } from '../generated/global-operations';\n\nconst statusClass = (status: string): string => {\n if (status === 'PUBLISHED' || status === 'APPROVED') {\n return 'bg-status-success-bg-subtle text-status-success-text';\n }\n if (status === 'REJECTED' || status === 'UNLISTED') {\n return 'bg-status-error-bg-subtle text-status-error-text';\n }\n if (status === 'PENDING' || status === 'SUBMITTED' || status === 'UNDER_REVIEW') {\n return 'bg-status-warning-bg-subtle text-status-warning-text';\n }\n return 'bg-bg-sunken text-text-muted';\n};\n\nexport const PublisherSubmissionsPage: FC = () => {\n const navigate = useNavigate();\n const { basePath, currentUser } = useStore();\n const { products, hasMore, loading, error, refetch, loadMore } = useMyPublishedProducts();\n const { t } = useI18n();\n\n const publisherId = currentUser?.id;\n useSubmissionStatusUpdatedSubscription({\n variables: { publisherId: publisherId ?? '' },\n skip: !publisherId,\n onData: () => {\n void refetch();\n },\n onError: (err) => {\n console.warn('SubmissionStatusUpdated subscription error:', err.message);\n },\n });\n\n const grouped = useMemo(() => {\n const approved = products.filter(\n (p) => p.status === 'PUBLISHED' || p.status === 'APPROVED'\n ).length;\n const rejected = products.filter(\n (p) => p.status === 'REJECTED' || p.status === 'UNLISTED'\n ).length;\n const pending = products.length - approved - rejected;\n return { approved, rejected, pending };\n }, [products]);\n\n return (\n <div className=\"flex h-full flex-col\">\n <header className=\"border-b border-border-seam bg-bg-surface px-6 py-4\">\n <div className=\"mx-auto flex max-w-6xl items-center gap-3\">\n <button\n type=\"button\"\n onClick={() => navigate(-1)}\n aria-label=\"Go back\"\n className=\"cursor-pointer rounded-lg p-2 text-text-muted hover:bg-bg-sunken hover:text-text-primary\"\n >\n <ArrowLeft className=\"size-5\" />\n </button>\n <div>\n <h1 className=\"text-2xl font-bold text-text-primary\">\n {t('pages.publisherSubmissions.title', { defaultValue: 'Submissions' })}\n </h1>\n <p className=\"text-sm text-text-muted\">\n {t('pages.publisherSubmissions.subtitle', {\n defaultValue: 'Track approval status for your store products',\n })}\n </p>\n </div>\n </div>\n </header>\n\n <main className=\"flex-1 overflow-y-auto p-6\">\n <div className=\"mx-auto max-w-6xl space-y-6\">\n <div className=\"grid gap-4 sm:grid-cols-3\">\n <GlassCard treatment=\"metric\" className=\"p-4\">\n <div className=\"inline-flex items-center gap-2 text-xs uppercase tracking-wide text-text-muted\">\n <Clock3 className=\"size-4\" />{' '}\n {t('store.status.pending', { defaultValue: 'Pending' })}\n </div>\n <p className=\"mt-2 text-2xl font-bold tabular-nums text-text-primary\">\n {grouped.pending}\n </p>\n </GlassCard>\n <GlassCard treatment=\"metric\" className=\"p-4\">\n <div className=\"inline-flex items-center gap-2 text-xs uppercase tracking-wide text-text-muted\">\n <CheckCircle2 className=\"size-4\" />{' '}\n {t('store.status.approved', { defaultValue: 'Approved' })}\n </div>\n <p className=\"mt-2 text-2xl font-bold tabular-nums text-text-primary\">\n {grouped.approved}\n </p>\n </GlassCard>\n <GlassCard treatment=\"metric\" className=\"p-4\">\n <div className=\"inline-flex items-center gap-2 text-xs uppercase tracking-wide text-text-muted\">\n <XCircle className=\"size-4\" />{' '}\n {t('store.status.rejected', { defaultValue: 'Rejected' })}\n </div>\n <p className=\"mt-2 text-2xl font-bold tabular-nums text-text-primary\">\n {grouped.rejected}\n </p>\n </GlassCard>\n </div>\n\n <EmphasisPanel>\n <div className=\"mb-4 flex items-center justify-between\">\n <h2 className=\"text-lg font-semibold text-text-primary\">\n {t('pages.publisherSubmissions.timeline', { defaultValue: 'Submission Timeline' })}\n </h2>\n <button\n type=\"button\"\n onClick={() => navigate(`${basePath}/publisher/submit`)}\n className=\"cursor-pointer rounded-lg bg-action-primary-bg px-3 py-1.5 text-sm font-semibold text-action-primary-text\"\n >\n {t('pages.publisherSubmissions.newSubmission', { defaultValue: 'New Submission' })}\n </button>\n </div>\n\n {loading ? (\n <p role=\"status\" className=\"text-sm text-text-muted\">\n Loading submissions…\n </p>\n ) : error ? (\n <div role=\"alert\" className=\"space-y-2\">\n <p className=\"text-sm text-status-error-text\">\n {t('pages.publisherSubmissions.failedToLoad', {\n defaultValue: 'Failed to load submissions.',\n })}\n </p>\n <button\n type=\"button\"\n onClick={() => refetch()}\n className=\"cursor-pointer rounded-lg bg-action-primary-bg px-3 py-1.5 text-xs font-semibold text-action-primary-text\"\n >\n Retry\n </button>\n </div>\n ) : products.length === 0 ? (\n <div className=\"rounded-lg border border-border-default bg-bg-sunken p-8 text-center\">\n <FileCheck2 className=\"mx-auto mb-2 size-10 text-text-muted\" />\n <p className=\"text-sm text-text-muted\">\n {t('pages.publisherSubmissions.emptyTitle', {\n defaultValue: 'No submissions found yet.',\n })}\n </p>\n </div>\n ) : (\n <ul className=\"space-y-3\">\n {products.map((product) => (\n <li\n key={product.id}\n className=\"flex items-center justify-between rounded-lg border border-border-seam bg-bg-surface p-3 transition-[box-shadow,border-color] hover:border-border-strong hover:shadow-[var(--shadow-pop)]\"\n >\n <button\n type=\"button\"\n onClick={() => navigate(`${basePath}/marketplace/product/${product.id}`)}\n className=\"flex flex-1 cursor-pointer items-center justify-between text-left\"\n >\n <div>\n <p className=\"font-medium text-text-primary\">{product.name}</p>\n <p className=\"text-xs text-text-muted\">Reviews: {product.reviewCount}</p>\n </div>\n <span\n className={`rounded-full px-2.5 py-1 text-xs font-semibold ${statusClass(product.status)}`}\n >\n {product.status}\n </span>\n </button>\n <button\n type=\"button\"\n onClick={() =>\n navigate(`${basePath}/publisher/product/${product.id}/reviews`)\n }\n className=\"ml-3 inline-flex cursor-pointer items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-text-link hover:bg-bg-sunken hover:underline\"\n title=\"View reviews\"\n >\n <MessageSquare className=\"size-3.5\" />\n Reviews\n </button>\n </li>\n ))}\n {hasMore && (\n <li className=\"flex justify-center pt-4 list-none\">\n <button\n type=\"button\"\n onClick={loadMore}\n disabled={loading}\n className=\"rounded-lg border border-border-default px-6 py-2.5 text-sm font-medium text-text-primary hover:bg-bg-subtle disabled:opacity-50\"\n >\n {loading ? 'Loading\\u2026' : 'Load more'}\n </button>\n </li>\n )}\n </ul>\n )}\n </EmphasisPanel>\n </div>\n </main>\n </div>\n );\n};\n"],"mappings":"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"}