@burdenoff/microfe-store 2026.625.5 → 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.
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 +175 -255
  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 +118 -91
  95. package/dist/pages/AdminDashboardPage.js.map +1 -1
  96. package/dist/pages/AdminReviewModerationPage.js +67 -61
  97. package/dist/pages/AdminReviewModerationPage.js.map +1 -1
  98. package/dist/pages/AdminStoresPage.js +424 -371
  99. package/dist/pages/AdminStoresPage.js.map +1 -1
  100. package/dist/pages/AdminSubmissionsQueuePage.js +303 -286
  101. package/dist/pages/AdminSubmissionsQueuePage.js.map +1 -1
  102. package/dist/pages/AppDetailPage.js +172 -135
  103. package/dist/pages/AppDetailPage.js.map +1 -1
  104. package/dist/pages/AppSettingsPage.js +83 -300
  105. package/dist/pages/AppSettingsPage.js.map +1 -1
  106. package/dist/pages/CartPage.js +71 -79
  107. package/dist/pages/CartPage.js.map +1 -1
  108. package/dist/pages/InstalledAppsPage.js +120 -337
  109. package/dist/pages/InstalledAppsPage.js.map +1 -1
  110. package/dist/pages/MarketplaceHomePage.js +196 -205
  111. package/dist/pages/MarketplaceHomePage.js.map +1 -1
  112. package/dist/pages/MyLicensesPage.js +70 -75
  113. package/dist/pages/MyLicensesPage.js.map +1 -1
  114. package/dist/pages/OrderConfirmationPage.js +70 -37
  115. package/dist/pages/OrderConfirmationPage.js.map +1 -1
  116. package/dist/pages/OrdersPage.js +60 -68
  117. package/dist/pages/OrdersPage.js.map +1 -1
  118. package/dist/pages/ProductDetailPage.js +794 -752
  119. package/dist/pages/ProductDetailPage.js.map +1 -1
  120. package/dist/pages/ProductReviewsPage.js +24 -19
  121. package/dist/pages/ProductReviewsPage.js.map +1 -1
  122. package/dist/pages/PublisherDashboardPage.js +134 -99
  123. package/dist/pages/PublisherDashboardPage.js.map +1 -1
  124. package/dist/pages/PublisherRevenuePage.js +65 -63
  125. package/dist/pages/PublisherRevenuePage.js.map +1 -1
  126. package/dist/pages/PublisherSubmissionsPage.js +120 -111
  127. package/dist/pages/PublisherSubmissionsPage.js.map +1 -1
  128. package/dist/pages/PublisherSubmitPage.js +197 -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
@@ -2,156 +2,14 @@ import { useStore as e } from "../providers/StoreProvider.js";
2
2
  import { useInstallationStatusUpdatedSubscription as t } from "../generated/global-operations.js";
3
3
  import { useInstallations as n } from "../hooks/useInstallations.js";
4
4
  import { StoreInstallationStatus as r } from "../generated/global-types.js";
5
- import { useCallback as i, useEffect as a, useMemo as o, useRef as s, useState as c } from "react";
6
- import { useI18n as l } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
7
- import { AlertCircle as u, ArrowUpCircle as d, CheckCircle as f, Loader2 as p, Package as m, Plus as h, RefreshCw as g, Settings2 as _, ShieldCheck as v, Trash2 as y, X as b } from "lucide-react";
8
- import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
9
- import { useNavigate as w } from "react-router-dom";
10
- import { graphqlFetch as T } from "@burdenoff/fe-libs/shared/graphql";
5
+ import { useMemo as i, useState as a } from "react";
6
+ import { useI18n as o } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
7
+ import { AlertCircle as s, Loader2 as c, Package as l, Plus as u, RefreshCw as d, Trash2 as f } from "lucide-react";
8
+ import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
9
+ import { useNavigate as g } from "react-router-dom";
10
+ import { AlertDialog as _, AlertDialogAction as v, AlertDialogCancel as y, AlertDialogContent as b, AlertDialogDescription as x, AlertDialogFooter as S, AlertDialogHeader as C, AlertDialogTitle as w, IllustratedEmptyState as T, PagePurpose as E } from "@burdenoff/fe-libs/ui";
11
11
  //#region src/pages/InstalledAppsPage.tsx
12
- var E = "\n query GetProductVersion($id: ID!) {\n product(id: $id) {\n id\n manifestVersion\n requiredPermissions\n }\n }\n", D = "mutation RecordAppInstallation($input: RecordAppInstallationInput!) { recordAppInstallation(input: $input) { id status workspaceId version } }";
13
- function O(e, t) {
14
- let [n, r] = c({}), [o, l] = c(!1), u = s(e);
15
- u.current = e;
16
- let d = i(async (e) => {
17
- if (e.length !== 0) {
18
- l(!0);
19
- try {
20
- let n = await Promise.all(e.map((e) => T({
21
- gateway: "global",
22
- query: E,
23
- variables: { id: e },
24
- authToken: t || void 0
25
- }).then((e) => e.data?.product ?? null).catch(() => null))), i = {};
26
- for (let e of n) e && (i[e.id] = {
27
- manifestVersion: e.manifestVersion,
28
- requiredPermissions: e.requiredPermissions
29
- });
30
- r(i);
31
- } finally {
32
- l(!1);
33
- }
34
- }
35
- }, [t]);
36
- return a(() => {
37
- e.length > 0 && d(e);
38
- }, [e.join(",")]), {
39
- metaMap: n,
40
- metaLoading: o,
41
- refetchMeta: () => d(u.current)
42
- };
43
- }
44
- var k = ({ installation: e, product: t, onClose: n, onAccept: r }) => {
45
- let [i, a] = c(!1), [o, s] = c("permissions");
46
- return /* @__PURE__ */ C("div", {
47
- className: "fixed inset-0 z-50 flex items-center justify-center p-4",
48
- children: [/* @__PURE__ */ S("button", {
49
- type: "button",
50
- "aria-label": "Close",
51
- className: "absolute inset-0 bg-bg-overlay/50 backdrop-blur-sm",
52
- onClick: n
53
- }), /* @__PURE__ */ C("dialog", {
54
- open: !0,
55
- "aria-modal": "true",
56
- className: "relative z-10 w-full max-w-md rounded-2xl border border-border-default bg-bg-surface shadow-2xl",
57
- children: [
58
- /* @__PURE__ */ C("div", {
59
- className: "flex items-center justify-between border-b border-border-default px-6 py-4",
60
- children: [/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("h2", {
61
- className: "text-lg font-semibold text-text-primary",
62
- children: o === "permissions" ? "Review Updated Permissions" : "Confirm Update"
63
- }), /* @__PURE__ */ S("p", {
64
- className: "text-sm text-text-muted",
65
- children: e.workspaceName ?? e.workspaceId
66
- })] }), /* @__PURE__ */ S("button", {
67
- type: "button",
68
- onClick: n,
69
- className: "cursor-pointer rounded-lg p-2 text-text-muted hover:bg-bg-sunken",
70
- children: /* @__PURE__ */ S(b, { className: "size-5" })
71
- })]
72
- }),
73
- o === "permissions" && /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ C("div", {
74
- className: "px-6 py-4",
75
- children: [
76
- /* @__PURE__ */ C("div", {
77
- className: "mb-3 flex items-center gap-2 rounded-lg bg-status-info-bg-subtle px-3 py-2 text-sm text-status-info-text",
78
- children: [/* @__PURE__ */ S(d, { className: "size-4 flex-shrink-0" }), /* @__PURE__ */ C("span", { children: ["Update available: v", t.manifestVersion] })]
79
- }),
80
- /* @__PURE__ */ S("p", {
81
- className: "mb-4 text-sm text-text-secondary",
82
- children: "This update requires the following permissions. Review and accept to continue."
83
- }),
84
- t.requiredPermissions.length > 0 ? /* @__PURE__ */ S("div", {
85
- className: "max-h-56 overflow-y-auto space-y-2",
86
- children: t.requiredPermissions.map((e) => /* @__PURE__ */ C("div", {
87
- className: "flex items-center gap-3 rounded-lg bg-bg-sunken px-4 py-3",
88
- children: [/* @__PURE__ */ S(v, { className: "size-5 flex-shrink-0 text-status-success-text" }), /* @__PURE__ */ S("span", {
89
- className: "text-sm text-text-primary",
90
- children: e
91
- })]
92
- }, e))
93
- }) : /* @__PURE__ */ S("p", {
94
- className: "text-sm text-text-muted",
95
- children: "No permissions required by this version."
96
- })
97
- ]
98
- }), /* @__PURE__ */ C("div", {
99
- className: "border-t border-border-default px-6 py-4 flex justify-end gap-3",
100
- children: [/* @__PURE__ */ S("button", {
101
- type: "button",
102
- onClick: n,
103
- className: "cursor-pointer rounded-lg border border-border-default px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
104
- children: "Cancel"
105
- }), /* @__PURE__ */ C("button", {
106
- type: "button",
107
- onClick: () => s("confirm"),
108
- className: "cursor-pointer rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90 inline-flex items-center gap-2",
109
- children: [/* @__PURE__ */ S(f, { className: "size-4" }), "Accept & Update"]
110
- })]
111
- })] }),
112
- o === "confirm" && /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S("div", {
113
- className: "px-6 py-4",
114
- children: /* @__PURE__ */ C("div", {
115
- className: "rounded-lg bg-status-success-bg-subtle p-4 text-center",
116
- children: [
117
- /* @__PURE__ */ S(f, { className: "mx-auto mb-2 size-8 text-status-success-text" }),
118
- /* @__PURE__ */ S("p", {
119
- className: "text-sm font-medium text-text-primary",
120
- children: "Permissions accepted"
121
- }),
122
- /* @__PURE__ */ C("p", {
123
- className: "mt-1 text-xs text-text-muted",
124
- children: ["Ready to update to v", t.manifestVersion]
125
- })
126
- ]
127
- })
128
- }), /* @__PURE__ */ C("div", {
129
- className: "border-t border-border-default px-6 py-4 flex justify-end gap-3",
130
- children: [/* @__PURE__ */ S("button", {
131
- type: "button",
132
- onClick: () => s("permissions"),
133
- disabled: i,
134
- className: "cursor-pointer rounded-lg border border-border-default px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken disabled:opacity-50",
135
- children: "Back"
136
- }), /* @__PURE__ */ S("button", {
137
- type: "button",
138
- onClick: async () => {
139
- a(!0);
140
- try {
141
- await r(), n();
142
- } finally {
143
- a(!1);
144
- }
145
- },
146
- disabled: i,
147
- className: "cursor-pointer rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90 disabled:opacity-50 inline-flex items-center gap-2",
148
- children: i ? /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S(p, { className: "size-4 animate-spin" }), " Updating…"] }) : "Confirm Update"
149
- })]
150
- })] })
151
- ]
152
- })]
153
- });
154
- }, A = [
12
+ var D = [
155
13
  {
156
14
  label: "All",
157
15
  value: "all"
@@ -180,237 +38,192 @@ var k = ({ installation: e, product: t, onClose: n, onAccept: r }) => {
180
38
  label: "Uninstalled",
181
39
  value: r.Uninstalled
182
40
  }
183
- ], j = (e) => e === r.Active ? "bg-status-success-bg-subtle text-status-success-text" : e === r.Pending || e === r.Installing || e === r.Inactive ? "bg-status-warning-bg-subtle text-status-warning-text" : e === r.Failed ? "bg-status-error-bg-subtle text-status-error-text" : "bg-bg-sunken text-text-muted", M = () => {
184
- let i = w(), { basePath: a, workspaceId: s, authToken: f } = e(), { t: v } = l(), [b, x] = c("all"), [E, M] = c(null), [N, P] = c(null), [F, I] = c(null), { installations: L, totalCount: R, hasMore: z, loading: B, error: V, uninstall: H, uninstallingIds: U, refetch: W, loadMore: G } = n({ filter: o(() => b === "all" ? void 0 : { status: b }, [b]) });
41
+ ], O = (e) => e === r.Active ? "bg-status-success-bg-subtle text-status-success-text" : e === r.Pending || e === r.Installing || e === r.Inactive ? "bg-status-warning-bg-subtle text-status-warning-text" : e === r.Failed ? "bg-status-error-bg-subtle text-status-error-text" : "bg-bg-sunken text-text-muted", k = () => {
42
+ let k = g(), { basePath: A, workspaceId: j } = e(), { t: M } = o(), [N, P] = a("all"), [F, I] = a(null), [L, R] = a(null), { installations: z, totalCount: B, hasMore: V, loading: H, error: U, uninstall: W, uninstallingIds: G, refetch: K, loadMore: q } = n({ filter: i(() => N === "all" ? void 0 : { status: N }, [N]) });
185
43
  t({
186
- variables: { workspaceId: s ?? "" },
187
- skip: !s,
44
+ variables: { workspaceId: j ?? "" },
45
+ skip: !j,
188
46
  onData: () => {
189
- W();
47
+ K();
190
48
  },
191
49
  onError: (e) => {
192
50
  console.warn("InstallationStatusUpdated subscription error:", e.message);
193
51
  }
194
52
  });
195
- let K = o(() => [...L].sort((e, t) => t.installedAt.localeCompare(e.installedAt)), [L]), { metaMap: q, refetchMeta: J } = O(o(() => [...new Set(L.map((e) => e.productId))], [L]), f), Y = () => {
196
- i(`${a}/marketplace`);
53
+ let J = i(() => [...z].sort((e, t) => t.installedAt.localeCompare(e.installedAt)), [z]), Y = () => {
54
+ k(`${A}/marketplace`);
197
55
  }, X = async (e) => {
198
- M(null), await H(e, "User requested uninstall from store UI") || M("Could not uninstall. Try again."), P(null);
199
- }, Z = async (e) => {
200
- let t = q[e.productId];
201
- if (t?.manifestVersion) try {
202
- await T({
203
- gateway: "global",
204
- query: D,
205
- variables: { input: {
206
- productId: e.productId,
207
- workspaceId: e.workspaceId,
208
- workspaceName: e.workspaceName,
209
- workspaceType: e.workspaceType,
210
- organizationId: e.organizationId,
211
- version: t.manifestVersion
212
- } },
213
- authToken: f || void 0
214
- }), await W(), J();
215
- } catch {
216
- M("Update failed. Please try again.");
217
- }
56
+ I(null), await W(e, "User requested uninstall from store UI") || I("Could not uninstall. Try again."), R(null);
218
57
  };
219
- return /* @__PURE__ */ C("div", {
58
+ return /* @__PURE__ */ h("div", {
220
59
  className: "flex h-full flex-col",
221
60
  children: [
222
- /* @__PURE__ */ S("header", {
223
- className: "border-b border-border-default bg-bg-surface px-6 py-4",
224
- children: /* @__PURE__ */ C("div", {
61
+ /* @__PURE__ */ m("header", {
62
+ className: "border-b border-border-seam bg-bg-surface px-6 py-4",
63
+ children: /* @__PURE__ */ h("div", {
225
64
  className: "flex items-center justify-between",
226
- children: [/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("h1", {
65
+ children: [/* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("h1", {
227
66
  className: "text-2xl font-bold text-text-primary",
228
- children: v("pages.installed.title", { defaultValue: "Installed Apps" })
229
- }), /* @__PURE__ */ S("p", {
67
+ children: M("pages.installed.title", { defaultValue: "Installed Apps" })
68
+ }), /* @__PURE__ */ m("p", {
230
69
  className: "text-sm text-text-muted",
231
70
  children: "Manage your installed applications"
232
- })] }), /* @__PURE__ */ C("button", {
71
+ })] }), /* @__PURE__ */ h("button", {
233
72
  type: "button",
234
73
  onClick: Y,
235
74
  className: "flex cursor-pointer items-center gap-2 rounded-lg bg-action-primary-bg px-4 py-2 font-semibold text-action-primary-text transition-colors hover:opacity-90",
236
- children: [/* @__PURE__ */ S(h, { className: "size-5" }), /* @__PURE__ */ S("span", { children: v("pages.installed.installNew", { defaultValue: "Install New App" }) })]
75
+ children: [/* @__PURE__ */ m(u, { className: "size-5" }), /* @__PURE__ */ m("span", { children: M("pages.installed.installNew", { defaultValue: "Install New App" }) })]
237
76
  })]
238
77
  })
239
78
  }),
240
- /* @__PURE__ */ S("main", {
79
+ /* @__PURE__ */ m("main", {
241
80
  className: "flex-1 overflow-y-auto p-6",
242
- children: /* @__PURE__ */ C("div", {
81
+ children: /* @__PURE__ */ h("div", {
243
82
  className: "mx-auto max-w-6xl",
244
83
  children: [
245
- /* @__PURE__ */ C("div", {
84
+ /* @__PURE__ */ m(E, {
85
+ className: "mb-4",
86
+ children: "Every app you install into a workspace lives here. Use this page to check whether an app is active, healthy, or failed, jump into its settings, or remove apps a workspace no longer needs — keeping each workspace's installed surface lean and under control."
87
+ }),
88
+ /* @__PURE__ */ h("div", {
246
89
  className: "mb-4 flex flex-wrap items-center gap-2",
247
- children: [A.map((e) => /* @__PURE__ */ S("button", {
90
+ children: [D.map((e) => /* @__PURE__ */ m("button", {
248
91
  type: "button",
249
- onClick: () => x(e.value),
250
- className: `cursor-pointer rounded-full px-3 py-1.5 text-sm font-medium transition-colors ${b === e.value ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken text-text-primary hover:bg-bg-surface"}`,
92
+ onClick: () => P(e.value),
93
+ className: `cursor-pointer rounded-full px-3 py-1.5 text-sm font-medium transition-colors ${N === e.value ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken text-text-primary hover:bg-bg-surface"}`,
251
94
  children: e.label
252
- }, e.label)), /* @__PURE__ */ C("button", {
95
+ }, e.label)), /* @__PURE__ */ h("button", {
253
96
  type: "button",
254
- onClick: () => W(),
97
+ onClick: () => K(),
255
98
  className: "ml-auto cursor-pointer inline-flex items-center gap-2 rounded-lg border border-border-default bg-bg-surface px-3 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
256
- children: [/* @__PURE__ */ S(g, { className: "size-4" }), "Refresh"]
99
+ children: [/* @__PURE__ */ m(d, { className: "size-4" }), "Refresh"]
257
100
  })]
258
101
  }),
259
- E && /* @__PURE__ */ S("div", {
102
+ F && /* @__PURE__ */ m("div", {
260
103
  role: "alert",
261
104
  className: "mb-4 rounded-lg border border-status-error-border bg-status-error-bg-subtle px-4 py-3 text-sm text-status-error-text",
262
- children: E
105
+ children: F
263
106
  }),
264
- B ? /* @__PURE__ */ S("output", {
107
+ H ? /* @__PURE__ */ m("output", {
265
108
  "aria-label": "Loading installed apps",
266
109
  className: "flex items-center justify-center py-16",
267
- children: /* @__PURE__ */ S(p, {
110
+ children: /* @__PURE__ */ m(c, {
268
111
  className: "size-8 animate-spin text-text-muted",
269
112
  "aria-hidden": "true"
270
113
  })
271
- }) : V ? /* @__PURE__ */ C("div", {
114
+ }) : U ? /* @__PURE__ */ h("div", {
272
115
  role: "alert",
273
116
  className: "flex flex-col items-center justify-center rounded-xl border border-status-error-border bg-status-error-bg-subtle py-16 text-center",
274
117
  children: [
275
- /* @__PURE__ */ S(u, { className: "mb-3 size-10 text-status-error-text" }),
276
- /* @__PURE__ */ S("h3", {
118
+ /* @__PURE__ */ m(s, { className: "mb-3 size-10 text-status-error-text" }),
119
+ /* @__PURE__ */ m("h3", {
277
120
  className: "text-lg font-semibold text-status-error-text",
278
121
  children: "Failed to load installations"
279
122
  }),
280
- /* @__PURE__ */ S("p", {
123
+ /* @__PURE__ */ m("p", {
281
124
  className: "mt-2 text-sm text-text-muted",
282
- children: V.message
125
+ children: U.message
283
126
  }),
284
- /* @__PURE__ */ S("button", {
127
+ /* @__PURE__ */ m("button", {
285
128
  type: "button",
286
- onClick: () => W(),
129
+ onClick: () => K(),
287
130
  className: "mt-4 cursor-pointer rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text",
288
131
  children: "Try Again"
289
132
  })
290
133
  ]
291
- }) : K.length === 0 ? /* @__PURE__ */ S("div", {
292
- className: "flex items-center justify-center py-16",
293
- children: /* @__PURE__ */ C("div", {
294
- className: "text-center",
295
- children: [
296
- /* @__PURE__ */ S(m, { className: "mx-auto mb-4 size-16 text-text-muted" }),
297
- /* @__PURE__ */ S("h3", {
298
- className: "mb-2 text-lg font-semibold text-text-primary",
299
- children: "No apps installed"
300
- }),
301
- /* @__PURE__ */ S("p", {
302
- className: "mb-4 text-sm text-text-muted",
303
- children: "Browse the marketplace to install your first app"
304
- }),
305
- /* @__PURE__ */ S("button", {
306
- type: "button",
307
- onClick: Y,
308
- className: "rounded-lg bg-action-primary-bg px-4 py-2 font-semibold text-action-primary-text transition-colors hover:opacity-90",
309
- children: "Browse Marketplace"
310
- })
311
- ]
134
+ }) : J.length === 0 ? /* @__PURE__ */ m(T, {
135
+ illustration: "empty-generic",
136
+ title: N === "all" ? "No apps installed" : "No apps match this filter",
137
+ description: N === "all" ? "Browse the marketplace to install your first app into a workspace." : "Try a different status filter, or browse the marketplace to install something new.",
138
+ action: /* @__PURE__ */ m("button", {
139
+ type: "button",
140
+ onClick: Y,
141
+ className: "rounded-lg bg-action-primary-bg px-4 py-2 font-semibold text-action-primary-text transition-colors hover:opacity-90",
142
+ children: "Browse Marketplace"
312
143
  })
313
- }) : /* @__PURE__ */ C("div", {
144
+ }) : /* @__PURE__ */ h("div", {
314
145
  className: "flex flex-col gap-y-4",
315
146
  children: [
316
- /* @__PURE__ */ C("p", {
147
+ /* @__PURE__ */ h("p", {
317
148
  "aria-live": "polite",
318
149
  className: "text-sm text-text-muted",
319
150
  children: [
320
- R,
151
+ B,
321
152
  " installation",
322
- R === 1 ? "" : "s",
153
+ B === 1 ? "" : "s",
323
154
  " found"
324
155
  ]
325
156
  }),
326
- /* @__PURE__ */ S("ul", {
157
+ /* @__PURE__ */ m("ul", {
327
158
  className: "flex flex-col gap-y-4",
328
- children: K.map((e) => {
329
- let t = U.has(`${e.workspaceId}:${e.productId}`), n = q[e.productId], o = n?.manifestVersion && e.version && n.manifestVersion !== e.version;
330
- return /* @__PURE__ */ C("li", {
331
- className: `rounded-xl border bg-bg-surface p-4 ${o ? "border-status-info-border" : "border-border-default"}`,
332
- children: [o && /* @__PURE__ */ C("div", {
333
- className: "mb-3 flex items-center gap-2 rounded-lg bg-status-info-bg-subtle px-3 py-2 text-sm text-status-info-text",
334
- children: [
335
- /* @__PURE__ */ S(d, { className: "size-4 flex-shrink-0" }),
336
- /* @__PURE__ */ C("span", { children: ["Update available: v", n?.manifestVersion] }),
337
- /* @__PURE__ */ S("button", {
338
- type: "button",
339
- onClick: () => I(e),
340
- className: "ml-auto cursor-pointer rounded-md bg-action-primary-bg px-3 py-1 text-xs font-medium text-action-primary-text hover:opacity-90",
341
- children: "Update"
342
- })
343
- ]
344
- }), /* @__PURE__ */ C("div", {
159
+ children: J.map((e) => {
160
+ let t = G.has(`${e.workspaceId}:${e.productId}`);
161
+ return /* @__PURE__ */ m("li", {
162
+ className: "rounded-xl border border-border-seam bg-bg-surface p-4 transition-[box-shadow,border-color] hover:border-border-strong hover:shadow-[var(--shadow-pop)]",
163
+ children: /* @__PURE__ */ h("div", {
345
164
  className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
346
- children: [/* @__PURE__ */ C("div", {
165
+ children: [/* @__PURE__ */ h("div", {
347
166
  className: "flex items-start gap-3",
348
- children: [/* @__PURE__ */ S("div", {
167
+ children: [/* @__PURE__ */ m("div", {
349
168
  className: "flex size-12 items-center justify-center rounded-lg bg-bg-sunken text-lg font-semibold text-text-muted",
350
- children: /* @__PURE__ */ S(m, { className: "size-6" })
351
- }), /* @__PURE__ */ C("div", { children: [
352
- /* @__PURE__ */ S("h3", {
169
+ children: /* @__PURE__ */ m(l, { className: "size-6" })
170
+ }), /* @__PURE__ */ h("div", { children: [
171
+ /* @__PURE__ */ m("h3", {
353
172
  className: "font-semibold text-text-primary",
354
173
  children: e.workspaceName ?? e.workspaceId
355
174
  }),
356
- /* @__PURE__ */ C("p", {
175
+ /* @__PURE__ */ h("p", {
357
176
  className: "text-sm text-text-muted",
358
177
  children: ["Product: ", e.productId]
359
178
  }),
360
- /* @__PURE__ */ C("div", {
179
+ /* @__PURE__ */ h("div", {
361
180
  className: "mt-2 flex flex-wrap items-center gap-2 text-xs text-text-muted",
362
181
  children: [
363
- /* @__PURE__ */ S("span", {
364
- className: `rounded-full px-2 py-1 font-medium ${j(e.status)}`,
182
+ /* @__PURE__ */ m("span", {
183
+ className: `rounded-full px-2 py-1 font-medium ${O(e.status)}`,
365
184
  children: e.status
366
185
  }),
367
- e.version && /* @__PURE__ */ C("span", { children: ["v", e.version] }),
368
- e.workspaceType && /* @__PURE__ */ S("span", { children: e.workspaceType })
186
+ e.version && /* @__PURE__ */ h("span", { children: ["v", e.version] }),
187
+ e.workspaceType && /* @__PURE__ */ m("span", { children: e.workspaceType })
369
188
  ]
370
189
  })
371
190
  ] })]
372
- }), /* @__PURE__ */ C("div", {
191
+ }), /* @__PURE__ */ h("div", {
373
192
  className: "flex items-center gap-2",
374
193
  children: [
375
- /* @__PURE__ */ S("button", {
194
+ /* @__PURE__ */ m("button", {
376
195
  type: "button",
377
- onClick: () => i(`${a}/installed/${e.id}`),
196
+ onClick: () => k(`${A}/installed/${e.id}`),
378
197
  className: "cursor-pointer rounded-lg border border-border-default px-3 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
379
198
  children: "Details"
380
199
  }),
381
- /* @__PURE__ */ C("button", {
200
+ /* @__PURE__ */ m("button", {
382
201
  type: "button",
383
- onClick: () => i(`${a}/installed/${e.id}/settings`),
384
- className: "cursor-pointer inline-flex items-center gap-1.5 rounded-lg border border-border-default px-3 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
385
- children: [/* @__PURE__ */ S(_, { className: "size-4" }), "Configure"]
386
- }),
387
- /* @__PURE__ */ S("button", {
388
- type: "button",
389
- onClick: () => i(`${a}/marketplace/product/${e.productId}`),
202
+ onClick: () => k(`${A}/marketplace/product/${e.productId}`),
390
203
  className: "cursor-pointer rounded-lg border border-border-default px-3 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
391
204
  children: "View Product"
392
205
  }),
393
- e.status !== r.Uninstalled && /* @__PURE__ */ C("button", {
206
+ e.status !== r.Uninstalled && /* @__PURE__ */ h("button", {
394
207
  type: "button",
395
- onClick: () => P(e),
208
+ onClick: () => R(e),
396
209
  disabled: t,
397
210
  className: "cursor-pointer inline-flex items-center gap-1.5 rounded-lg border border-status-error-border px-3 py-2 text-sm font-medium text-status-error-text hover:bg-status-error-bg-subtle disabled:opacity-60",
398
- children: [t ? /* @__PURE__ */ S(p, { className: "size-4 animate-spin" }) : /* @__PURE__ */ S(y, { className: "size-4" }), "Uninstall"]
211
+ children: [t ? /* @__PURE__ */ m(c, { className: "size-4 animate-spin" }) : /* @__PURE__ */ m(f, { className: "size-4" }), "Uninstall"]
399
212
  })
400
213
  ]
401
214
  })]
402
- })]
215
+ })
403
216
  }, e.id);
404
217
  })
405
218
  }),
406
- z && /* @__PURE__ */ S("div", {
219
+ V && /* @__PURE__ */ m("div", {
407
220
  className: "flex justify-center pt-6",
408
- children: /* @__PURE__ */ S("button", {
221
+ children: /* @__PURE__ */ m("button", {
409
222
  type: "button",
410
- onClick: G,
411
- disabled: B,
223
+ onClick: q,
224
+ disabled: H,
412
225
  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",
413
- children: B ? "Loading…" : "Load more"
226
+ children: H ? "Loading…" : "Load more"
414
227
  })
415
228
  })
416
229
  ]
@@ -418,70 +231,40 @@ var k = ({ installation: e, product: t, onClose: n, onAccept: r }) => {
418
231
  ]
419
232
  })
420
233
  }),
421
- F && q[F.productId] && /* @__PURE__ */ S(k, {
422
- installation: F,
423
- product: q[F.productId],
424
- onClose: () => I(null),
425
- onAccept: () => Z(F)
426
- }),
427
- N && /* @__PURE__ */ C("div", {
428
- className: "fixed inset-0 z-50 flex items-center justify-center p-4",
429
- children: [/* @__PURE__ */ S("button", {
430
- type: "button",
431
- "aria-label": "Cancel uninstall",
432
- className: "absolute inset-0 bg-bg-overlay/50",
433
- onClick: () => P(null)
434
- }), /* @__PURE__ */ C("dialog", {
435
- open: !0,
436
- "aria-modal": "true",
437
- "aria-labelledby": "installed-apps-uninstall-title",
438
- className: "relative z-10 w-full max-w-md rounded-2xl border border-border-default bg-bg-surface p-6 shadow-2xl",
439
- children: [
440
- /* @__PURE__ */ S("h2", {
441
- id: "installed-apps-uninstall-title",
442
- className: "text-lg font-semibold text-text-primary",
443
- children: "Uninstall app"
234
+ /* @__PURE__ */ m(_, {
235
+ open: L !== null,
236
+ onOpenChange: (e) => !e && R(null),
237
+ children: /* @__PURE__ */ h(b, {
238
+ className: "max-w-md",
239
+ children: [/* @__PURE__ */ h(C, { children: [/* @__PURE__ */ m(w, { children: "Uninstall app" }), /* @__PURE__ */ m(x, { children: L && /* @__PURE__ */ h(p, { children: [
240
+ "Remove product",
241
+ " ",
242
+ /* @__PURE__ */ m("span", {
243
+ className: "font-medium text-text-primary",
244
+ children: L.productId
444
245
  }),
445
- /* @__PURE__ */ C("p", {
446
- className: "mt-2 text-sm text-text-muted",
447
- children: [
448
- "Remove product",
449
- " ",
450
- /* @__PURE__ */ S("span", {
451
- className: "font-medium text-text-primary",
452
- children: N.productId
453
- }),
454
- " ",
455
- "from workspace",
456
- " ",
457
- /* @__PURE__ */ S("span", {
458
- className: "font-medium text-text-primary",
459
- children: N.workspaceName ?? N.workspaceId
460
- }),
461
- "?"
462
- ]
246
+ " ",
247
+ "from workspace",
248
+ " ",
249
+ /* @__PURE__ */ m("span", {
250
+ className: "font-medium text-text-primary",
251
+ children: L.workspaceName ?? L.workspaceId
463
252
  }),
464
- /* @__PURE__ */ C("div", {
465
- className: "mt-6 flex flex-wrap justify-end gap-3",
466
- children: [/* @__PURE__ */ S("button", {
467
- type: "button",
468
- onClick: () => P(null),
469
- className: "cursor-pointer rounded-lg border border-border-default px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
470
- children: "Cancel"
471
- }), /* @__PURE__ */ S("button", {
472
- type: "button",
473
- onClick: () => X(N),
474
- className: "cursor-pointer rounded-lg bg-status-error-bg px-4 py-2 text-sm font-medium text-status-error-text hover:bg-status-error-bg-emphasis",
475
- children: "Uninstall"
476
- })]
477
- })
478
- ]
479
- })]
253
+ "?"
254
+ ] }) })] }), /* @__PURE__ */ h(S, { children: [/* @__PURE__ */ m(y, {
255
+ onClick: () => R(null),
256
+ children: "Cancel"
257
+ }), /* @__PURE__ */ m(v, {
258
+ className: "bg-status-error-bg text-status-error-text hover:bg-status-error-bg-emphasis",
259
+ onClick: () => L && X(L),
260
+ children: "Uninstall"
261
+ })] })]
262
+ })
480
263
  })
481
264
  ]
482
265
  });
483
266
  };
484
267
  //#endregion
485
- export { M as InstalledAppsPage };
268
+ export { k as InstalledAppsPage };
486
269
 
487
270
  //# sourceMappingURL=InstalledAppsPage.js.map