@nextsparkjs/core 0.1.0-beta.189 → 0.1.0-beta.190

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 (456) hide show
  1. package/dist/components/api/keys/CreateApiKeyDialog.d.ts.map +1 -1
  2. package/dist/components/api/keys/CreateApiKeyDialog.js +2 -1
  3. package/dist/components/app/layouts/PublicFooter.d.ts.map +1 -1
  4. package/dist/components/app/layouts/PublicFooter.js +2 -23
  5. package/dist/components/app/misc/ThemeToggle.d.ts.map +1 -1
  6. package/dist/components/app/misc/ThemeToggle.js +2 -1
  7. package/dist/components/auth/forms/LoginForm.js +1 -1
  8. package/dist/components/auth/forms/SignupForm.d.ts.map +1 -1
  9. package/dist/components/auth/forms/SignupForm.js +2 -1
  10. package/dist/components/auth/pages/AuthErrorPage.d.ts.map +1 -1
  11. package/dist/components/auth/pages/AuthErrorPage.js +2 -1
  12. package/dist/components/billing/ManageBillingButton.d.ts.map +1 -1
  13. package/dist/components/billing/ManageBillingButton.js +2 -1
  14. package/dist/components/dashboard/block-editor/array-field.d.ts.map +1 -1
  15. package/dist/components/dashboard/block-editor/array-field.js +2 -1
  16. package/dist/components/dashboard/block-editor/block-picker.d.ts.map +1 -1
  17. package/dist/components/dashboard/block-editor/block-picker.js +2 -1
  18. package/dist/components/dashboard/block-editor/builder-editor-view.d.ts.map +1 -1
  19. package/dist/components/dashboard/block-editor/builder-editor-view.js +3 -2
  20. package/dist/components/dashboard/block-editor/config-panel.d.ts.map +1 -1
  21. package/dist/components/dashboard/block-editor/config-panel.js +3 -2
  22. package/dist/components/dashboard/block-editor/dynamic-form.d.ts.map +1 -1
  23. package/dist/components/dashboard/block-editor/dynamic-form.js +2 -1
  24. package/dist/components/dashboard/block-editor/entity-fields-sidebar.d.ts.map +1 -1
  25. package/dist/components/dashboard/block-editor/entity-fields-sidebar.js +3 -2
  26. package/dist/components/dashboard/block-editor/pattern-reference-preview.d.ts.map +1 -1
  27. package/dist/components/dashboard/block-editor/pattern-reference-preview.js +2 -1
  28. package/dist/components/dashboard/layouts/TopNavbar.d.ts.map +1 -1
  29. package/dist/components/dashboard/layouts/TopNavbar.js +4 -3
  30. package/dist/components/dashboard/misc/SearchDropdown.d.ts.map +1 -1
  31. package/dist/components/dashboard/misc/SearchDropdown.js +2 -1
  32. package/dist/components/dashboard/mobile/MobileTopBar.d.ts.map +1 -1
  33. package/dist/components/dashboard/mobile/MobileTopBar.js +2 -1
  34. package/dist/components/devtools/BlockDetailViewer.d.ts.map +1 -1
  35. package/dist/components/devtools/BlockDetailViewer.js +2 -1
  36. package/dist/components/devtools/BlocksViewer.d.ts.map +1 -1
  37. package/dist/components/devtools/BlocksViewer.js +2 -1
  38. package/dist/components/devtools/ConfigViewer.d.ts.map +1 -1
  39. package/dist/components/devtools/ConfigViewer.js +3 -2
  40. package/dist/components/devtools/TestCasesViewer.d.ts.map +1 -1
  41. package/dist/components/devtools/TestCasesViewer.js +3 -2
  42. package/dist/components/devtools/TestCoverageDashboard.d.ts.map +1 -1
  43. package/dist/components/devtools/TestCoverageDashboard.js +2 -1
  44. package/dist/components/devtools/api-explorer/ApiDocsModal.d.ts.map +1 -1
  45. package/dist/components/devtools/api-explorer/ApiDocsModal.js +0 -0
  46. package/dist/components/devtools/api-explorer/ApiExplorer.d.ts.map +1 -1
  47. package/dist/components/devtools/api-explorer/ApiExplorer.js +2 -1
  48. package/dist/components/devtools/scheduled-actions/actions-table.d.ts.map +1 -1
  49. package/dist/components/devtools/scheduled-actions/actions-table.js +3 -2
  50. package/dist/components/docs/docs-sidebar.d.ts.map +1 -1
  51. package/dist/components/docs/docs-sidebar.js +3 -2
  52. package/dist/components/entities/EntityFieldRenderer.d.ts.map +1 -1
  53. package/dist/components/entities/EntityFieldRenderer.js +2 -1
  54. package/dist/components/entities/EntityList.d.ts.map +1 -1
  55. package/dist/components/entities/EntityList.js +2 -1
  56. package/dist/components/entities/EntityTable.d.ts.map +1 -1
  57. package/dist/components/entities/EntityTable.js +3 -2
  58. package/dist/components/entities/ErrorBoundary.d.ts.map +1 -1
  59. package/dist/components/entities/ErrorBoundary.js +2 -1
  60. package/dist/components/entities/wrappers/EntityDetailWrapper.d.ts.map +1 -1
  61. package/dist/components/entities/wrappers/EntityDetailWrapper.js +3 -2
  62. package/dist/components/media/MediaCard.d.ts.map +1 -1
  63. package/dist/components/media/MediaCard.js +2 -1
  64. package/dist/components/media/MediaDetailPanel.d.ts.map +1 -1
  65. package/dist/components/media/MediaDetailPanel.js +2 -1
  66. package/dist/components/media/MediaList.d.ts.map +1 -1
  67. package/dist/components/media/MediaList.js +2 -1
  68. package/dist/components/media/MediaSelector.d.ts.map +1 -1
  69. package/dist/components/media/MediaSelector.js +2 -1
  70. package/dist/components/media/MediaUploadZone.d.ts.map +1 -1
  71. package/dist/components/media/MediaUploadZone.js +2 -1
  72. package/dist/components/public/entities/PublicEntityDetail.d.ts.map +1 -1
  73. package/dist/components/public/entities/PublicEntityDetail.js +2 -1
  74. package/dist/components/teams/TeamPendingInvitations.d.ts.map +1 -1
  75. package/dist/components/teams/TeamPendingInvitations.js +3 -2
  76. package/dist/components/ui/accordion.js +1 -1
  77. package/dist/components/ui/audio-upload.d.ts.map +1 -1
  78. package/dist/components/ui/audio-upload.js +2 -1
  79. package/dist/components/ui/avatar.d.ts +17 -1
  80. package/dist/components/ui/avatar.d.ts.map +1 -1
  81. package/dist/components/ui/avatar.js +29 -2
  82. package/dist/components/ui/badge.js +1 -1
  83. package/dist/components/ui/breadcrumb.d.ts +13 -0
  84. package/dist/components/ui/breadcrumb.d.ts.map +1 -1
  85. package/dist/components/ui/breadcrumb.js +23 -10
  86. package/dist/components/ui/button.js +1 -1
  87. package/dist/components/ui/card.js +1 -1
  88. package/dist/components/ui/checkbox.js +1 -1
  89. package/dist/components/ui/file-upload.d.ts.map +1 -1
  90. package/dist/components/ui/file-upload.js +2 -1
  91. package/dist/components/ui/image-upload.d.ts.map +1 -1
  92. package/dist/components/ui/image-upload.js +4 -3
  93. package/dist/components/ui/input.js +1 -1
  94. package/dist/components/ui/label.js +1 -1
  95. package/dist/components/ui/optimized-image.d.ts.map +1 -1
  96. package/dist/components/ui/optimized-image.js +5 -0
  97. package/dist/components/ui/pagination.d.ts +1 -1
  98. package/dist/components/ui/pagination.d.ts.map +1 -1
  99. package/dist/components/ui/pagination.js +3 -0
  100. package/dist/components/ui/progress.js +1 -1
  101. package/dist/components/ui/relation-display.d.ts.map +1 -1
  102. package/dist/components/ui/relation-display.js +3 -2
  103. package/dist/components/ui/separator.js +1 -1
  104. package/dist/components/ui/simple-relation-select.d.ts.map +1 -1
  105. package/dist/components/ui/simple-relation-select.js +7 -6
  106. package/dist/components/ui/skeleton.js +1 -1
  107. package/dist/components/ui/slider.js +1 -1
  108. package/dist/components/ui/switch.js +1 -1
  109. package/dist/components/ui/tabs.js +1 -1
  110. package/dist/components/ui/textarea.js +1 -1
  111. package/dist/components/ui/user-display.d.ts.map +1 -1
  112. package/dist/components/ui/user-display.js +2 -1
  113. package/dist/components/ui/user-select.d.ts.map +1 -1
  114. package/dist/components/ui/user-select.js +2 -1
  115. package/dist/components/ui/video-upload.d.ts.map +1 -1
  116. package/dist/components/ui/video-upload.js +3 -2
  117. package/dist/components/users/tables/UsersTable.d.ts.map +1 -1
  118. package/dist/components/users/tables/UsersTable.js +3 -2
  119. package/dist/contexts/SubscriptionContext.d.ts.map +1 -1
  120. package/dist/contexts/SubscriptionContext.js +4 -3
  121. package/dist/contexts/TeamContext.d.ts.map +1 -1
  122. package/dist/contexts/TeamContext.js +3 -2
  123. package/dist/hooks/useAccountPreferencesSync.d.ts.map +1 -1
  124. package/dist/hooks/useAccountPreferencesSync.js +2 -1
  125. package/dist/hooks/useApiExplorerNavigation.d.ts.map +1 -1
  126. package/dist/hooks/useApiExplorerNavigation.js +2 -1
  127. package/dist/hooks/useAuth.d.ts.map +1 -1
  128. package/dist/hooks/useAuth.js +3 -2
  129. package/dist/hooks/useEnsureUserMetadata.d.ts.map +1 -1
  130. package/dist/hooks/useEnsureUserMetadata.js +3 -2
  131. package/dist/hooks/useEntityWithMeta.d.ts.map +1 -1
  132. package/dist/hooks/useEntityWithMeta.js +3 -2
  133. package/dist/hooks/useInvoice.d.ts.map +1 -1
  134. package/dist/hooks/useInvoice.js +2 -1
  135. package/dist/hooks/useInvoices.d.ts.map +1 -1
  136. package/dist/hooks/useInvoices.js +2 -1
  137. package/dist/hooks/useMedia.d.ts.map +1 -1
  138. package/dist/hooks/useMedia.js +10 -9
  139. package/dist/hooks/useMediaUpload.d.ts.map +1 -1
  140. package/dist/hooks/useMediaUpload.js +2 -1
  141. package/dist/hooks/useMembership.d.ts.map +1 -1
  142. package/dist/hooks/useMembership.js +3 -2
  143. package/dist/hooks/usePatternUsages.d.ts.map +1 -1
  144. package/dist/hooks/usePatternUsages.js +3 -2
  145. package/dist/hooks/usePrefetch.d.ts.map +1 -1
  146. package/dist/hooks/usePrefetch.js +3 -2
  147. package/dist/hooks/useQuota.d.ts.map +1 -1
  148. package/dist/hooks/useQuota.js +2 -1
  149. package/dist/hooks/useTeamInvitations.d.ts.map +1 -1
  150. package/dist/hooks/useTeamInvitations.js +4 -3
  151. package/dist/hooks/useTeamMembers.d.ts.map +1 -1
  152. package/dist/hooks/useTeamMembers.js +5 -4
  153. package/dist/hooks/useTeamUpdate.d.ts.map +1 -1
  154. package/dist/hooks/useTeamUpdate.js +2 -1
  155. package/dist/hooks/useUserProfile.d.ts.map +1 -1
  156. package/dist/hooks/useUserProfile.js +3 -2
  157. package/dist/hooks/useUserSettings.d.ts.map +1 -1
  158. package/dist/hooks/useUserSettings.js +3 -2
  159. package/dist/lib/actions/entity.actions.d.ts.map +1 -1
  160. package/dist/lib/actions/entity.actions.js +2 -1
  161. package/dist/lib/api/entities.d.ts.map +1 -1
  162. package/dist/lib/api/entities.js +4 -3
  163. package/dist/lib/auth/verify-email-link.d.ts +10 -0
  164. package/dist/lib/auth/verify-email-link.d.ts.map +1 -0
  165. package/dist/lib/auth/verify-email-link.js +14 -0
  166. package/dist/lib/auth-client.d.ts +2 -0
  167. package/dist/lib/auth-client.d.ts.map +1 -1
  168. package/dist/lib/auth-client.js +4 -0
  169. package/dist/lib/auth.d.ts.map +1 -1
  170. package/dist/lib/auth.js +10 -2
  171. package/dist/lib/base-path.d.ts +85 -0
  172. package/dist/lib/base-path.d.ts.map +1 -0
  173. package/dist/lib/base-path.js +79 -0
  174. package/dist/lib/billing/schema.d.ts +1 -1
  175. package/dist/lib/billing/schema.d.ts.map +1 -1
  176. package/dist/lib/billing/schema.js +1 -1
  177. package/dist/lib/blocks/sanitize-html.d.ts.map +1 -1
  178. package/dist/lib/blocks/sanitize-html.js +18 -2
  179. package/dist/lib/cache/revalidate-tag.d.ts +14 -0
  180. package/dist/lib/cache/revalidate-tag.d.ts.map +1 -0
  181. package/dist/lib/cache/revalidate-tag.js +8 -0
  182. package/dist/lib/config/dashboard-schema.d.ts +1 -1
  183. package/dist/lib/config/dashboard-schema.d.ts.map +1 -1
  184. package/dist/lib/config/dashboard-schema.js +1 -1
  185. package/dist/lib/config/types.d.ts +36 -16
  186. package/dist/lib/config/types.d.ts.map +1 -1
  187. package/dist/lib/docs/access.d.ts +28 -0
  188. package/dist/lib/docs/access.d.ts.map +1 -0
  189. package/dist/lib/docs/access.js +16 -0
  190. package/dist/lib/docs/parser.d.ts.map +1 -1
  191. package/dist/lib/docs/parser.js +2 -1
  192. package/dist/lib/docs/remark-doc-links.d.ts +14 -0
  193. package/dist/lib/docs/remark-doc-links.d.ts.map +1 -0
  194. package/dist/lib/docs/remark-doc-links.js +38 -0
  195. package/dist/lib/entities/api-generator.d.ts +1 -1
  196. package/dist/lib/entities/api-generator.d.ts.map +1 -1
  197. package/dist/lib/entities/api-generator.js +1 -1
  198. package/dist/lib/entities/schema-generator.d.ts +1 -1
  199. package/dist/lib/entities/schema-generator.d.ts.map +1 -1
  200. package/dist/lib/entities/schema-generator.js +1 -1
  201. package/dist/lib/mcp/engine.js +1 -1
  202. package/dist/lib/mcp/schema-builder.d.ts +1 -1
  203. package/dist/lib/mcp/schema-builder.d.ts.map +1 -1
  204. package/dist/lib/mcp/schema-builder.js +1 -1
  205. package/dist/lib/mcp/tool-generator.js +1 -1
  206. package/dist/lib/mcp/types.d.ts +1 -1
  207. package/dist/lib/mcp/types.d.ts.map +1 -1
  208. package/dist/lib/media/schemas.d.ts +1 -1
  209. package/dist/lib/media/schemas.d.ts.map +1 -1
  210. package/dist/lib/media/schemas.js +1 -1
  211. package/dist/lib/middleware/index.d.ts +5 -1
  212. package/dist/lib/middleware/index.d.ts.map +1 -1
  213. package/dist/lib/middleware/index.js +3 -2
  214. package/dist/lib/services/meta.service.d.ts +60 -0
  215. package/dist/lib/services/meta.service.d.ts.map +1 -1
  216. package/dist/lib/services/meta.service.js +132 -12
  217. package/dist/lib/services/middleware.service.d.ts.map +1 -1
  218. package/dist/lib/services/middleware.service.js +3 -2
  219. package/dist/lib/teams/schema.d.ts +1 -1
  220. package/dist/lib/teams/schema.d.ts.map +1 -1
  221. package/dist/lib/teams/schema.js +1 -1
  222. package/dist/lib/teams/teams.api.d.ts.map +1 -1
  223. package/dist/lib/teams/teams.api.js +4 -3
  224. package/dist/lib/user-data-client.d.ts.map +1 -1
  225. package/dist/lib/user-data-client.js +3 -2
  226. package/dist/lib/validation/invoices.d.ts +1 -1
  227. package/dist/lib/validation/invoices.d.ts.map +1 -1
  228. package/dist/lib/validation/invoices.js +1 -1
  229. package/dist/lib/validation-schemas.d.ts +1 -1
  230. package/dist/lib/validation-schemas.d.ts.map +1 -1
  231. package/dist/lib/validation-schemas.js +1 -1
  232. package/dist/lib/validation.d.ts +1 -1
  233. package/dist/lib/validation.d.ts.map +1 -1
  234. package/dist/lib/validation.js +1 -1
  235. package/dist/messages/de/footer.json +0 -1
  236. package/dist/messages/de/index.d.ts +0 -1
  237. package/dist/messages/de/index.d.ts.map +1 -1
  238. package/dist/messages/en/footer.json +0 -1
  239. package/dist/messages/en/index.d.ts +0 -1
  240. package/dist/messages/en/index.d.ts.map +1 -1
  241. package/dist/messages/es/footer.json +0 -1
  242. package/dist/messages/es/index.d.ts +0 -1
  243. package/dist/messages/es/index.d.ts.map +1 -1
  244. package/dist/messages/fr/footer.json +0 -1
  245. package/dist/messages/fr/index.d.ts +0 -1
  246. package/dist/messages/fr/index.d.ts.map +1 -1
  247. package/dist/messages/it/footer.json +0 -1
  248. package/dist/messages/it/index.d.ts +0 -1
  249. package/dist/messages/it/index.d.ts.map +1 -1
  250. package/dist/messages/pt/footer.json +0 -1
  251. package/dist/messages/pt/index.d.ts +0 -1
  252. package/dist/messages/pt/index.d.ts.map +1 -1
  253. package/dist/templates/app/(auth)/accept-invite/[token]/page.tsx +4 -3
  254. package/dist/templates/app/(auth)/verify-email/page.tsx +4 -3
  255. package/dist/templates/app/(public)/docs/[section]/[page]/page.tsx +11 -0
  256. package/dist/templates/app/api/auth/[...all]/route.ts +15 -14
  257. package/dist/templates/app/api/internal/user-metadata/route.ts +6 -8
  258. package/dist/templates/app/api/user/plan-flags/route.ts +1 -1
  259. package/dist/templates/app/api/user/profile/route.ts +12 -17
  260. package/dist/templates/app/api/v1/api-keys/route.ts +1 -1
  261. package/dist/templates/app/api/v1/auth/signup-with-invite/route.ts +2 -1
  262. package/dist/templates/app/api/v1/billing/cancel/route.ts +1 -1
  263. package/dist/templates/app/api/v1/billing/change-plan/route.ts +1 -1
  264. package/dist/templates/app/api/v1/billing/check-action/route.ts +1 -1
  265. package/dist/templates/app/api/v1/billing/checkout/route.ts +1 -1
  266. package/dist/templates/app/api/v1/blocks/validate/route.ts +1 -1
  267. package/dist/templates/app/api/v1/media/[id]/tags/route.ts +1 -1
  268. package/dist/templates/app/api/v1/post-categories/[id]/route.ts +1 -1
  269. package/dist/templates/app/api/v1/post-categories/route.ts +1 -1
  270. package/dist/templates/app/api/v1/teams/[teamId]/members/route.ts +2 -1
  271. package/dist/templates/app/api/v1/teams/[teamId]/subscription/route.ts +3 -5
  272. package/dist/templates/app/api/v1/teams/docs.md +4 -9
  273. package/dist/templates/app/api/v1/teams/switch/route.ts +1 -1
  274. package/dist/templates/app/api/v1/users/[id]/meta/[key]/route.ts +1 -1
  275. package/dist/templates/app/api/v1/users/[id]/route.ts +1 -1
  276. package/dist/templates/app/api/v1/users/route.ts +1 -1
  277. package/dist/templates/app/dashboard/(main)/media/page.tsx +3 -1
  278. package/dist/templates/app/dashboard/settings/api-keys/page.tsx +5 -4
  279. package/dist/templates/app/dashboard/settings/profile/page.tsx +3 -2
  280. package/dist/templates/app/devtools/scheduled-actions/page.tsx +2 -1
  281. package/dist/templates/app/superadmin/docs/[section]/[page]/page.tsx +16 -0
  282. package/dist/templates/app/superadmin/subscriptions/page.tsx +3 -2
  283. package/dist/templates/app/superadmin/teams/[teamId]/page.tsx +5 -4
  284. package/dist/templates/app/superadmin/users/[userId]/page.tsx +2 -1
  285. package/dist/templates/app/superadmin/users/page.tsx +2 -1
  286. package/dist/templates/blocks/cta-section/component.tsx +3 -2
  287. package/dist/templates/blocks/cta-section/schema.ts +1 -1
  288. package/dist/templates/blocks/features-grid/component.tsx +2 -1
  289. package/dist/templates/blocks/features-grid/schema.ts +1 -1
  290. package/dist/templates/blocks/hero/component.tsx +3 -2
  291. package/dist/templates/blocks/hero/schema.ts +1 -1
  292. package/dist/templates/blocks/testimonials/component.tsx +2 -1
  293. package/dist/templates/blocks/testimonials/schema.ts +1 -1
  294. package/dist/templates/blocks/text-content/component.tsx +2 -1
  295. package/dist/templates/blocks/text-content/schema.ts +1 -1
  296. package/dist/templates/ci-workflows/README.md +1 -1
  297. package/dist/templates/ci-workflows/github/cypress-regression.yml +1 -1
  298. package/dist/templates/ci-workflows/github/cypress-smoke.yml +1 -1
  299. package/dist/templates/contents/plugins/starter/plugin/api/example/route.ts.template +1 -1
  300. package/dist/templates/contents/themes/starter/blocks/cta-section/component.tsx +3 -2
  301. package/dist/templates/contents/themes/starter/blocks/cta-section/schema.ts +1 -1
  302. package/dist/templates/contents/themes/starter/blocks/features-grid/component.tsx +2 -1
  303. package/dist/templates/contents/themes/starter/blocks/features-grid/schema.ts +1 -1
  304. package/dist/templates/contents/themes/starter/blocks/hero/component.tsx +3 -2
  305. package/dist/templates/contents/themes/starter/blocks/hero/schema.ts +1 -1
  306. package/dist/templates/contents/themes/starter/blocks/testimonials/component.tsx +3 -2
  307. package/dist/templates/contents/themes/starter/blocks/testimonials/schema.ts +1 -1
  308. package/dist/templates/contents/themes/starter/blocks/text-content/component.tsx +2 -1
  309. package/dist/templates/contents/themes/starter/blocks/text-content/schema.ts +1 -1
  310. package/dist/templates/contents/themes/starter/entities/posts/components/post-header.tsx +2 -1
  311. package/dist/templates/contents/themes/starter/lib/hooks/useAnalyticsData.ts +2 -1
  312. package/dist/templates/contents/themes/starter/lib/hooks/useTaskStats.ts +2 -1
  313. package/dist/templates/eslint.config.mjs +133 -9
  314. package/dist/templates/features/blog/blocks/post-content/component.tsx +2 -1
  315. package/dist/templates/features/blog/blocks/post-content/schema.ts +1 -1
  316. package/dist/templates/features/blog/entities/posts/components/post-header.tsx +2 -1
  317. package/dist/templates/features/pages/blocks/hero/component.tsx +3 -2
  318. package/dist/templates/features/pages/blocks/hero/schema.ts +1 -1
  319. package/dist/templates/next.config.mjs +50 -29
  320. package/dist/templates/proxy.ts +100 -21
  321. package/dist/templates/public/sw.js +2 -2
  322. package/dist/templates/scripts/cy-run-prod.cjs +5 -5
  323. package/dist/types/blocks.d.ts +1 -1
  324. package/dist/types/blocks.d.ts.map +1 -1
  325. package/dist/types/blocks.js +1 -1
  326. package/package.json +9 -5
  327. package/scripts/build/docs-registry.mjs +7 -7
  328. package/scripts/build/registry/__tests__/billing-registry.test.mjs +43 -0
  329. package/scripts/build/registry/__tests__/build-output.test.mjs +209 -0
  330. package/scripts/build/registry/__tests__/copy-race-child.mjs +14 -0
  331. package/scripts/build/registry/__tests__/direct-fs-writes.mjs +203 -0
  332. package/scripts/build/registry/__tests__/globals-css-tag.test.mjs +66 -0
  333. package/scripts/build/registry/__tests__/icons-discovery.test.mjs +530 -29
  334. package/scripts/build/registry/__tests__/page-generator.test.mjs +211 -37
  335. package/scripts/build/registry/__tests__/published-signatures.test.mjs +239 -0
  336. package/scripts/build/registry/__tests__/route-file-rule.test.mjs +170 -0
  337. package/scripts/build/registry/__tests__/safe-fs.test.mjs +333 -0
  338. package/scripts/build/registry/__tests__/template-analysis.test.mjs +142 -0
  339. package/scripts/build/registry/__tests__/template-registry.test.mjs +279 -9
  340. package/scripts/build/registry/__tests__/templates-plan.test.mjs +128 -0
  341. package/scripts/build/registry/__tests__/templates-tree.test.mjs +367 -0
  342. package/scripts/build/registry/__tests__/write-places.test.mjs +425 -0
  343. package/scripts/build/registry/config.mjs +6 -65
  344. package/scripts/build/registry/discovery/icons.mjs +498 -43
  345. package/scripts/build/registry/discovery/templates.mjs +1 -1
  346. package/scripts/build/registry/generators/billing-registry.mjs +1 -1
  347. package/scripts/build/registry/generators/docs-registry.mjs +3 -4
  348. package/scripts/build/registry/generators/feature-registry.mjs +1 -1
  349. package/scripts/build/registry/generators/permissions-registry.mjs +2 -2
  350. package/scripts/build/registry/generators/template-registry.mjs +65 -49
  351. package/scripts/build/registry/index.mjs +1 -2
  352. package/scripts/build/registry/post-build/index.mjs +1 -1
  353. package/scripts/build/registry/post-build/own-gitignores.mjs +220 -0
  354. package/scripts/build/registry/post-build/page-generator.mjs +512 -268
  355. package/scripts/build/registry/post-build/route-cleanup.mjs +16 -13
  356. package/scripts/build/registry/post-build/test-fixtures.mjs +26 -8
  357. package/scripts/build/registry/project-mode.mjs +76 -0
  358. package/scripts/build/registry/shared/typescript-compiler.mjs +77 -0
  359. package/scripts/build/registry/validate-env.test.mjs +12 -8
  360. package/scripts/build/registry/watch.mjs +3 -53
  361. package/scripts/build/registry/write-places.mjs +228 -0
  362. package/scripts/build/registry.mjs +53 -30
  363. package/scripts/build/safe-fs.mjs +279 -0
  364. package/scripts/build/templates-plan.mjs +44 -0
  365. package/scripts/build/theme.mjs +46 -42
  366. package/scripts/build/update-tsconfig.mjs +16 -15
  367. package/scripts/db/cluster-changes.mjs +205 -0
  368. package/scripts/db/connection-time-limits.mjs +53 -0
  369. package/scripts/db/inspect-server.mjs +108 -0
  370. package/scripts/db/migration-time-limit.mjs +695 -0
  371. package/scripts/db/run-migrations.mjs +46 -41
  372. package/scripts/db/ssl-config.mjs +194 -0
  373. package/scripts/db/theme-location.mjs +69 -0
  374. package/scripts/db/verify-tables.mjs +3 -8
  375. package/scripts/db/verify-teams.mjs +2 -6
  376. package/scripts/db/verify-theme-migrations.mjs +169 -0
  377. package/scripts/maintenance/core-updater.mjs +1003 -0
  378. package/scripts/maintenance/step-guard.mjs +74 -0
  379. package/scripts/maintenance/update-core.mjs +14 -831
  380. package/scripts/utils/console-guard.mjs +13 -0
  381. package/scripts/utils/generated-tag.mjs +66 -0
  382. package/scripts/utils/index.mjs +9 -1
  383. package/scripts/utils/logging.mjs +140 -0
  384. package/templates/app/(auth)/accept-invite/[token]/page.tsx +4 -3
  385. package/templates/app/(auth)/verify-email/page.tsx +4 -3
  386. package/templates/app/(public)/docs/[section]/[page]/page.tsx +11 -0
  387. package/templates/app/api/auth/[...all]/route.ts +15 -14
  388. package/templates/app/api/internal/user-metadata/route.ts +6 -8
  389. package/templates/app/api/user/plan-flags/route.ts +1 -1
  390. package/templates/app/api/user/profile/route.ts +12 -17
  391. package/templates/app/api/v1/api-keys/route.ts +1 -1
  392. package/templates/app/api/v1/auth/signup-with-invite/route.ts +2 -1
  393. package/templates/app/api/v1/billing/cancel/route.ts +1 -1
  394. package/templates/app/api/v1/billing/change-plan/route.ts +1 -1
  395. package/templates/app/api/v1/billing/check-action/route.ts +1 -1
  396. package/templates/app/api/v1/billing/checkout/route.ts +1 -1
  397. package/templates/app/api/v1/blocks/validate/route.ts +1 -1
  398. package/templates/app/api/v1/media/[id]/tags/route.ts +1 -1
  399. package/templates/app/api/v1/post-categories/[id]/route.ts +1 -1
  400. package/templates/app/api/v1/post-categories/route.ts +1 -1
  401. package/templates/app/api/v1/teams/[teamId]/members/route.ts +2 -1
  402. package/templates/app/api/v1/teams/[teamId]/subscription/route.ts +3 -5
  403. package/templates/app/api/v1/teams/docs.md +4 -9
  404. package/templates/app/api/v1/teams/switch/route.ts +1 -1
  405. package/templates/app/api/v1/users/[id]/meta/[key]/route.ts +1 -1
  406. package/templates/app/api/v1/users/[id]/route.ts +1 -1
  407. package/templates/app/api/v1/users/route.ts +1 -1
  408. package/templates/app/dashboard/(main)/media/page.tsx +3 -1
  409. package/templates/app/dashboard/settings/api-keys/page.tsx +5 -4
  410. package/templates/app/dashboard/settings/profile/page.tsx +3 -2
  411. package/templates/app/devtools/scheduled-actions/page.tsx +2 -1
  412. package/templates/app/superadmin/docs/[section]/[page]/page.tsx +16 -0
  413. package/templates/app/superadmin/subscriptions/page.tsx +3 -2
  414. package/templates/app/superadmin/teams/[teamId]/page.tsx +5 -4
  415. package/templates/app/superadmin/users/[userId]/page.tsx +2 -1
  416. package/templates/app/superadmin/users/page.tsx +2 -1
  417. package/templates/blocks/cta-section/component.tsx +3 -2
  418. package/templates/blocks/cta-section/schema.ts +1 -1
  419. package/templates/blocks/features-grid/component.tsx +2 -1
  420. package/templates/blocks/features-grid/schema.ts +1 -1
  421. package/templates/blocks/hero/component.tsx +3 -2
  422. package/templates/blocks/hero/schema.ts +1 -1
  423. package/templates/blocks/testimonials/component.tsx +2 -1
  424. package/templates/blocks/testimonials/schema.ts +1 -1
  425. package/templates/blocks/text-content/component.tsx +2 -1
  426. package/templates/blocks/text-content/schema.ts +1 -1
  427. package/templates/ci-workflows/README.md +1 -1
  428. package/templates/ci-workflows/github/cypress-regression.yml +1 -1
  429. package/templates/ci-workflows/github/cypress-smoke.yml +1 -1
  430. package/templates/contents/plugins/starter/plugin/api/example/route.ts.template +1 -1
  431. package/templates/contents/themes/starter/blocks/cta-section/component.tsx +3 -2
  432. package/templates/contents/themes/starter/blocks/cta-section/schema.ts +1 -1
  433. package/templates/contents/themes/starter/blocks/features-grid/component.tsx +2 -1
  434. package/templates/contents/themes/starter/blocks/features-grid/schema.ts +1 -1
  435. package/templates/contents/themes/starter/blocks/hero/component.tsx +3 -2
  436. package/templates/contents/themes/starter/blocks/hero/schema.ts +1 -1
  437. package/templates/contents/themes/starter/blocks/testimonials/component.tsx +3 -2
  438. package/templates/contents/themes/starter/blocks/testimonials/schema.ts +1 -1
  439. package/templates/contents/themes/starter/blocks/text-content/component.tsx +2 -1
  440. package/templates/contents/themes/starter/blocks/text-content/schema.ts +1 -1
  441. package/templates/contents/themes/starter/entities/posts/components/post-header.tsx +2 -1
  442. package/templates/contents/themes/starter/lib/hooks/useAnalyticsData.ts +2 -1
  443. package/templates/contents/themes/starter/lib/hooks/useTaskStats.ts +2 -1
  444. package/templates/eslint.config.mjs +133 -9
  445. package/templates/features/blog/blocks/post-content/component.tsx +2 -1
  446. package/templates/features/blog/blocks/post-content/schema.ts +1 -1
  447. package/templates/features/blog/entities/posts/components/post-header.tsx +2 -1
  448. package/templates/features/pages/blocks/hero/component.tsx +3 -2
  449. package/templates/features/pages/blocks/hero/schema.ts +1 -1
  450. package/templates/next.config.mjs +50 -29
  451. package/templates/proxy.ts +100 -21
  452. package/templates/public/sw.js +2 -2
  453. package/templates/scripts/cy-run-prod.cjs +5 -5
  454. package/tests/jest/__mocks__/@nextsparkjs/registries/template-registry.client.ts +11 -0
  455. package/tests/jest/__mocks__/next-server.js +10 -0
  456. package/scripts/build/docs.mjs +0 -392
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._whiycl2nvwq6otr7gzrisciudi/node_modules/@nextsparkjs/ui/dist/index.js
3
+ // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._dxxt5y7ju3wjwumel4zkzoawsq/node_modules/@nextsparkjs/ui/dist/index.js
4
4
  import { createContext, useContext, useMemo } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import * as React from "react";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._whiycl2nvwq6otr7gzrisciudi/node_modules/@nextsparkjs/ui/dist/index.js
3
+ // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._dxxt5y7ju3wjwumel4zkzoawsq/node_modules/@nextsparkjs/ui/dist/index.js
4
4
  import { createContext, useContext, useMemo } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import * as React from "react";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._whiycl2nvwq6otr7gzrisciudi/node_modules/@nextsparkjs/ui/dist/index.js
3
+ // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._dxxt5y7ju3wjwumel4zkzoawsq/node_modules/@nextsparkjs/ui/dist/index.js
4
4
  import { createContext, useContext, useMemo } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import * as React from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload.d.ts","sourceRoot":"","sources":["../../../src/components/ui/file-upload.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAU,EACV,QAAQ,EACR,QAAY,EACZ,OAAY,EAAE,eAAe;AAC7B,aAAqB,EACrB,QAAgB,EAChB,SAAS,EACT,QAAe,EACf,QAAe,GAChB,EAAE,eAAe,2CAuMjB"}
1
+ {"version":3,"file":"file-upload.d.ts","sourceRoot":"","sources":["../../../src/components/ui/file-upload.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAU,EACV,QAAQ,EACR,QAAY,EACZ,OAAY,EAAE,eAAe;AAC7B,aAAqB,EACrB,QAAgB,EAChB,SAAS,EACT,QAAe,EACf,QAAe,GAChB,EAAE,eAAe,2CAuMjB"}
@@ -5,6 +5,7 @@ import { Upload, X, FileText, Download } from "lucide-react";
5
5
  import { Button } from "./button.js";
6
6
  import { Progress } from "./progress.js";
7
7
  import { cn } from "../../lib/utils/index.js";
8
+ import { withBasePathIfInApp } from "../../lib/base-path.js";
8
9
  function FileUpload({
9
10
  value = [],
10
11
  onChange,
@@ -166,7 +167,7 @@ function FileUpload({
166
167
  size: "sm",
167
168
  onClick: (e) => {
168
169
  e.stopPropagation();
169
- window.open(file.url, "_blank");
170
+ if (file.url) window.open(withBasePathIfInApp(file.url), "_blank");
170
171
  },
171
172
  children: /* @__PURE__ */ jsx(Download, { className: "h-4 w-4" })
172
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"image-upload.d.ts","sourceRoot":"","sources":["../../../src/components/ui/image-upload.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,CAAA;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAA;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAU,EACV,QAAQ,EACR,SAAa,EACb,OAAW,EAAE,cAAc;AAC3B,QAAgB,EAChB,SAAS,EACT,QAAe,EACf,WAAoB,EACpB,WAAkB,GACnB,EAAE,gBAAgB,2CAsOlB"}
1
+ {"version":3,"file":"image-upload.d.ts","sourceRoot":"","sources":["../../../src/components/ui/image-upload.tsx"],"names":[],"mappings":"AAUA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,CAAA;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAA;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAU,EACV,QAAQ,EACR,SAAa,EACb,OAAW,EAAE,cAAc;AAC3B,QAAgB,EAChB,SAAS,EACT,QAAe,EACf,WAAoB,EACpB,WAAkB,GACnB,EAAE,gBAAgB,2CAsOlB"}
@@ -6,6 +6,7 @@ import { X, Eye, Download, Image } from "lucide-react";
6
6
  import { Button } from "./button.js";
7
7
  import { Dialog, DialogContent, DialogTrigger } from "./dialog.js";
8
8
  import { cn } from "../../lib/utils/index.js";
9
+ import { withBasePathIfInApp } from "../../lib/base-path.js";
9
10
  function ImageUpload({
10
11
  value = [],
11
12
  onChange,
@@ -174,7 +175,7 @@ function ImageUpload({
174
175
  /* @__PURE__ */ jsx(
175
176
  NextImage,
176
177
  {
177
- src: image.url,
178
+ src: withBasePathIfInApp(image.url),
178
179
  alt: image.alt || image.name,
179
180
  fill: true,
180
181
  className: "object-cover"
@@ -186,7 +187,7 @@ function ImageUpload({
186
187
  /* @__PURE__ */ jsx(DialogContent, { className: "max-w-3xl", children: /* @__PURE__ */ jsx(
187
188
  NextImage,
188
189
  {
189
- src: image.url,
190
+ src: withBasePathIfInApp(image.url),
190
191
  alt: image.alt || image.name,
191
192
  width: 800,
192
193
  height: 600,
@@ -199,7 +200,7 @@ function ImageUpload({
199
200
  {
200
201
  variant: "secondary",
201
202
  size: "sm",
202
- onClick: () => window.open(image.url, "_blank"),
203
+ onClick: () => window.open(withBasePathIfInApp(image.url), "_blank"),
203
204
  children: /* @__PURE__ */ jsx(Download, { className: "h-4 w-4" })
204
205
  }
205
206
  ),
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._whiycl2nvwq6otr7gzrisciudi/node_modules/@nextsparkjs/ui/dist/index.js
3
+ // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._dxxt5y7ju3wjwumel4zkzoawsq/node_modules/@nextsparkjs/ui/dist/index.js
4
4
  import { createContext, useContext, useMemo } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import * as React from "react";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._whiycl2nvwq6otr7gzrisciudi/node_modules/@nextsparkjs/ui/dist/index.js
3
+ // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._dxxt5y7ju3wjwumel4zkzoawsq/node_modules/@nextsparkjs/ui/dist/index.js
4
4
  import { createContext, useContext, useMemo } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import * as React from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"optimized-image.d.ts","sourceRoot":"","sources":["../../../src/components/ui/optimized-image.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAc,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AAGnD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;IAC1E,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAA;IACtD,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,QAAA,MAAM,cAAc,8FAsHnB,CAAA;AAID,OAAO,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"optimized-image.d.ts","sourceRoot":"","sources":["../../../src/components/ui/optimized-image.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAc,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AAInD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;IAC1E,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAA;IACtD,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,QAAA,MAAM,cAAc,8FA4HnB,CAAA;AAID,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -3,6 +3,7 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import Image from "next/image";
5
5
  import { cn } from "../../lib/utils/index.js";
6
+ import { withBasePathIfInApp } from "../../lib/base-path.js";
6
7
  const OptimizedImage = React.forwardRef(
7
8
  ({
8
9
  className,
@@ -13,6 +14,7 @@ const OptimizedImage = React.forwardRef(
13
14
  blurDataURL,
14
15
  fill,
15
16
  alt,
17
+ src,
16
18
  onError,
17
19
  ...props
18
20
  }, ref) => {
@@ -41,6 +43,7 @@ const OptimizedImage = React.forwardRef(
41
43
  return "";
42
44
  }
43
45
  };
46
+ const resolvedSrc = typeof src === "string" ? withBasePathIfInApp(src) : src;
44
47
  if (hasError && fallback) {
45
48
  if (fill || aspectRatio) {
46
49
  return /* @__PURE__ */ jsx(
@@ -84,6 +87,7 @@ const OptimizedImage = React.forwardRef(
84
87
  ),
85
88
  fill: fill ?? !!aspectRatio,
86
89
  alt,
90
+ src: resolvedSrc,
87
91
  onError: handleError,
88
92
  onLoad: handleLoad,
89
93
  ...placeholderProps,
@@ -104,6 +108,7 @@ const OptimizedImage = React.forwardRef(
104
108
  className
105
109
  ),
106
110
  alt,
111
+ src: resolvedSrc,
107
112
  onError: handleError,
108
113
  onLoad: handleLoad,
109
114
  ...placeholderProps,
@@ -11,7 +11,7 @@ type PaginationLinkProps = {
11
11
  size?: "default" | "sm" | "lg" | "icon";
12
12
  } & React.ComponentProps<"a">;
13
13
  declare const PaginationLink: {
14
- ({ className, isActive, size, ...props }: PaginationLinkProps): import("react/jsx-runtime").JSX.Element;
14
+ ({ className, isActive, size, href, ...props }: PaginationLinkProps): import("react/jsx-runtime").JSX.Element;
15
15
  displayName: string;
16
16
  };
17
17
  declare const PaginationPrevious: {
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/components/ui/pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,QAAA,MAAM,UAAU;8BAA6B,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;;CAOvE,CAAA;AAGD,QAAA,MAAM,iBAAiB,yKASrB,CAAA;AAGF,QAAA,MAAM,cAAc,kKAKlB,CAAA;AAGF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG;IAAE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;CAAE,GAC7C,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;AAE3B,QAAA,MAAM,cAAc;8CAKjB,mBAAmB;;CAYrB,CAAA;AAGD,QAAA,MAAM,kBAAkB;8BAGrB,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC;;CAU7C,CAAA;AAGD,QAAA,MAAM,cAAc;8BAGjB,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC;;CAU7C,CAAA;AAGD,QAAA,MAAM,kBAAkB;8BAGrB,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;;CAS9B,CAAA;AAGD,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,kBAAkB,GACnB,CAAA"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/components/ui/pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,QAAA,MAAM,UAAU;8BAA6B,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;;CAOvE,CAAA;AAGD,QAAA,MAAM,iBAAiB,yKASrB,CAAA;AAGF,QAAA,MAAM,cAAc,kKAKlB,CAAA;AAGF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG;IAAE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;CAAE,GAC7C,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;AAE3B,QAAA,MAAM,cAAc;oDAMjB,mBAAmB;;CAarB,CAAA;AAGD,QAAA,MAAM,kBAAkB;8BAGrB,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC;;CAU7C,CAAA;AAGD,QAAA,MAAM,cAAc;8BAGjB,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC;;CAU7C,CAAA;AAGD,QAAA,MAAM,kBAAkB;8BAGrB,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;;CAS9B,CAAA;AAGD,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,kBAAkB,GACnB,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { cn } from "../../lib/utils/index.js";
4
+ import { withBasePathIfInApp } from "../../lib/base-path.js";
4
5
  import { buttonVariants } from "./button.js";
5
6
  import { ChevronLeftIcon, ChevronRightIcon, DotsHorizontalIcon } from "@radix-ui/react-icons";
6
7
  const Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx(
@@ -28,6 +29,7 @@ const PaginationLink = ({
28
29
  className,
29
30
  isActive,
30
31
  size = "icon",
32
+ href,
31
33
  ...props
32
34
  }) => /* @__PURE__ */ jsx(
33
35
  "a",
@@ -40,6 +42,7 @@ const PaginationLink = ({
40
42
  }),
41
43
  className
42
44
  ),
45
+ href: href && withBasePathIfInApp(href),
43
46
  ...props
44
47
  }
45
48
  );
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  "use client";
3
3
 
4
- // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._whiycl2nvwq6otr7gzrisciudi/node_modules/@nextsparkjs/ui/dist/index.js
4
+ // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._dxxt5y7ju3wjwumel4zkzoawsq/node_modules/@nextsparkjs/ui/dist/index.js
5
5
  import { createContext, useContext, useMemo } from "react";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
  import * as React from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"relation-display.d.ts","sourceRoot":"","sources":["../../../src/components/ui/relation-display.tsx"],"names":[],"mappings":"AAKA,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAGD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAgB,EAChB,MAAM,EACP,EAAE,oBAAoB,2CAgJtB"}
1
+ {"version":3,"file":"relation-display.d.ts","sourceRoot":"","sources":["../../../src/components/ui/relation-display.tsx"],"names":[],"mappings":"AAMA,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAGD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAgB,EAChB,MAAM,EACP,EAAE,oBAAoB,2CAgJtB"}
@@ -2,6 +2,7 @@
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import { parseChildEntity, getEntityApiPath } from "@nextsparkjs/registries/entity-registry.client";
5
+ import { withBasePath } from "../../lib/base-path.js";
5
6
  function RelationDisplay({
6
7
  value,
7
8
  entityType,
@@ -50,7 +51,7 @@ function RelationDisplay({
50
51
  if (childInfo.isChild && childInfo.parentEntity && childInfo.childType && parentId) {
51
52
  const parentApiPath = getEntityApiPath(childInfo.parentEntity);
52
53
  if (parentApiPath) {
53
- url = new URL(`/api/v1/${parentApiPath}/${parentId}/child/${childInfo.childType}`, window.location.origin);
54
+ url = new URL(withBasePath(`/api/v1/${parentApiPath}/${parentId}/child/${childInfo.childType}`), window.location.origin);
54
55
  } else {
55
56
  console.warn(`No API path found for parent entity: ${childInfo.parentEntity}`);
56
57
  setLoading(false);
@@ -60,7 +61,7 @@ function RelationDisplay({
60
61
  const apiPath = getEntityApiPath(entityType);
61
62
  const hasSpecificAPI = apiPath !== null;
62
63
  if (hasSpecificAPI) {
63
- url = new URL(`/api/v1/${apiPath}`, window.location.origin);
64
+ url = new URL(withBasePath(`/api/v1/${apiPath}`), window.location.origin);
64
65
  url.searchParams.set("ids", ids.join(","));
65
66
  if (parentId) {
66
67
  url.searchParams.set("parentId", parentId);
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._whiycl2nvwq6otr7gzrisciudi/node_modules/@nextsparkjs/ui/dist/index.js
3
+ // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._dxxt5y7ju3wjwumel4zkzoawsq/node_modules/@nextsparkjs/ui/dist/index.js
4
4
  import { createContext, useContext, useMemo } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import * as React from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"simple-relation-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/simple-relation-select.tsx"],"names":[],"mappings":"AAuBA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAA;IACnD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAEzD,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,sEAAsE;IACtE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,QAAgB,EAChB,WAAyB,EACzB,iBAA+B,EAC/B,QAAgB,EAChB,QAAQ,EACR,SAAS,EACT,eAAuB,EACvB,eAAoB,EACpB,YAAoB,EACpB,MAAM,EACN,KAAU,EACV,MAAM,EACN,EAAE,GACH,EAAE,yBAAyB,2CAylB3B"}
1
+ {"version":3,"file":"simple-relation-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/simple-relation-select.tsx"],"names":[],"mappings":"AAwBA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAA;IACnD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAEzD,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,sEAAsE;IACtE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,QAAgB,EAChB,WAAyB,EACzB,iBAA+B,EAC/B,QAAgB,EAChB,QAAQ,EACR,SAAS,EACT,eAAuB,EACvB,eAAoB,EACpB,YAAoB,EACpB,MAAM,EACN,KAAU,EACV,MAAM,EACN,EAAE,GACH,EAAE,yBAAyB,2CAylB3B"}
@@ -19,6 +19,7 @@ import {
19
19
  CommandItem,
20
20
  CommandList
21
21
  } from "./command.js";
22
+ import { withBasePath } from "../../lib/base-path.js";
22
23
  function SimpleRelationSelect({
23
24
  value,
24
25
  onChange,
@@ -74,7 +75,7 @@ function SimpleRelationSelect({
74
75
  const hasSpecificAPI = apiPath !== null;
75
76
  let url;
76
77
  if (hasSpecificAPI) {
77
- url = new URL(`/api/v1/${apiPath}`, window.location.origin);
78
+ url = new URL(withBasePath(`/api/v1/${apiPath}`), window.location.origin);
78
79
  url.searchParams.set("fields", propField);
79
80
  url.searchParams.set("distinct", "true");
80
81
  url.searchParams.set("parentId", parentId);
@@ -103,7 +104,7 @@ function SimpleRelationSelect({
103
104
  if (childInfo.isChild && childInfo.parentEntity && childInfo.childType && parentId) {
104
105
  const parentApiPath = getEntityApiPath(childInfo.parentEntity);
105
106
  if (parentApiPath) {
106
- url = new URL(`/api/v1/${parentApiPath}/${parentId}/child/${childInfo.childType}`, window.location.origin);
107
+ url = new URL(withBasePath(`/api/v1/${parentApiPath}/${parentId}/child/${childInfo.childType}`), window.location.origin);
107
108
  } else {
108
109
  console.warn(`No API path found for parent entity: ${childInfo.parentEntity}`);
109
110
  return [];
@@ -112,7 +113,7 @@ function SimpleRelationSelect({
112
113
  const apiPath = getEntityApiPath(entityType);
113
114
  const hasSpecificAPI = apiPath !== null;
114
115
  if (hasSpecificAPI) {
115
- url = new URL(`/api/v1/${apiPath}`, window.location.origin);
116
+ url = new URL(withBasePath(`/api/v1/${apiPath}`), window.location.origin);
116
117
  url.searchParams.set("limit", String(limit));
117
118
  if (parentId) {
118
119
  url.searchParams.set("parentId", parentId);
@@ -178,7 +179,7 @@ function SimpleRelationSelect({
178
179
  if (childInfo.isChild && childInfo.parentEntity && childInfo.childType && parentId) {
179
180
  const parentApiPath = getEntityApiPath(childInfo.parentEntity);
180
181
  if (parentApiPath) {
181
- url = new URL(`/api/v1/${parentApiPath}/${parentId}/child/${childInfo.childType}`, window.location.origin);
182
+ url = new URL(withBasePath(`/api/v1/${parentApiPath}/${parentId}/child/${childInfo.childType}`), window.location.origin);
182
183
  } else {
183
184
  console.warn(`No API path found for parent entity: ${childInfo.parentEntity}`);
184
185
  return;
@@ -187,7 +188,7 @@ function SimpleRelationSelect({
187
188
  const apiPath = getEntityApiPath(entityType);
188
189
  const hasSpecificAPI = apiPath !== null;
189
190
  if (hasSpecificAPI) {
190
- url = new URL(`/api/v1/${apiPath}`, window.location.origin);
191
+ url = new URL(withBasePath(`/api/v1/${apiPath}`), window.location.origin);
191
192
  url.searchParams.set("ids", ids.join(","));
192
193
  if (parentId) {
193
194
  url.searchParams.set("parentId", parentId);
@@ -255,7 +256,7 @@ function SimpleRelationSelect({
255
256
  const hasSpecificAPI = apiPath !== null;
256
257
  let url;
257
258
  if (hasSpecificAPI) {
258
- url = new URL(`/api/v1/${apiPath}`, window.location.origin);
259
+ url = new URL(withBasePath(`/api/v1/${apiPath}`), window.location.origin);
259
260
  url.searchParams.set("fields", propField);
260
261
  url.searchParams.set("distinct", "true");
261
262
  url.searchParams.set("parentId", parentId);
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._whiycl2nvwq6otr7gzrisciudi/node_modules/@nextsparkjs/ui/dist/index.js
3
+ // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._dxxt5y7ju3wjwumel4zkzoawsq/node_modules/@nextsparkjs/ui/dist/index.js
4
4
  import { createContext, useContext, useMemo } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import * as React from "react";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  "use client";
3
3
 
4
- // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._whiycl2nvwq6otr7gzrisciudi/node_modules/@nextsparkjs/ui/dist/index.js
4
+ // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._dxxt5y7ju3wjwumel4zkzoawsq/node_modules/@nextsparkjs/ui/dist/index.js
5
5
  import { createContext, useContext, useMemo } from "react";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
  import * as React from "react";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._whiycl2nvwq6otr7gzrisciudi/node_modules/@nextsparkjs/ui/dist/index.js
3
+ // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._dxxt5y7ju3wjwumel4zkzoawsq/node_modules/@nextsparkjs/ui/dist/index.js
4
4
  import { createContext, useContext, useMemo } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import * as React from "react";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  "use client";
3
3
 
4
- // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._whiycl2nvwq6otr7gzrisciudi/node_modules/@nextsparkjs/ui/dist/index.js
4
+ // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._dxxt5y7ju3wjwumel4zkzoawsq/node_modules/@nextsparkjs/ui/dist/index.js
5
5
  import { createContext, useContext, useMemo } from "react";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
  import * as React from "react";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._whiycl2nvwq6otr7gzrisciudi/node_modules/@nextsparkjs/ui/dist/index.js
3
+ // ../../node_modules/.pnpm/@nextsparkjs+ui@0.1.0-beta.79_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19.2._dxxt5y7ju3wjwumel4zkzoawsq/node_modules/@nextsparkjs/ui/dist/index.js
4
4
  import { createContext, useContext, useMemo } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import * as React from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"user-display.d.ts","sourceRoot":"","sources":["../../../src/components/ui/user-display.tsx"],"names":[],"mappings":"AAQA,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAChC,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAUD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,MAAM,EAAE,UAAU,EAClB,QAAgB,EAChB,SAAiB,EACjB,SAAS,GACV,EAAE,gBAAgB,2CA0IlB"}
1
+ {"version":3,"file":"user-display.d.ts","sourceRoot":"","sources":["../../../src/components/ui/user-display.tsx"],"names":[],"mappings":"AASA,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAChC,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAUD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,MAAM,EAAE,UAAU,EAClB,QAAgB,EAChB,SAAiB,EACjB,SAAS,GACV,EAAE,gBAAgB,2CA0IlB"}
@@ -5,6 +5,7 @@ import { Avatar, AvatarFallback, AvatarImage } from "./avatar.js";
5
5
  import { Badge } from "./badge.js";
6
6
  import { cn } from "../../lib/utils/index.js";
7
7
  import { useTeam } from "../../hooks/useTeam.js";
8
+ import { withBasePath } from "../../lib/base-path.js";
8
9
  function UserDisplay({
9
10
  value,
10
11
  teamId: propTeamId,
@@ -33,7 +34,7 @@ function UserDisplay({
33
34
  setLoading(true);
34
35
  setError(null);
35
36
  try {
36
- const response = await fetch(`/api/v1/teams/${effectiveTeamId}/members`, {
37
+ const response = await fetch(withBasePath(`/api/v1/teams/${effectiveTeamId}/members`), {
37
38
  headers: {
38
39
  "Content-Type": "application/json",
39
40
  "x-team-id": effectiveTeamId
@@ -1 +1 @@
1
- {"version":3,"file":"user-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/user-select.tsx"],"names":[],"mappings":"AAaA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAGD,KAAK,aAAa,GAAG,YAAY,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;AAElF,UAAU,eAAe;IACvB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACrD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAU,EACV,QAAQ,EACR,QAAgB,EAChB,QAAQ,EACR,QAAgB,EAChB,SAAS,EACT,WAA+B,EAC/B,iBAAqC,EACrC,QAAQ,EACR,QAAQ,EACR,WAAmB,EACnB,UAAe,EACf,MAAM,GACP,EAAE,eAAe,2CAmXjB"}
1
+ {"version":3,"file":"user-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/user-select.tsx"],"names":[],"mappings":"AAcA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAGD,KAAK,aAAa,GAAG,YAAY,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;AAElF,UAAU,eAAe;IACvB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACrD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAU,EACV,QAAQ,EACR,QAAgB,EAChB,QAAQ,EACR,QAAgB,EAChB,SAAS,EACT,WAA+B,EAC/B,iBAAqC,EACrC,QAAQ,EACR,QAAQ,EACR,WAAmB,EACnB,UAAe,EACf,MAAM,GACP,EAAE,eAAe,2CAmXjB"}
@@ -10,6 +10,7 @@ import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from
10
10
  import { Avatar, AvatarFallback, AvatarImage } from "./avatar.js";
11
11
  import { cn } from "../../lib/utils/index.js";
12
12
  import { useTeam } from "../../hooks/useTeam.js";
13
+ import { withBasePath } from "../../lib/base-path.js";
13
14
  function UserSelect({
14
15
  value = [],
15
16
  onChange,
@@ -42,7 +43,7 @@ function UserSelect({
42
43
  setIsLoadingMembers(true);
43
44
  const fetchTeamMembers = async () => {
44
45
  try {
45
- const response = await fetch(`/api/v1/teams/${effectiveTeamId}/members`);
46
+ const response = await fetch(withBasePath(`/api/v1/teams/${effectiveTeamId}/members`));
46
47
  if (!response.ok) {
47
48
  console.error("Failed to fetch team members");
48
49
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"video-upload.d.ts","sourceRoot":"","sources":["../../../src/components/ui/video-upload.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,CAAA;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAU,EACV,QAAQ,EACR,SAAa,EACb,OAAa,EAAE,gBAAgB;AAC/B,QAAgB,EAChB,SAAS,EACT,QAAe,EACf,eAAsD,GACvD,EAAE,gBAAgB,2CAsPlB"}
1
+ {"version":3,"file":"video-upload.d.ts","sourceRoot":"","sources":["../../../src/components/ui/video-upload.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,CAAA;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAU,EACV,QAAQ,EACR,SAAa,EACb,OAAa,EAAE,gBAAgB;AAC/B,QAAgB,EAChB,SAAS,EACT,QAAe,EACf,eAAsD,GACvD,EAAE,gBAAgB,2CAsPlB"}
@@ -5,6 +5,7 @@ import NextImage from "next/image";
5
5
  import { X, Play, Download, Video } from "lucide-react";
6
6
  import { Button } from "./button.js";
7
7
  import { cn } from "../../lib/utils/index.js";
8
+ import { withBasePathIfInApp } from "../../lib/base-path.js";
8
9
  function VideoUpload({
9
10
  value = [],
10
11
  onChange,
@@ -187,7 +188,7 @@ function VideoUpload({
187
188
  video.thumbnail ? /* @__PURE__ */ jsx(
188
189
  NextImage,
189
190
  {
190
- src: video.thumbnail,
191
+ src: withBasePathIfInApp(video.thumbnail),
191
192
  alt: video.name,
192
193
  fill: true,
193
194
  className: "object-cover"
@@ -208,7 +209,7 @@ function VideoUpload({
208
209
  {
209
210
  variant: "ghost",
210
211
  size: "sm",
211
- onClick: () => window.open(video.url, "_blank"),
212
+ onClick: () => window.open(withBasePathIfInApp(video.url), "_blank"),
212
213
  children: /* @__PURE__ */ jsx(Download, { className: "h-4 w-4" })
213
214
  }
214
215
  ),
@@ -1 +1 @@
1
- {"version":3,"file":"UsersTable.d.ts","sourceRoot":"","sources":["../../../../src/components/users/tables/UsersTable.tsx"],"names":[],"mappings":"AAsCA,OAAO,EAEL,IAAI,EAUL,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAK1D,UAAU,IAAI;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AASD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,eAAe,2CA2Y1E"}
1
+ {"version":3,"file":"UsersTable.d.ts","sourceRoot":"","sources":["../../../../src/components/users/tables/UsersTable.tsx"],"names":[],"mappings":"AAsCA,OAAO,EAEL,IAAI,EAUL,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAM1D,UAAU,IAAI;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AASD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,eAAe,2CA2Y1E"}
@@ -53,6 +53,7 @@ import { useRoleTranslations } from "../../../lib/role-helpers.js";
53
53
  import Link from "next/link";
54
54
  import { useRouter } from "next/navigation";
55
55
  import { sel } from "../../../lib/test/index.js";
56
+ import { withBasePath } from "../../../lib/base-path.js";
56
57
  function UsersTable({ users, isLoading, onRefresh }) {
57
58
  const getRoleName = useRoleTranslations();
58
59
  const { toast } = useToast();
@@ -64,7 +65,7 @@ function UsersTable({ users, isLoading, onRefresh }) {
64
65
  const [pendingAction, setPendingAction] = useState(null);
65
66
  const actionMutation = useMutation({
66
67
  mutationFn: async ({ userId, action, role }) => {
67
- const response = await fetch(`/api/superadmin/users/${userId}`, {
68
+ const response = await fetch(withBasePath(`/api/superadmin/users/${userId}`), {
68
69
  method: "PATCH",
69
70
  headers: { "Content-Type": "application/json" },
70
71
  body: JSON.stringify({ action, role })
@@ -93,7 +94,7 @@ function UsersTable({ users, isLoading, onRefresh }) {
93
94
  });
94
95
  const deleteMutation = useMutation({
95
96
  mutationFn: async (userId) => {
96
- const response = await fetch(`/api/superadmin/users/${userId}`, {
97
+ const response = await fetch(withBasePath(`/api/superadmin/users/${userId}`), {
97
98
  method: "DELETE"
98
99
  });
99
100
  if (!response.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"SubscriptionContext.d.ts","sourceRoot":"","sources":["../../src/contexts/SubscriptionContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,SAAS,EAAW,MAAM,OAAO,CAAA;AAGrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAI3D,UAAU,SAAS;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAE9B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAGrC,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IACzC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IAC7C,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IAGjB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACzC,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IACzC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IAC7C,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,IAAI,CAAA;IAEnB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEjC,eAAe,EAAE,eAAe,CAAA;CACjC;AAID,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAwGzE;AAED,wBAAgB,sBAAsB,6BAMrC"}
1
+ {"version":3,"file":"SubscriptionContext.d.ts","sourceRoot":"","sources":["../../src/contexts/SubscriptionContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,SAAS,EAAW,MAAM,OAAO,CAAA;AAGrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAK3D,UAAU,SAAS;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAE9B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAGrC,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IACzC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IAC7C,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IAGjB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACzC,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IACzC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IAC7C,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,IAAI,CAAA;IAEnB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEjC,eAAe,EAAE,eAAe,CAAA;CACjC;AAID,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CA4GzE;AAED,wBAAgB,sBAAsB,6BAMrC"}
@@ -5,6 +5,7 @@ import { useQuery } from "@tanstack/react-query";
5
5
  import { useTeam } from "../hooks/useTeam.js";
6
6
  import { BILLING_REGISTRY } from "@nextsparkjs/registries/billing-registry";
7
7
  import { ApiError } from "../lib/api/api-error.js";
8
+ import { withBasePath } from "../lib/base-path.js";
8
9
  const SubscriptionContext = createContext(void 0);
9
10
  function SubscriptionProvider({ children }) {
10
11
  var _a;
@@ -20,13 +21,13 @@ function SubscriptionProvider({ children }) {
20
21
  queryFn: async () => {
21
22
  var _a2;
22
23
  if (!team) return null;
23
- const response = await fetch(`/api/v1/teams/${team.id}/subscription`);
24
+ const response = await fetch(withBasePath(`/api/v1/teams/${team.id}/subscription`));
25
+ if (response.status === 404) return null;
24
26
  if (!response.ok) {
25
- if (response.status === 404) return null;
26
27
  throw new ApiError("Failed to fetch subscription", { status: response.status });
27
28
  }
28
29
  const data = await response.json();
29
- return ((_a2 = data.data) == null ? void 0 : _a2.subscription) ?? data.data;
30
+ return ((_a2 = data.data) == null ? void 0 : _a2.subscription) ?? null;
30
31
  },
31
32
  enabled: !!team && BILLING_REGISTRY.plans.length > 0,
32
33
  // A 4xx, such as the 403 a role without billing access gets, comes back the
@@ -1 +1 @@
1
- {"version":3,"file":"TeamContext.d.ts","sourceRoot":"","sources":["../../src/contexts/TeamContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAwE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGvG,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAM7D,UAAU,gBAAgB;IACxB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,kBAAkB,EAAE,CAAA;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,wBAAwB,EAAE,OAAO,CAAA;IACjC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAClC;AAKD,eAAO,MAAM,eAAe,yBAA0B,CAAA;AAuGtD,wBAAsB,cAAc,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAkCpE;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CA+OjE;AAED,wBAAgB,cAAc,qBAM7B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,GAAG,SAAS,CAErE"}
1
+ {"version":3,"file":"TeamContext.d.ts","sourceRoot":"","sources":["../../src/contexts/TeamContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAwE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGvG,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAO7D,UAAU,gBAAgB;IACxB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,kBAAkB,EAAE,CAAA;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,wBAAwB,EAAE,OAAO,CAAA;IACjC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAClC;AAKD,eAAO,MAAM,eAAe,yBAA0B,CAAA;AAuGtD,wBAAsB,cAAc,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAkCpE;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CA+OjE;AAED,wBAAgB,cAAc,qBAM7B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,GAAG,SAAS,CAErE"}
@@ -7,6 +7,7 @@ import { useAuth } from "../hooks/useAuth.js";
7
7
  import { TeamSwitchModal } from "../components/teams/TeamSwitchModal.js";
8
8
  import { APP_CONFIG_MERGED } from "../lib/config/config-sync.js";
9
9
  import { canUserCreateTeam } from "../lib/teams/helpers.js";
10
+ import { withBasePath } from "../lib/base-path.js";
10
11
  const TeamContext = createContext(void 0);
11
12
  const TEAMS_QUERY_KEY = ["user-teams"];
12
13
  const activeTeamCookieWrites = /* @__PURE__ */ new WeakMap();
@@ -16,7 +17,7 @@ const ACTIVE_TEAM_REQUEST_TIMEOUT_MS = 1e4;
16
17
  function postActiveTeam(teamId) {
17
18
  const controller = new AbortController();
18
19
  const timeout = setTimeout(() => controller.abort(), ACTIVE_TEAM_REQUEST_TIMEOUT_MS);
19
- return fetch("/api/v1/teams/switch", {
20
+ return fetch(withBasePath("/api/v1/teams/switch"), {
20
21
  method: "POST",
21
22
  headers: { "Content-Type": "application/json" },
22
23
  body: JSON.stringify({ teamId }),
@@ -61,7 +62,7 @@ async function fetchUserTeams() {
61
62
  var _a;
62
63
  const rows = [];
63
64
  for (let page = 1; page <= MAX_TEAM_PAGES; page++) {
64
- const response = await fetch(page === 1 ? "/api/v1/teams" : `/api/v1/teams?page=${page}`);
65
+ const response = await fetch(withBasePath(page === 1 ? "/api/v1/teams" : `/api/v1/teams?page=${page}`));
65
66
  const data = await response.json();
66
67
  if (!response.ok || !data.data) {
67
68
  throw new Error("Failed to fetch teams");
@@ -1 +1 @@
1
- {"version":3,"file":"useAccountPreferencesSync.d.ts","sourceRoot":"","sources":["../../src/hooks/useAccountPreferencesSync.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAoE5F;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,aAIX,oBAAoB,YAAY,qBAAqB,UA4ClF"}
1
+ {"version":3,"file":"useAccountPreferencesSync.d.ts","sourceRoot":"","sources":["../../src/hooks/useAccountPreferencesSync.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAqE5F;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,aAIX,oBAAoB,YAAY,qBAAqB,UA4ClF"}
@@ -5,6 +5,7 @@ import { useTheme } from "next-themes";
5
5
  import { I18N_CONFIG } from "../lib/config/index.js";
6
6
  import { setUserLocaleClient } from "../lib/locale-client.js";
7
7
  import { setSessionHint } from "../lib/auth/session-hint.js";
8
+ import { withBasePath } from "../lib/base-path.js";
8
9
  const THEME_STORAGE_KEY = "theme";
9
10
  const THEME_MODES = ["light", "dark", "system"];
10
11
  const ACCOUNT_THEME_CHECKED_KEY = "nextspark.account_theme_checked";
@@ -75,7 +76,7 @@ function useAccountPreferencesSync() {
75
76
  }
76
77
  const userId = typeof user.id === "string" ? user.id : "signed-in";
77
78
  if (!forcedTheme && !hasStoredTheme() && claimAccountThemeCheck(userId)) {
78
- fetch("/api/user/profile?includeMeta=true").then((response) => {
79
+ fetch(withBasePath("/api/user/profile?includeMeta=true")).then((response) => {
79
80
  if (!response.ok) throw new Error(`Profile request failed with status ${response.status}`);
80
81
  return response.json();
81
82
  }).then((profile) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useApiExplorerNavigation.d.ts","sourceRoot":"","sources":["../../src/hooks/useApiExplorerNavigation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AAEzE,MAAM,WAAW,+BAA+B;IAC9C,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAA;IAChB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAC5E;AAED,MAAM,WAAW,8BAA8B;IAC7C,qCAAqC;IACrC,cAAc,EAAE,UAAU,GAAG,IAAI,CAAA;IACjC,8DAA8D;IAC9D,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,8BAA8B;IAC9B,kBAAkB,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9D,yCAAyC;IACzC,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,+BAA+B,GACvC,8BAA8B,CAiEhC"}
1
+ {"version":3,"file":"useApiExplorerNavigation.d.ts","sourceRoot":"","sources":["../../src/hooks/useApiExplorerNavigation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AAGzE,MAAM,WAAW,+BAA+B;IAC9C,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAA;IAChB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAC5E;AAED,MAAM,WAAW,8BAA8B;IAC7C,qCAAqC;IACrC,cAAc,EAAE,UAAU,GAAG,IAAI,CAAA;IACjC,8DAA8D;IAC9D,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,8BAA8B;IAC9B,kBAAkB,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9D,yCAAyC;IACzC,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,+BAA+B,GACvC,8BAA8B,CAiEhC"}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { usePathname, useRouter } from "next/navigation";
3
3
  import { useMemo, useCallback, useEffect, useRef } from "react";
4
+ import { withBasePath } from "../lib/base-path.js";
4
5
  function useApiExplorerNavigation(options) {
5
6
  const { basePath, onEndpointChange } = options;
6
7
  const pathname = usePathname();
@@ -30,7 +31,7 @@ function useApiExplorerNavigation(options) {
30
31
  const pathSegments = path.replace(/^\//, "");
31
32
  const newUrl = `${basePath}/${method}/${pathSegments}`;
32
33
  if (typeof window !== "undefined") {
33
- window.history.pushState(null, "", newUrl);
34
+ window.history.pushState(null, "", withBasePath(newUrl));
34
35
  } else {
35
36
  router.push(newUrl);
36
37
  }