convex-cms 0.0.5-alpha.4 → 0.0.5-alpha.5

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 (145) hide show
  1. package/README.md +3 -3
  2. package/admin/src/components/Sidebar.tsx +150 -58
  3. package/admin/src/components/ui/collapsible.tsx +7 -0
  4. package/admin/src/embed/components/EmbedSidebar.tsx +163 -68
  5. package/admin-dist/nitro.json +1 -1
  6. package/admin-dist/public/assets/{CmsEmptyState-CkqBIab3.js → CmsEmptyState-Do_erIgn.js} +1 -1
  7. package/admin-dist/public/assets/{CmsPageHeader-CUtl5MMG.js → CmsPageHeader-qDwPGi48.js} +1 -1
  8. package/admin-dist/public/assets/{CmsStatusBadge-CUYFgEe-.js → CmsStatusBadge-Dd9uToHE.js} +1 -1
  9. package/admin-dist/public/assets/{CmsSurface-CsJfAVa3.js → CmsSurface-DBy5Lumx.js} +1 -1
  10. package/admin-dist/public/assets/{CmsToolbar-CnfbcxeP.js → CmsToolbar-D1-Y-7SK.js} +1 -1
  11. package/admin-dist/public/assets/ContentEntryEditor-CWBiIx52.js +4 -0
  12. package/admin-dist/public/assets/{TaxonomyFilter-CWCxC5HZ.js → TaxonomyFilter-CdYQawxb.js} +1 -1
  13. package/admin-dist/public/assets/_contentTypeId-D9VMP6Gs.js +1 -0
  14. package/admin-dist/public/assets/_entryId-2FlCfqE7.js +1 -0
  15. package/admin-dist/public/assets/{alert-CF1BSzGR.js → alert-GxZx0y5c.js} +1 -1
  16. package/admin-dist/public/assets/{badge-CmuOIVKp.js → badge-BAlGIjop.js} +1 -1
  17. package/admin-dist/public/assets/{circle-check-big-BKDVG6DU.js → circle-check-big-CpLxAvEj.js} +1 -1
  18. package/admin-dist/public/assets/{command-XJxnF2Sd.js → command-di7XCqcv.js} +1 -1
  19. package/admin-dist/public/assets/content-D8zELsDG.js +1 -0
  20. package/admin-dist/public/assets/{content-types-CrNEm8Hf.js → content-types-BmzD0krT.js} +2 -2
  21. package/admin-dist/public/assets/globals-BvFfH-v9.css +1 -0
  22. package/admin-dist/public/assets/{index-C7xOwudI.js → index-zqfj4T_v.js} +1 -1
  23. package/admin-dist/public/assets/{label-CHCnXeBk.js → label-B6PPtKR5.js} +1 -1
  24. package/admin-dist/public/assets/{link-2-Bb34judH.js → link-2-W2fVnVOf.js} +1 -1
  25. package/admin-dist/public/assets/{list-9Pzt48ld.js → list-F8O0lZXC.js} +1 -1
  26. package/admin-dist/public/assets/main-dZT72bAG.js +97 -0
  27. package/admin-dist/public/assets/media-CETueFbV.js +1 -0
  28. package/admin-dist/public/assets/new._contentTypeId-BV2-TyyR.js +1 -0
  29. package/admin-dist/public/assets/{plus-Ceef7DHk.js → plus-AABQIF0N.js} +1 -1
  30. package/admin-dist/public/assets/{rotate-ccw-7k7-4VUq.js → rotate-ccw-BZpZtw0N.js} +1 -1
  31. package/admin-dist/public/assets/{scroll-area-CC6wujnp.js → scroll-area-CDfk-zrz.js} +1 -1
  32. package/admin-dist/public/assets/{search-DwoUV2pv.js → search-BvgYr-c9.js} +1 -1
  33. package/admin-dist/public/assets/{select-hOZTp8aC.js → select-BuiHcMzS.js} +1 -1
  34. package/admin-dist/public/assets/settings-DBxbYDvn.js +1 -0
  35. package/admin-dist/public/assets/{switch-jX2pDaNU.js → switch-DiJvolcs.js} +1 -1
  36. package/admin-dist/public/assets/tabs-Cgz6G_Xy.js +1 -0
  37. package/admin-dist/public/assets/{tanstack-adapter-B-Glm4kH.js → tanstack-adapter-BknsSgra.js} +1 -1
  38. package/admin-dist/public/assets/taxonomies-DOErsLl5.js +1 -0
  39. package/admin-dist/public/assets/{textarea-B6SfBmr0.js → textarea-CgggMxUX.js} +1 -1
  40. package/admin-dist/public/assets/{trash-BOCnIznD.js → trash-BU4ANuaW.js} +1 -1
  41. package/admin-dist/public/assets/{triangle-alert-CXFIO_Gu.js → triangle-alert-lvCbwp0s.js} +1 -1
  42. package/admin-dist/public/assets/{useBreadcrumbLabel-_6qBagc3.js → useBreadcrumbLabel-D00rvqjw.js} +1 -1
  43. package/admin-dist/public/assets/{usePermissions-M1ijZ7a6.js → usePermissions-D7tQowaF.js} +1 -1
  44. package/admin-dist/server/_chunks/_libs/@radix-ui/react-collapsible.mjs +144 -0
  45. package/admin-dist/server/_chunks/_libs/@radix-ui/react-slot.mjs +21 -21
  46. package/admin-dist/server/_libs/lucide-react.mjs +131 -124
  47. package/admin-dist/server/_ssr/{CmsButton-DOiTVKQq.mjs → CmsButton-DbzfJru_.mjs} +1 -1
  48. package/admin-dist/server/_ssr/{CmsEmptyState-fbnGt3LD.mjs → CmsEmptyState-CuvcXr3Z.mjs} +3 -3
  49. package/admin-dist/server/_ssr/{CmsPageHeader-DHRrdOZa.mjs → CmsPageHeader-ClNPU7Up.mjs} +1 -1
  50. package/admin-dist/server/_ssr/{CmsStatusBadge-s7obWbKZ.mjs → CmsStatusBadge-CojMbrY7.mjs} +2 -2
  51. package/admin-dist/server/_ssr/{CmsSurface-rFoYjb62.mjs → CmsSurface-Dcv440rp.mjs} +1 -1
  52. package/admin-dist/server/_ssr/{CmsToolbar-zTE45z2q.mjs → CmsToolbar-BKv1nL6u.mjs} +2 -2
  53. package/admin-dist/server/_ssr/{ContentEntryEditor-BLoEjT_m.mjs → ContentEntryEditor-weiXSBdZ.mjs} +35 -51
  54. package/admin-dist/server/_ssr/{TaxonomyFilter-XAtaJC2z.mjs → TaxonomyFilter-BPQ57Mwk.mjs} +7 -7
  55. package/admin-dist/server/_ssr/{_contentTypeId-Csl4822C.mjs → _contentTypeId-DyyauLOs.mjs} +24 -23
  56. package/admin-dist/server/_ssr/{_entryId-D8alLFBx.mjs → _entryId-9Cafwxmw.mjs} +22 -21
  57. package/admin-dist/server/_ssr/_tanstack-start-manifest_v-Dk-FIYPN.mjs +4 -0
  58. package/admin-dist/server/_ssr/{command-C0Di14--.mjs → command-CEf8YBxY.mjs} +1 -1
  59. package/admin-dist/server/_ssr/{content-CT-FPsmV.mjs → content-ZFWVzO25.mjs} +20 -19
  60. package/admin-dist/server/_ssr/{content-types-C8cBFdzE.mjs → content-types-D25lUE-j.mjs} +18 -17
  61. package/admin-dist/server/_ssr/{index-BJtcrEc-.mjs → index-BlSIlH4Z.mjs} +10 -9
  62. package/admin-dist/server/_ssr/index.mjs +2 -2
  63. package/admin-dist/server/_ssr/{label-qn2Afwl4.mjs → label-PblVvdRv.mjs} +1 -1
  64. package/admin-dist/server/_ssr/{media-qv5IAsMZ.mjs → media-CD2_NUMw.mjs} +683 -314
  65. package/admin-dist/server/_ssr/{new._contentTypeId-DdGyrhqs.mjs → new._contentTypeId-dmZy6PBX.mjs} +20 -19
  66. package/admin-dist/server/_ssr/{router-nSVkxb6Y.mjs → router-x6Ab8T4s.mjs} +109 -43
  67. package/admin-dist/server/_ssr/{scroll-area-BCinP455.mjs → scroll-area-BH_1K-WT.mjs} +1 -1
  68. package/admin-dist/server/_ssr/{select-BKQlQScw.mjs → select-CrfEkFJw.mjs} +2 -2
  69. package/admin-dist/server/_ssr/{settings-BCr2KQlk.mjs → settings-DVdsoWoh.mjs} +158 -105
  70. package/admin-dist/server/_ssr/{switch-BaOi42fE.mjs → switch-DX_X8vZl.mjs} +1 -1
  71. package/admin-dist/server/_ssr/{tabs-DYXEi9kq.mjs → tabs-4FWM0sn8.mjs} +3 -3
  72. package/admin-dist/server/_ssr/{tanstack-adapter-Bsz8kha-.mjs → tanstack-adapter-D3ZcKtbY.mjs} +1 -1
  73. package/admin-dist/server/_ssr/{taxonomies-CueMHTbE.mjs → taxonomies-BHFfO9Yr.mjs} +21 -20
  74. package/admin-dist/server/_ssr/{textarea-CI0Jqx2x.mjs → textarea-CZVaroMc.mjs} +1 -1
  75. package/admin-dist/server/_ssr/{trash-DE6W8GoX.mjs → trash-9tUB2KwI.mjs} +14 -13
  76. package/admin-dist/server/_ssr/{useBreadcrumbLabel-B5Yi72lM.mjs → useBreadcrumbLabel-DVme3DSb.mjs} +1 -1
  77. package/admin-dist/server/_ssr/{usePermissions-C3nZ-Izm.mjs → usePermissions-zAQj-ruE.mjs} +1 -1
  78. package/admin-dist/server/index.mjs +188 -188
  79. package/dist/cli/commands/init.d.ts +12 -2
  80. package/dist/cli/commands/init.d.ts.map +1 -1
  81. package/dist/cli/commands/init.js +136 -138
  82. package/dist/cli/commands/init.js.map +1 -1
  83. package/dist/cli/index.js +2 -1
  84. package/dist/cli/index.js.map +1 -1
  85. package/dist/cli/templates/admin.d.ts +10 -0
  86. package/dist/cli/templates/admin.d.ts.map +1 -0
  87. package/dist/cli/templates/admin.js +212 -0
  88. package/dist/cli/templates/admin.js.map +1 -0
  89. package/dist/cli/templates/cmsClient.d.ts +7 -0
  90. package/dist/cli/templates/cmsClient.d.ts.map +1 -0
  91. package/dist/cli/templates/cmsClient.js +36 -0
  92. package/dist/cli/templates/cmsClient.js.map +1 -0
  93. package/dist/cli/templates/cmsConfig.d.ts +7 -0
  94. package/dist/cli/templates/cmsConfig.d.ts.map +1 -0
  95. package/dist/cli/templates/cmsConfig.js +86 -0
  96. package/dist/cli/templates/cmsConfig.js.map +1 -0
  97. package/dist/cli/templates/index.d.ts +10 -0
  98. package/dist/cli/templates/index.d.ts.map +1 -0
  99. package/dist/cli/templates/index.js +10 -0
  100. package/dist/cli/templates/index.js.map +1 -0
  101. package/dist/cli/templates/schemas/blog.d.ts +8 -0
  102. package/dist/cli/templates/schemas/blog.d.ts.map +1 -0
  103. package/dist/cli/templates/schemas/blog.js +103 -0
  104. package/dist/cli/templates/schemas/blog.js.map +1 -0
  105. package/dist/cli/templates/schemas/docs.d.ts +8 -0
  106. package/dist/cli/templates/schemas/docs.d.ts.map +1 -0
  107. package/dist/cli/templates/schemas/docs.js +110 -0
  108. package/dist/cli/templates/schemas/docs.js.map +1 -0
  109. package/dist/cli/templates/schemas/index.d.ts +11 -0
  110. package/dist/cli/templates/schemas/index.d.ts.map +1 -0
  111. package/dist/cli/templates/schemas/index.js +13 -0
  112. package/dist/cli/templates/schemas/index.js.map +1 -0
  113. package/dist/cli/templates/schemas/landing.d.ts +8 -0
  114. package/dist/cli/templates/schemas/landing.d.ts.map +1 -0
  115. package/dist/cli/templates/schemas/landing.js +135 -0
  116. package/dist/cli/templates/schemas/landing.js.map +1 -0
  117. package/dist/cli/utils/fileUtils.d.ts +21 -0
  118. package/dist/cli/utils/fileUtils.d.ts.map +1 -0
  119. package/dist/cli/utils/fileUtils.js +95 -0
  120. package/dist/cli/utils/fileUtils.js.map +1 -0
  121. package/dist/cli/utils/prompts.d.ts +25 -0
  122. package/dist/cli/utils/prompts.d.ts.map +1 -0
  123. package/dist/cli/utils/prompts.js +87 -0
  124. package/dist/cli/utils/prompts.js.map +1 -0
  125. package/dist/client/agentTools.d.ts +1 -1427
  126. package/dist/client/agentTools.d.ts.map +1 -1
  127. package/dist/component/contentTypeMutations.d.ts +1 -1
  128. package/dist/test.d.ts +5 -0
  129. package/dist/test.d.ts.map +1 -1
  130. package/dist/test.js +0 -1
  131. package/dist/test.js.map +1 -1
  132. package/package.json +28 -28
  133. package/admin/README.md +0 -99
  134. package/admin-dist/public/assets/ContentEntryEditor-BU220CCy.js +0 -4
  135. package/admin-dist/public/assets/_contentTypeId-DK8cskRt.js +0 -1
  136. package/admin-dist/public/assets/_entryId-CuVMExbb.js +0 -1
  137. package/admin-dist/public/assets/content-QBUxdxbS.js +0 -1
  138. package/admin-dist/public/assets/globals-B7Wsfh_v.css +0 -1
  139. package/admin-dist/public/assets/main-CjQ2VI9L.js +0 -97
  140. package/admin-dist/public/assets/media-Dc5PWt2Q.js +0 -1
  141. package/admin-dist/public/assets/new._contentTypeId-C_I4YxIa.js +0 -1
  142. package/admin-dist/public/assets/settings-t2PbCZh4.js +0 -1
  143. package/admin-dist/public/assets/tabs-q4EbZk7c.js +0 -1
  144. package/admin-dist/public/assets/taxonomies-kyk5P4ZW.js +0 -1
  145. package/admin-dist/server/_ssr/_tanstack-start-manifest_v-BffZedId.mjs +0 -4
@@ -1,9 +1,9 @@
1
1
  import { j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
2
2
  import { d as useNavigate } from "../_chunks/_libs/@tanstack/react-router.mjs";
3
- import { p as Route, a as api } from "./router-nSVkxb6Y.mjs";
4
- import { C as ContentEntryEditor } from "./ContentEntryEditor-BLoEjT_m.mjs";
5
- import { u as useBreadcrumbLabel } from "./useBreadcrumbLabel-B5Yi72lM.mjs";
6
- import { C as CmsEmptyState } from "./CmsEmptyState-fbnGt3LD.mjs";
3
+ import { q as Route, a as api } from "./router-x6Ab8T4s.mjs";
4
+ import { C as ContentEntryEditor } from "./ContentEntryEditor-weiXSBdZ.mjs";
5
+ import { u as useBreadcrumbLabel } from "./useBreadcrumbLabel-DVme3DSb.mjs";
6
+ import { C as CmsEmptyState } from "./CmsEmptyState-CuvcXr3Z.mjs";
7
7
  import { u as useQuery } from "../_libs/convex.mjs";
8
8
  import { J as FileText } from "../_libs/lucide-react.mjs";
9
9
  import "../_libs/tiny-warning.mjs";
@@ -26,14 +26,17 @@ import "../_chunks/_libs/@tanstack/react-store.mjs";
26
26
  import "../_libs/use-sync-external-store.mjs";
27
27
  import "../_libs/clsx.mjs";
28
28
  import "../_libs/tailwind-merge.mjs";
29
- import "../_chunks/_libs/@radix-ui/react-slot.mjs";
30
- import "../_chunks/_libs/@radix-ui/react-compose-refs.mjs";
31
- import "../_chunks/_libs/@radix-ui/react-dropdown-menu.mjs";
29
+ import "../_chunks/_libs/@radix-ui/react-collapsible.mjs";
32
30
  import "../_chunks/_libs/@radix-ui/primitive.mjs";
33
31
  import "../_chunks/_libs/@radix-ui/react-context.mjs";
34
32
  import "../_chunks/_libs/@radix-ui/react-use-controllable-state.mjs";
35
33
  import "../_chunks/_libs/@radix-ui/react-use-layout-effect.mjs";
34
+ import "../_chunks/_libs/@radix-ui/react-compose-refs.mjs";
36
35
  import "../_chunks/_libs/@radix-ui/react-primitive.mjs";
36
+ import "../_chunks/_libs/@radix-ui/react-slot.mjs";
37
+ import "../_chunks/_libs/@radix-ui/react-presence.mjs";
38
+ import "../_chunks/_libs/@radix-ui/react-id.mjs";
39
+ import "../_chunks/_libs/@radix-ui/react-dropdown-menu.mjs";
37
40
  import "../_chunks/_libs/@radix-ui/react-menu.mjs";
38
41
  import "../_chunks/_libs/@radix-ui/react-collection.mjs";
39
42
  import "../_chunks/_libs/@radix-ui/react-direction.mjs";
@@ -50,9 +53,7 @@ import "../_chunks/_libs/@floating-ui/utils.mjs";
50
53
  import "../_chunks/_libs/@radix-ui/react-arrow.mjs";
51
54
  import "../_chunks/_libs/@radix-ui/react-use-size.mjs";
52
55
  import "../_chunks/_libs/@radix-ui/react-portal.mjs";
53
- import "../_chunks/_libs/@radix-ui/react-presence.mjs";
54
56
  import "../_chunks/_libs/@radix-ui/react-roving-focus.mjs";
55
- import "../_chunks/_libs/@radix-ui/react-id.mjs";
56
57
  import "../_libs/aria-hidden.mjs";
57
58
  import "../_libs/react-remove-scroll.mjs";
58
59
  import "../_libs/tslib.mjs";
@@ -74,25 +75,25 @@ import "node:http";
74
75
  import "node:https";
75
76
  import "node:http2";
76
77
  import "../_libs/zod.mjs";
77
- import "./label-qn2Afwl4.mjs";
78
+ import "./label-PblVvdRv.mjs";
78
79
  import "../_chunks/_libs/@radix-ui/react-label.mjs";
79
- import "./switch-BaOi42fE.mjs";
80
+ import "./switch-DX_X8vZl.mjs";
80
81
  import "../_chunks/_libs/@radix-ui/react-switch.mjs";
81
82
  import "../_chunks/_libs/@radix-ui/react-use-previous.mjs";
82
- import "./textarea-CI0Jqx2x.mjs";
83
+ import "./textarea-CZVaroMc.mjs";
83
84
  import "../_chunks/_libs/@radix-ui/react-separator.mjs";
84
- import "./select-BKQlQScw.mjs";
85
+ import "./select-CrfEkFJw.mjs";
85
86
  import "../_chunks/_libs/@radix-ui/react-select.mjs";
86
87
  import "../_chunks/_libs/@radix-ui/number.mjs";
87
88
  import "../_chunks/_libs/@radix-ui/react-visually-hidden.mjs";
88
- import "./tabs-DYXEi9kq.mjs";
89
- import "./CmsButton-DOiTVKQq.mjs";
89
+ import "./tabs-4FWM0sn8.mjs";
90
+ import "./CmsButton-DbzfJru_.mjs";
90
91
  import "../_chunks/_libs/@radix-ui/react-tabs.mjs";
91
- import "./command-C0Di14--.mjs";
92
+ import "./command-CEf8YBxY.mjs";
92
93
  import "../_libs/cmdk.mjs";
93
94
  import "../_chunks/_libs/@radix-ui/react-dialog.mjs";
94
- import "./CmsStatusBadge-s7obWbKZ.mjs";
95
- import "./scroll-area-BCinP455.mjs";
95
+ import "./CmsStatusBadge-CojMbrY7.mjs";
96
+ import "./scroll-area-BH_1K-WT.mjs";
96
97
  import "../_chunks/_libs/@radix-ui/react-scroll-area.mjs";
97
98
  import "../_libs/react-day-picker.mjs";
98
99
  import "../_libs/date-fns.mjs";
@@ -103,7 +104,7 @@ function NewEntryPage() {
103
104
  contentTypeId
104
105
  } = Route.useParams();
105
106
  const navigate = useNavigate();
106
- const contentType = useQuery(api.contentTypes.get, {
107
+ const contentType = useQuery(api.admin.getContentType, {
107
108
  id: contentTypeId
108
109
  });
109
110
  useBreadcrumbLabel(`/entries/new/${contentTypeId}`, contentType ? `New ${contentType.displayName}` : void 0);
@@ -2,6 +2,7 @@ import { c as createRouter, a as createRootRoute, b as createFileRoute, l as laz
2
2
  import { r as reactExports, j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
3
3
  import { c as clsx } from "../_libs/clsx.mjs";
4
4
  import { t as twMerge } from "../_libs/tailwind-merge.mjs";
5
+ import { R as Root$1, C as CollapsibleTrigger$1, a as CollapsibleContent$1 } from "../_chunks/_libs/@radix-ui/react-collapsible.mjs";
5
6
  import { S as Slot } from "../_chunks/_libs/@radix-ui/react-slot.mjs";
6
7
  import { R as Root2$1, T as Trigger$1, P as Portal2, C as Content2$1, L as Label2, S as Separator2, I as Item2 } from "../_chunks/_libs/@radix-ui/react-dropdown-menu.mjs";
7
8
  import { R as Root, I as Image, F as Fallback } from "../_chunks/_libs/@radix-ui/react-avatar.mjs";
@@ -29,12 +30,14 @@ import "stream";
29
30
  import "../_libs/isbot.mjs";
30
31
  import "../_chunks/_libs/@tanstack/react-store.mjs";
31
32
  import "../_libs/use-sync-external-store.mjs";
32
- import "../_chunks/_libs/@radix-ui/react-compose-refs.mjs";
33
33
  import "../_chunks/_libs/@radix-ui/primitive.mjs";
34
34
  import "../_chunks/_libs/@radix-ui/react-context.mjs";
35
35
  import "../_chunks/_libs/@radix-ui/react-use-controllable-state.mjs";
36
36
  import "../_chunks/_libs/@radix-ui/react-use-layout-effect.mjs";
37
+ import "../_chunks/_libs/@radix-ui/react-compose-refs.mjs";
37
38
  import "../_chunks/_libs/@radix-ui/react-primitive.mjs";
39
+ import "../_chunks/_libs/@radix-ui/react-presence.mjs";
40
+ import "../_chunks/_libs/@radix-ui/react-id.mjs";
38
41
  import "../_chunks/_libs/@radix-ui/react-menu.mjs";
39
42
  import "../_chunks/_libs/@radix-ui/react-collection.mjs";
40
43
  import "../_chunks/_libs/@radix-ui/react-direction.mjs";
@@ -51,9 +54,7 @@ import "../_chunks/_libs/@floating-ui/utils.mjs";
51
54
  import "../_chunks/_libs/@radix-ui/react-arrow.mjs";
52
55
  import "../_chunks/_libs/@radix-ui/react-use-size.mjs";
53
56
  import "../_chunks/_libs/@radix-ui/react-portal.mjs";
54
- import "../_chunks/_libs/@radix-ui/react-presence.mjs";
55
57
  import "../_chunks/_libs/@radix-ui/react-roving-focus.mjs";
56
- import "../_chunks/_libs/@radix-ui/react-id.mjs";
57
58
  import "../_libs/aria-hidden.mjs";
58
59
  import "../_libs/react-remove-scroll.mjs";
59
60
  import "../_libs/tslib.mjs";
@@ -70,7 +71,7 @@ import "../_libs/srvx.mjs";
70
71
  import "node:http";
71
72
  import "node:https";
72
73
  import "node:http2";
73
- const globalsCss = "/assets/globals-B7Wsfh_v.css";
74
+ const globalsCss = "/assets/globals-BvFfH-v9.css";
74
75
  function cn(...inputs) {
75
76
  return twMerge(clsx(inputs));
76
77
  }
@@ -483,7 +484,7 @@ function SettingsConfigProvider({
483
484
  baseConfig,
484
485
  children
485
486
  }) {
486
- const settings = useQuery(api.settings.get);
487
+ const settings = useQuery(api.admin.getSettings);
487
488
  const mergedConfig = reactExports.useMemo(() => {
488
489
  if (!settings) return baseConfig;
489
490
  return {
@@ -585,33 +586,97 @@ function Icon({
585
586
  }
586
587
  return /* @__PURE__ */ jsxRuntimeExports.jsx(IconComponent, { className });
587
588
  }
589
+ const Collapsible = Root$1;
590
+ const CollapsibleTrigger = CollapsibleTrigger$1;
591
+ const CollapsibleContent = CollapsibleContent$1;
588
592
  function Sidebar() {
589
593
  const routerState = useRouterState();
590
594
  const currentPath = routerState.location.pathname;
591
595
  const config = useAdminConfig();
592
596
  const { navItems, branding, layout } = config;
597
+ const contentTypesResult = useQuery(api.admin.listContentTypes, {
598
+ isActive: true
599
+ });
600
+ const contentTypes = contentTypesResult?.page ?? [];
593
601
  const isActive = (to, exact) => {
594
602
  if (exact) {
595
603
  return currentPath === to;
596
604
  }
597
605
  return currentPath.startsWith(to);
598
606
  };
599
- const renderNavItem = (item) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
600
- Link,
601
- {
602
- to: item.path,
603
- className: cn(
604
- "flex items-center gap-3 rounded-md px-2 py-2 text-sm font-medium transition-colors",
605
- isActive(item.path, item.exact) ? "bg-sidebar-accent text-sidebar-accent-foreground" : "text-sidebar-foreground hover:bg-sidebar-accent/50 hover:text-sidebar-accent-foreground"
607
+ const isContentActive = currentPath === "/content" || currentPath.startsWith("/entries/type/") || currentPath.startsWith("/entries/new/") || currentPath.startsWith("/entries/");
608
+ const renderNavItem = (item) => {
609
+ if (item.id === "content") {
610
+ return renderContentMenu(item);
611
+ }
612
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
613
+ Link,
614
+ {
615
+ to: item.path,
616
+ className: cn(
617
+ "flex items-center gap-3 rounded-md px-2 py-2 text-sm font-medium transition-colors",
618
+ isActive(item.path, item.exact) ? "bg-sidebar-accent text-sidebar-accent-foreground" : "text-sidebar-foreground hover:bg-sidebar-accent/50 hover:text-sidebar-accent-foreground"
619
+ ),
620
+ children: [
621
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { name: item.icon, className: "size-5" }),
622
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1", children: item.label }),
623
+ item.badge && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "rounded-full bg-sidebar-primary px-2 py-0.5 text-xs text-sidebar-primary-foreground", children: item.badge })
624
+ ]
625
+ },
626
+ item.id
627
+ );
628
+ };
629
+ const renderContentMenu = (item) => /* @__PURE__ */ jsxRuntimeExports.jsxs(Collapsible, { defaultOpen: isContentActive, children: [
630
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
631
+ CollapsibleTrigger,
632
+ {
633
+ className: cn(
634
+ "flex w-full items-center gap-3 rounded-md px-2 py-2 text-sm font-medium transition-colors",
635
+ isContentActive ? "bg-sidebar-accent text-sidebar-accent-foreground" : "text-sidebar-foreground hover:bg-sidebar-accent/50 hover:text-sidebar-accent-foreground",
636
+ "group"
637
+ ),
638
+ children: [
639
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { name: item.icon, className: "size-5" }),
640
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1 text-left", children: item.label }),
641
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { className: "size-4 transition-transform duration-200 group-data-[state=open]:rotate-180" })
642
+ ]
643
+ }
644
+ ),
645
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleContent, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ml-5 mt-1 space-y-1 border-l border-sidebar-border pl-3", children: [
646
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
647
+ Link,
648
+ {
649
+ to: "/content",
650
+ className: cn(
651
+ "flex items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors",
652
+ currentPath === "/content" ? "bg-sidebar-accent/60 text-sidebar-accent-foreground" : "text-sidebar-foreground/80 hover:bg-sidebar-accent/30 hover:text-sidebar-accent-foreground"
653
+ ),
654
+ children: "All Entries"
655
+ }
606
656
  ),
607
- children: [
608
- /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { name: item.icon, className: "size-5" }),
609
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1", children: item.label }),
610
- item.badge && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "rounded-full bg-sidebar-primary px-2 py-0.5 text-xs text-sidebar-primary-foreground", children: item.badge })
611
- ]
612
- },
613
- item.id
614
- );
657
+ contentTypes.map((type) => /* @__PURE__ */ jsxRuntimeExports.jsx(
658
+ Link,
659
+ {
660
+ to: "/entries/type/$contentTypeId",
661
+ params: { contentTypeId: type._id },
662
+ className: cn(
663
+ "flex items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors",
664
+ currentPath === `/entries/type/${type._id}` ? "bg-sidebar-accent/60 text-sidebar-accent-foreground" : "text-sidebar-foreground/80 hover:bg-sidebar-accent/30 hover:text-sidebar-accent-foreground"
665
+ ),
666
+ children: type.displayName
667
+ },
668
+ type._id
669
+ )),
670
+ contentTypes.length === 0 && contentTypesResult !== void 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(
671
+ Link,
672
+ {
673
+ to: "/content-types",
674
+ className: "flex items-center gap-2 rounded-md px-2 py-1.5 text-sm text-sidebar-foreground/60 hover:bg-sidebar-accent/30 hover:text-sidebar-accent-foreground",
675
+ children: "+ Create content type"
676
+ }
677
+ )
678
+ ] }) })
679
+ ] }, item.id);
615
680
  const sidebarWidth = layout.sidebarWidth;
616
681
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
617
682
  "aside",
@@ -1413,43 +1478,43 @@ function RootDocument({ children }) {
1413
1478
  ] })
1414
1479
  ] });
1415
1480
  }
1416
- const $$splitComponentImporter$9 = () => import("./trash-DE6W8GoX.mjs");
1481
+ const $$splitComponentImporter$9 = () => import("./trash-9tUB2KwI.mjs");
1417
1482
  const Route$9 = createFileRoute("/trash")({
1418
1483
  component: lazyRouteComponent($$splitComponentImporter$9, "component")
1419
1484
  });
1420
- const $$splitComponentImporter$8 = () => import("./taxonomies-CueMHTbE.mjs");
1485
+ const $$splitComponentImporter$8 = () => import("./taxonomies-BHFfO9Yr.mjs");
1421
1486
  const Route$8 = createFileRoute("/taxonomies")({
1422
1487
  component: lazyRouteComponent($$splitComponentImporter$8, "component")
1423
1488
  });
1424
- const $$splitComponentImporter$7 = () => import("./settings-BCr2KQlk.mjs");
1489
+ const $$splitComponentImporter$7 = () => import("./settings-DVdsoWoh.mjs");
1425
1490
  const Route$7 = createFileRoute("/settings")({
1426
1491
  component: lazyRouteComponent($$splitComponentImporter$7, "component")
1427
1492
  });
1428
- const $$splitComponentImporter$6 = () => import("./media-qv5IAsMZ.mjs");
1493
+ const $$splitComponentImporter$6 = () => import("./media-CD2_NUMw.mjs");
1429
1494
  const Route$6 = createFileRoute("/media")({
1430
1495
  component: lazyRouteComponent($$splitComponentImporter$6, "component")
1431
1496
  });
1432
- const $$splitComponentImporter$5 = () => import("./content-types-C8cBFdzE.mjs");
1497
+ const $$splitComponentImporter$5 = () => import("./content-types-D25lUE-j.mjs");
1433
1498
  const Route$5 = createFileRoute("/content-types")({
1434
1499
  component: lazyRouteComponent($$splitComponentImporter$5, "component")
1435
1500
  });
1436
- const $$splitComponentImporter$4 = () => import("./content-CT-FPsmV.mjs");
1501
+ const $$splitComponentImporter$4 = () => import("./content-ZFWVzO25.mjs");
1437
1502
  const Route$4 = createFileRoute("/content")({
1438
1503
  component: lazyRouteComponent($$splitComponentImporter$4, "component")
1439
1504
  });
1440
- const $$splitComponentImporter$3 = () => import("./index-BJtcrEc-.mjs");
1505
+ const $$splitComponentImporter$3 = () => import("./index-BlSIlH4Z.mjs");
1441
1506
  const Route$3 = createFileRoute("/")({
1442
1507
  component: lazyRouteComponent($$splitComponentImporter$3, "component")
1443
1508
  });
1444
- const $$splitComponentImporter$2 = () => import("./_entryId-D8alLFBx.mjs");
1509
+ const $$splitComponentImporter$2 = () => import("./_entryId-9Cafwxmw.mjs");
1445
1510
  const Route$2 = createFileRoute("/entries/$entryId")({
1446
1511
  component: lazyRouteComponent($$splitComponentImporter$2, "component")
1447
1512
  });
1448
- const $$splitComponentImporter$1 = () => import("./_contentTypeId-Csl4822C.mjs");
1513
+ const $$splitComponentImporter$1 = () => import("./_contentTypeId-DyyauLOs.mjs");
1449
1514
  const Route$1 = createFileRoute("/entries/type/$contentTypeId")({
1450
1515
  component: lazyRouteComponent($$splitComponentImporter$1, "component")
1451
1516
  });
1452
- const $$splitComponentImporter = () => import("./new._contentTypeId-DdGyrhqs.mjs");
1517
+ const $$splitComponentImporter = () => import("./new._contentTypeId-dmZy6PBX.mjs");
1453
1518
  const Route = createFileRoute("/entries/new/$contentTypeId")({
1454
1519
  component: lazyRouteComponent($$splitComponentImporter, "component")
1455
1520
  });
@@ -1540,17 +1605,18 @@ export {
1540
1605
  DropdownMenuContent as e,
1541
1606
  DropdownMenuItem as f,
1542
1607
  DropdownMenuSeparator as g,
1543
- Route$2 as h,
1544
- Route$1 as i,
1545
- PopoverTrigger as j,
1546
- PopoverContent as k,
1547
- useAuth as l,
1548
- getResourcePermissions as m,
1549
- canAccessResource as n,
1550
- hasPermission as o,
1551
- Route as p,
1552
- buttonVariants as q,
1553
- useBreadcrumbContext as r,
1554
- router as s,
1555
- useSettingsConfig as u
1608
+ useSettingsConfig as h,
1609
+ Route$2 as i,
1610
+ Route$1 as j,
1611
+ PopoverTrigger as k,
1612
+ PopoverContent as l,
1613
+ useAuth as m,
1614
+ getResourcePermissions as n,
1615
+ canAccessResource as o,
1616
+ hasPermission as p,
1617
+ Route as q,
1618
+ buttonVariants as r,
1619
+ useBreadcrumbContext as s,
1620
+ router as t,
1621
+ useAdminConfig as u
1556
1622
  };
@@ -1,6 +1,6 @@
1
1
  import { j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
2
2
  import { R as Root, V as Viewport, C as Corner, S as ScrollAreaScrollbar, a as ScrollAreaThumb } from "../_chunks/_libs/@radix-ui/react-scroll-area.mjs";
3
- import { c as cn } from "./router-nSVkxb6Y.mjs";
3
+ import { c as cn } from "./router-x6Ab8T4s.mjs";
4
4
  function ScrollArea({
5
5
  className,
6
6
  children,
@@ -1,7 +1,7 @@
1
1
  import { j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
2
2
  import { R as Root2, T as Trigger, I as Icon, V as Value, P as Portal, C as Content2, a as Viewport, b as Item, c as ItemIndicator, d as ItemText, S as ScrollUpButton, e as ScrollDownButton } from "../_chunks/_libs/@radix-ui/react-select.mjs";
3
- import { c as cn } from "./router-nSVkxb6Y.mjs";
4
- import { d as ChevronDown, Z as Check, ai as ChevronUp } from "../_libs/lucide-react.mjs";
3
+ import { c as cn } from "./router-x6Ab8T4s.mjs";
4
+ import { d as ChevronDown, _ as Check, aj as ChevronUp } from "../_libs/lucide-react.mjs";
5
5
  function Select({
6
6
  ...props
7
7
  }) {