kofi-stack-template-generator 2.1.37 → 2.1.39

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 (323) hide show
  1. package/.turbo/turbo-build.log +6 -6
  2. package/dist/index.js +8057 -440
  3. package/package.json +1 -1
  4. package/src/templates.generated.ts +248 -94
  5. package/templates/integrations/posthog/src/components/providers/posthog-provider.tsx.hbs +4 -1
  6. package/templates/marketing/payload/package.json.hbs +41 -26
  7. package/templates/marketing/payload/src/Footer/Component.client.tsx +288 -0
  8. package/templates/marketing/payload/src/Footer/Component.tsx +11 -0
  9. package/templates/marketing/payload/src/Footer/RowLabel.tsx +15 -0
  10. package/templates/marketing/payload/src/Footer/config.ts +178 -0
  11. package/templates/marketing/payload/src/Footer/hooks/{revalidateFooter.ts.hbs → revalidateFooter.ts} +5 -5
  12. package/templates/marketing/payload/src/Header/Component.client.tsx +94 -0
  13. package/templates/marketing/payload/src/Header/Component.tsx +10 -0
  14. package/templates/marketing/payload/src/Header/MegaMenu/index.tsx +197 -0
  15. package/templates/marketing/payload/src/Header/MobileMenu/HamburgerIcon.tsx +48 -0
  16. package/templates/marketing/payload/src/Header/MobileMenu/index.tsx +299 -0
  17. package/templates/marketing/payload/src/Header/Nav/index.tsx +76 -0
  18. package/templates/marketing/payload/src/Header/RowLabel.tsx +21 -0
  19. package/templates/marketing/payload/src/Header/config.ts +208 -0
  20. package/templates/marketing/payload/src/Header/hooks/{revalidateHeader.ts.hbs → revalidateHeader.ts} +5 -5
  21. package/templates/marketing/payload/src/access/{authenticated.ts.hbs → authenticated.ts} +1 -1
  22. package/templates/marketing/payload/src/access/{authenticatedOrPublished.ts.hbs → authenticatedOrPublished.ts} +8 -8
  23. package/templates/marketing/payload/src/app/(docs)/docs/[[...slug]]/page.tsx +117 -0
  24. package/templates/marketing/payload/src/app/(docs)/docs/layout.tsx +39 -0
  25. package/templates/marketing/payload/src/app/(docs)/layout.tsx +44 -0
  26. package/templates/marketing/payload/src/app/(frontend)/(sitemaps)/pages-sitemap.xml/route.ts +68 -0
  27. package/templates/marketing/payload/src/app/(frontend)/(sitemaps)/posts-sitemap.xml/route.ts +55 -0
  28. package/templates/marketing/payload/src/app/(frontend)/[slug]/page.client.tsx +15 -0
  29. package/templates/marketing/payload/src/app/(frontend)/[slug]/page.tsx +114 -0
  30. package/templates/marketing/payload/src/app/(frontend)/api/docs-search/route.ts +67 -0
  31. package/templates/marketing/payload/src/app/(frontend)/api/newsletter/route.ts +260 -0
  32. package/templates/marketing/payload/src/app/(frontend)/api/pricing/route.ts +266 -0
  33. package/templates/marketing/payload/src/app/(frontend)/globals.css +1019 -0
  34. package/templates/marketing/payload/src/app/(frontend)/layout.tsx +114 -0
  35. package/templates/marketing/payload/src/app/(frontend)/next/exit-preview/route.ts +7 -0
  36. package/templates/marketing/payload/src/app/(frontend)/next/preview/route.ts +56 -0
  37. package/templates/marketing/payload/src/app/(frontend)/next/seed/route.ts +31 -0
  38. package/templates/marketing/payload/src/app/(frontend)/not-found.tsx +17 -0
  39. package/templates/marketing/payload/src/app/(frontend)/page.tsx +5 -0
  40. package/templates/marketing/payload/src/app/(frontend)/posts/BlogPageClient.tsx +190 -0
  41. package/templates/marketing/payload/src/app/(frontend)/posts/[slug]/BlogPostContent.tsx +67 -0
  42. package/templates/marketing/payload/src/app/(frontend)/posts/[slug]/page.client.tsx +15 -0
  43. package/templates/marketing/payload/src/app/(frontend)/posts/[slug]/page.tsx +118 -0
  44. package/templates/marketing/payload/src/app/(frontend)/posts/page/[pageNumber]/page.client.tsx +15 -0
  45. package/templates/marketing/payload/src/app/(frontend)/posts/page/[pageNumber]/page.tsx +87 -0
  46. package/templates/marketing/payload/src/app/(frontend)/posts/page.tsx +49 -0
  47. package/templates/marketing/payload/src/app/(frontend)/search/page.client.tsx +15 -0
  48. package/templates/marketing/payload/src/app/(frontend)/search/page.tsx +87 -0
  49. package/templates/marketing/payload/src/app/(payload)/admin/[[...segments]]/not-found.tsx +24 -0
  50. package/templates/marketing/payload/src/app/(payload)/admin/[[...segments]]/page.tsx +24 -0
  51. package/templates/marketing/payload/src/app/(payload)/admin/importMap.js +83 -0
  52. package/templates/marketing/payload/src/app/(payload)/api/[...slug]/{route.ts.hbs → route.ts} +13 -9
  53. package/templates/marketing/payload/src/app/(payload)/api/graphql/{route.ts.hbs → route.ts} +2 -2
  54. package/templates/marketing/payload/src/app/(payload)/api/graphql-playground/{route.ts.hbs → route.ts} +3 -3
  55. package/templates/marketing/payload/src/app/(payload)/custom.scss +0 -0
  56. package/templates/marketing/payload/src/app/(payload)/layout.tsx +31 -0
  57. package/templates/marketing/payload/src/blocks/ArchiveBlock/Component.tsx +65 -0
  58. package/templates/marketing/payload/src/blocks/ArchiveBlock/config.ts +120 -0
  59. package/templates/marketing/payload/src/blocks/Banner/Component.tsx +26 -0
  60. package/templates/marketing/payload/src/blocks/Banner/config.ts +67 -0
  61. package/templates/marketing/payload/src/blocks/BentoFeatures/Component.tsx +243 -0
  62. package/templates/marketing/payload/src/blocks/BentoFeatures/config.ts +147 -0
  63. package/templates/marketing/payload/src/blocks/CallToAction/Component.tsx +31 -0
  64. package/templates/marketing/payload/src/blocks/CallToAction/config.ts +68 -0
  65. package/templates/marketing/payload/src/blocks/Code/Component.client.tsx +33 -0
  66. package/templates/marketing/payload/src/blocks/Code/Component.tsx +21 -0
  67. package/templates/marketing/payload/src/blocks/Code/CopyButton.tsx +33 -0
  68. package/templates/marketing/payload/src/blocks/Code/config.ts +33 -0
  69. package/templates/marketing/payload/src/blocks/Content/Component.tsx +41 -0
  70. package/templates/marketing/payload/src/blocks/Content/config.ts +105 -0
  71. package/templates/marketing/payload/src/blocks/FAQAccordion/Component.tsx +90 -0
  72. package/templates/marketing/payload/src/blocks/FAQAccordion/config.ts +75 -0
  73. package/templates/marketing/payload/src/blocks/FeatureGrid/Component.tsx +124 -0
  74. package/templates/marketing/payload/src/blocks/FeatureGrid/config.ts +120 -0
  75. package/templates/marketing/payload/src/blocks/FeatureShowcase/Component.tsx +107 -0
  76. package/templates/marketing/payload/src/blocks/FeatureShowcase/config.ts +111 -0
  77. package/templates/marketing/payload/src/blocks/FinalCTA/Component.tsx +117 -0
  78. package/templates/marketing/payload/src/blocks/FinalCTA/config.ts +50 -0
  79. package/templates/marketing/payload/src/blocks/Form/Checkbox/index.tsx +45 -0
  80. package/templates/marketing/payload/src/blocks/Form/Component.tsx +170 -0
  81. package/templates/marketing/payload/src/blocks/Form/Country/index.tsx +65 -0
  82. package/templates/marketing/payload/src/blocks/Form/Country/options.ts +982 -0
  83. package/templates/marketing/payload/src/blocks/Form/Email/index.tsx +38 -0
  84. package/templates/marketing/payload/src/blocks/Form/Error/index.tsx +13 -0
  85. package/templates/marketing/payload/src/blocks/Form/Message/index.tsx +13 -0
  86. package/templates/marketing/payload/src/blocks/Form/Number/index.tsx +36 -0
  87. package/templates/marketing/payload/src/blocks/Form/Select/index.tsx +63 -0
  88. package/templates/marketing/payload/src/blocks/Form/State/index.tsx +64 -0
  89. package/templates/marketing/payload/src/blocks/Form/State/options.ts +52 -0
  90. package/templates/marketing/payload/src/blocks/Form/Text/index.tsx +32 -0
  91. package/templates/marketing/payload/src/blocks/Form/Textarea/index.tsx +40 -0
  92. package/templates/marketing/payload/src/blocks/Form/Width/index.tsx +13 -0
  93. package/templates/marketing/payload/src/blocks/Form/config.ts +77 -0
  94. package/templates/marketing/payload/src/blocks/Form/fields.tsx +21 -0
  95. package/templates/marketing/payload/src/blocks/HowItWorks/Component.tsx +59 -0
  96. package/templates/marketing/payload/src/blocks/HowItWorks/config.ts +88 -0
  97. package/templates/marketing/payload/src/blocks/IndustryTabs/Component.tsx +132 -0
  98. package/templates/marketing/payload/src/blocks/IndustryTabs/config.ts +77 -0
  99. package/templates/marketing/payload/src/blocks/LogoBanner/Component.tsx +95 -0
  100. package/templates/marketing/payload/src/blocks/LogoBanner/config.ts +48 -0
  101. package/templates/marketing/payload/src/blocks/MediaBlock/Component.tsx +67 -0
  102. package/templates/marketing/payload/src/blocks/MediaBlock/config.ts +14 -0
  103. package/templates/marketing/payload/src/blocks/Personas/Component.tsx +69 -0
  104. package/templates/marketing/payload/src/blocks/Personas/config.ts +96 -0
  105. package/templates/marketing/payload/src/blocks/PricingTable/ComparisonTable.tsx +250 -0
  106. package/templates/marketing/payload/src/blocks/PricingTable/Component.tsx +443 -0
  107. package/templates/marketing/payload/src/blocks/PricingTable/config.ts +142 -0
  108. package/templates/marketing/payload/src/blocks/ProofBanner/Component.tsx +65 -0
  109. package/templates/marketing/payload/src/blocks/ProofBanner/config.ts +42 -0
  110. package/templates/marketing/payload/src/blocks/RelatedPosts/Component.tsx +32 -0
  111. package/templates/marketing/payload/src/blocks/RenderBlocks.tsx +92 -0
  112. package/templates/marketing/payload/src/blocks/TestimonialsGrid/Component.tsx +107 -0
  113. package/templates/marketing/payload/src/blocks/TestimonialsGrid/config.ts +76 -0
  114. package/templates/marketing/payload/src/blocks/TrustColumns/Component.tsx +83 -0
  115. package/templates/marketing/payload/src/blocks/TrustColumns/config.ts +70 -0
  116. package/templates/marketing/payload/src/collections/Categories.ts +28 -0
  117. package/templates/marketing/payload/src/collections/FAQs/index.ts +100 -0
  118. package/templates/marketing/payload/src/collections/Media.ts +160 -0
  119. package/templates/marketing/payload/src/collections/Pages/hooks/revalidatePage.ts +43 -0
  120. package/templates/marketing/payload/src/collections/Pages/index.ts +168 -0
  121. package/templates/marketing/payload/src/collections/Posts/hooks/populateAuthors.ts +41 -0
  122. package/templates/marketing/payload/src/collections/Posts/hooks/revalidatePost.ts +44 -0
  123. package/templates/marketing/payload/src/collections/Posts/index.ts +259 -0
  124. package/templates/marketing/payload/src/collections/Users/index.ts +26 -0
  125. package/templates/marketing/payload/src/components/AdminBar/index.scss +7 -0
  126. package/templates/marketing/payload/src/components/AdminBar/index.tsx +89 -0
  127. package/templates/marketing/payload/src/components/Analytics/CTATracker.tsx +33 -0
  128. package/templates/marketing/payload/src/components/Analytics/FeatureSectionTracker.tsx +47 -0
  129. package/templates/marketing/payload/src/components/Analytics/PricingViewTracker.tsx +46 -0
  130. package/templates/marketing/payload/src/components/Analytics/index.tsx +3 -0
  131. package/templates/marketing/payload/src/components/BeforeDashboard/SeedButton/index.tsx +89 -0
  132. package/templates/marketing/payload/src/components/BeforeDashboard/index.tsx +69 -0
  133. package/templates/marketing/payload/src/components/BeforeLogin/index.tsx +14 -0
  134. package/templates/marketing/payload/src/components/BlogCTA/index.tsx +77 -0
  135. package/templates/marketing/payload/src/components/Card/index.tsx +85 -0
  136. package/templates/marketing/payload/src/components/CollectionArchive/index.tsx +32 -0
  137. package/templates/marketing/payload/src/components/JsonLd/index.tsx +138 -0
  138. package/templates/marketing/payload/src/components/Link/index.tsx +66 -0
  139. package/templates/marketing/payload/src/components/LivePreviewListener/index.tsx +10 -0
  140. package/templates/marketing/payload/src/components/Logo/Logo.tsx +46 -0
  141. package/templates/marketing/payload/src/components/Media/ImageMedia/index.tsx +80 -0
  142. package/templates/marketing/payload/src/components/Media/VideoMedia/index.tsx +47 -0
  143. package/templates/marketing/payload/src/components/Media/index.tsx +26 -0
  144. package/templates/marketing/payload/src/components/Media/types.ts +22 -0
  145. package/templates/marketing/payload/src/components/PageRange/index.tsx +57 -0
  146. package/templates/marketing/payload/src/components/Pagination/index.tsx +101 -0
  147. package/templates/marketing/payload/src/components/PayloadRedirects/index.tsx +48 -0
  148. package/templates/marketing/payload/src/components/RichText/index.tsx +152 -0
  149. package/templates/marketing/payload/src/components/TableOfContents/index.tsx +128 -0
  150. package/templates/marketing/payload/src/components/ui/accordion.tsx +64 -0
  151. package/templates/marketing/payload/src/components/ui/button.tsx +52 -0
  152. package/templates/marketing/payload/src/components/ui/card.tsx +48 -0
  153. package/templates/marketing/payload/src/components/ui/checkbox.tsx +27 -0
  154. package/templates/marketing/payload/src/components/ui/input.tsx +22 -0
  155. package/templates/marketing/payload/src/components/ui/label.tsx +19 -0
  156. package/templates/marketing/payload/src/components/ui/pagination.tsx +92 -0
  157. package/templates/marketing/payload/src/components/ui/select.tsx +144 -0
  158. package/templates/marketing/payload/src/components/ui/textarea.tsx +21 -0
  159. package/templates/marketing/payload/src/endpoints/seed/contact-form.ts +111 -0
  160. package/templates/marketing/payload/src/endpoints/seed/contact-page.ts +56 -0
  161. package/templates/marketing/payload/src/endpoints/seed/directoryhub/about.ts +281 -0
  162. package/templates/marketing/payload/src/endpoints/seed/directoryhub/faqs.ts +224 -0
  163. package/templates/marketing/payload/src/endpoints/seed/directoryhub/features/automation.ts +229 -0
  164. package/templates/marketing/payload/src/endpoints/seed/directoryhub/features/custom-fields.ts +229 -0
  165. package/templates/marketing/payload/src/endpoints/seed/directoryhub/features/dashboard.ts +228 -0
  166. package/templates/marketing/payload/src/endpoints/seed/directoryhub/features/index.ts +6 -0
  167. package/templates/marketing/payload/src/endpoints/seed/directoryhub/features/monetization.ts +230 -0
  168. package/templates/marketing/payload/src/endpoints/seed/directoryhub/features/seo.ts +229 -0
  169. package/templates/marketing/payload/src/endpoints/seed/directoryhub/features/templates.ts +218 -0
  170. package/templates/marketing/payload/src/endpoints/seed/directoryhub/home.ts +555 -0
  171. package/templates/marketing/payload/src/endpoints/seed/directoryhub/index.ts +767 -0
  172. package/templates/marketing/payload/src/endpoints/seed/directoryhub/posts.ts +623 -0
  173. package/templates/marketing/payload/src/endpoints/seed/directoryhub/pricing.ts +251 -0
  174. package/templates/marketing/payload/src/endpoints/seed/directoryhub/privacy.ts +457 -0
  175. package/templates/marketing/payload/src/endpoints/seed/directoryhub/richtext-helper.ts +88 -0
  176. package/templates/marketing/payload/src/endpoints/seed/directoryhub/terms.ts +478 -0
  177. package/templates/marketing/payload/src/endpoints/seed/directoryhub/use-cases/b2b-vendor-hubs.ts +229 -0
  178. package/templates/marketing/payload/src/endpoints/seed/directoryhub/use-cases/communities.ts +230 -0
  179. package/templates/marketing/payload/src/endpoints/seed/directoryhub/use-cases/index.ts +4 -0
  180. package/templates/marketing/payload/src/endpoints/seed/directoryhub/use-cases/local-services.ts +230 -0
  181. package/templates/marketing/payload/src/endpoints/seed/directoryhub/use-cases/marketplaces.ts +230 -0
  182. package/templates/marketing/payload/src/endpoints/seed/home-static.ts +691 -0
  183. package/templates/marketing/payload/src/endpoints/seed/home.ts +675 -0
  184. package/templates/marketing/payload/src/endpoints/seed/image-1.ts +67 -0
  185. package/templates/marketing/payload/src/endpoints/seed/image-2.ts +67 -0
  186. package/templates/marketing/payload/src/endpoints/seed/image-3.ts +67 -0
  187. package/templates/marketing/payload/src/endpoints/seed/image-hero-1.ts +5 -0
  188. package/templates/marketing/payload/src/endpoints/seed/image-hero1.webp +0 -0
  189. package/templates/marketing/payload/src/endpoints/seed/image-post1.webp +0 -0
  190. package/templates/marketing/payload/src/endpoints/seed/image-post2.webp +0 -0
  191. package/templates/marketing/payload/src/endpoints/seed/image-post3.webp +0 -0
  192. package/templates/marketing/payload/src/endpoints/seed/index.ts +335 -0
  193. package/templates/marketing/payload/src/endpoints/seed/post-1.ts +315 -0
  194. package/templates/marketing/payload/src/endpoints/seed/post-2.ts +232 -0
  195. package/templates/marketing/payload/src/endpoints/seed/post-3.ts +268 -0
  196. package/templates/marketing/payload/src/fields/defaultLexical.ts +73 -0
  197. package/templates/marketing/payload/src/fields/link.ts +139 -0
  198. package/templates/marketing/payload/src/fields/linkGroup.ts +28 -0
  199. package/templates/marketing/payload/src/heros/HighImpact/index.tsx +56 -0
  200. package/templates/marketing/payload/src/heros/LowImpact/index.tsx +48 -0
  201. package/templates/marketing/payload/src/heros/MediumImpact/index.tsx +50 -0
  202. package/templates/marketing/payload/src/heros/PostHero/index.tsx +73 -0
  203. package/templates/marketing/payload/src/heros/ProductShowcase/AnimatedMockup.tsx +241 -0
  204. package/templates/marketing/payload/src/heros/ProductShowcase/index.tsx +108 -0
  205. package/templates/marketing/payload/src/heros/{RenderHero.tsx.hbs → RenderHero.tsx} +9 -9
  206. package/templates/marketing/payload/src/heros/config.ts +121 -0
  207. package/templates/marketing/payload/src/hooks/populatePublishedAt.ts +15 -0
  208. package/templates/marketing/payload/src/hooks/{revalidateRedirects.ts.hbs → revalidateRedirects.ts} +3 -3
  209. package/templates/marketing/payload/src/lib/convex.ts +13 -0
  210. package/templates/marketing/payload/src/lib/docs-source.ts +138 -0
  211. package/templates/marketing/payload/src/lib/mdx.tsx +191 -0
  212. package/templates/marketing/payload/src/payload.config.ts.hbs +95 -145
  213. package/templates/marketing/payload/src/plugins/index.ts +107 -0
  214. package/templates/marketing/payload/src/providers/HeaderTheme/index.tsx +34 -0
  215. package/templates/marketing/payload/src/providers/PostHogProvider.tsx +33 -0
  216. package/templates/marketing/payload/src/providers/Theme/InitTheme/{index.tsx.hbs → index.tsx} +11 -10
  217. package/templates/marketing/payload/src/providers/Theme/ThemeSelector/index.tsx +133 -0
  218. package/templates/marketing/payload/src/providers/Theme/ThemeSelector/types.ts +7 -0
  219. package/templates/marketing/payload/src/providers/Theme/index.tsx +60 -0
  220. package/templates/marketing/payload/src/providers/Theme/shared.ts +17 -0
  221. package/templates/marketing/payload/src/providers/Theme/{types.ts.hbs → types.ts} +3 -3
  222. package/templates/marketing/payload/src/providers/index.tsx +17 -0
  223. package/templates/marketing/payload/src/search/Component.tsx +42 -0
  224. package/templates/marketing/payload/src/search/beforeSync.ts +56 -0
  225. package/templates/marketing/payload/src/search/fieldOverrides.ts +61 -0
  226. package/templates/marketing/payload/src/utilities/deepMerge.ts +35 -0
  227. package/templates/marketing/payload/src/utilities/extractHeadings.ts +78 -0
  228. package/templates/marketing/payload/src/utilities/formatAuthors.ts +24 -0
  229. package/templates/marketing/payload/src/utilities/formatDateTime.ts +20 -0
  230. package/templates/marketing/payload/src/utilities/generateMeta.ts +93 -0
  231. package/templates/marketing/payload/src/utilities/generatePreviewPath.ts +33 -0
  232. package/templates/marketing/payload/src/utilities/getDocument.ts +32 -0
  233. package/templates/marketing/payload/src/utilities/getGlobals.ts +26 -0
  234. package/templates/marketing/payload/src/utilities/getMeUser.ts +43 -0
  235. package/templates/marketing/payload/src/utilities/getMediaUrl.ts +24 -0
  236. package/templates/marketing/payload/src/utilities/getRedirects.ts +26 -0
  237. package/templates/marketing/payload/src/utilities/getURL.ts +26 -0
  238. package/templates/marketing/payload/src/utilities/mergeOpenGraph.ts +26 -0
  239. package/templates/marketing/payload/src/utilities/toKebabCase.ts +5 -0
  240. package/templates/marketing/payload/src/utilities/ui.ts +12 -0
  241. package/templates/marketing/payload/src/utilities/useClickableCard.ts +108 -0
  242. package/templates/marketing/payload/src/utilities/useDebounce.ts +17 -0
  243. package/templates/packages/ui/src/components/button.tsx.hbs +53 -0
  244. package/templates/packages/ui/src/components/card.tsx.hbs +76 -0
  245. package/templates/packages/ui/src/components/separator.tsx.hbs +26 -0
  246. package/templates/marketing/payload/src/Footer/config.ts.hbs +0 -178
  247. package/templates/marketing/payload/src/Footer/index.ts.hbs +0 -1
  248. package/templates/marketing/payload/src/Header/RowLabel.tsx.hbs +0 -21
  249. package/templates/marketing/payload/src/Header/config.ts.hbs +0 -208
  250. package/templates/marketing/payload/src/Header/index.ts.hbs +0 -1
  251. package/templates/marketing/payload/src/access/index.ts.hbs +0 -3
  252. package/templates/marketing/payload/src/app/(frontend)/layout.tsx.hbs +0 -19
  253. package/templates/marketing/payload/src/app/(frontend)/next/seed/route.ts.hbs +0 -31
  254. package/templates/marketing/payload/src/app/(frontend)/page.tsx.hbs +0 -83
  255. package/templates/marketing/payload/src/app/(payload)/admin/[[...segments]]/not-found.tsx.hbs +0 -24
  256. package/templates/marketing/payload/src/app/(payload)/admin/[[...segments]]/page.tsx.hbs +0 -24
  257. package/templates/marketing/payload/src/app/(payload)/admin/importMap.js.hbs +0 -1
  258. package/templates/marketing/payload/src/app/(payload)/custom.scss.hbs +0 -1
  259. package/templates/marketing/payload/src/app/(payload)/layout.tsx.hbs +0 -31
  260. package/templates/marketing/payload/src/app/globals.css.hbs +0 -83
  261. package/templates/marketing/payload/src/app/layout.tsx.hbs +0 -10
  262. package/templates/marketing/payload/src/blocks/Benefits.ts.hbs +0 -34
  263. package/templates/marketing/payload/src/blocks/CTA.ts.hbs +0 -39
  264. package/templates/marketing/payload/src/blocks/Content.ts.hbs +0 -9
  265. package/templates/marketing/payload/src/blocks/FAQ.ts.hbs +0 -18
  266. package/templates/marketing/payload/src/blocks/Features.ts.hbs +0 -34
  267. package/templates/marketing/payload/src/blocks/Hero.ts.hbs +0 -40
  268. package/templates/marketing/payload/src/blocks/LogoBanner.ts.hbs +0 -17
  269. package/templates/marketing/payload/src/blocks/Pricing.ts.hbs +0 -37
  270. package/templates/marketing/payload/src/blocks/Testimonials.ts.hbs +0 -21
  271. package/templates/marketing/payload/src/blocks/index.ts.hbs +0 -9
  272. package/templates/marketing/payload/src/collections/Categories/index.ts.hbs +0 -28
  273. package/templates/marketing/payload/src/collections/FAQs/index.ts.hbs +0 -100
  274. package/templates/marketing/payload/src/collections/Media.ts.hbs +0 -164
  275. package/templates/marketing/payload/src/collections/Pages/hooks/revalidatePage.ts.hbs +0 -43
  276. package/templates/marketing/payload/src/collections/Pages/index.ts.hbs +0 -142
  277. package/templates/marketing/payload/src/collections/Posts/hooks/populateAuthors.ts.hbs +0 -41
  278. package/templates/marketing/payload/src/collections/Posts/hooks/revalidatePost.ts.hbs +0 -44
  279. package/templates/marketing/payload/src/collections/Posts/index.ts.hbs +0 -244
  280. package/templates/marketing/payload/src/collections/Users/index.ts.hbs +0 -26
  281. package/templates/marketing/payload/src/collections/index.ts.hbs +0 -6
  282. package/templates/marketing/payload/src/components/BeforeDashboard/SeedButton/index.tsx.hbs +0 -89
  283. package/templates/marketing/payload/src/components/BeforeDashboard/index.tsx.hbs +0 -69
  284. package/templates/marketing/payload/src/components/BeforeLogin/index.tsx.hbs +0 -14
  285. package/templates/marketing/payload/src/components/Link/index.tsx.hbs +0 -79
  286. package/templates/marketing/payload/src/components/Media/index.tsx.hbs +0 -67
  287. package/templates/marketing/payload/src/components/RichText/index.tsx.hbs +0 -44
  288. package/templates/marketing/payload/src/endpoints/seed/home.ts.hbs +0 -76
  289. package/templates/marketing/payload/src/endpoints/seed/image-1.ts.hbs +0 -5
  290. package/templates/marketing/payload/src/endpoints/seed/image-2.ts.hbs +0 -5
  291. package/templates/marketing/payload/src/endpoints/seed/image-hero.ts.hbs +0 -5
  292. package/templates/marketing/payload/src/endpoints/seed/index.ts.hbs +0 -235
  293. package/templates/marketing/payload/src/endpoints/seed/post-1.ts.hbs +0 -252
  294. package/templates/marketing/payload/src/fields/defaultLexical.ts.hbs +0 -73
  295. package/templates/marketing/payload/src/fields/link.ts.hbs +0 -139
  296. package/templates/marketing/payload/src/fields/linkGroup.ts.hbs +0 -28
  297. package/templates/marketing/payload/src/globals/index.ts.hbs +0 -2
  298. package/templates/marketing/payload/src/heros/HighImpact/index.tsx.hbs +0 -53
  299. package/templates/marketing/payload/src/heros/LowImpact/index.tsx.hbs +0 -48
  300. package/templates/marketing/payload/src/heros/MediumImpact/index.tsx.hbs +0 -46
  301. package/templates/marketing/payload/src/heros/PostHero/index.tsx.hbs +0 -68
  302. package/templates/marketing/payload/src/heros/ProductShowcase/index.tsx.hbs +0 -88
  303. package/templates/marketing/payload/src/heros/config.ts.hbs +0 -112
  304. package/templates/marketing/payload/src/heros/index.ts.hbs +0 -7
  305. package/templates/marketing/payload/src/hooks/index.ts.hbs +0 -2
  306. package/templates/marketing/payload/src/hooks/populatePublishedAt.ts.hbs +0 -15
  307. package/templates/marketing/payload/src/providers/HeaderTheme/index.tsx.hbs +0 -34
  308. package/templates/marketing/payload/src/providers/Theme/index.tsx.hbs +0 -60
  309. package/templates/marketing/payload/src/providers/Theme/shared.ts.hbs +0 -17
  310. package/templates/marketing/payload/src/providers/index.tsx.hbs +0 -18
  311. package/templates/marketing/payload/src/utilities/deepMerge.ts.hbs +0 -35
  312. package/templates/marketing/payload/src/utilities/formatAuthors.ts.hbs +0 -24
  313. package/templates/marketing/payload/src/utilities/formatDateTime.ts.hbs +0 -13
  314. package/templates/marketing/payload/src/utilities/generateMeta.ts.hbs +0 -87
  315. package/templates/marketing/payload/src/utilities/generatePreviewPath.ts.hbs +0 -33
  316. package/templates/marketing/payload/src/utilities/getURL.ts.hbs +0 -26
  317. package/templates/marketing/payload/src/utilities/index.ts.hbs +0 -8
  318. package/templates/marketing/payload/src/utilities/mergeOpenGraph.ts.hbs +0 -26
  319. /package/templates/marketing/payload/src/access/{anyone.ts.hbs → anyone.ts} +0 -0
  320. /package/templates/marketing/payload/src/components/BeforeDashboard/SeedButton/{index.scss.hbs → index.scss} +0 -0
  321. /package/templates/marketing/payload/src/components/BeforeDashboard/{index.scss.hbs → index.scss} +0 -0
  322. /package/templates/marketing/payload/src/fields/{index.ts.hbs → index.ts} +0 -0
  323. /package/templates/marketing/payload/src/utilities/{canUseDOM.ts.hbs → canUseDOM.ts} +0 -0
@@ -0,0 +1,251 @@
1
+ import type { Page } from "@/payload-types"
2
+ import { createParagraph } from "./richtext-helper"
3
+
4
+ export const directoryHubPricing = (): Partial<Page> => {
5
+ return {
6
+ slug: "pricing",
7
+ _status: "published",
8
+ hero: {
9
+ type: "lowImpact",
10
+ richText: {
11
+ root: {
12
+ type: "root",
13
+ children: [
14
+ {
15
+ type: "heading",
16
+ children: [
17
+ {
18
+ type: "text",
19
+ detail: 0,
20
+ format: 0,
21
+ mode: "normal",
22
+ style: "",
23
+ text: "Simple, Transparent Pricing",
24
+ version: 1,
25
+ },
26
+ ],
27
+ direction: "ltr" as const,
28
+ format: "" as const,
29
+ indent: 0,
30
+ tag: "h1",
31
+ version: 1,
32
+ },
33
+ {
34
+ type: "paragraph",
35
+ children: [
36
+ {
37
+ type: "text",
38
+ detail: 0,
39
+ format: 0,
40
+ mode: "normal",
41
+ style: "",
42
+ text: "Start free, scale as you grow. No hidden fees, no surprises.",
43
+ version: 1,
44
+ },
45
+ ],
46
+ direction: "ltr" as const,
47
+ format: "" as const,
48
+ indent: 0,
49
+ textFormat: 0,
50
+ version: 1,
51
+ },
52
+ ],
53
+ direction: "ltr" as const,
54
+ format: "" as const,
55
+ indent: 0,
56
+ version: 1,
57
+ },
58
+ },
59
+ links: [],
60
+ },
61
+ layout: [
62
+ // Pricing Table - Fetches pricing and features dynamically from Stripe
63
+ {
64
+ blockType: "pricingTable",
65
+ blockName: "Pricing Plans",
66
+ heading: "Choose Your Plan",
67
+ subheading: "Save 20% with annual billing.",
68
+ showComparisonTable: true,
69
+ showViewAllLink: false,
70
+ maxFeaturesOnCard: 4,
71
+ // CTA link mapping for dynamic pricing (plan names must match Stripe product names)
72
+ plans: [
73
+ {
74
+ name: "Free",
75
+ price: "$0/mo", // Fallback only
76
+ description: "Perfect for testing your directory idea",
77
+ featured: false,
78
+ features: [], // Features come from Stripe Entitlements
79
+ link: {
80
+ type: "custom",
81
+ label: "Get Started Free",
82
+ url: "/sign-up",
83
+ },
84
+ },
85
+ {
86
+ name: "Pro",
87
+ price: "$29/mo", // Fallback only
88
+ description: "For launching your first directory",
89
+ featured: false,
90
+ features: [], // Features come from Stripe Entitlements
91
+ link: {
92
+ type: "custom",
93
+ label: "Get Pro",
94
+ url: "/sign-up",
95
+ },
96
+ },
97
+ {
98
+ name: "Business",
99
+ price: "$79/mo", // Fallback only
100
+ description: "For growing directory businesses",
101
+ featured: true,
102
+ features: [], // Features come from Stripe Entitlements
103
+ link: {
104
+ type: "custom",
105
+ label: "Get Business",
106
+ url: "/sign-up",
107
+ },
108
+ },
109
+ ],
110
+ },
111
+ // Trust Banner
112
+ {
113
+ blockType: "proofBanner",
114
+ blockName: "Trust Section",
115
+ style: "withBackground",
116
+ headline: "Trusted by 500+ directory builders worldwide",
117
+ subtext:
118
+ "Join thousands of entrepreneurs building successful directories with DirectoryHub",
119
+ },
120
+ // Features Comparison
121
+ {
122
+ blockType: "bentoFeatures",
123
+ blockName: "All Plans Include",
124
+ heading: "Everything you need to succeed",
125
+ subheading: "Core features included in every plan",
126
+ features: [
127
+ {
128
+ size: "small",
129
+ style: "default",
130
+ icon: "layout",
131
+ title: "Beautiful Templates",
132
+ description: createParagraph("Professionally designed, mobile-first templates."),
133
+ },
134
+ {
135
+ size: "small",
136
+ style: "default",
137
+ icon: "search",
138
+ title: "SEO Optimization",
139
+ description: createParagraph("Schema markup, sitemaps, and meta tags."),
140
+ },
141
+ {
142
+ size: "small",
143
+ style: "default",
144
+ icon: "shield",
145
+ title: "SSL Security",
146
+ description: createParagraph("Free SSL certificates for all directories."),
147
+ },
148
+ {
149
+ size: "small",
150
+ style: "default",
151
+ icon: "zap",
152
+ title: "Fast Performance",
153
+ description: createParagraph("CDN-powered for global speed."),
154
+ },
155
+ {
156
+ size: "small",
157
+ style: "default",
158
+ icon: "globe",
159
+ title: "Reliable Hosting",
160
+ description: createParagraph("99.9% uptime with automatic scaling."),
161
+ },
162
+ {
163
+ size: "small",
164
+ style: "default",
165
+ icon: "layers",
166
+ title: "Easy Management",
167
+ description: createParagraph("Intuitive dashboard for all your directories."),
168
+ },
169
+ ],
170
+ },
171
+ // Final CTA
172
+ {
173
+ blockType: "cta",
174
+ blockName: "Pricing CTA",
175
+ links: [
176
+ {
177
+ link: {
178
+ type: "custom",
179
+ appearance: "default",
180
+ label: "Start Building Free",
181
+ url: "/sign-up",
182
+ },
183
+ },
184
+ {
185
+ link: {
186
+ type: "custom",
187
+ appearance: "outline",
188
+ label: "Talk to Sales",
189
+ url: "/contact",
190
+ },
191
+ },
192
+ ],
193
+ richText: {
194
+ root: {
195
+ type: "root",
196
+ children: [
197
+ {
198
+ type: "heading",
199
+ children: [
200
+ {
201
+ type: "text",
202
+ detail: 0,
203
+ format: 0,
204
+ mode: "normal",
205
+ style: "",
206
+ text: "Ready to build your directory?",
207
+ version: 1,
208
+ },
209
+ ],
210
+ direction: "ltr" as const,
211
+ format: "" as const,
212
+ indent: 0,
213
+ tag: "h3",
214
+ version: 1,
215
+ },
216
+ {
217
+ type: "paragraph",
218
+ children: [
219
+ {
220
+ type: "text",
221
+ detail: 0,
222
+ format: 0,
223
+ mode: "normal",
224
+ style: "",
225
+ text: "Start free today. No credit card required. Upgrade when you're ready to scale.",
226
+ version: 1,
227
+ },
228
+ ],
229
+ direction: "ltr" as const,
230
+ format: "" as const,
231
+ indent: 0,
232
+ textFormat: 0,
233
+ version: 1,
234
+ },
235
+ ],
236
+ direction: "ltr" as const,
237
+ format: "" as const,
238
+ indent: 0,
239
+ version: 1,
240
+ },
241
+ },
242
+ },
243
+ ],
244
+ meta: {
245
+ description:
246
+ "Simple, transparent pricing for DirectoryHub. Start free, scale as you grow. Plans from $0 to enterprise.",
247
+ title: "Pricing — DirectoryHub Directory Builder",
248
+ },
249
+ title: "Pricing",
250
+ }
251
+ }
@@ -0,0 +1,457 @@
1
+ import type { Page } from "@/payload-types"
2
+
3
+ export const directoryHubPrivacy = (): Partial<Page> => {
4
+ return {
5
+ slug: "privacy",
6
+ _status: "published",
7
+ hero: {
8
+ type: "lowImpact",
9
+ richText: {
10
+ root: {
11
+ type: "root",
12
+ children: [
13
+ {
14
+ type: "heading",
15
+ children: [
16
+ {
17
+ type: "text",
18
+ detail: 0,
19
+ format: 0,
20
+ mode: "normal",
21
+ style: "",
22
+ text: "Privacy Policy",
23
+ version: 1,
24
+ },
25
+ ],
26
+ direction: "ltr" as const,
27
+ format: "" as const,
28
+ indent: 0,
29
+ tag: "h1",
30
+ version: 1,
31
+ },
32
+ {
33
+ type: "paragraph",
34
+ children: [
35
+ {
36
+ type: "text",
37
+ detail: 0,
38
+ format: 0,
39
+ mode: "normal",
40
+ style: "",
41
+ text: "Last updated: December 2024",
42
+ version: 1,
43
+ },
44
+ ],
45
+ direction: "ltr" as const,
46
+ format: "" as const,
47
+ indent: 0,
48
+ textFormat: 0,
49
+ version: 1,
50
+ },
51
+ ],
52
+ direction: "ltr" as const,
53
+ format: "" as const,
54
+ indent: 0,
55
+ version: 1,
56
+ },
57
+ },
58
+ links: [],
59
+ },
60
+ layout: [
61
+ {
62
+ blockType: "content",
63
+ columns: [
64
+ {
65
+ size: "full",
66
+ richText: {
67
+ root: {
68
+ type: "root",
69
+ children: [
70
+ // Introduction
71
+ {
72
+ type: "heading",
73
+ children: [
74
+ {
75
+ type: "text",
76
+ detail: 0,
77
+ format: 0,
78
+ mode: "normal",
79
+ style: "",
80
+ text: "1. Introduction",
81
+ version: 1,
82
+ },
83
+ ],
84
+ direction: "ltr" as const,
85
+ format: "" as const,
86
+ indent: 0,
87
+ tag: "h2",
88
+ version: 1,
89
+ },
90
+ {
91
+ type: "paragraph",
92
+ children: [
93
+ {
94
+ type: "text",
95
+ detail: 0,
96
+ format: 0,
97
+ mode: "normal",
98
+ style: "",
99
+ text: 'DirectoryHub ("we", "our", or "us") is committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our platform and services.',
100
+ version: 1,
101
+ },
102
+ ],
103
+ direction: "ltr" as const,
104
+ format: "" as const,
105
+ indent: 0,
106
+ textFormat: 0,
107
+ version: 1,
108
+ },
109
+ // Information We Collect
110
+ {
111
+ type: "heading",
112
+ children: [
113
+ {
114
+ type: "text",
115
+ detail: 0,
116
+ format: 0,
117
+ mode: "normal",
118
+ style: "",
119
+ text: "2. Information We Collect",
120
+ version: 1,
121
+ },
122
+ ],
123
+ direction: "ltr" as const,
124
+ format: "" as const,
125
+ indent: 0,
126
+ tag: "h2",
127
+ version: 1,
128
+ },
129
+ {
130
+ type: "heading",
131
+ children: [
132
+ {
133
+ type: "text",
134
+ detail: 0,
135
+ format: 0,
136
+ mode: "normal",
137
+ style: "",
138
+ text: "Personal Information",
139
+ version: 1,
140
+ },
141
+ ],
142
+ direction: "ltr" as const,
143
+ format: "" as const,
144
+ indent: 0,
145
+ tag: "h3",
146
+ version: 1,
147
+ },
148
+ {
149
+ type: "paragraph",
150
+ children: [
151
+ {
152
+ type: "text",
153
+ detail: 0,
154
+ format: 0,
155
+ mode: "normal",
156
+ style: "",
157
+ text: "We may collect personal information that you voluntarily provide when you register for an account, subscribe to our services, or contact us. This may include: name, email address, billing information, company name, and other contact details.",
158
+ version: 1,
159
+ },
160
+ ],
161
+ direction: "ltr" as const,
162
+ format: "" as const,
163
+ indent: 0,
164
+ textFormat: 0,
165
+ version: 1,
166
+ },
167
+ {
168
+ type: "heading",
169
+ children: [
170
+ {
171
+ type: "text",
172
+ detail: 0,
173
+ format: 0,
174
+ mode: "normal",
175
+ style: "",
176
+ text: "Automatically Collected Information",
177
+ version: 1,
178
+ },
179
+ ],
180
+ direction: "ltr" as const,
181
+ format: "" as const,
182
+ indent: 0,
183
+ tag: "h3",
184
+ version: 1,
185
+ },
186
+ {
187
+ type: "paragraph",
188
+ children: [
189
+ {
190
+ type: "text",
191
+ detail: 0,
192
+ format: 0,
193
+ mode: "normal",
194
+ style: "",
195
+ text: "When you access our platform, we automatically collect certain information including: IP address, browser type, operating system, referring URLs, pages viewed, and access times.",
196
+ version: 1,
197
+ },
198
+ ],
199
+ direction: "ltr" as const,
200
+ format: "" as const,
201
+ indent: 0,
202
+ textFormat: 0,
203
+ version: 1,
204
+ },
205
+ // How We Use Your Information
206
+ {
207
+ type: "heading",
208
+ children: [
209
+ {
210
+ type: "text",
211
+ detail: 0,
212
+ format: 0,
213
+ mode: "normal",
214
+ style: "",
215
+ text: "3. How We Use Your Information",
216
+ version: 1,
217
+ },
218
+ ],
219
+ direction: "ltr" as const,
220
+ format: "" as const,
221
+ indent: 0,
222
+ tag: "h2",
223
+ version: 1,
224
+ },
225
+ {
226
+ type: "paragraph",
227
+ children: [
228
+ {
229
+ type: "text",
230
+ detail: 0,
231
+ format: 0,
232
+ mode: "normal",
233
+ style: "",
234
+ text: "We use the information we collect to: provide and maintain our services, process transactions and send related information, send promotional communications (with your consent), respond to your inquiries and provide customer support, monitor and analyze usage patterns, and improve our platform.",
235
+ version: 1,
236
+ },
237
+ ],
238
+ direction: "ltr" as const,
239
+ format: "" as const,
240
+ indent: 0,
241
+ textFormat: 0,
242
+ version: 1,
243
+ },
244
+ // Cookies and Tracking
245
+ {
246
+ type: "heading",
247
+ children: [
248
+ {
249
+ type: "text",
250
+ detail: 0,
251
+ format: 0,
252
+ mode: "normal",
253
+ style: "",
254
+ text: "4. Cookies and Tracking Technologies",
255
+ version: 1,
256
+ },
257
+ ],
258
+ direction: "ltr" as const,
259
+ format: "" as const,
260
+ indent: 0,
261
+ tag: "h2",
262
+ version: 1,
263
+ },
264
+ {
265
+ type: "paragraph",
266
+ children: [
267
+ {
268
+ type: "text",
269
+ detail: 0,
270
+ format: 0,
271
+ mode: "normal",
272
+ style: "",
273
+ text: "We use cookies and similar tracking technologies to track activity on our platform and hold certain information. Cookies are files with a small amount of data that may include an anonymous unique identifier. You can instruct your browser to refuse all cookies or to indicate when a cookie is being sent.",
274
+ version: 1,
275
+ },
276
+ ],
277
+ direction: "ltr" as const,
278
+ format: "" as const,
279
+ indent: 0,
280
+ textFormat: 0,
281
+ version: 1,
282
+ },
283
+ // Third-Party Services
284
+ {
285
+ type: "heading",
286
+ children: [
287
+ {
288
+ type: "text",
289
+ detail: 0,
290
+ format: 0,
291
+ mode: "normal",
292
+ style: "",
293
+ text: "5. Third-Party Services",
294
+ version: 1,
295
+ },
296
+ ],
297
+ direction: "ltr" as const,
298
+ format: "" as const,
299
+ indent: 0,
300
+ tag: "h2",
301
+ version: 1,
302
+ },
303
+ {
304
+ type: "paragraph",
305
+ children: [
306
+ {
307
+ type: "text",
308
+ detail: 0,
309
+ format: 0,
310
+ mode: "normal",
311
+ style: "",
312
+ text: "We may employ third-party companies and individuals to facilitate our service, provide service-related services, or assist us in analyzing how our service is used. These third parties have access to your personal information only to perform these tasks on our behalf and are obligated not to disclose or use it for any other purpose.",
313
+ version: 1,
314
+ },
315
+ ],
316
+ direction: "ltr" as const,
317
+ format: "" as const,
318
+ indent: 0,
319
+ textFormat: 0,
320
+ version: 1,
321
+ },
322
+ // Data Security
323
+ {
324
+ type: "heading",
325
+ children: [
326
+ {
327
+ type: "text",
328
+ detail: 0,
329
+ format: 0,
330
+ mode: "normal",
331
+ style: "",
332
+ text: "6. Data Security",
333
+ version: 1,
334
+ },
335
+ ],
336
+ direction: "ltr" as const,
337
+ format: "" as const,
338
+ indent: 0,
339
+ tag: "h2",
340
+ version: 1,
341
+ },
342
+ {
343
+ type: "paragraph",
344
+ children: [
345
+ {
346
+ type: "text",
347
+ detail: 0,
348
+ format: 0,
349
+ mode: "normal",
350
+ style: "",
351
+ text: "We implement appropriate technical and organizational security measures to protect your personal information. However, no method of transmission over the Internet or electronic storage is 100% secure, and we cannot guarantee absolute security.",
352
+ version: 1,
353
+ },
354
+ ],
355
+ direction: "ltr" as const,
356
+ format: "" as const,
357
+ indent: 0,
358
+ textFormat: 0,
359
+ version: 1,
360
+ },
361
+ // Your Rights
362
+ {
363
+ type: "heading",
364
+ children: [
365
+ {
366
+ type: "text",
367
+ detail: 0,
368
+ format: 0,
369
+ mode: "normal",
370
+ style: "",
371
+ text: "7. Your Rights",
372
+ version: 1,
373
+ },
374
+ ],
375
+ direction: "ltr" as const,
376
+ format: "" as const,
377
+ indent: 0,
378
+ tag: "h2",
379
+ version: 1,
380
+ },
381
+ {
382
+ type: "paragraph",
383
+ children: [
384
+ {
385
+ type: "text",
386
+ detail: 0,
387
+ format: 0,
388
+ mode: "normal",
389
+ style: "",
390
+ text: "Depending on your location, you may have certain rights regarding your personal information, including: the right to access your personal data, the right to correct inaccurate data, the right to delete your data, the right to restrict processing, the right to data portability, and the right to object to processing.",
391
+ version: 1,
392
+ },
393
+ ],
394
+ direction: "ltr" as const,
395
+ format: "" as const,
396
+ indent: 0,
397
+ textFormat: 0,
398
+ version: 1,
399
+ },
400
+ // Contact Us
401
+ {
402
+ type: "heading",
403
+ children: [
404
+ {
405
+ type: "text",
406
+ detail: 0,
407
+ format: 0,
408
+ mode: "normal",
409
+ style: "",
410
+ text: "8. Contact Us",
411
+ version: 1,
412
+ },
413
+ ],
414
+ direction: "ltr" as const,
415
+ format: "" as const,
416
+ indent: 0,
417
+ tag: "h2",
418
+ version: 1,
419
+ },
420
+ {
421
+ type: "paragraph",
422
+ children: [
423
+ {
424
+ type: "text",
425
+ detail: 0,
426
+ format: 0,
427
+ mode: "normal",
428
+ style: "",
429
+ text: "If you have any questions about this Privacy Policy, please contact us at privacy@directoryhub.com.",
430
+ version: 1,
431
+ },
432
+ ],
433
+ direction: "ltr" as const,
434
+ format: "" as const,
435
+ indent: 0,
436
+ textFormat: 0,
437
+ version: 1,
438
+ },
439
+ ],
440
+ direction: "ltr" as const,
441
+ format: "" as const,
442
+ indent: 0,
443
+ version: 1,
444
+ },
445
+ },
446
+ },
447
+ ],
448
+ },
449
+ ],
450
+ meta: {
451
+ description:
452
+ "Read DirectoryHub's Privacy Policy to understand how we collect, use, and protect your personal information.",
453
+ title: "Privacy Policy",
454
+ },
455
+ title: "Privacy Policy",
456
+ }
457
+ }