ghost 6.57.0 → 6.57.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/components/tryghost-adapter-base-scheduling-0.2.1.tgz +0 -0
  2. package/components/tryghost-kg-converters-1.2.4.tgz +0 -0
  3. package/components/tryghost-kg-default-cards-10.3.4.tgz +0 -0
  4. package/components/tryghost-kg-default-nodes-2.1.5.tgz +0 -0
  5. package/components/tryghost-kg-default-transforms-1.3.3.tgz +0 -0
  6. package/components/tryghost-kg-html-to-lexical-1.3.3.tgz +0 -0
  7. package/components/tryghost-kg-lexical-html-renderer-1.4.3.tgz +0 -0
  8. package/core/built/admin/assets/{about-C7O-AgRZ.js → about-BNojRaxf.js} +1 -1
  9. package/core/built/admin/assets/{account-migration-Cv_ol1ko.js → account-migration-DMS8JsM-.js} +1 -1
  10. package/core/built/admin/assets/{add-integration-modal-m9Dv6f77.js → add-integration-modal-DU9ghGLS.js} +1 -1
  11. package/core/built/admin/assets/{add-newsletter-modal-CPSVZL2H.js → add-newsletter-modal-DFxuQrYu.js} +1 -1
  12. package/core/built/admin/assets/{add-recommendation-modal-Ci9Z5yat.js → add-recommendation-modal-D-3LOrdd.js} +1 -1
  13. package/core/built/admin/assets/{analytics-DqSCVV8U.js → analytics-DTIMRhWw.js} +1 -1
  14. package/core/built/admin/assets/{announcement-bar-modal-DU3avV7d.js → announcement-bar-modal-DGCcezB6.js} +1 -1
  15. package/core/built/admin/assets/{api-keys-BK0LylyK.js → api-keys-Dx4NeNpK.js} +1 -1
  16. package/core/built/admin/assets/{audience-DTJtXXWY.js → audience-DkknNqhZ.js} +1 -1
  17. package/core/built/admin/assets/{automations-dtQ_MRZ7.js → automations-DvSU7QhW.js} +1 -1
  18. package/core/built/admin/assets/{bluesky-sharing-B8Es3AuV.js → bluesky-sharing-yZ9A_jL8.js} +1 -1
  19. package/core/built/admin/assets/{breadcrumb-tg5zL--z.js → breadcrumb-CjOH7LCU.js} +1 -1
  20. package/core/built/admin/assets/{chart-helpers-CZElTGYL.js → chart-helpers-DGxvWnBT.js} +1 -1
  21. package/core/built/admin/assets/{checkbox-Cyo-x7mC.js → checkbox-BSUcnNq_.js} +1 -1
  22. package/core/built/admin/assets/{chunk.873.b8fc05a8ab877fb819ed.js → chunk.424.4a27628efdade15c2dab.js} +3 -3
  23. package/core/built/admin/assets/chunk.524.dce1c51e0bc30fb2718e.js +25 -0
  24. package/core/built/admin/assets/{chunk.211.6f7328d63c41536451b3.js → chunk.571.40f093ed6d883993714e.js} +5 -5
  25. package/core/built/admin/assets/chunk.582.3a430d5c6a744fd475b6.js +27 -0
  26. package/core/built/admin/assets/{code-editor-view-Dq1rQ4tS.js → code-editor-view-BcyKABrG.js} +1 -1
  27. package/core/built/admin/assets/{color-picker-field-BonBgxhU.js → color-picker-field-8NoSnhNI.js} +1 -1
  28. package/core/built/admin/assets/{color-utils-BsrwXuDz.js → color-utils-Dzeeuj1F.js} +1 -1
  29. package/core/built/admin/assets/{combobox-uX5r_paI.js → combobox-5rdgDrDV.js} +1 -1
  30. package/core/built/admin/assets/{command-DxwBO2pF.js → command-BOYMbZa_.js} +1 -1
  31. package/core/built/admin/assets/{comments-Dn-RO-nU.js → comments-BhNM5CYl.js} +1 -1
  32. package/core/built/admin/assets/{confirmation-modal-B6D6mk6R.js → confirmation-modal-CYD7x3UQ.js} +1 -1
  33. package/core/built/admin/assets/{content-api-modal-BxQ-7T6u.js → content-api-modal-BtW4Z1-1.js} +1 -1
  34. package/core/built/admin/assets/{copy-field-BAxL4Zqn.js → copy-field-CEp_XieW.js} +1 -1
  35. package/core/built/admin/assets/{custom-integration-modal---d_l7lc.js → custom-integration-modal-bk3lNEuQ.js} +1 -1
  36. package/core/built/admin/assets/{date-range-select-PB2n1HZf.js → date-range-select-B3Ij1Rqg.js} +1 -1
  37. package/core/built/admin/assets/{debounce-Dg2fW5Rg.js → debounce-Cx5B_9OI.js} +1 -1
  38. package/core/built/admin/assets/{design-and-theme-modal-DYRT207a.js → design-and-theme-modal-B2xYKS1I.js} +3 -3
  39. package/core/built/admin/assets/{dirty-confirm-dialog-BnDJ39ao.js → dirty-confirm-dialog-YE9L21gY.js} +1 -1
  40. package/core/built/admin/assets/{disabled-sources-indicator-iMHrkyV3.js → disabled-sources-indicator-uIzbWL7K.js} +1 -1
  41. package/core/built/admin/assets/{dist-D5vhMdXf.js → dist-ARN6XTcR.js} +1 -1
  42. package/core/built/admin/assets/{dist-cFzKLG7y.js → dist-Bg8bSvLA.js} +1 -1
  43. package/core/built/admin/assets/{dist-WeOIvSYM.js → dist-CsvXCJSe.js} +1 -1
  44. package/core/built/admin/assets/{domain-BR8FIdjD.js → domain-DzrOAPY8.js} +1 -1
  45. package/core/built/admin/assets/{dropzone-hNxmUvwD.js → dropzone-CzhP33wa.js} +1 -1
  46. package/core/built/admin/assets/{edit-profile-CENrkY0l.js → edit-profile-oufs4R4n.js} +1 -1
  47. package/core/built/admin/assets/{editor-B18D0lm8.js → editor-BBKrunMK.js} +3 -3
  48. package/core/built/admin/assets/{embed-signup-form-modal-BsCYUMvQ.js → embed-signup-form-modal-Ch3s6lqA.js} +1 -1
  49. package/core/built/admin/assets/{explore-BmrnljWw.js → explore-CA-R01Br.js} +1 -1
  50. package/core/built/admin/assets/{feed-Dy4li6i8.js → feed-ClC8_Gld.js} +1 -1
  51. package/core/built/admin/assets/{field-Dh_lwk13.js → field-B3OPenbP.js} +1 -1
  52. package/core/built/admin/assets/{filter-sources-D2zDuJH5.js → filter-sources-CiPLnG9A.js} +1 -1
  53. package/core/built/admin/assets/{filters-3JBQcNtJ.js → filters-Bz0HsRie.js} +1 -1
  54. package/core/built/admin/assets/{filters-CFt_BDe4.js → filters-yFvybRMe.js} +1 -1
  55. package/core/built/admin/assets/{first-promoter-modal-D6Rjxugw.js → first-promoter-modal-BC0UpYCD.js} +1 -1
  56. package/core/built/admin/assets/{gift-link-modal-zMtlJhLQ.js → gift-link-modal-BKRuqo-k.js} +1 -1
  57. package/core/built/admin/assets/{global-data-provider-B949LDXJ.js → global-data-provider-RzW6Bnlf.js} +1 -1
  58. package/core/built/admin/assets/{growth-CFws67_i.js → growth-ClNAldfL.js} +1 -1
  59. package/core/built/admin/assets/{growth-C38Xtp8D.js → growth-Dz8OSG06.js} +1 -1
  60. package/core/built/admin/assets/{history-modal-ILAOkbxH.js → history-modal-DIVuQ5Ct.js} +1 -1
  61. package/core/built/admin/assets/{html-field-9a9Id_2q.js → html-field-CVZ2sMxw.js} +1 -1
  62. package/core/built/admin/assets/{images-CrQKVc9Q.js → images-Ok8FFJ3A.js} +1 -1
  63. package/core/built/admin/assets/{inbox-BrSRzyvz.js → inbox-CMUVI6qb.js} +1 -1
  64. package/core/built/admin/assets/{index-BHy2DZX-.js → index-DUXM0NlS.js} +2 -2
  65. package/core/built/admin/assets/{input-group-6vEPvX9S.js → input-group-2XU-iuh_.js} +1 -1
  66. package/core/built/admin/assets/{invite-user-modal-5xDCEw90.js → invite-user-modal-DrZ7xxrZ.js} +1 -1
  67. package/core/built/admin/assets/{koenig-editor-base-BWLEB9Vf.js → koenig-editor-base-BPj4S760.js} +1 -1
  68. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +9254 -9251
  69. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +124 -124
  70. package/core/built/admin/assets/{koenig-lexical-Cj62r_y9.js → koenig-lexical-Cdjv-m3_.js} +98 -98
  71. package/core/built/admin/assets/{kpi-card-IHDo8Q56.js → kpi-card-J8Mj1sDX.js} +1 -1
  72. package/core/built/admin/assets/{kpi-card-DOUnkZcN.js → kpi-card-awos0BMH.js} +1 -1
  73. package/core/built/admin/assets/{kpi-helpers-CjUdECAK.js → kpi-helpers-SEhvH-8E.js} +1 -1
  74. package/core/built/admin/assets/{kpi-tabs-X3DkOYbI.js → kpi-tabs-R6BjsKhd.js} +1 -1
  75. package/core/built/admin/assets/{label-Dq6QaOuS.js → label-BMC3dzLI.js} +1 -1
  76. package/core/built/admin/assets/{label-picker-8YlhS2U3.js → label-picker-Bnlru5tO.js} +1 -1
  77. package/core/built/admin/assets/layout-yR9rlvEw.js +1 -0
  78. package/core/built/admin/assets/{limit-modal-BRPsit_B.js → limit-modal-COmLevuY.js} +1 -1
  79. package/core/built/admin/assets/{member-custom-fields-CmvsuuV_.js → member-custom-fields-BvFKEpxJ.js} +1 -1
  80. package/core/built/admin/assets/{member-detail-DCvRrkmJ.js → member-detail-CWdPAe3p.js} +1 -1
  81. package/core/built/admin/assets/{members-DxbSKngD.js → members-Bnt0ih2R.js} +1 -1
  82. package/core/built/admin/assets/{moderation-Da5lhhWh.js → moderation-mPjYHgZW.js} +1 -1
  83. package/core/built/admin/assets/{multi-select-combobox-CYdkH7KQ.js → multi-select-combobox-CsoyHAiX.js} +1 -1
  84. package/core/built/admin/assets/{navigation-modal-BIoTwtMy.js → navigation-modal-D_c0badj.js} +1 -1
  85. package/core/built/admin/assets/{newsletter-BptlVoJm.js → newsletter-DR49NyGS.js} +1 -1
  86. package/core/built/admin/assets/{newsletter-detail-modal-BIvxqE0N.js → newsletter-detail-modal-B45pL1pb.js} +1 -1
  87. package/core/built/admin/assets/{newsletter-emails-Bf8IZLsP.js → newsletter-emails-B-OLfrvr.js} +1 -1
  88. package/core/built/admin/assets/{newsletters-BgrIZk0V.js → newsletters-DGs5BaKH.js} +1 -1
  89. package/core/built/admin/assets/{note-DYcLOmDb.js → note-CSVsUKBm.js} +1 -1
  90. package/core/built/admin/assets/{notifications-B2SPFIV9.js → notifications-DV9FRtDw.js} +1 -1
  91. package/core/built/admin/assets/{offers-container-modal-BZnZITMw.js → offers-container-modal-B0hFS8nk.js} +1 -1
  92. package/core/built/admin/assets/{onboarding-route-DgdfxkQh.js → onboarding-route--jL5KLPD.js} +1 -1
  93. package/core/built/admin/assets/{overview-Dt2_mR6U.js → overview-B-ZPNqMo.js} +1 -1
  94. package/core/built/admin/assets/{overview-BYQJXSog.js → overview-D96iwoJi.js} +1 -1
  95. package/core/built/admin/assets/{page-header-CpmxJj5B.js → page-header-DAvDYKO9.js} +1 -1
  96. package/core/built/admin/assets/{pintura-modal-B4MuBuuO.js → pintura-modal-jiUCxX0Q.js} +1 -1
  97. package/core/built/admin/assets/{portal-frame-BF0NBIji.js → portal-frame-D4D4nEO6.js} +1 -1
  98. package/core/built/admin/assets/{portal-modal-DMVbm0oy.js → portal-modal-BLFdYeDH.js} +1 -1
  99. package/core/built/admin/assets/{post-analytics-CXWBOGyP.js → post-analytics-BhAtiFJp.js} +1 -1
  100. package/core/built/admin/assets/{post-analytics-header-ChzjXVPt.js → post-analytics-header-DK27VjJm.js} +1 -1
  101. package/core/built/admin/assets/{post-analytics-provider-Cgw4U_fw.js → post-analytics-provider-DGg0FUqs.js} +1 -1
  102. package/core/built/admin/assets/{post-share-modal-B9Vmk_XM.js → post-share-modal-DtFAC132.js} +1 -1
  103. package/core/built/admin/assets/{preferences-BfzJmnsd.js → preferences-CuWLISHa.js} +1 -1
  104. package/core/built/admin/assets/{preview-modal-Dw_HtD6S.js → preview-modal-DctYx20m.js} +1 -1
  105. package/core/built/admin/assets/{profile-BT5vtv9b.js → profile-BsKYYtuL.js} +1 -1
  106. package/core/built/admin/assets/{radio-group-I7ou7PoJ.js → radio-group-CI5_Kf_d.js} +1 -1
  107. package/core/built/admin/assets/{select-D9oU1IoM.js → select-CkXqNJDJ.js} +1 -1
  108. package/core/built/admin/assets/settings-B4vM-rgV.js +4 -0
  109. package/core/built/admin/assets/{settings-CpvHWix7.js → settings-ZCj-W56o.js} +1 -1
  110. package/core/built/admin/assets/{settings-breadcrumbs-K0USP2nw.js → settings-breadcrumbs-DIq31FwA.js} +1 -1
  111. package/core/built/admin/assets/{share-modal-ClIyPzc5.js → share-modal-BNj14g79.js} +1 -1
  112. package/core/built/admin/assets/{slack-modal-1XXqOfiw.js → slack-modal-C6SpMQ-q.js} +1 -1
  113. package/core/built/admin/assets/{sort-button-CdBsm40v.js → sort-button-B-k54ow2.js} +1 -1
  114. package/core/built/admin/assets/{source-icon-CEYmVLXR.js → source-icon-Cej3sZM6.js} +1 -1
  115. package/core/built/admin/assets/{stats-D8nZCTy5.js → stats-B2KW8E2y.js} +1 -1
  116. package/core/built/admin/assets/{stats-view-CugFVf0g.js → stats-view-CVzU2-p5.js} +1 -1
  117. package/core/built/admin/assets/{step-1-DOYjrORn.js → step-1-Dbn1iIMU.js} +1 -1
  118. package/core/built/admin/assets/{step-2-vA6RsarH.js → step-2-BahnSuN6.js} +1 -1
  119. package/core/built/admin/assets/{step-3-BtIBxMId.js → step-3-CW04e2ZJ.js} +1 -1
  120. package/core/built/admin/assets/{stripe-button-UFP4QRXd.js → stripe-button-BkBZqaGG.js} +1 -1
  121. package/core/built/admin/assets/{stripe-connect-modal-C_L3uM6n.js → stripe-connect-modal-CYDDrSJm.js} +1 -1
  122. package/core/built/admin/assets/{table-TMCgCQK7.js → table-BtLcEi1M.js} +1 -1
  123. package/core/built/admin/assets/{tabs-Dd6oOKbv.js → tabs-BaWRfg8j.js} +1 -1
  124. package/core/built/admin/assets/{tag-detail-D3l-UJPR.js → tag-detail-CmqiC32L.js} +1 -1
  125. package/core/built/admin/assets/{tags-WdKQGWR8.js → tags-BbygUvNB.js} +1 -1
  126. package/core/built/admin/assets/{testimonials-modal-CqWp-xXJ.js → testimonials-modal--bdzppyh.js} +1 -1
  127. package/core/built/admin/assets/{tier-detail-modal-BkcR2u0A.js → tier-detail-modal-BZmAsIy4.js} +1 -1
  128. package/core/built/admin/assets/{toggle-group-Guorw93z.js → toggle-group-CVl-Xigr.js} +1 -1
  129. package/core/built/admin/assets/{topic-filter-CbgoWIHn.js → topic-filter-BoRHRbL1.js} +1 -1
  130. package/core/built/admin/assets/{transistor-modal-DuNnnpal.js → transistor-modal-CBPDqEGy.js} +1 -1
  131. package/core/built/admin/assets/{unsplash-modal-y2bVwTHH.js → unsplash-modal-CixoRAO2.js} +1 -1
  132. package/core/built/admin/assets/{use-analytics-data-B-b4wNSC.js → use-analytics-data-BiWvcf1u.js} +1 -1
  133. package/core/built/admin/assets/{use-check-theme-limit-error-m09J38Mq.js → use-check-theme-limit-error-B14lZukR.js} +1 -1
  134. package/core/built/admin/assets/use-feature-flag-BmJoc5WN.js +1 -0
  135. package/core/built/admin/assets/{use-filter-params-BnbBDc7T.js → use-filter-params-ChoV72Hw.js} +1 -1
  136. package/core/built/admin/assets/{use-growth-stats-DPU5rt3W.js → use-growth-stats-Dom8xVzo.js} +1 -1
  137. package/core/built/admin/assets/{use-limiter-BkN3E4gw.js → use-limiter-Dwg8ivgQ.js} +1 -1
  138. package/core/built/admin/assets/{use-pintura-config-C_z8HTG2.js → use-pintura-config-Bj4QmiVk.js} +1 -1
  139. package/core/built/admin/assets/{use-pintura-editor-DNgbkhGp.js → use-pintura-editor-DvrslmPE.js} +1 -1
  140. package/core/built/admin/assets/{use-post-referrers-C2mXyrp-.js → use-post-referrers-pxIHTXFs.js} +1 -1
  141. package/core/built/admin/assets/{use-reply-chain-data-DaK8q2qQ.js → use-reply-chain-data-CmFe0N6F.js} +1 -1
  142. package/core/built/admin/assets/{use-setting-group-YlYcoNyP.js → use-setting-group-Cmp_sy-d.js} +1 -1
  143. package/core/built/admin/assets/{use-settings-navigation-Bf1g1rEh.js → use-settings-navigation-BmROPrls.js} +1 -1
  144. package/core/built/admin/assets/{use-simple-pagination-D9ckKo5-.js → use-simple-pagination-D5rL3YwO.js} +1 -1
  145. package/core/built/admin/assets/{use-tinybird-query-GSa32hVw.js → use-tinybird-query-DP2dMaq7.js} +1 -1
  146. package/core/built/admin/assets/{use-tinybird-token-CKLOZFsw.js → use-tinybird-token-DrK_skPQ.js} +1 -1
  147. package/core/built/admin/assets/{use-url-input-z-p0Kewm.js → use-url-input-ChrUZBFf.js} +1 -1
  148. package/core/built/admin/assets/{user-detail-modal-BMxOA4Sv.js → user-detail-modal-XODpOqNC.js} +1 -1
  149. package/core/built/admin/assets/{virtual-list-RHeEL05L.js → virtual-list-Dnoafqbk.js} +1 -1
  150. package/core/built/admin/assets/{web-xJtcwMy4.js → web-D71mjB2r.js} +1 -1
  151. package/core/built/admin/assets/{web-Bw2QMO5u.js → web-z71lA1Y3.js} +1 -1
  152. package/core/built/admin/assets/{zapier-modal-BP2f4-vY.js → zapier-modal-Bp507Um7.js} +1 -1
  153. package/core/built/admin/index.html +5 -5
  154. package/core/frontend/web/middleware/admin-toolbar.js +1 -1
  155. package/core/frontend/web/middleware/serve-indexnow-key.js +1 -7
  156. package/core/server/api/endpoints/index.js +2 -2
  157. package/core/server/api/endpoints/themes.js +6 -1
  158. package/core/server/models/base/plugins/overrides.js +7 -5
  159. package/core/server/services/adapter-manager/adapter-paths.js +16 -12
  160. package/core/server/services/adapter-manager/adapter-paths.ts +17 -12
  161. package/core/server/services/audience-feedback/audience-feedback-controller.js +10 -1
  162. package/core/server/services/audience-feedback/feedback-repository.js +4 -1
  163. package/core/server/services/auth/session/session-service.js +18 -3
  164. package/core/server/services/automations/database-automations-repository.js +5 -5
  165. package/core/server/services/automations/database-automations-repository.ts +12 -12
  166. package/core/server/services/automations/database-date.js +52 -3
  167. package/core/server/services/automations/database-date.ts +23 -2
  168. package/core/server/services/email-analytics/email-analytics-service-wrapper.js +1 -1
  169. package/core/server/services/email-analytics/email-analytics-service.js +3 -2
  170. package/core/server/services/email-analytics/index.js +2 -3
  171. package/core/server/services/email-analytics/index.ts +1 -2
  172. package/core/server/services/email-analytics/lib/queries.js +91 -124
  173. package/core/server/services/email-analytics/lib/queries.ts +341 -0
  174. package/core/server/services/indexnow-ping/index.js +0 -2
  175. package/core/server/services/indexnow-ping/index.ts +0 -2
  176. package/core/server/services/indexnow-ping/indexnow-ping-service.js +5 -7
  177. package/core/server/services/indexnow-ping/indexnow-ping-service.ts +7 -13
  178. package/core/server/services/members/members-api/repositories/member-repository.js +51 -0
  179. package/core/server/services/slack-notifications/slack-notifications.js +2 -2
  180. package/core/server/services/slack-ping/index.js +1 -1
  181. package/core/server/services/slack-ping/index.ts +1 -1
  182. package/core/server/services/slack-ping/slack-ping-service.js +1 -0
  183. package/core/server/services/slack-ping/slack-ping-service.ts +1 -0
  184. package/core/server/services/stats/members-stats-service.js +0 -7
  185. package/core/server/services/themes/storage.js +19 -2
  186. package/core/server/services/webhooks/serialize.js +10 -1
  187. package/core/server/web/api/endpoints/admin/routes.js +2 -2
  188. package/core/shared/custom-theme-settings-cache/custom-theme-settings-bread-service.js +4 -0
  189. package/core/shared/custom-theme-settings-cache/custom-theme-settings-service.js +39 -0
  190. package/core/shared/labs.js +1 -1
  191. package/package.json +11 -11
  192. package/pnpm-lock.yaml +41 -41
  193. package/pnpm-workspace.yaml +18 -18
  194. package/components/tryghost-adapter-base-scheduling-0.2.0.tgz +0 -0
  195. package/components/tryghost-kg-converters-1.2.3.tgz +0 -0
  196. package/components/tryghost-kg-default-cards-10.3.3.tgz +0 -0
  197. package/components/tryghost-kg-default-nodes-2.1.4.tgz +0 -0
  198. package/core/built/admin/assets/chunk.524.cd5498dd4e195f679266.js +0 -25
  199. package/core/built/admin/assets/chunk.582.6f92ec1f03734bf2ea3f.js +0 -27
  200. package/core/built/admin/assets/layout-TMj4P-vv.js +0 -1
  201. package/core/built/admin/assets/settings-CfZFbyu_.js +0 -4
  202. package/core/built/admin/assets/use-feature-flag-ud0Qz8vt.js +0 -1
  203. package/core/server/services/email-analytics/jobs/update-member-email-analytics/index.js +0 -14
  204. /package/core/built/admin/assets/{chunk.211.6f7328d63c41536451b3.js.LICENSE.txt → chunk.571.40f093ed6d883993714e.js.LICENSE.txt} +0 -0
  205. /package/core/server/api/endpoints/{gift-reminders.js → gifts.js} +0 -0
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{m as r,n as i}from"./hooks-D6EE7BIt.js";import{t as a}from"./use-form-vRjI0Kwk.js";import{t as o}from"./grid-CUciBfjf.js";import{t as s}from"./inline-Cw-gigDW.js";import{t as c}from"./stack-CIfOAAVf.js";import{t as l}from"./text-DU9Hv33_.js";import{r as u}from"./shade-app-B3heOAfz-BhQXxNkT.js";import{i as d,n as f,r as p,t as m}from"./tabs-Dd6oOKbv.js";import{t as h}from"./switch-CE2NuMn-.js";import{i as g,n as _,o as v,s as y,t as b}from"./select-D9oU1IoM.js";import{s as x,t as S}from"./use-settings-navigation-Bf1g1rEh.js";import{t as C}from"./checkbox-Cyo-x7mC.js";import{a as w,i as T,n as E,o as D,r as O,t as k}from"./copy-field-BAxL4Zqn.js";import{a as A,c as j,i as M,n as N,o as P,r as F,s as I,t as L}from"./field-Dh_lwk13.js";import{n as R,t as ee}from"./toggle-group-Guorw93z.js";import{Bi as te,Cn as ne,Dn as z,En as B,Nn as re,On as V,Pr as ie,Sn as H,Xn as ae,Yi as oe,cr as U,wn as se}from"./index-BHy2DZX-.js";import{a as ce,c as le,i as ue,n as de,o as fe,r as pe,s as me,t as he}from"./images-CrQKVc9Q.js";import{a as W,o as ge,r as G}from"./tiers-Da6kxHQP.js";import{t as K}from"./modal-page-BMTzFHVO.js";import{t as _e}from"./validator-Cr0sMKuW.js";import{n as q}from"./confirmation-modal-B6D6mk6R.js";import{n as J}from"./global-data-provider-B949LDXJ.js";import{t as ve}from"./brand-icon-09YqFZjV.js";import{t as ye}from"./html-field-9a9Id_2q.js";import{t as be}from"./preview-modal-Dw_HtD6S.js";import{t as xe}from"./portal-frame-BF0NBIji.js";import{t as Se}from"./use-query-params-DHhhu8wi.js";var Y=e(t(),1),X=n(),Ce=({localSettings:e,updateSetting:t})=>{let[n,r,i,a,o,s]=V(e,[`transistor`,`transistor_portal_enabled`,`transistor_portal_heading`,`transistor_portal_description`,`transistor_portal_button_text`,`transistor_portal_url_template`]);if(n!==!0)return null;let u=r===!0;return(0,X.jsxs)(c,{gap:`xl`,children:[(0,X.jsx)(ae,{}),(0,X.jsxs)(c,{gap:`md`,children:[(0,X.jsx)(l,{as:`h5`,className:`md:text-lg`,leading:`supertight`,weight:`bold`,children:`Transistor`}),(0,X.jsxs)(L,{orientation:`horizontal`,children:[(0,X.jsxs)(N,{children:[(0,X.jsx)(P,{htmlFor:`transistor-portal-enabled`,children:`Enable Transistor integration`}),(0,X.jsx)(F,{children:`Show a section on the account page for members to access private podcasts`})]}),(0,X.jsx)(h,{checked:u,id:`transistor-portal-enabled`,onCheckedChange:e=>t(`transistor_portal_enabled`,e)})]})]}),u&&(0,X.jsxs)(A,{className:`gap-6`,children:[(0,X.jsxs)(L,{children:[(0,X.jsx)(P,{htmlFor:`transistor-heading`,children:`Heading`}),(0,X.jsx)(U,{id:`transistor-heading`,placeholder:`Podcasts`,value:i,onChange:e=>t(`transistor_portal_heading`,e.target.value)}),(0,X.jsx)(F,{children:`The heading displayed above the Transistor section`})]}),(0,X.jsxs)(L,{children:[(0,X.jsx)(P,{htmlFor:`transistor-description`,children:`Description`}),(0,X.jsx)(U,{id:`transistor-description`,placeholder:`Access your RSS feeds`,value:a,onChange:e=>t(`transistor_portal_description`,e.target.value)}),(0,X.jsx)(F,{children:`A short description of what members can do`})]}),(0,X.jsxs)(L,{children:[(0,X.jsx)(P,{htmlFor:`transistor-button-text`,children:`Button text`}),(0,X.jsx)(U,{id:`transistor-button-text`,placeholder:`Manage`,value:o,onChange:e=>t(`transistor_portal_button_text`,e.target.value)}),(0,X.jsx)(F,{children:`The text displayed on the button`})]}),(0,X.jsxs)(L,{children:[(0,X.jsx)(P,{htmlFor:`transistor-url-template`,children:`URL template`}),(0,X.jsx)(U,{id:`transistor-url-template`,placeholder:`https://partner.transistor.fm/ghost/{memberUuid}`,value:s,onChange:e=>t(`transistor_portal_url_template`,e.target.value)}),(0,X.jsxs)(F,{children:[`Use `,`{memberUuid}`,` as a placeholder for the member ID`]})]})]})]})},we=e(_e(),1),Te=({localSettings:e,updateSetting:t,errors:n,setError:r})=>{let{siteData:i,settings:a,config:o}=J(),[s,c]=V(a,[`members_support_address`,`support_email_address`]),l=c?.toString()||H(s?.toString()||``,i,o),u=ne(i,o),[d,f]=(0,Y.useState)(l);return(0,Y.useEffect)(()=>{f(l)},[l]),(0,X.jsx)(`div`,{className:`mt-7`,children:(0,X.jsxs)(A,{className:`mb-10 gap-8`,children:[(0,X.jsxs)(L,{"data-invalid":!!n.members_support_address||void 0,children:[(0,X.jsx)(P,{htmlFor:`members-support-address`,children:`Support email address`}),(0,X.jsx)(U,{"aria-invalid":!!n.members_support_address||void 0,id:`members-support-address`,value:d,onBlur:e=>{let n=e.target.value;n?we.default.isEmail(n)?r(`members_support_address`,``):r(`members_support_address`,`Enter a valid email address`):r(`members_support_address`,`Enter an email address`);let a=u&&n===`noreply@${u}`?`noreply`:n;t(`members_support_address`,a),f(H(a,i,o))},onChange:e=>f(e.target.value)}),n.members_support_address&&(0,X.jsx)(M,{children:n.members_support_address})]}),(0,X.jsx)(Ce,{localSettings:e,updateSetting:t})]})})},Z=[{icon:`portal-icon-1`,label:`Portal icon 1`,value:`icon-1`},{icon:`portal-icon-2`,label:`Portal icon 2`,value:`icon-2`},{icon:`portal-icon-3`,label:`Portal icon 3`,value:`icon-3`},{icon:`portal-icon-4`,label:`Portal icon 4`,value:`icon-4`},{icon:`portal-icon-5`,label:`Portal icon 5`,value:`icon-5`}],Ee=({localSettings:e,updateSetting:t})=>{let{mutateAsync:n}=de(),i=r(),[a,s,u,d]=V(e,[`portal_button`,`portal_button_style`,`portal_button_icon`,`portal_button_signup_text`]),f=u||Z[0].value,[p,m]=(0,Y.useState)(Z.map(({value:e})=>e).includes(f)?void 0:f),x=async e=>{try{let r=he(await n({file:e}));t(`portal_button_icon`,r),m(r)}catch(e){let t=e;t.response.status===415&&(t.message=`Unsupported file type`),i(t)}};return(0,X.jsx)(`div`,{className:`mt-7`,children:(0,X.jsxs)(A,{className:`mb-10 gap-8`,children:[(0,X.jsxs)(L,{orientation:`horizontal`,children:[(0,X.jsx)(P,{htmlFor:`show-portal-button`,children:`Show portal button`}),(0,X.jsx)(h,{checked:!!a,id:`show-portal-button`,onCheckedChange:e=>t(`portal_button`,e)})]}),a&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(L,{children:[(0,X.jsx)(P,{children:`Button style`}),(0,X.jsxs)(b,{value:s,onValueChange:e=>t(`portal_button_style`,e),children:[(0,X.jsx)(v,{"aria-label":`Button style`,children:(0,X.jsx)(y,{})}),(0,X.jsx)(_,{children:[{value:`icon-and-text`,label:`Icon and text`},{value:`icon-only`,label:`Icon only`},{value:`text-only`,label:`Text only`}].map(e=>(0,X.jsx)(g,{value:e.value,children:e.label},e.value))})]})]}),s?.toString()?.includes(`icon`)&&(0,X.jsxs)(c,{gap:`sm`,children:[(0,X.jsx)(l,{as:`h6`,className:`text-base`,weight:`semibold`,children:`Icon`}),(0,X.jsxs)(o,{className:`w-full gap-px rounded-(--input-group-radius) bg-muted p-0.5`,columns:6,gap:`none`,children:[(0,X.jsx)(ee,{"aria-label":`Portal button icon`,className:`contents border-0! bg-transparent! p-0`,type:`single`,value:f,onValueChange:e=>e&&t(`portal_button_icon`,e),children:Z.map(e=>(0,X.jsx)(R,{"aria-label":e.label,className:`group h-[46px] w-full min-w-0 rounded-[calc(var(--radius-md)+1px)] p-3`,value:e.value,children:(0,X.jsx)(ve,{className:`size-[18px] opacity-70 transition-opacity group-hover:opacity-100 group-data-[state=on]:opacity-100`,name:e.icon})},e.value))}),(0,X.jsx)(pe,{className:`h-[46px] w-full min-w-0 overflow-visible rounded-[calc(var(--radius-md)+1px)] ${f===p?`bg-background shadow-sm`:``}`,children:p?(0,X.jsxs)(le,{className:`overflow-visible`,children:[(0,X.jsx)(me,{className:`rounded-md`,src:p}),(0,X.jsx)(ie,{"aria-label":`Use uploaded Portal icon`,"aria-pressed":f===p,className:`absolute inset-0 z-10 size-full rounded-md bg-transparent hover:bg-transparent`,size:`icon`,type:`button`,variant:`ghost`,onClick:()=>t(`portal_button_icon`,p)}),(0,X.jsx)(ce,{className:`-top-2 -right-2 z-20 opacity-100`,children:(0,X.jsx)(ue,{"aria-label":`Delete uploaded Portal icon`,className:`size-6 rounded-full p-0`,onClick:()=>{f===p&&t(`portal_button_icon`,null),m(void 0)},children:(0,X.jsx)(oe,{})})})]}):(0,X.jsx)(fe,{accept:{"image/*":[]},"aria-label":`Upload Portal icon`,className:`size-full rounded-[calc(var(--radius-md)+1px)] border-0 bg-transparent p-0 hover:bg-surface-elevated`,inputAriaLabel:`Upload Portal icon`,onDropAccepted:e=>x(e[0]),children:(0,X.jsx)(te,{className:`size-5`})})})]})]}),s?.toString()?.includes(`text`)&&(0,X.jsxs)(L,{children:[(0,X.jsx)(P,{htmlFor:`portal-signup-button-text`,children:`Signup button text`}),(0,X.jsx)(U,{id:`portal-signup-button-text`,value:d,onChange:e=>t(`portal_button_signup_text`,e.target.value)})]})]})]})})},Q=({name:e,value:t})=>(0,X.jsxs)(k,{className:`lg:flex-row lg:items-center lg:gap-5`,value:t,children:[(0,X.jsx)(w,{className:`shrink-0 whitespace-nowrap lg:w-[180px]`,children:e}),(0,X.jsxs)(O,{children:[(0,X.jsx)(D,{}),(0,X.jsx)(E,{children:(0,X.jsx)(T,{})})]})]}),De=()=>{let[e,t]=(0,Y.useState)(!1),[n,r]=(0,Y.useState)(``),{siteData:i,settings:a}=J(),{data:{tiers:o}={}}=W(),u=G(o||[]),[f]=V(a,[`paid_members_enabled`]);(0,Y.useEffect)(()=>{u?.length&&!n&&r(u[0].id)},[u,n]);let h=u?.map(e=>({label:e.name,value:e.id})),x=se(i);return(0,X.jsx)(K,{className:`max-w-[920px] text-base text-foreground`,children:(0,X.jsxs)(c,{gap:`2xl`,children:[(0,X.jsxs)(c,{gap:`xs`,children:[(0,X.jsx)(K.Title,{className:`mb-0`,children:`Links`}),(0,X.jsxs)(l,{children:[`Use these `,e?`data attributes`:`links`,` in your theme to show pages of Portal.`]})]}),(0,X.jsx)(`section`,{children:(0,X.jsxs)(c,{gap:`lg`,children:[(0,X.jsxs)(s,{as:`header`,className:`border-b border-border pb-2`,justify:`between`,children:[(0,X.jsx)(l,{as:`h2`,size:`xl`,weight:`semibold`,children:`Generic`}),(0,X.jsx)(m,{value:e?`data-attributes`:`links`,variant:`segmented-sm`,onValueChange:e=>t(e===`data-attributes`),children:(0,X.jsxs)(p,{"aria-label":`Portal link format`,children:[(0,X.jsx)(d,{value:`links`,children:`Links`}),(0,X.jsx)(d,{value:`data-attributes`,children:`Data attributes`})]})})]}),(0,X.jsxs)(c,{gap:`md`,children:[(0,X.jsx)(Q,{name:`Default`,value:e?`data-portal`:`${x}#/portal`}),(0,X.jsx)(Q,{name:`Sign in`,value:e?`data-portal="signin"`:`${x}#/portal/signin`}),(0,X.jsx)(Q,{name:`Sign up`,value:e?`data-portal="signup"`:`${x}#/portal/signup`}),f&&(0,X.jsx)(Q,{name:`Gift subscriptions`,value:e?`data-portal="gift"`:`${x}#/portal/gift`})]})]})}),(0,X.jsx)(`section`,{children:(0,X.jsxs)(c,{gap:`lg`,children:[(0,X.jsx)(l,{as:`h2`,className:`border-b border-border pb-2`,size:`xl`,weight:`semibold`,children:`Tiers`}),(0,X.jsxs)(c,{gap:`md`,children:[(0,X.jsxs)(L,{className:`lg:flex-row lg:items-center lg:justify-between lg:gap-5 [&>*]:w-auto`,children:[(0,X.jsx)(P,{className:`shrink-0 whitespace-nowrap lg:w-[180px]`,children:`Tier`}),(0,X.jsxs)(b,{value:n,onValueChange:r,children:[(0,X.jsx)(v,{"aria-label":`Tier`,className:`w-fit`,children:(0,X.jsx)(y,{})}),(0,X.jsx)(_,{children:h.map(e=>(0,X.jsx)(g,{value:e.value,children:e.label},e.value))})]})]}),(0,X.jsx)(Q,{name:`Signup / Monthly`,value:e?`data-portal="signup/${n}/monthly"`:`${x}#/portal/signup/${n}/monthly`}),(0,X.jsx)(Q,{name:`Signup / Yearly`,value:e?`data-portal="signup/${n}/yearly"`:`${x}#/portal/signup/${n}/yearly`}),(0,X.jsx)(Q,{name:`Signup / Free`,value:e?`data-portal="signup/free"`:`${x}#/portal/signup/free`})]})]})}),(0,X.jsx)(`section`,{children:(0,X.jsxs)(c,{gap:`lg`,children:[(0,X.jsx)(l,{as:`h2`,className:`border-b border-border pb-2`,size:`xl`,weight:`semibold`,children:`Account`}),(0,X.jsxs)(c,{gap:`md`,children:[(0,X.jsx)(Q,{name:`Account`,value:e?`data-portal="account"`:`${x}#/portal/account`}),(0,X.jsx)(Q,{name:`Account / Plans`,value:e?`data-portal="account/plans"`:`${x}#/portal/account/plans`}),(0,X.jsx)(Q,{name:`Account / Profile`,value:e?`data-portal="account/profile"`:`${x}#/portal/account/profile`}),(0,X.jsx)(Q,{name:`Account / Newsletters`,value:e?`data-portal="account/newsletters"`:`${x}#/portal/account/newsletters`}),(0,X.jsx)(Q,{name:`Account / Newsletter help`,value:e?`data-portal="account/newsletters/help"`:`${x}#/portal/account/newsletters/help`})]})]})})]})})},Oe=({settings:e,config:t,tiers:n,siteData:r,selectedTab:i,previewTheme:a})=>{if(!r?.url)return null;let o=n.filter(e=>e.visibility===`public`&&e.type===`paid`).map(e=>e.id),s=r.url.replace(/\/$/,``),c=JSON.parse(z(e,`portal_plans`)||``),l=new URLSearchParams;l.append(`button`,z(e,`portal_button`)?`true`:`false`),l.append(`name`,z(e,`portal_name`)?`true`:`false`),l.append(`isFree`,c.includes(`free`)?`true`:`false`),l.append(`isMonthly`,B(e,t)&&c.includes(`monthly`)?`true`:`false`),l.append(`isYearly`,B(e,t)&&c.includes(`yearly`)?`true`:`false`),l.append(`page`,i===`account`?`accountHome`:`signup`),l.append(`previewTheme`,a),l.append(`buttonIcon`,encodeURIComponent(z(e,`portal_button_icon`)||`icon-1`)),l.append(`signupButtonText`,encodeURIComponent(z(e,`portal_button_signup_text`)||``)),l.append(`membersSignupAccess`,z(e,`members_signup_access`)||`all`),l.append(`allowSelfSignup`,z(e,`allow_self_signup`)||`false`),l.append(`signupTermsHtml`,z(e,`portal_signup_terms_html`)||``),l.append(`signupCheckboxRequired`,z(e,`portal_signup_checkbox_required`)?`true`:`false`),l.append(`portalProducts`,o.join(`,`));let u=z(e,`portal_default_plan`);u&&l.append(`portalDefaultPlan`,u),c&&c.length&&l.append(`portalPrices`,encodeURIComponent(c.join(`,`)));let d=z(e,`accent_color`);d!=null&&l.append(`accentColor`,encodeURIComponent(d));let f=z(e,`portal_button_style`);return f&&l.append(`buttonStyle`,encodeURIComponent(f)),l.append(`disableBackground`,`false`),z(e,`transistor`)&&l.append(`transistorPortalSettings`,JSON.stringify({enabled:z(e,`transistor_portal_enabled`),heading:z(e,`transistor_portal_heading`)||`Podcasts`,description:z(e,`transistor_portal_description`)||`Access your RSS feeds`,button_text:z(e,`transistor_portal_button_text`)||`Manage`,url_template:z(e,`transistor_portal_url_template`)||`https://partner.transistor.fm/ghost/{memberUuid}`})),l.append(`admin_toolbar`,`0`),`${s}/?v=modal-portal-settings#/portal/preview?${l.toString()}`},ke=({darkMode:e,selectedTab:t=`signup`,localSettings:n,localTiers:r})=>{let{siteData:i,config:a}=J(),o=Oe({settings:n,tiers:r,selectedTab:t,previewTheme:e?`dark`:`light`,siteData:i,config:a}),s=(0,X.jsx)(X.Fragment,{});switch(t){case`account`:s=(0,X.jsx)(X.Fragment,{children:(0,X.jsx)(xe,{href:o||``,portalParent:`preview`,selectedTab:t})});break;case`links`:s=(0,X.jsx)(De,{});break;default:s=(0,X.jsx)(X.Fragment,{children:(0,X.jsx)(xe,{href:o||``,portalParent:`preview`,selectedTab:t})});break}return s},Ae=({localSettings:e,updateSetting:t,localTiers:n,updateTier:r,errors:i,setError:a})=>{let{config:o}=J(),[s,c,l,u,d,f]=V(e,[`members_signup_access`,`portal_name`,`portal_signup_terms_html`,`portal_signup_checkbox_required`,`portal_plans`,`portal_default_plan`]),p=JSON.parse(d?.toString()||`[]`),m=(0,Y.useMemo)(()=>{let e=document.createElement(`div`);return e.innerHTML=l?.toString()||``,e.innerText.length},[l]),x=(0,Y.useCallback)((e,t)=>{a(e,t)},[]);(0,Y.useEffect)(()=>{m>115?x(`portal_signup_terms_html`,`Signup notice is too long`):x(`portal_signup_terms_html`,void 0)},[m,x]);let S=e=>{let n=p.indexOf(e);n===-1?p.push(e):p.splice(n,1),t(`portal_plans`,JSON.stringify(p)),f===`yearly`?!p.includes(`yearly`)&&p.includes(`monthly`)&&t(`portal_default_plan`,`monthly`):f===`monthly`&&(p.includes(`monthly`)||t(`portal_default_plan`,`yearly`))},w=s===`all`||s===`paid`,T=s===`all`,E=B(e,o),D=[];n&&n.forEach(e=>{e.type===`free`&&T&&D.push({checked:p.includes(`free`),disabled:!w,label:e.name,value:`free`,testId:`free-tier-checkbox`,onChange:n=>{p.includes(`free`)&&!n&&p.splice(p.indexOf(`free`),1),!p.includes(`free`)&&n&&p.push(`free`),t(`portal_plans`,JSON.stringify(p)),r({...e,visibility:n?`public`:`none`})}})});let O=G(n)||[],k=[{value:`yearly`,label:`Yearly`},{value:`monthly`,label:`Monthly`}];E&&O.length>0&&O.forEach(e=>{D.push({checked:e.visibility===`public`,label:e.name,value:e.id,onChange:(t=>r({...e,visibility:t?`public`:`none`}))})});let M=E&&O.length>0&&O.some(e=>e.visibility===`public`);return(0,X.jsx)(`div`,{className:`mt-7`,children:(0,X.jsxs)(A,{className:`mb-10 gap-8`,children:[(0,X.jsxs)(L,{"data-disabled":!w||void 0,orientation:`horizontal`,children:[(0,X.jsx)(P,{htmlFor:`portal-display-name`,children:`Display name in signup form`}),(0,X.jsx)(h,{checked:!!c,disabled:!w,id:`portal-display-name`,onCheckedChange:e=>t(`portal_name`,e)})]}),(0,X.jsxs)(j,{children:[(0,X.jsx)(I,{variant:`label`,children:`Available tiers`}),(0,X.jsx)(A,{"data-slot":`checkbox-group`,children:D.map(e=>(0,X.jsxs)(L,{"data-disabled":e.disabled||void 0,orientation:`horizontal`,children:[(0,X.jsx)(C,{checked:e.checked,"data-testid":e.testId,disabled:e.disabled,id:`portal-tier-${e.value}`,onCheckedChange:t=>e.onChange(t===!0)}),(0,X.jsx)(P,{htmlFor:`portal-tier-${e.value}`,children:e.label})]},e.value))})]}),M&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(j,{children:[(0,X.jsx)(I,{variant:`label`,children:`Available prices`}),(0,X.jsx)(A,{"data-slot":`checkbox-group`,children:[`monthly`,`yearly`].map(e=>(0,X.jsxs)(L,{"data-disabled":!w||void 0,orientation:`horizontal`,children:[(0,X.jsx)(C,{checked:p.includes(e),disabled:!w,id:`portal-plan-${e}`,onCheckedChange:()=>S(e)}),(0,X.jsx)(P,{className:`capitalize`,htmlFor:`portal-plan-${e}`,children:e})]},e))})]}),p.includes(`yearly`)&&p.includes(`monthly`)&&(0,X.jsxs)(L,{children:[(0,X.jsx)(P,{children:`Default price at signup`}),(0,X.jsxs)(b,{value:typeof f==`string`?f:``,onValueChange:e=>t(`portal_default_plan`,e),children:[(0,X.jsx)(v,{"aria-label":`Default price at signup`,children:(0,X.jsx)(y,{})}),(0,X.jsx)(_,{children:k.map(e=>(0,X.jsx)(g,{value:e.value,children:e.label},e.value))})]})]})]}),(0,X.jsx)(ye,{error:!!i.portal_signup_terms_html,hint:i.portal_signup_terms_html||(0,X.jsxs)(X.Fragment,{children:[`Recommended: `,(0,X.jsx)(`strong`,{children:`115`}),` characters. You've used `,(0,X.jsx)(`strong`,{className:`text-green`,children:m})]}),nodes:`MINIMAL_NODES`,placeholder:`By signing up, I agree to receive emails from ...`,title:`Display notice at signup`,value:l?.toString(),onChange:e=>t(`portal_signup_terms_html`,e)}),l?.toString()&&(0,X.jsxs)(L,{"data-disabled":!w||void 0,orientation:`horizontal`,children:[(0,X.jsx)(P,{htmlFor:`portal-require-agreement`,children:`Require agreement`}),(0,X.jsx)(h,{checked:!!u,disabled:!w,id:`portal-require-agreement`,onCheckedChange:e=>t(`portal_signup_checkbox_required`,e)})]})]})})},je=i({path:()=>`/settings/verifications`,method:`PUT`,body:({token:e})=>({token:e}),updateQueries:{dataType:`SettingsResponseType`,emberUpdateType:`createOrUpdate`,update:e=>({...e,settings:e.settings})}}),Me={signupOptions:`signup`,lookAndFeel:`signup`,accountPage:`account`},$=`border-b-2 border-transparent after:hidden data-[state=active]:border-foreground`,Ne=({localSettings:e,updateSetting:t,localTiers:n,updateTier:r,errors:i,setError:a,selectedTab:o,onTabChange:s})=>(0,X.jsx)(`div`,{className:`pt-4`,children:(0,X.jsxs)(m,{value:o,variant:`underline`,onValueChange:e=>s(e),children:[(0,X.jsxs)(p,{children:[(0,X.jsx)(d,{className:$,value:`signupOptions`,children:`Signup options`}),(0,X.jsx)(d,{className:$,value:`lookAndFeel`,children:`Look & feel`}),(0,X.jsx)(d,{className:$,value:`accountPage`,children:`Account page`})]}),(0,X.jsx)(f,{value:`signupOptions`,children:(0,X.jsx)(Ae,{errors:i,localSettings:e,localTiers:n,setError:a,updateSetting:t,updateTier:r})}),(0,X.jsx)(f,{value:`lookAndFeel`,children:(0,X.jsx)(Ee,{localSettings:e,updateSetting:t})}),(0,X.jsx)(f,{value:`accountPage`,children:(0,X.jsx)(Te,{errors:i,localSettings:e,setError:a,updateSetting:t})})]})}),Pe=()=>{let{updateRoute:e}=S(),{darkMode:t}=u(),[n,i]=(0,Y.useState)(`signup`),[o,s]=(0,Y.useState)(`signupOptions`),c=r(),{settings:l,siteData:f,config:h}=J(),{mutateAsync:g}=re(),{data:{tiers:_}={}}=W(),{mutateAsync:v}=ge(),{mutateAsync:y}=je(),{getParam:b}=Se(),C=b(`verifyEmail`);(0,Y.useEffect)(()=>{C&&(async({token:e})=>{try{let{settings:t}=await y({token:e}),[n]=V(t,[`members_support_address`]);x.show(q,{title:`Support address verified`,prompt:(0,X.jsxs)(X.Fragment,{children:[`Your support email address has been changed to `,(0,X.jsx)(`strong`,{children:n}),`.`]}),okLabel:`Close`,cancelLabel:``,onOk:e=>e?.remove()})}catch(e){let t=`There was an error verifying your email address. Please try again.`;e?.message===`Token expired`&&(t=`Verification link has expired.`),x.show(q,{title:`Error verifying support address`,prompt:t,okLabel:`Close`,cancelLabel:``,onOk:e=>e?.remove()}),c(e,{withToast:!1})}})({token:C})},[c,C,y]);let{formState:w,setFormState:T,saveState:E,handleSave:D,updateForm:O,okProps:k}=a({initialState:{settings:l,tiers:_||[]},savingDelay:500,onSave:async()=>{await Promise.all(w.tiers.filter(({dirty:e})=>e).map(e=>v(e))),T(e=>({...e,tiers:w.tiers.map(e=>({...e,dirty:!1}))}));let e=w.settings.filter(e=>e.dirty);if(!e.length)return;let{meta:t,settings:n}=await g(e);if(T(e=>({...e,settings:w.settings.map(e=>({...e,dirty:!1}))})),t?.sent_email_verification){let e=w.settings.find(e=>e.key===`members_support_address`)?.value,t=n.find(e=>e.key===`support_email_address`)?.value||H(n.find(e=>e.key===`members_support_address`)?.value?.toString()||`noreply`,f,h);x.show(q,{title:`Confirm email address`,prompt:(0,X.jsxs)(X.Fragment,{children:[`We've sent a confirmation email to `,(0,X.jsx)(`strong`,{children:e}),`. Until verified, your support email address will remain `,t,`.`]}),okLabel:`Close`,cancelLabel:``,onOk:e=>e?.remove()})}},onSaveError:c});(0,Y.useEffect)(()=>{!w.tiers.length&&_?.length&&T(e=>({...e,tiers:_}))},[_,w.tiers,T]);let[A,j]=(0,Y.useState)({}),M=(e,t)=>{O(n=>({...n,settings:n.settings.map(n=>n.key===e?{...n,value:t,dirty:!0}:n)}))},N=(e,t)=>{j(n=>({...n,[e]:t}))},P=e=>{O(t=>({...t,tiers:t.tiers.map(t=>t.id===e.id?{...e,dirty:!0}:t)}))},F=e=>{i(e),e===`account`?s(`accountPage`):e===`signup`&&o===`accountPage`&&s(`signupOptions`)},I=(0,X.jsx)(Ne,{errors:A,localSettings:w.settings,localTiers:w.tiers,selectedTab:o,setError:N,updateSetting:M,updateTier:P,onTabChange:e=>{s(e),i(Me[e])}}),L=(0,X.jsx)(ke,{darkMode:t,localSettings:w.settings,localTiers:w.tiers,selectedTab:n}),R=(0,X.jsx)(m,{value:n,variant:`button`,onValueChange:e=>F(e),children:(0,X.jsxs)(p,{children:[(0,X.jsx)(d,{value:`signup`,children:`Signup`}),(0,X.jsx)(d,{value:`account`,children:`Account page`}),(0,X.jsx)(d,{value:`links`,children:`Links`})]})});return(0,X.jsx)(be,{buttonsDisabled:k.disabled,cancelLabel:`Close`,dirty:E===`unsaved`,okLabel:k.label||`Save`,okVariant:k.variant,preview:L,previewBgColor:n===`links`?`white`:`greygradient`,previewToolbarTabs:R,sidebar:I,testId:`portal-modal`,title:`Portal`,onClose:()=>{e(`portal`)},onOk:async()=>{Object.values(A).filter(Boolean).length||await D({force:!0})}})};export{Pe as default};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{m as r,n as i}from"./hooks-D6EE7BIt.js";import{t as a}from"./use-form-vRjI0Kwk.js";import{t as o}from"./grid-CUciBfjf.js";import{t as s}from"./inline-Cw-gigDW.js";import{t as c}from"./stack-CIfOAAVf.js";import{t as l}from"./text-DU9Hv33_.js";import{r as u}from"./shade-app-B3heOAfz-BhQXxNkT.js";import{i as d,n as f,r as p,t as m}from"./tabs-BaWRfg8j.js";import{t as h}from"./switch-CE2NuMn-.js";import{i as g,n as _,o as v,s as y,t as b}from"./select-CkXqNJDJ.js";import{s as x,t as S}from"./use-settings-navigation-BmROPrls.js";import{t as C}from"./checkbox-BSUcnNq_.js";import{a as w,i as T,n as E,o as D,r as O,t as k}from"./copy-field-CEp_XieW.js";import{a as A,c as j,i as M,n as N,o as P,r as F,s as I,t as L}from"./field-B3OPenbP.js";import{n as R,t as ee}from"./toggle-group-CVl-Xigr.js";import{Bi as te,Cn as ne,Dn as z,En as B,Nn as re,On as V,Pr as ie,Sn as H,Xn as ae,Yi as oe,cr as U,wn as se}from"./index-DUXM0NlS.js";import{a as ce,c as le,i as ue,n as de,o as fe,r as pe,s as me,t as he}from"./images-Ok8FFJ3A.js";import{a as W,o as ge,r as G}from"./tiers-Da6kxHQP.js";import{t as K}from"./modal-page-BMTzFHVO.js";import{t as _e}from"./validator-Cr0sMKuW.js";import{n as q}from"./confirmation-modal-CYD7x3UQ.js";import{n as J}from"./global-data-provider-RzW6Bnlf.js";import{t as ve}from"./brand-icon-09YqFZjV.js";import{t as ye}from"./html-field-CVZ2sMxw.js";import{t as be}from"./preview-modal-DctYx20m.js";import{t as xe}from"./portal-frame-D4D4nEO6.js";import{t as Se}from"./use-query-params-DHhhu8wi.js";var Y=e(t(),1),X=n(),Ce=({localSettings:e,updateSetting:t})=>{let[n,r,i,a,o,s]=V(e,[`transistor`,`transistor_portal_enabled`,`transistor_portal_heading`,`transistor_portal_description`,`transistor_portal_button_text`,`transistor_portal_url_template`]);if(n!==!0)return null;let u=r===!0;return(0,X.jsxs)(c,{gap:`xl`,children:[(0,X.jsx)(ae,{}),(0,X.jsxs)(c,{gap:`md`,children:[(0,X.jsx)(l,{as:`h5`,className:`md:text-lg`,leading:`supertight`,weight:`bold`,children:`Transistor`}),(0,X.jsxs)(L,{orientation:`horizontal`,children:[(0,X.jsxs)(N,{children:[(0,X.jsx)(P,{htmlFor:`transistor-portal-enabled`,children:`Enable Transistor integration`}),(0,X.jsx)(F,{children:`Show a section on the account page for members to access private podcasts`})]}),(0,X.jsx)(h,{checked:u,id:`transistor-portal-enabled`,onCheckedChange:e=>t(`transistor_portal_enabled`,e)})]})]}),u&&(0,X.jsxs)(A,{className:`gap-6`,children:[(0,X.jsxs)(L,{children:[(0,X.jsx)(P,{htmlFor:`transistor-heading`,children:`Heading`}),(0,X.jsx)(U,{id:`transistor-heading`,placeholder:`Podcasts`,value:i,onChange:e=>t(`transistor_portal_heading`,e.target.value)}),(0,X.jsx)(F,{children:`The heading displayed above the Transistor section`})]}),(0,X.jsxs)(L,{children:[(0,X.jsx)(P,{htmlFor:`transistor-description`,children:`Description`}),(0,X.jsx)(U,{id:`transistor-description`,placeholder:`Access your RSS feeds`,value:a,onChange:e=>t(`transistor_portal_description`,e.target.value)}),(0,X.jsx)(F,{children:`A short description of what members can do`})]}),(0,X.jsxs)(L,{children:[(0,X.jsx)(P,{htmlFor:`transistor-button-text`,children:`Button text`}),(0,X.jsx)(U,{id:`transistor-button-text`,placeholder:`Manage`,value:o,onChange:e=>t(`transistor_portal_button_text`,e.target.value)}),(0,X.jsx)(F,{children:`The text displayed on the button`})]}),(0,X.jsxs)(L,{children:[(0,X.jsx)(P,{htmlFor:`transistor-url-template`,children:`URL template`}),(0,X.jsx)(U,{id:`transistor-url-template`,placeholder:`https://partner.transistor.fm/ghost/{memberUuid}`,value:s,onChange:e=>t(`transistor_portal_url_template`,e.target.value)}),(0,X.jsxs)(F,{children:[`Use `,`{memberUuid}`,` as a placeholder for the member ID`]})]})]})]})},we=e(_e(),1),Te=({localSettings:e,updateSetting:t,errors:n,setError:r})=>{let{siteData:i,settings:a,config:o}=J(),[s,c]=V(a,[`members_support_address`,`support_email_address`]),l=c?.toString()||H(s?.toString()||``,i,o),u=ne(i,o),[d,f]=(0,Y.useState)(l);return(0,Y.useEffect)(()=>{f(l)},[l]),(0,X.jsx)(`div`,{className:`mt-7`,children:(0,X.jsxs)(A,{className:`mb-10 gap-8`,children:[(0,X.jsxs)(L,{"data-invalid":!!n.members_support_address||void 0,children:[(0,X.jsx)(P,{htmlFor:`members-support-address`,children:`Support email address`}),(0,X.jsx)(U,{"aria-invalid":!!n.members_support_address||void 0,id:`members-support-address`,value:d,onBlur:e=>{let n=e.target.value;n?we.default.isEmail(n)?r(`members_support_address`,``):r(`members_support_address`,`Enter a valid email address`):r(`members_support_address`,`Enter an email address`);let a=u&&n===`noreply@${u}`?`noreply`:n;t(`members_support_address`,a),f(H(a,i,o))},onChange:e=>f(e.target.value)}),n.members_support_address&&(0,X.jsx)(M,{children:n.members_support_address})]}),(0,X.jsx)(Ce,{localSettings:e,updateSetting:t})]})})},Z=[{icon:`portal-icon-1`,label:`Portal icon 1`,value:`icon-1`},{icon:`portal-icon-2`,label:`Portal icon 2`,value:`icon-2`},{icon:`portal-icon-3`,label:`Portal icon 3`,value:`icon-3`},{icon:`portal-icon-4`,label:`Portal icon 4`,value:`icon-4`},{icon:`portal-icon-5`,label:`Portal icon 5`,value:`icon-5`}],Ee=({localSettings:e,updateSetting:t})=>{let{mutateAsync:n}=de(),i=r(),[a,s,u,d]=V(e,[`portal_button`,`portal_button_style`,`portal_button_icon`,`portal_button_signup_text`]),f=u||Z[0].value,[p,m]=(0,Y.useState)(Z.map(({value:e})=>e).includes(f)?void 0:f),x=async e=>{try{let r=he(await n({file:e}));t(`portal_button_icon`,r),m(r)}catch(e){let t=e;t.response.status===415&&(t.message=`Unsupported file type`),i(t)}};return(0,X.jsx)(`div`,{className:`mt-7`,children:(0,X.jsxs)(A,{className:`mb-10 gap-8`,children:[(0,X.jsxs)(L,{orientation:`horizontal`,children:[(0,X.jsx)(P,{htmlFor:`show-portal-button`,children:`Show portal button`}),(0,X.jsx)(h,{checked:!!a,id:`show-portal-button`,onCheckedChange:e=>t(`portal_button`,e)})]}),a&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(L,{children:[(0,X.jsx)(P,{children:`Button style`}),(0,X.jsxs)(b,{value:s,onValueChange:e=>t(`portal_button_style`,e),children:[(0,X.jsx)(v,{"aria-label":`Button style`,children:(0,X.jsx)(y,{})}),(0,X.jsx)(_,{children:[{value:`icon-and-text`,label:`Icon and text`},{value:`icon-only`,label:`Icon only`},{value:`text-only`,label:`Text only`}].map(e=>(0,X.jsx)(g,{value:e.value,children:e.label},e.value))})]})]}),s?.toString()?.includes(`icon`)&&(0,X.jsxs)(c,{gap:`sm`,children:[(0,X.jsx)(l,{as:`h6`,className:`text-base`,weight:`semibold`,children:`Icon`}),(0,X.jsxs)(o,{className:`w-full gap-px rounded-(--input-group-radius) bg-muted p-0.5`,columns:6,gap:`none`,children:[(0,X.jsx)(ee,{"aria-label":`Portal button icon`,className:`contents border-0! bg-transparent! p-0`,type:`single`,value:f,onValueChange:e=>e&&t(`portal_button_icon`,e),children:Z.map(e=>(0,X.jsx)(R,{"aria-label":e.label,className:`group h-[46px] w-full min-w-0 rounded-[calc(var(--radius-md)+1px)] p-3`,value:e.value,children:(0,X.jsx)(ve,{className:`size-[18px] opacity-70 transition-opacity group-hover:opacity-100 group-data-[state=on]:opacity-100`,name:e.icon})},e.value))}),(0,X.jsx)(pe,{className:`h-[46px] w-full min-w-0 overflow-visible rounded-[calc(var(--radius-md)+1px)] ${f===p?`bg-background shadow-sm`:``}`,children:p?(0,X.jsxs)(le,{className:`overflow-visible`,children:[(0,X.jsx)(me,{className:`rounded-md`,src:p}),(0,X.jsx)(ie,{"aria-label":`Use uploaded Portal icon`,"aria-pressed":f===p,className:`absolute inset-0 z-10 size-full rounded-md bg-transparent hover:bg-transparent`,size:`icon`,type:`button`,variant:`ghost`,onClick:()=>t(`portal_button_icon`,p)}),(0,X.jsx)(ce,{className:`-top-2 -right-2 z-20 opacity-100`,children:(0,X.jsx)(ue,{"aria-label":`Delete uploaded Portal icon`,className:`size-6 rounded-full p-0`,onClick:()=>{f===p&&t(`portal_button_icon`,null),m(void 0)},children:(0,X.jsx)(oe,{})})})]}):(0,X.jsx)(fe,{accept:{"image/*":[]},"aria-label":`Upload Portal icon`,className:`size-full rounded-[calc(var(--radius-md)+1px)] border-0 bg-transparent p-0 hover:bg-surface-elevated`,inputAriaLabel:`Upload Portal icon`,onDropAccepted:e=>x(e[0]),children:(0,X.jsx)(te,{className:`size-5`})})})]})]}),s?.toString()?.includes(`text`)&&(0,X.jsxs)(L,{children:[(0,X.jsx)(P,{htmlFor:`portal-signup-button-text`,children:`Signup button text`}),(0,X.jsx)(U,{id:`portal-signup-button-text`,value:d,onChange:e=>t(`portal_button_signup_text`,e.target.value)})]})]})]})})},Q=({name:e,value:t})=>(0,X.jsxs)(k,{className:`lg:flex-row lg:items-center lg:gap-5`,value:t,children:[(0,X.jsx)(w,{className:`shrink-0 whitespace-nowrap lg:w-[180px]`,children:e}),(0,X.jsxs)(O,{children:[(0,X.jsx)(D,{}),(0,X.jsx)(E,{children:(0,X.jsx)(T,{})})]})]}),De=()=>{let[e,t]=(0,Y.useState)(!1),[n,r]=(0,Y.useState)(``),{siteData:i,settings:a}=J(),{data:{tiers:o}={}}=W(),u=G(o||[]),[f]=V(a,[`paid_members_enabled`]);(0,Y.useEffect)(()=>{u?.length&&!n&&r(u[0].id)},[u,n]);let h=u?.map(e=>({label:e.name,value:e.id})),x=se(i);return(0,X.jsx)(K,{className:`max-w-[920px] text-base text-foreground`,children:(0,X.jsxs)(c,{gap:`2xl`,children:[(0,X.jsxs)(c,{gap:`xs`,children:[(0,X.jsx)(K.Title,{className:`mb-0`,children:`Links`}),(0,X.jsxs)(l,{children:[`Use these `,e?`data attributes`:`links`,` in your theme to show pages of Portal.`]})]}),(0,X.jsx)(`section`,{children:(0,X.jsxs)(c,{gap:`lg`,children:[(0,X.jsxs)(s,{as:`header`,className:`border-b border-border pb-2`,justify:`between`,children:[(0,X.jsx)(l,{as:`h2`,size:`xl`,weight:`semibold`,children:`Generic`}),(0,X.jsx)(m,{value:e?`data-attributes`:`links`,variant:`segmented-sm`,onValueChange:e=>t(e===`data-attributes`),children:(0,X.jsxs)(p,{"aria-label":`Portal link format`,children:[(0,X.jsx)(d,{value:`links`,children:`Links`}),(0,X.jsx)(d,{value:`data-attributes`,children:`Data attributes`})]})})]}),(0,X.jsxs)(c,{gap:`md`,children:[(0,X.jsx)(Q,{name:`Default`,value:e?`data-portal`:`${x}#/portal`}),(0,X.jsx)(Q,{name:`Sign in`,value:e?`data-portal="signin"`:`${x}#/portal/signin`}),(0,X.jsx)(Q,{name:`Sign up`,value:e?`data-portal="signup"`:`${x}#/portal/signup`}),f&&(0,X.jsx)(Q,{name:`Gift subscriptions`,value:e?`data-portal="gift"`:`${x}#/portal/gift`})]})]})}),(0,X.jsx)(`section`,{children:(0,X.jsxs)(c,{gap:`lg`,children:[(0,X.jsx)(l,{as:`h2`,className:`border-b border-border pb-2`,size:`xl`,weight:`semibold`,children:`Tiers`}),(0,X.jsxs)(c,{gap:`md`,children:[(0,X.jsxs)(L,{className:`lg:flex-row lg:items-center lg:justify-between lg:gap-5 [&>*]:w-auto`,children:[(0,X.jsx)(P,{className:`shrink-0 whitespace-nowrap lg:w-[180px]`,children:`Tier`}),(0,X.jsxs)(b,{value:n,onValueChange:r,children:[(0,X.jsx)(v,{"aria-label":`Tier`,className:`w-fit`,children:(0,X.jsx)(y,{})}),(0,X.jsx)(_,{children:h.map(e=>(0,X.jsx)(g,{value:e.value,children:e.label},e.value))})]})]}),(0,X.jsx)(Q,{name:`Signup / Monthly`,value:e?`data-portal="signup/${n}/monthly"`:`${x}#/portal/signup/${n}/monthly`}),(0,X.jsx)(Q,{name:`Signup / Yearly`,value:e?`data-portal="signup/${n}/yearly"`:`${x}#/portal/signup/${n}/yearly`}),(0,X.jsx)(Q,{name:`Signup / Free`,value:e?`data-portal="signup/free"`:`${x}#/portal/signup/free`})]})]})}),(0,X.jsx)(`section`,{children:(0,X.jsxs)(c,{gap:`lg`,children:[(0,X.jsx)(l,{as:`h2`,className:`border-b border-border pb-2`,size:`xl`,weight:`semibold`,children:`Account`}),(0,X.jsxs)(c,{gap:`md`,children:[(0,X.jsx)(Q,{name:`Account`,value:e?`data-portal="account"`:`${x}#/portal/account`}),(0,X.jsx)(Q,{name:`Account / Plans`,value:e?`data-portal="account/plans"`:`${x}#/portal/account/plans`}),(0,X.jsx)(Q,{name:`Account / Profile`,value:e?`data-portal="account/profile"`:`${x}#/portal/account/profile`}),(0,X.jsx)(Q,{name:`Account / Newsletters`,value:e?`data-portal="account/newsletters"`:`${x}#/portal/account/newsletters`}),(0,X.jsx)(Q,{name:`Account / Newsletter help`,value:e?`data-portal="account/newsletters/help"`:`${x}#/portal/account/newsletters/help`})]})]})})]})})},Oe=({settings:e,config:t,tiers:n,siteData:r,selectedTab:i,previewTheme:a})=>{if(!r?.url)return null;let o=n.filter(e=>e.visibility===`public`&&e.type===`paid`).map(e=>e.id),s=r.url.replace(/\/$/,``),c=JSON.parse(z(e,`portal_plans`)||``),l=new URLSearchParams;l.append(`button`,z(e,`portal_button`)?`true`:`false`),l.append(`name`,z(e,`portal_name`)?`true`:`false`),l.append(`isFree`,c.includes(`free`)?`true`:`false`),l.append(`isMonthly`,B(e,t)&&c.includes(`monthly`)?`true`:`false`),l.append(`isYearly`,B(e,t)&&c.includes(`yearly`)?`true`:`false`),l.append(`page`,i===`account`?`accountHome`:`signup`),l.append(`previewTheme`,a),l.append(`buttonIcon`,encodeURIComponent(z(e,`portal_button_icon`)||`icon-1`)),l.append(`signupButtonText`,encodeURIComponent(z(e,`portal_button_signup_text`)||``)),l.append(`membersSignupAccess`,z(e,`members_signup_access`)||`all`),l.append(`allowSelfSignup`,z(e,`allow_self_signup`)||`false`),l.append(`signupTermsHtml`,z(e,`portal_signup_terms_html`)||``),l.append(`signupCheckboxRequired`,z(e,`portal_signup_checkbox_required`)?`true`:`false`),l.append(`portalProducts`,o.join(`,`));let u=z(e,`portal_default_plan`);u&&l.append(`portalDefaultPlan`,u),c&&c.length&&l.append(`portalPrices`,encodeURIComponent(c.join(`,`)));let d=z(e,`accent_color`);d!=null&&l.append(`accentColor`,encodeURIComponent(d));let f=z(e,`portal_button_style`);return f&&l.append(`buttonStyle`,encodeURIComponent(f)),l.append(`disableBackground`,`false`),z(e,`transistor`)&&l.append(`transistorPortalSettings`,JSON.stringify({enabled:z(e,`transistor_portal_enabled`),heading:z(e,`transistor_portal_heading`)||`Podcasts`,description:z(e,`transistor_portal_description`)||`Access your RSS feeds`,button_text:z(e,`transistor_portal_button_text`)||`Manage`,url_template:z(e,`transistor_portal_url_template`)||`https://partner.transistor.fm/ghost/{memberUuid}`})),l.append(`admin_toolbar`,`0`),`${s}/?v=modal-portal-settings#/portal/preview?${l.toString()}`},ke=({darkMode:e,selectedTab:t=`signup`,localSettings:n,localTiers:r})=>{let{siteData:i,config:a}=J(),o=Oe({settings:n,tiers:r,selectedTab:t,previewTheme:e?`dark`:`light`,siteData:i,config:a}),s=(0,X.jsx)(X.Fragment,{});switch(t){case`account`:s=(0,X.jsx)(X.Fragment,{children:(0,X.jsx)(xe,{href:o||``,portalParent:`preview`,selectedTab:t})});break;case`links`:s=(0,X.jsx)(De,{});break;default:s=(0,X.jsx)(X.Fragment,{children:(0,X.jsx)(xe,{href:o||``,portalParent:`preview`,selectedTab:t})});break}return s},Ae=({localSettings:e,updateSetting:t,localTiers:n,updateTier:r,errors:i,setError:a})=>{let{config:o}=J(),[s,c,l,u,d,f]=V(e,[`members_signup_access`,`portal_name`,`portal_signup_terms_html`,`portal_signup_checkbox_required`,`portal_plans`,`portal_default_plan`]),p=JSON.parse(d?.toString()||`[]`),m=(0,Y.useMemo)(()=>{let e=document.createElement(`div`);return e.innerHTML=l?.toString()||``,e.innerText.length},[l]),x=(0,Y.useCallback)((e,t)=>{a(e,t)},[]);(0,Y.useEffect)(()=>{m>115?x(`portal_signup_terms_html`,`Signup notice is too long`):x(`portal_signup_terms_html`,void 0)},[m,x]);let S=e=>{let n=p.indexOf(e);n===-1?p.push(e):p.splice(n,1),t(`portal_plans`,JSON.stringify(p)),f===`yearly`?!p.includes(`yearly`)&&p.includes(`monthly`)&&t(`portal_default_plan`,`monthly`):f===`monthly`&&(p.includes(`monthly`)||t(`portal_default_plan`,`yearly`))},w=s===`all`||s===`paid`,T=s===`all`,E=B(e,o),D=[];n&&n.forEach(e=>{e.type===`free`&&T&&D.push({checked:p.includes(`free`),disabled:!w,label:e.name,value:`free`,testId:`free-tier-checkbox`,onChange:n=>{p.includes(`free`)&&!n&&p.splice(p.indexOf(`free`),1),!p.includes(`free`)&&n&&p.push(`free`),t(`portal_plans`,JSON.stringify(p)),r({...e,visibility:n?`public`:`none`})}})});let O=G(n)||[],k=[{value:`yearly`,label:`Yearly`},{value:`monthly`,label:`Monthly`}];E&&O.length>0&&O.forEach(e=>{D.push({checked:e.visibility===`public`,label:e.name,value:e.id,onChange:(t=>r({...e,visibility:t?`public`:`none`}))})});let M=E&&O.length>0&&O.some(e=>e.visibility===`public`);return(0,X.jsx)(`div`,{className:`mt-7`,children:(0,X.jsxs)(A,{className:`mb-10 gap-8`,children:[(0,X.jsxs)(L,{"data-disabled":!w||void 0,orientation:`horizontal`,children:[(0,X.jsx)(P,{htmlFor:`portal-display-name`,children:`Display name in signup form`}),(0,X.jsx)(h,{checked:!!c,disabled:!w,id:`portal-display-name`,onCheckedChange:e=>t(`portal_name`,e)})]}),(0,X.jsxs)(j,{children:[(0,X.jsx)(I,{variant:`label`,children:`Available tiers`}),(0,X.jsx)(A,{"data-slot":`checkbox-group`,children:D.map(e=>(0,X.jsxs)(L,{"data-disabled":e.disabled||void 0,orientation:`horizontal`,children:[(0,X.jsx)(C,{checked:e.checked,"data-testid":e.testId,disabled:e.disabled,id:`portal-tier-${e.value}`,onCheckedChange:t=>e.onChange(t===!0)}),(0,X.jsx)(P,{htmlFor:`portal-tier-${e.value}`,children:e.label})]},e.value))})]}),M&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(j,{children:[(0,X.jsx)(I,{variant:`label`,children:`Available prices`}),(0,X.jsx)(A,{"data-slot":`checkbox-group`,children:[`monthly`,`yearly`].map(e=>(0,X.jsxs)(L,{"data-disabled":!w||void 0,orientation:`horizontal`,children:[(0,X.jsx)(C,{checked:p.includes(e),disabled:!w,id:`portal-plan-${e}`,onCheckedChange:()=>S(e)}),(0,X.jsx)(P,{className:`capitalize`,htmlFor:`portal-plan-${e}`,children:e})]},e))})]}),p.includes(`yearly`)&&p.includes(`monthly`)&&(0,X.jsxs)(L,{children:[(0,X.jsx)(P,{children:`Default price at signup`}),(0,X.jsxs)(b,{value:typeof f==`string`?f:``,onValueChange:e=>t(`portal_default_plan`,e),children:[(0,X.jsx)(v,{"aria-label":`Default price at signup`,children:(0,X.jsx)(y,{})}),(0,X.jsx)(_,{children:k.map(e=>(0,X.jsx)(g,{value:e.value,children:e.label},e.value))})]})]})]}),(0,X.jsx)(ye,{error:!!i.portal_signup_terms_html,hint:i.portal_signup_terms_html||(0,X.jsxs)(X.Fragment,{children:[`Recommended: `,(0,X.jsx)(`strong`,{children:`115`}),` characters. You've used `,(0,X.jsx)(`strong`,{className:`text-green`,children:m})]}),nodes:`MINIMAL_NODES`,placeholder:`By signing up, I agree to receive emails from ...`,title:`Display notice at signup`,value:l?.toString(),onChange:e=>t(`portal_signup_terms_html`,e)}),l?.toString()&&(0,X.jsxs)(L,{"data-disabled":!w||void 0,orientation:`horizontal`,children:[(0,X.jsx)(P,{htmlFor:`portal-require-agreement`,children:`Require agreement`}),(0,X.jsx)(h,{checked:!!u,disabled:!w,id:`portal-require-agreement`,onCheckedChange:e=>t(`portal_signup_checkbox_required`,e)})]})]})})},je=i({path:()=>`/settings/verifications`,method:`PUT`,body:({token:e})=>({token:e}),updateQueries:{dataType:`SettingsResponseType`,emberUpdateType:`createOrUpdate`,update:e=>({...e,settings:e.settings})}}),Me={signupOptions:`signup`,lookAndFeel:`signup`,accountPage:`account`},$=`border-b-2 border-transparent after:hidden data-[state=active]:border-foreground`,Ne=({localSettings:e,updateSetting:t,localTiers:n,updateTier:r,errors:i,setError:a,selectedTab:o,onTabChange:s})=>(0,X.jsx)(`div`,{className:`pt-4`,children:(0,X.jsxs)(m,{value:o,variant:`underline`,onValueChange:e=>s(e),children:[(0,X.jsxs)(p,{children:[(0,X.jsx)(d,{className:$,value:`signupOptions`,children:`Signup options`}),(0,X.jsx)(d,{className:$,value:`lookAndFeel`,children:`Look & feel`}),(0,X.jsx)(d,{className:$,value:`accountPage`,children:`Account page`})]}),(0,X.jsx)(f,{value:`signupOptions`,children:(0,X.jsx)(Ae,{errors:i,localSettings:e,localTiers:n,setError:a,updateSetting:t,updateTier:r})}),(0,X.jsx)(f,{value:`lookAndFeel`,children:(0,X.jsx)(Ee,{localSettings:e,updateSetting:t})}),(0,X.jsx)(f,{value:`accountPage`,children:(0,X.jsx)(Te,{errors:i,localSettings:e,setError:a,updateSetting:t})})]})}),Pe=()=>{let{updateRoute:e}=S(),{darkMode:t}=u(),[n,i]=(0,Y.useState)(`signup`),[o,s]=(0,Y.useState)(`signupOptions`),c=r(),{settings:l,siteData:f,config:h}=J(),{mutateAsync:g}=re(),{data:{tiers:_}={}}=W(),{mutateAsync:v}=ge(),{mutateAsync:y}=je(),{getParam:b}=Se(),C=b(`verifyEmail`);(0,Y.useEffect)(()=>{C&&(async({token:e})=>{try{let{settings:t}=await y({token:e}),[n]=V(t,[`members_support_address`]);x.show(q,{title:`Support address verified`,prompt:(0,X.jsxs)(X.Fragment,{children:[`Your support email address has been changed to `,(0,X.jsx)(`strong`,{children:n}),`.`]}),okLabel:`Close`,cancelLabel:``,onOk:e=>e?.remove()})}catch(e){let t=`There was an error verifying your email address. Please try again.`;e?.message===`Token expired`&&(t=`Verification link has expired.`),x.show(q,{title:`Error verifying support address`,prompt:t,okLabel:`Close`,cancelLabel:``,onOk:e=>e?.remove()}),c(e,{withToast:!1})}})({token:C})},[c,C,y]);let{formState:w,setFormState:T,saveState:E,handleSave:D,updateForm:O,okProps:k}=a({initialState:{settings:l,tiers:_||[]},savingDelay:500,onSave:async()=>{await Promise.all(w.tiers.filter(({dirty:e})=>e).map(e=>v(e))),T(e=>({...e,tiers:w.tiers.map(e=>({...e,dirty:!1}))}));let e=w.settings.filter(e=>e.dirty);if(!e.length)return;let{meta:t,settings:n}=await g(e);if(T(e=>({...e,settings:w.settings.map(e=>({...e,dirty:!1}))})),t?.sent_email_verification){let e=w.settings.find(e=>e.key===`members_support_address`)?.value,t=n.find(e=>e.key===`support_email_address`)?.value||H(n.find(e=>e.key===`members_support_address`)?.value?.toString()||`noreply`,f,h);x.show(q,{title:`Confirm email address`,prompt:(0,X.jsxs)(X.Fragment,{children:[`We've sent a confirmation email to `,(0,X.jsx)(`strong`,{children:e}),`. Until verified, your support email address will remain `,t,`.`]}),okLabel:`Close`,cancelLabel:``,onOk:e=>e?.remove()})}},onSaveError:c});(0,Y.useEffect)(()=>{!w.tiers.length&&_?.length&&T(e=>({...e,tiers:_}))},[_,w.tiers,T]);let[A,j]=(0,Y.useState)({}),M=(e,t)=>{O(n=>({...n,settings:n.settings.map(n=>n.key===e?{...n,value:t,dirty:!0}:n)}))},N=(e,t)=>{j(n=>({...n,[e]:t}))},P=e=>{O(t=>({...t,tiers:t.tiers.map(t=>t.id===e.id?{...e,dirty:!0}:t)}))},F=e=>{i(e),e===`account`?s(`accountPage`):e===`signup`&&o===`accountPage`&&s(`signupOptions`)},I=(0,X.jsx)(Ne,{errors:A,localSettings:w.settings,localTiers:w.tiers,selectedTab:o,setError:N,updateSetting:M,updateTier:P,onTabChange:e=>{s(e),i(Me[e])}}),L=(0,X.jsx)(ke,{darkMode:t,localSettings:w.settings,localTiers:w.tiers,selectedTab:n}),R=(0,X.jsx)(m,{value:n,variant:`button`,onValueChange:e=>F(e),children:(0,X.jsxs)(p,{children:[(0,X.jsx)(d,{value:`signup`,children:`Signup`}),(0,X.jsx)(d,{value:`account`,children:`Account page`}),(0,X.jsx)(d,{value:`links`,children:`Links`})]})});return(0,X.jsx)(be,{buttonsDisabled:k.disabled,cancelLabel:`Close`,dirty:E===`unsaved`,okLabel:k.label||`Save`,okVariant:k.variant,preview:L,previewBgColor:n===`links`?`white`:`greygradient`,previewToolbarTabs:R,sidebar:I,testId:`portal-modal`,title:`Portal`,onClose:()=>{e(`portal`)},onOk:async()=>{Object.values(A).filter(Boolean).length||await D({force:!0})}})};export{Pe as default};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{n as r}from"./posts-CxG7v0-M.js";import{t as i}from"./analytics-53FOa2wq.js";import{r as a}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{t as o}from"./box-By_EgGtm.js";import{t as s}from"./container-LiZf3XdY.js";import{t as c}from"./use-analytics-data-B-b4wNSC.js";import{t as l}from"./post-share-modal-B9Vmk_XM.js";var u=e(t(),1),d=n(),f=({children:e})=>(0,d.jsx)(o,{className:`size-full`,children:(0,d.jsx)(s,{className:`relative flex h-full flex-col`,size:`page`,children:(0,d.jsx)(`div`,{className:`grid w-full grow`,children:(0,d.jsx)(`div`,{className:`flex h-full flex-col px-8`,children:e})})})}),p=()=>{let[e,t]=(0,u.useState)(!1),[n,i]=(0,u.useState)(null),[a,o]=(0,u.useState)(null),{site:s}=c(),{data:l}=r({searchParams:n?{filter:`id:${n.id}`,include:`authors,newsletter,email`}:{},enabled:!!n}),{data:d}=r({searchParams:{filter:`status:[published,sent]`,limit:`1`,fields:`id`},enabled:!!n}),f=l?.posts?.[0],p=e=>`${e.toLocaleString()} subscriber${e===1?``:`s`}`,m=e=>new Date(e).toLocaleTimeString(`en-US`,{hour:`2-digit`,minute:`2-digit`,hour12:!1}),h=e=>e?.map(e=>e.name).join(`, `)||``,g=(0,u.useMemo)(()=>{if(!f)return null;let n=!!a,r=()=>{let e=[];if(f.email_only?e.push(`Your email was sent to`):f.email?.email_count?e.push(`Your post was published on your site and sent to`):e.push(`Your post was published on your site`),f.email?.email_count){let t=p(f.email.email_count);e.push(` `),e.push(u.createElement(`strong`,{key:`subscriber-count`},t)),f.newsletter?.name&&(e.push(` of `),e.push(u.createElement(`strong`,{key:`newsletter-name`},f.newsletter.name))),e.push(`,`)}if(f.published_at){let t=new Date(f.published_at);t.toDateString()===new Date().toDateString()?(e.push(` `),e.push(u.createElement(`strong`,{key:`today`},`today`))):(e.push(` on `),e.push(u.createElement(`strong`,{key:`date`},t.toLocaleDateString(`en-US`,{month:`long`,day:`numeric`})))),e.push(` at `),e.push(u.createElement(`strong`,{key:`time`},m(f.published_at)))}return e.push(`.`),u.createElement(`span`,{},...e)},c=()=>{t(!1),i(null),o(null)};return{open:e,onOpenChange:e=>{e||c()},emailOnly:f.email_only,postURL:f.url||``,primaryTitle:`Boom! It's out there.`,secondaryTitle:n&&a?`That's ${a.toLocaleString()} post${a===1?``:`s`} published.`:`Spread the word!`,description:r(),featureImageURL:f.feature_image||``,postTitle:f.title||``,postExcerpt:f.excerpt||``,faviconURL:s?.icon||``,siteTitle:s?.title||``,author:h(f.authors),onClose:c}},[f,e,a,s?.title]);return(0,u.useEffect)(()=>{let e=()=>{try{let e=localStorage.getItem(`ghost-last-published-post`);if(e){let n=JSON.parse(e);i(n),t(!0),localStorage.removeItem(`ghost-last-published-post`)}}catch{}};e();let n=setTimeout(e,100);return()=>clearTimeout(n)},[]),(0,u.useEffect)(()=>{d?.meta?.pagination?.total&&o(d.meta.pagination.total)},[d]),{isModalOpen:e,post:f,postCount:a,showPostCount:!!a,closeModal:()=>{t(!1),i(null),o(null)},modalProps:g}},m=()=>{let{isModalOpen:e,modalProps:t}=p(),n=e&&!!t;return(0,u.useEffect)(()=>{n&&i(`Share Modal Opened`,{giftLinkShown:!1,source:`publish-flow`})},[n]),(0,d.jsxs)(f,{children:[(0,d.jsx)(a,{}),e&&t&&(0,d.jsx)(l,{...t})]})};export{m as default};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{n as r}from"./posts-CxG7v0-M.js";import{t as i}from"./analytics-53FOa2wq.js";import{r as a}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{t as o}from"./box-By_EgGtm.js";import{t as s}from"./container-LiZf3XdY.js";import{t as c}from"./use-analytics-data-BiWvcf1u.js";import{t as l}from"./post-share-modal-DtFAC132.js";var u=e(t(),1),d=n(),f=({children:e})=>(0,d.jsx)(o,{className:`size-full`,children:(0,d.jsx)(s,{className:`relative flex h-full flex-col`,size:`page`,children:(0,d.jsx)(`div`,{className:`grid w-full grow`,children:(0,d.jsx)(`div`,{className:`flex h-full flex-col px-8`,children:e})})})}),p=()=>{let[e,t]=(0,u.useState)(!1),[n,i]=(0,u.useState)(null),[a,o]=(0,u.useState)(null),{site:s}=c(),{data:l}=r({searchParams:n?{filter:`id:${n.id}`,include:`authors,newsletter,email`}:{},enabled:!!n}),{data:d}=r({searchParams:{filter:`status:[published,sent]`,limit:`1`,fields:`id`},enabled:!!n}),f=l?.posts?.[0],p=e=>`${e.toLocaleString()} subscriber${e===1?``:`s`}`,m=e=>new Date(e).toLocaleTimeString(`en-US`,{hour:`2-digit`,minute:`2-digit`,hour12:!1}),h=e=>e?.map(e=>e.name).join(`, `)||``,g=(0,u.useMemo)(()=>{if(!f)return null;let n=!!a,r=()=>{let e=[];if(f.email_only?e.push(`Your email was sent to`):f.email?.email_count?e.push(`Your post was published on your site and sent to`):e.push(`Your post was published on your site`),f.email?.email_count){let t=p(f.email.email_count);e.push(` `),e.push(u.createElement(`strong`,{key:`subscriber-count`},t)),f.newsletter?.name&&(e.push(` of `),e.push(u.createElement(`strong`,{key:`newsletter-name`},f.newsletter.name))),e.push(`,`)}if(f.published_at){let t=new Date(f.published_at);t.toDateString()===new Date().toDateString()?(e.push(` `),e.push(u.createElement(`strong`,{key:`today`},`today`))):(e.push(` on `),e.push(u.createElement(`strong`,{key:`date`},t.toLocaleDateString(`en-US`,{month:`long`,day:`numeric`})))),e.push(` at `),e.push(u.createElement(`strong`,{key:`time`},m(f.published_at)))}return e.push(`.`),u.createElement(`span`,{},...e)},c=()=>{t(!1),i(null),o(null)};return{open:e,onOpenChange:e=>{e||c()},emailOnly:f.email_only,postURL:f.url||``,primaryTitle:`Boom! It's out there.`,secondaryTitle:n&&a?`That's ${a.toLocaleString()} post${a===1?``:`s`} published.`:`Spread the word!`,description:r(),featureImageURL:f.feature_image||``,postTitle:f.title||``,postExcerpt:f.excerpt||``,faviconURL:s?.icon||``,siteTitle:s?.title||``,author:h(f.authors),onClose:c}},[f,e,a,s?.title]);return(0,u.useEffect)(()=>{let e=()=>{try{let e=localStorage.getItem(`ghost-last-published-post`);if(e){let n=JSON.parse(e);i(n),t(!0),localStorage.removeItem(`ghost-last-published-post`)}}catch{}};e();let n=setTimeout(e,100);return()=>clearTimeout(n)},[]),(0,u.useEffect)(()=>{d?.meta?.pagination?.total&&o(d.meta.pagination.total)},[d]),{isModalOpen:e,post:f,postCount:a,showPostCount:!!a,closeModal:()=>{t(!1),i(null),o(null)},modalProps:g}},m=()=>{let{isModalOpen:e,modalProps:t}=p(),n=e&&!!t;return(0,u.useEffect)(()=>{n&&i(`Share Modal Opened`,{giftLinkShown:!1,source:`publish-flow`})},[n]),(0,d.jsxs)(f,{children:[(0,d.jsx)(a,{}),e&&t&&(0,d.jsx)(l,{...t})]})};export{m as default};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{m as r,o as i}from"./hooks-D6EE7BIt.js";import{h as ee,m as a,p as te,v as ne}from"./stats-D8nZCTy5.js";import{i as re}from"./posts-CxG7v0-M.js";import{t as o}from"./analytics-53FOa2wq.js";import{i as s,n as ie,o as ae,r as c}from"./post-helpers-C5OQMBoi.js";import{a as oe}from"./router-provider-DSQfprxH.js";import{c as l,f as se,l as u,u as d}from"./dist-Cb5RSHSg.js";import{a as ce,i as le,n as f,o as ue,r as de,t as fe}from"./breadcrumb-tg5zL--z.js";import{r as p}from"./users-B6hIds6n.js";import{$r as m,As as pe,Fa as me,Io as he,Ji as ge,Lo as _e,Pr as h,Qr as g,Vs as _,Yr as v,Zr as y,ai as b,dr as x,fr as S,gr as C,hr as w,lr as T,mr as E,pa as D,pr as O,ri as k,ur as A}from"./index-BHy2DZX-.js";import{t as j}from"./use-analytics-data-B-b4wNSC.js";import{t as M}from"./post-share-modal-B9Vmk_XM.js";import{t as N}from"./get-site-timezone-HgL0jI_F.js";import{i as P,t as F}from"./gift-link-modal-zMtlJhLQ.js";import{n as ve}from"./post-analytics-context-D0Mw-Pmv.js";var I=e(t(),1),L=n(),R=(0,I.forwardRef)(({children:e,className:t,...n},r)=>(0,L.jsx)(`section`,{ref:r,className:l(`flex size-full grow flex-col gap-6 py-8`,t),...n,children:e}));R.displayName=`PostAnalyticsContent`;var z=e=>{let{data:t}=i();return!e||!t?!1:e.status===`published`&&!!e.visibility&&e.visibility!==`public`&&p(t)},B=({currentTab:e,children:t})=>{let n=oe(),{appSettings:i}=_(),{mutateAsync:l}=re(),p=r(),[R,B]=(0,I.useState)(!1),[V,H]=(0,I.useState)(!1),[ye,U]=(0,I.useState)(!1),{settings:be,site:W,statsConfig:xe}=j(),{post:G,isPostLoading:K,postId:q}=ve(),J=z(G),Y=N(be),X=(0,I.useRef)(!1);(0,I.useEffect)(()=>{if(!V){X.current=!1;return}X.current||(X.current=!0,o(`Share Modal Opened`,{giftLinkShown:J,source:`post-analytics`}))},[V,J]);let{activeVisitors:Z,isLoading:Q}=ne({postUuid:G?.uuid,statsConfig:xe,enabled:i?.analytics?.webAnalytics??!1}),$=(0,I.useMemo)(()=>{if(!G)return[];let e=[];return s(G)&&!i?.analytics.webAnalytics||(e.push(`Overview`),!G.email_only&&i?.analytics.webAnalytics&&e.push(`Web`)),ae(G)&&e.push(`Newsletter`),i?.analytics.membersTrackSources&&e.push(`Growth`),e},[G,i?.analytics.webAnalytics,i?.analytics.membersTrackSources]),Se=()=>{G&&B(!0)},Ce=async()=>{if(G)try{await l(q),B(!1),n(`/posts/`,{crossApp:!0})}catch(e){p(e)}};return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`header`,{className:`z-50 -mx-8 bg-white/70 backdrop-blur-md dark:bg-background`,children:(0,L.jsx)(`div`,{className:`relative flex min-h-[102px] w-full items-start justify-between gap-5 px-8 pt-8 pb-0`,"data-header":`header`,children:(0,L.jsxs)(`div`,{className:`flex w-full flex-col gap-6`,children:[(0,L.jsxs)(`div`,{className:`flex w-full flex-col justify-between md:flex-row md:items-center`,children:[(0,L.jsx)(fe,{children:(0,L.jsxs)(le,{children:[(0,L.jsx)(f,{children:(0,L.jsx)(de,{asChild:!0,children:(0,L.jsx)(`button`,{className:`cursor-pointer rounded-sm focus-visible:ring-1 focus-visible:ring-focus-ring focus-visible:outline-hidden`,type:`button`,onClick:()=>n(`/analytics/`,{crossApp:!0}),children:`Analytics`})})}),(0,L.jsx)(ue,{}),(0,L.jsx)(f,{children:(0,L.jsx)(ce,{children:`Post analytics`})})]})}),(0,L.jsxs)(`div`,{className:`flex w-full items-center gap-2 md:w-auto`,children:[i?.analytics.webAnalytics&&!G?.email_only&&(0,L.jsx)(`div`,{className:`mr-3 flex grow items-center gap-2 md:grow-0`,children:(0,L.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,title:`Active readers in the last 5 minutes · Updates every 60 seconds`,children:[(0,L.jsxs)(`span`,{children:[Q?``:se(Z),` reading now`]}),(0,L.jsx)(`div`,{className:`size-2 rounded-full ${Q?`animate-pulse bg-muted`:Z?`bg-green-500`:`border border-muted-foreground`}`})]})}),!K&&(0,L.jsxs)(L.Fragment,{children:[!G?.email_only&&(0,L.jsx)(M,{author:G?.authors?.[0]?.name||``,canShareAsGift:J,description:``,faviconURL:W?.icon||``,featureImageURL:G?.feature_image,giftAccessLabel:P(G?.visibility),open:V,postExcerpt:G?.excerpt||``,postTitle:G?.title,postURL:G?.url,siteTitle:W?.title||``,onClose:()=>H(!1),onOpenChange:H,onShareAsGift:()=>{H(!1),U(!0)},children:(0,L.jsxs)(h,{variant:`outline`,onClick:()=>H(!0),children:[(0,L.jsx)(D,{}),` Share`]})}),(0,L.jsxs)(v,{children:[(0,L.jsx)(b,{asChild:!0,children:(0,L.jsx)(h,{variant:`outline`,children:(0,L.jsx)(_e,{})})}),(0,L.jsxs)(y,{align:`end`,children:[(0,L.jsxs)(g,{children:[(0,L.jsx)(m,{asChild:!0,children:(0,L.jsxs)(`a`,{href:G?.url,rel:`noopener noreferrer`,target:`_blank`,children:[(0,L.jsx)(he,{}),`View in browser`]})}),(0,L.jsxs)(m,{onClick:()=>{n(`/editor/post/${q}`,{crossApp:!0})},children:[(0,L.jsx)(me,{}),`Edit post`]})]}),(0,L.jsx)(k,{}),(0,L.jsx)(g,{children:(0,L.jsxs)(m,{className:`text-destructive focus:text-destructive`,onClick:Se,children:[(0,L.jsx)(ge,{}),`Delete post`]})})]})]})]})]})]}),!K&&(0,L.jsxs)(`div`,{className:`flex items-start gap-6 md:items-center`,children:[G?.feature_image&&(0,L.jsx)(`div`,{className:`aspect-[16/10] w-full max-w-[100px] rounded-md bg-cover bg-center md:max-w-[132px]`,style:{backgroundImage:`url(${G.feature_image})`}}),(0,L.jsxs)(`div`,{children:[(0,L.jsx)(pe,{className:`-ml-px max-w-[920px] indent-0 !text-xl md:leading-[1.2em]`,"data-header":`header-title`,children:G?.title}),G?.published_at&&(0,L.jsxs)(`div`,{className:`mt-0.5 flex items-center justify-start leading-[1.65em] text-muted-foreground`,children:[ie(G)&&`Sent on ${u(G.published_at,Y)} at ${d(G.published_at,Y)}`,s(G)&&`Published on your site on ${u(G.published_at,Y)} at ${d(G.published_at,Y)}`,c(G)&&`Published and sent on ${u(G.published_at,Y)} at ${d(G.published_at,Y)}`]})]})]})]})})}),(0,L.jsxs)(ee,{className:`sticky top-0 z-50 -mb-8 transform-gpu flex-col items-start gap-y-0 border-none bg-white/70 py-8 backdrop-blur-md lg:flex-row lg:items-center dark:bg-background`,children:[!K&&(0,L.jsxs)(te,{className:`min-h-[34px]`,defaultValue:e,responsive:!0,children:[$.includes(`Overview`)&&(0,L.jsx)(a,{value:`Overview`,onClick:()=>{n(`/posts/analytics/${q}`)},children:`Overview`}),$.includes(`Web`)&&(0,L.jsx)(a,{value:`Web`,onClick:()=>{n(`/posts/analytics/${q}/web`)},children:`Web traffic`}),$.includes(`Newsletter`)&&(0,L.jsx)(a,{value:`Newsletter`,onClick:()=>{n(`/posts/analytics/${q}/newsletter`)},children:`Newsletter`}),$.includes(`Growth`)&&(0,L.jsx)(a,{value:`Growth`,onClick:()=>{n(`/posts/analytics/${q}/growth`)},children:`Growth`})]}),t]}),J&&q&&(0,L.jsx)(F,{open:ye,postId:q,source:`share-modal`,onOpenChange:U},q),(0,L.jsx)(T,{open:R,onOpenChange:B,children:(0,L.jsxs)(S,{children:[(0,L.jsxs)(w,{children:[(0,L.jsx)(C,{children:`Are you sure you want to delete this post?`}),(0,L.jsxs)(O,{children:[`You're about to delete "`,(0,L.jsx)(`strong`,{children:G?.title}),`". This is permanent! We warned you, k?`]})]}),(0,L.jsxs)(E,{children:[(0,L.jsx)(x,{children:`Cancel`}),(0,L.jsx)(A,{className:`bg-red-600 text-white hover:bg-red-700`,onClick:()=>void Ce(),children:`Delete`})]})]})})]})};export{z as n,R as r,B as t};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{m as r,o as i}from"./hooks-D6EE7BIt.js";import{h as ee,m as a,p as te,v as ne}from"./stats-B2KW8E2y.js";import{i as re}from"./posts-CxG7v0-M.js";import{t as o}from"./analytics-53FOa2wq.js";import{i as s,n as ie,o as ae,r as c}from"./post-helpers-C5OQMBoi.js";import{a as oe}from"./router-provider-DSQfprxH.js";import{c as l,f as se,l as u,u as d}from"./dist-Cb5RSHSg.js";import{a as ce,i as le,n as f,o as ue,r as de,t as fe}from"./breadcrumb-CjOH7LCU.js";import{r as p}from"./users-B6hIds6n.js";import{$r as m,As as pe,Fa as me,Io as he,Ji as ge,Lo as _e,Pr as h,Qr as g,Vs as _,Yr as v,Zr as y,ai as b,dr as x,fr as S,gr as C,hr as w,lr as T,mr as E,pa as D,pr as O,ri as k,ur as A}from"./index-DUXM0NlS.js";import{t as j}from"./use-analytics-data-BiWvcf1u.js";import{t as M}from"./post-share-modal-DtFAC132.js";import{t as N}from"./get-site-timezone-HgL0jI_F.js";import{i as P,t as F}from"./gift-link-modal-BKRuqo-k.js";import{n as ve}from"./post-analytics-context-D0Mw-Pmv.js";var I=e(t(),1),L=n(),R=(0,I.forwardRef)(({children:e,className:t,...n},r)=>(0,L.jsx)(`section`,{ref:r,className:l(`flex size-full grow flex-col gap-6 py-8`,t),...n,children:e}));R.displayName=`PostAnalyticsContent`;var z=e=>{let{data:t}=i();return!e||!t?!1:e.status===`published`&&!!e.visibility&&e.visibility!==`public`&&p(t)},B=({currentTab:e,children:t})=>{let n=oe(),{appSettings:i}=_(),{mutateAsync:l}=re(),p=r(),[R,B]=(0,I.useState)(!1),[V,H]=(0,I.useState)(!1),[ye,U]=(0,I.useState)(!1),{settings:be,site:W,statsConfig:xe}=j(),{post:G,isPostLoading:K,postId:q}=ve(),J=z(G),Y=N(be),X=(0,I.useRef)(!1);(0,I.useEffect)(()=>{if(!V){X.current=!1;return}X.current||(X.current=!0,o(`Share Modal Opened`,{giftLinkShown:J,source:`post-analytics`}))},[V,J]);let{activeVisitors:Z,isLoading:Q}=ne({postUuid:G?.uuid,statsConfig:xe,enabled:i?.analytics?.webAnalytics??!1}),$=(0,I.useMemo)(()=>{if(!G)return[];let e=[];return s(G)&&!i?.analytics.webAnalytics||(e.push(`Overview`),!G.email_only&&i?.analytics.webAnalytics&&e.push(`Web`)),ae(G)&&e.push(`Newsletter`),i?.analytics.membersTrackSources&&e.push(`Growth`),e},[G,i?.analytics.webAnalytics,i?.analytics.membersTrackSources]),Se=()=>{G&&B(!0)},Ce=async()=>{if(G)try{await l(q),B(!1),n(`/posts/`,{crossApp:!0})}catch(e){p(e)}};return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`header`,{className:`z-50 -mx-8 bg-white/70 backdrop-blur-md dark:bg-background`,children:(0,L.jsx)(`div`,{className:`relative flex min-h-[102px] w-full items-start justify-between gap-5 px-8 pt-8 pb-0`,"data-header":`header`,children:(0,L.jsxs)(`div`,{className:`flex w-full flex-col gap-6`,children:[(0,L.jsxs)(`div`,{className:`flex w-full flex-col justify-between md:flex-row md:items-center`,children:[(0,L.jsx)(fe,{children:(0,L.jsxs)(le,{children:[(0,L.jsx)(f,{children:(0,L.jsx)(de,{asChild:!0,children:(0,L.jsx)(`button`,{className:`cursor-pointer rounded-sm focus-visible:ring-1 focus-visible:ring-focus-ring focus-visible:outline-hidden`,type:`button`,onClick:()=>n(`/analytics/`,{crossApp:!0}),children:`Analytics`})})}),(0,L.jsx)(ue,{}),(0,L.jsx)(f,{children:(0,L.jsx)(ce,{children:`Post analytics`})})]})}),(0,L.jsxs)(`div`,{className:`flex w-full items-center gap-2 md:w-auto`,children:[i?.analytics.webAnalytics&&!G?.email_only&&(0,L.jsx)(`div`,{className:`mr-3 flex grow items-center gap-2 md:grow-0`,children:(0,L.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,title:`Active readers in the last 5 minutes · Updates every 60 seconds`,children:[(0,L.jsxs)(`span`,{children:[Q?``:se(Z),` reading now`]}),(0,L.jsx)(`div`,{className:`size-2 rounded-full ${Q?`animate-pulse bg-muted`:Z?`bg-green-500`:`border border-muted-foreground`}`})]})}),!K&&(0,L.jsxs)(L.Fragment,{children:[!G?.email_only&&(0,L.jsx)(M,{author:G?.authors?.[0]?.name||``,canShareAsGift:J,description:``,faviconURL:W?.icon||``,featureImageURL:G?.feature_image,giftAccessLabel:P(G?.visibility),open:V,postExcerpt:G?.excerpt||``,postTitle:G?.title,postURL:G?.url,siteTitle:W?.title||``,onClose:()=>H(!1),onOpenChange:H,onShareAsGift:()=>{H(!1),U(!0)},children:(0,L.jsxs)(h,{variant:`outline`,onClick:()=>H(!0),children:[(0,L.jsx)(D,{}),` Share`]})}),(0,L.jsxs)(v,{children:[(0,L.jsx)(b,{asChild:!0,children:(0,L.jsx)(h,{variant:`outline`,children:(0,L.jsx)(_e,{})})}),(0,L.jsxs)(y,{align:`end`,children:[(0,L.jsxs)(g,{children:[(0,L.jsx)(m,{asChild:!0,children:(0,L.jsxs)(`a`,{href:G?.url,rel:`noopener noreferrer`,target:`_blank`,children:[(0,L.jsx)(he,{}),`View in browser`]})}),(0,L.jsxs)(m,{onClick:()=>{n(`/editor/post/${q}`,{crossApp:!0})},children:[(0,L.jsx)(me,{}),`Edit post`]})]}),(0,L.jsx)(k,{}),(0,L.jsx)(g,{children:(0,L.jsxs)(m,{className:`text-destructive focus:text-destructive`,onClick:Se,children:[(0,L.jsx)(ge,{}),`Delete post`]})})]})]})]})]})]}),!K&&(0,L.jsxs)(`div`,{className:`flex items-start gap-6 md:items-center`,children:[G?.feature_image&&(0,L.jsx)(`div`,{className:`aspect-[16/10] w-full max-w-[100px] rounded-md bg-cover bg-center md:max-w-[132px]`,style:{backgroundImage:`url(${G.feature_image})`}}),(0,L.jsxs)(`div`,{children:[(0,L.jsx)(pe,{className:`-ml-px max-w-[920px] indent-0 !text-xl md:leading-[1.2em]`,"data-header":`header-title`,children:G?.title}),G?.published_at&&(0,L.jsxs)(`div`,{className:`mt-0.5 flex items-center justify-start leading-[1.65em] text-muted-foreground`,children:[ie(G)&&`Sent on ${u(G.published_at,Y)} at ${d(G.published_at,Y)}`,s(G)&&`Published on your site on ${u(G.published_at,Y)} at ${d(G.published_at,Y)}`,c(G)&&`Published and sent on ${u(G.published_at,Y)} at ${d(G.published_at,Y)}`]})]})]})]})})}),(0,L.jsxs)(ee,{className:`sticky top-0 z-50 -mb-8 transform-gpu flex-col items-start gap-y-0 border-none bg-white/70 py-8 backdrop-blur-md lg:flex-row lg:items-center dark:bg-background`,children:[!K&&(0,L.jsxs)(te,{className:`min-h-[34px]`,defaultValue:e,responsive:!0,children:[$.includes(`Overview`)&&(0,L.jsx)(a,{value:`Overview`,onClick:()=>{n(`/posts/analytics/${q}`)},children:`Overview`}),$.includes(`Web`)&&(0,L.jsx)(a,{value:`Web`,onClick:()=>{n(`/posts/analytics/${q}/web`)},children:`Web traffic`}),$.includes(`Newsletter`)&&(0,L.jsx)(a,{value:`Newsletter`,onClick:()=>{n(`/posts/analytics/${q}/newsletter`)},children:`Newsletter`}),$.includes(`Growth`)&&(0,L.jsx)(a,{value:`Growth`,onClick:()=>{n(`/posts/analytics/${q}/growth`)},children:`Growth`})]}),t]}),J&&q&&(0,L.jsx)(F,{open:ye,postId:q,source:`share-modal`,onOpenChange:U},q),(0,L.jsx)(T,{open:R,onOpenChange:B,children:(0,L.jsxs)(S,{children:[(0,L.jsxs)(w,{children:[(0,L.jsx)(C,{children:`Are you sure you want to delete this post?`}),(0,L.jsxs)(O,{children:[`You're about to delete "`,(0,L.jsx)(`strong`,{children:G?.title}),`". This is permanent! We warned you, k?`]})]}),(0,L.jsxs)(E,{children:[(0,L.jsx)(x,{children:`Cancel`}),(0,L.jsx)(A,{className:`bg-red-600 text-white hover:bg-red-700`,onClick:()=>void Ce(),children:`Delete`})]})]})})]})};export{z as n,R as r,B as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{n as r}from"./posts-CxG7v0-M.js";import{m as i}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{s as a,u as o}from"./index-BHy2DZX-.js";import{t as s}from"./post-analytics-context-D0Mw-Pmv.js";var c=e(t(),1),l=n(),u=({children:e})=>{let{postId:t}=i();if(!t)throw Error(`Post ID is required for PostAnalyticsProvider`);let[n,u]=(0,c.useState)(o.last30Days.value),{data:{posts:[d]}={posts:[]},isLoading:f}=r({searchParams:{filter:`id:${t}`,include:a}});return(0,l.jsx)(s.Provider,{value:{postId:t,post:d,isPostLoading:f,range:n,setRange:u},children:e})};export{u as default};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{n as r}from"./posts-CxG7v0-M.js";import{m as i}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{s as a,u as o}from"./index-DUXM0NlS.js";import{t as s}from"./post-analytics-context-D0Mw-Pmv.js";var c=e(t(),1),l=n(),u=({children:e})=>{let{postId:t}=i();if(!t)throw Error(`Post ID is required for PostAnalyticsProvider`);let[n,u]=(0,c.useState)(o.last30Days.value),{data:{posts:[d]}={posts:[]},isLoading:f}=r({searchParams:{filter:`id:${t}`,include:a}});return(0,l.jsx)(s.Provider,{value:{postId:t,post:d,isPostLoading:f,range:n,setRange:u},children:e})};export{u as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime-DAXXjFlN.js";import{t as e}from"./react-Bb3IsNbi.js";import{t}from"./jsx-runtime-DX3WBWVO.js";import{Ms as n,Pr as r}from"./index-BHy2DZX-.js";import{t as i}from"./share-modal-ClIyPzc5.js";e();var a=t(),o=({author:e=``,canShareAsGift:t=!1,children:o,description:s=``,emailOnly:c=!1,faviconURL:l=``,featureImageURL:u=``,giftAccessLabel:d=``,onClose:f=()=>{},onShareAsGift:p=()=>{},postExcerpt:m=``,postTitle:h=``,postURL:g=``,primaryTitle:_=`Your post is published.`,secondaryTitle:v=`Spread the word!`,siteTitle:y=``,...b})=>{let x=encodeURIComponent(h),S=encodeURIComponent(g),C=encodeURIComponent(`${h} ${g}`),w=c?[]:[{href:`https://twitter.com/intent/tweet?text=${x}%0A${S}`,label:`Share on X`,service:`x`},{href:`https://threads.net/intent/post?text=${C}`,label:`Share on Threads`,service:`threads`},{href:`https://www.facebook.com/sharer/sharer.php?u=${S}`,label:`Share on Facebook`,service:`facebook`},{href:`https://www.linkedin.com/shareArticle?mini=true&title=${x}&url=${S}`,label:`Share on LinkedIn`,service:`linkedin`}];return(0,a.jsxs)(i.Root,{...b,children:[o&&(0,a.jsx)(i.Trigger,{children:o}),(0,a.jsxs)(i.Content,{children:[(0,a.jsx)(`div`,{className:`sticky top-0 ml-auto size-0`,children:(0,a.jsx)(i.CloseButton,{className:`absolute -top-5 -right-5`,onClick:f})}),(0,a.jsxs)(i.Header,{className:`relative -mt-5`,children:[(0,a.jsxs)(i.Title,{className:`text-3xl leading-[1.15em] font-bold`,children:[_&&(0,a.jsx)(`span`,{className:`text-state-success`,children:_}),_&&v&&(0,a.jsx)(`br`,{}),v&&(0,a.jsx)(`span`,{children:v})]}),s&&(0,a.jsx)(i.Description,{className:`mb-0 pt-1 pb-0 text-lg text-foreground`,children:s})]}),(0,a.jsxs)(i.Preview,{className:`rounded-md`,href:g,children:[u&&(0,a.jsx)(`div`,{className:`aspect-video bg-cover bg-center`,style:{backgroundImage:`url(${u})`}}),(0,a.jsxs)(`div`,{className:`p-6 pt-5`,children:[(0,a.jsx)(n,{children:h}),m&&(0,a.jsx)(`p`,{className:`line-clamp-2`,children:m}),(0,a.jsxs)(`div`,{className:`mt-2 flex items-start gap-2`,children:[(0,a.jsx)(`div`,{className:`mt-0.5 size-4 bg-cover bg-center`,style:{backgroundImage:`url(${l})`}}),(0,a.jsxs)(`div`,{className:`flex gap-1`,children:[(0,a.jsx)(`strong`,{children:y}),(0,a.jsx)(`span`,{children:`•`}),(0,a.jsx)(`span`,{children:e})]})]})]})]}),(0,a.jsx)(i.Footer,{children:c?(0,a.jsx)(r,{className:`cursor-pointer`,type:`button`,onClick:f,children:`Close`}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.SocialLinks,{links:w}),(0,a.jsx)(i.CopyButton,{className:`ml-0! grow cursor-pointer`,copyURL:g,icon:`link`})]})}),t&&!c&&(0,a.jsxs)(`p`,{className:`text-center text-sm text-muted-foreground`,children:[`Want to share full access to this `,d,` post?`,` `,(0,a.jsx)(r,{className:`h-auto p-0 align-baseline text-sm`,type:`button`,variant:`link`,onClick:p,children:`Share as a gift`}),`.`]})]})]})};export{o as t};
1
+ import"./rolldown-runtime-DAXXjFlN.js";import{t as e}from"./react-Bb3IsNbi.js";import{t}from"./jsx-runtime-DX3WBWVO.js";import{Ms as n,Pr as r}from"./index-DUXM0NlS.js";import{t as i}from"./share-modal-BNj14g79.js";e();var a=t(),o=({author:e=``,canShareAsGift:t=!1,children:o,description:s=``,emailOnly:c=!1,faviconURL:l=``,featureImageURL:u=``,giftAccessLabel:d=``,onClose:f=()=>{},onShareAsGift:p=()=>{},postExcerpt:m=``,postTitle:h=``,postURL:g=``,primaryTitle:_=`Your post is published.`,secondaryTitle:v=`Spread the word!`,siteTitle:y=``,...b})=>{let x=encodeURIComponent(h),S=encodeURIComponent(g),C=encodeURIComponent(`${h} ${g}`),w=c?[]:[{href:`https://twitter.com/intent/tweet?text=${x}%0A${S}`,label:`Share on X`,service:`x`},{href:`https://threads.net/intent/post?text=${C}`,label:`Share on Threads`,service:`threads`},{href:`https://www.facebook.com/sharer/sharer.php?u=${S}`,label:`Share on Facebook`,service:`facebook`},{href:`https://www.linkedin.com/shareArticle?mini=true&title=${x}&url=${S}`,label:`Share on LinkedIn`,service:`linkedin`}];return(0,a.jsxs)(i.Root,{...b,children:[o&&(0,a.jsx)(i.Trigger,{children:o}),(0,a.jsxs)(i.Content,{children:[(0,a.jsx)(`div`,{className:`sticky top-0 ml-auto size-0`,children:(0,a.jsx)(i.CloseButton,{className:`absolute -top-5 -right-5`,onClick:f})}),(0,a.jsxs)(i.Header,{className:`relative -mt-5`,children:[(0,a.jsxs)(i.Title,{className:`text-3xl leading-[1.15em] font-bold`,children:[_&&(0,a.jsx)(`span`,{className:`text-state-success`,children:_}),_&&v&&(0,a.jsx)(`br`,{}),v&&(0,a.jsx)(`span`,{children:v})]}),s&&(0,a.jsx)(i.Description,{className:`mb-0 pt-1 pb-0 text-lg text-foreground`,children:s})]}),(0,a.jsxs)(i.Preview,{className:`rounded-md`,href:g,children:[u&&(0,a.jsx)(`div`,{className:`aspect-video bg-cover bg-center`,style:{backgroundImage:`url(${u})`}}),(0,a.jsxs)(`div`,{className:`p-6 pt-5`,children:[(0,a.jsx)(n,{children:h}),m&&(0,a.jsx)(`p`,{className:`line-clamp-2`,children:m}),(0,a.jsxs)(`div`,{className:`mt-2 flex items-start gap-2`,children:[(0,a.jsx)(`div`,{className:`mt-0.5 size-4 bg-cover bg-center`,style:{backgroundImage:`url(${l})`}}),(0,a.jsxs)(`div`,{className:`flex gap-1`,children:[(0,a.jsx)(`strong`,{children:y}),(0,a.jsx)(`span`,{children:`•`}),(0,a.jsx)(`span`,{children:e})]})]})]})]}),(0,a.jsx)(i.Footer,{children:c?(0,a.jsx)(r,{className:`cursor-pointer`,type:`button`,onClick:f,children:`Close`}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.SocialLinks,{links:w}),(0,a.jsx)(i.CopyButton,{className:`ml-0! grow cursor-pointer`,copyURL:g,icon:`link`})]})}),t&&!c&&(0,a.jsxs)(`p`,{className:`text-center text-sm text-muted-foreground`,children:[`Want to share full access to this `,d,` post?`,` `,(0,a.jsx)(r,{className:`h-auto p-0 align-baseline text-sm`,type:`button`,variant:`link`,onClick:p,children:`Share as a gift`}),`.`]})]})]})};export{o as t};