ghost 6.24.0 → 6.25.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.
- package/components/tryghost-i18n-6.25.1.tgz +0 -0
- package/components/tryghost-parse-email-address-6.25.1.tgz +0 -0
- package/core/boot.js +3 -1
- package/core/built/admin/assets/{PolarAngleAxis-7TlIQL3R.js → PolarAngleAxis-C6ZeSpZB.js} +1 -1
- package/core/built/admin/assets/{_baseAssignValue-DJsCJz6y.js → _baseAssignValue-BKAl5FrV.js} +1 -1
- package/core/built/admin/assets/{a-large-small-BnBpzYwl.js → a-large-small-B_ulQCIs.js} +1 -1
- package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
- package/core/built/admin/assets/admin-x-settings/{code-editor-view-De3K_osj.mjs → code-editor-view-CBYT1gA1.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-bGxDzD13.mjs → index-CN5CixaU.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-5D8KqsFU.mjs → index-CPQODntW.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-BIUDn7ot.mjs → index-CgTfOd7g.mjs} +9 -9
- package/core/built/admin/assets/admin-x-settings/{modals-DuokUyAH.mjs → modals-_y-6HROx.mjs} +2 -2
- package/core/built/admin/assets/{at-sign-DC4NtDDM.js → at-sign-B8xWKM0y.js} +1 -1
- package/core/built/admin/assets/{audience-CC5U4UxI.js → audience-CBOR--z9.js} +1 -1
- package/core/built/admin/assets/{avatar-flipboard-_GQfQXQc.js → avatar-flipboard-IipGb_wZ.js} +1 -1
- package/core/built/admin/assets/{bluesky-sharing-BKyzPl9y.js → bluesky-sharing-CkI1QuAm.js} +1 -1
- package/core/built/admin/assets/{chart-BCQFlmhJ.js → chart-_slUcr-K.js} +1 -1
- package/core/built/admin/assets/{chunk.423.dae9a3bbe7845c3a3cfc.js → chunk.434.de8a15730373eccfeefe.js} +13 -101
- package/core/built/admin/assets/{chunk.524.b5e454aa74df4428420c.js → chunk.524.5b9b463506a16221fc91.js} +6 -6
- package/core/built/admin/assets/{chunk.582.20635869be68725e6d5c.js → chunk.582.d8eae1661d753befaefd.js} +7 -7
- package/core/built/admin/assets/{chunk.123.1255d9e815f933dfdc57.js → chunk.630.3dbb0231a2d871126a80.js} +8 -6
- package/core/built/admin/assets/{code-editor-view-BXnjo7qe.js → code-editor-view-BWMqr2JV.js} +1 -1
- package/core/built/admin/assets/comments-BeoA0nfK.js +1 -0
- package/core/built/admin/assets/{content-helpers-CQXipRWa.js → content-helpers-CmTGdEmL.js} +1 -1
- package/core/built/admin/assets/{copy-B-MxRWPu.js → copy-CDHcAPJw.js} +1 -1
- package/core/built/admin/assets/{data-list-B2sqn7IE.js → data-list-Crb1ffbp.js} +1 -1
- package/core/built/admin/assets/{deleted-feed-item-DQi676Dy.js → deleted-feed-item-DBW0zJQg.js} +1 -1
- package/core/built/admin/assets/{dropzone-GgOCfK2j.js → dropzone-B9JUsQlW.js} +3 -3
- package/core/built/admin/assets/{edit-profile-COx5FmF9.js → edit-profile-Dz-IhetN.js} +1 -1
- package/core/built/admin/assets/{empty-indicator-Bf4Dqk72.js → empty-indicator-2QGnEbtY.js} +1 -1
- package/core/built/admin/assets/{en-BkI47Ou-.js → en-BRQS1Z8j.js} +1 -1
- package/core/built/admin/assets/{feed-Dzc-8jwd.js → feed-T3kW9UJA.js} +1 -1
- package/core/built/admin/assets/filters-ChOMQQZW.js +1 -0
- package/core/built/admin/assets/{gh-chart-Ch6dYUac.js → gh-chart-fuWw60Ka.js} +1 -1
- package/core/built/admin/assets/{ghost-69e448feab2cb78aba64f7177fa4d6f0.js → ghost-78b4a517ac907213ab47708eef33bc6f.js} +423 -542
- package/core/built/admin/assets/{growth-BIBJdcm6.js → growth-D9sCnmon.js} +1 -1
- package/core/built/admin/assets/{hash-BGd7HEsT.js → hash-CI1pQ1UC.js} +1 -1
- package/core/built/admin/assets/header-OevT95FI.js +1 -0
- package/core/built/admin/assets/{inbox-CFzKvW3h.js → inbox-DYY8-M1K.js} +1 -1
- package/core/built/admin/assets/{index-Dy8dCc8t.js → index-8CZdLQzu.js} +4 -4
- package/core/built/admin/assets/{index-DIO8ceib.js → index-BDAOs7pI.js} +1 -1
- package/core/built/admin/assets/{index-BZyG96u1.js → index-BEEgMX-_.js} +1 -1
- package/core/built/admin/assets/index-BbveDn8H.css +1 -0
- package/core/built/admin/assets/{index-BYXKsmpv.js → index-C-Cpbee5.js} +1 -1
- package/core/built/admin/assets/{index-DDJAHYHQ.js → index-CCF2RKxR.js} +12 -12
- package/core/built/admin/assets/{index-ZuWSQ3L6.js → index-CEnfjH5h.js} +93 -93
- package/core/built/admin/assets/{index-_WMp37yL.js → index-CcFVbffG.js} +1 -1
- package/core/built/admin/assets/{index-DpZazR71.js → index-CyMlhfZJ.js} +1 -1
- package/core/built/admin/assets/{index-DM98UB_U.js → index-DBZYUfjO.js} +1 -1
- package/core/built/admin/assets/{index-D0gRP4Gp.js → index-DJa3pLmx.js} +1 -1
- package/core/built/admin/assets/{index-n5opb8tL.js → index-DVqmhe-L.js} +1 -1
- package/core/built/admin/assets/{index-S2DGJkmz.js → index-DW5aEj6O.js} +2 -2
- package/core/built/admin/assets/{index-CvX5YYEz.js → index-DcFgRUSN.js} +1 -1
- package/core/built/admin/assets/{index-7NTHsKgE.js → index-DjgsxHeB.js} +1 -1
- package/core/built/admin/assets/index-mqQc8MVd.js +1 -0
- package/core/built/admin/assets/{index-CsHjDdYB.js → index-qQZsxgFE.js} +1 -1
- package/core/built/admin/assets/{koenig-lexical-8qAZ5o1x.js → koenig-lexical-CsbE6fpi.js} +1 -1
- package/core/built/admin/assets/kpis-Dw04ruBN.js +1 -0
- package/core/built/admin/assets/{label-CofMdj8x.js → label-tBvn89sm.js} +1 -1
- package/core/built/admin/assets/{links-MSlYSad1.js → links-Do4jcjIh.js} +1 -1
- package/core/built/admin/assets/{loader-circle-CF5G2g_Z.js → loader-circle-C8exRUku.js} +4 -4
- package/core/built/admin/assets/{lucide-react-DZiAu6PQ.js → lucide-react-4VO5Dwow.js} +1 -1
- package/core/built/admin/assets/{main-layout-DEVUkqt_.js → main-layout-BAqXRgAx.js} +1 -1
- package/core/built/admin/assets/{member-route-mLKS-PsA.js → member-route-D4n-RbQd.js} +1 -1
- package/core/built/admin/assets/members-DRLgwCgJ.js +15 -0
- package/core/built/admin/assets/{message-square-text-DESy3kSk.js → message-square-text-CC_1bY-Q.js} +5 -5
- package/core/built/admin/assets/{minus-DVNwSjD6.js → minus-DSyx9DCe.js} +1 -1
- package/core/built/admin/assets/{modals-FYjLOMaQ.js → modals-AryZr_DA.js} +13 -13
- package/core/built/admin/assets/{moderation-u4WS46a-.js → moderation-DwKm9LO-.js} +1 -1
- package/core/built/admin/assets/{newsletter-Cj0UCg4J.js → newsletter-C0rydPGS.js} +1 -1
- package/core/built/admin/assets/{newsletters-_UvhdBE3.js → newsletters-DKdmxfDG.js} +1 -1
- package/core/built/admin/assets/{note-CRnFryTp.js → note-996Zos9G.js} +1 -1
- package/core/built/admin/assets/{overview-Cr0dGxEU.js → overview-r17hlWAB.js} +1 -1
- package/core/built/admin/assets/{pagemenu-BqoDENpI.js → pagemenu-DzpB1AkZ.js} +17 -17
- package/core/built/admin/assets/{post-analytics-DIr_rDtL.js → post-analytics-AwufPVFE.js} +1 -1
- package/core/built/admin/assets/{post-analytics-context-WA--pwK5.js → post-analytics-context-GFe0lMc-.js} +1 -1
- package/core/built/admin/assets/{post-analytics-header-D97SoEaV.js → post-analytics-header-DmGyNvP9.js} +1 -1
- package/core/built/admin/assets/{post-share-modal-DBxR7WCX.js → post-share-modal-CTpdCS2X.js} +1 -1
- package/core/built/admin/assets/posts/{comments-Bswx2dzs.mjs → comments-Cvt31uBs.mjs} +597 -674
- package/core/built/admin/assets/posts/{dialog-67vvNv8e.mjs → dialog-DaViJlnd.mjs} +3 -3
- package/core/built/admin/assets/posts/{dropdown-menu-BKZfsAPJ.mjs → dropdown-menu-B4KGMiRI.mjs} +5 -5
- package/core/built/admin/assets/posts/{empty-indicator-DTmBQa_3.mjs → empty-indicator-BaD6pCXM.mjs} +2 -2
- package/core/built/admin/assets/posts/filters-BsCI4RJg.mjs +2835 -0
- package/core/built/admin/assets/posts/{get-site-timezone-D75cHSJ1.mjs → get-site-timezone-Bo-iI2bI.mjs} +2 -2
- package/core/built/admin/assets/posts/{growth-BqJWjpAp.mjs → growth-BJxIDp2o.mjs} +14 -14
- package/core/built/admin/assets/posts/header-7zhnErbb.mjs +100 -0
- package/core/built/admin/assets/posts/{heading-DXxLDQ96.mjs → heading-BCDx_eVF.mjs} +2 -2
- package/core/built/admin/assets/posts/{hooks-pVotzebr.mjs → hooks-DQL2O_El.mjs} +2 -2
- package/core/built/admin/assets/posts/{index-DZ1HzbGS.mjs → index-0mEgtljt.mjs} +3 -3
- package/core/built/admin/assets/posts/{index-By5yPnMZ.mjs → index-BTzJVQ6S.mjs} +10 -10
- package/core/built/admin/assets/posts/{input-DdXe2Fjm.mjs → input-DaHXv92f.mjs} +2 -2
- package/core/built/admin/assets/posts/{kpis-1MXZeSC9.mjs → kpis-GRsx6fPV.mjs} +10 -10
- package/core/built/admin/assets/posts/{links-DGzzdzsH.mjs → links-B1q_pqE9.mjs} +4 -4
- package/core/built/admin/assets/posts/{loading-indicator-CSj2spwS.mjs → loading-indicator-DiYqXomj.mjs} +3 -3
- package/core/built/admin/assets/posts/{main-layout-CGs25JVH.mjs → main-layout-DeqPTJTe.mjs} +2 -2
- package/core/built/admin/assets/posts/{members-BRcED5fL.mjs → members-LABk5yI5.mjs} +4102 -3442
- package/core/built/admin/assets/posts/{newsletter-D706LlgM.mjs → newsletter-C_nbHBaP.mjs} +15 -15
- package/core/built/admin/assets/posts/{overview-5dG5ypjx.mjs → overview-AJnKv4Ze.mjs} +16 -16
- package/core/built/admin/assets/posts/{post-analytics-wvNuOa4c.mjs → post-analytics-b_CKsePp.mjs} +6 -6
- package/core/built/admin/assets/posts/{post-analytics-context-BqnFe05q.mjs → post-analytics-context-D6jtpxxm.mjs} +5 -5
- package/core/built/admin/assets/posts/{post-analytics-header-Dsi5l6hb.mjs → post-analytics-header-R5UF_tF0.mjs} +11 -11
- package/core/built/admin/assets/posts/{post-share-modal-DWe35McY.mjs → post-share-modal-y4BEOajk.mjs} +4 -4
- package/core/built/admin/assets/posts/posts-C2hNrf1c.mjs +37 -0
- package/core/built/admin/assets/posts/posts.js +1 -1
- package/core/built/admin/assets/posts/{reply-B4vwBMwj.mjs → reply-2Uvi3Kxb.mjs} +2 -2
- package/core/built/admin/assets/posts/{search-DQuB1WMm.mjs → search-se7meOnL.mjs} +2 -2
- package/core/built/admin/assets/posts/{select-BMPHyOdQ.mjs → select-DpUpauFg.mjs} +8 -8
- package/core/built/admin/assets/posts/{separator-DgZ2VF9r.mjs → separator-CdBM46dw.mjs} +3 -3
- package/core/built/admin/assets/posts/{settings-D-wnf7Qg.mjs → settings-Chhj9xKP.mjs} +2 -2
- package/core/built/admin/assets/posts/{sheet-SOdCzxUt.mjs → sheet--k3SiDko.mjs} +3 -3
- package/core/built/admin/assets/posts/{skeleton-Du7JXZ_1.mjs → skeleton-CUSLSLoY.mjs} +3 -3
- package/core/built/admin/assets/posts/{source-icon-DcBtKbCl.mjs → source-icon-BjYUIoXN.mjs} +3 -3
- package/core/built/admin/assets/posts/{stats-CeLav-Hu.mjs → stats-BRdXKaxM.mjs} +4 -4
- package/core/built/admin/assets/posts/{table-DlaJMBps.mjs → table-Bgi_UcfL.mjs} +2 -2
- package/core/built/admin/assets/posts/{tabs-BQQbtw2g.mjs → tabs-DT8Bh72E.mjs} +14 -14
- package/core/built/admin/assets/posts/tags-BCFLnZYl.mjs +399 -0
- package/core/built/admin/assets/posts/{tags-CLyaNf39.mjs → tags-Kv2q0o3p.mjs} +2 -2
- package/core/built/admin/assets/posts/use-scroll-restoration-CLAUAal3.mjs +517 -0
- package/core/built/admin/assets/posts/{use-infinite-virtual-scroll-B_NwiBXK.mjs → virtual-list-window-CQDEqNBL.mjs} +246 -262
- package/core/built/admin/assets/posts/{web-TEVKbXSI.mjs → web-CqN0MQU6.mjs} +18 -18
- package/core/built/admin/assets/posts-GvXDuhVG.js +1 -0
- package/core/built/admin/assets/{referrers-J4vexZCf.js → referrers-Bd9pW-WX.js} +1 -1
- package/core/built/admin/assets/{repeat-BxOK9zhN.js → repeat-y6HlMgGO.js} +2 -2
- package/core/built/admin/assets/{reply-BoTN-eE0.js → reply-Cc8ryI5v.js} +2 -2
- package/core/built/admin/assets/{select-Bd1zcqox.js → select-CGr_5qad.js} +1 -1
- package/core/built/admin/assets/{settings-D72z6T_a.js → settings-BPsfSgg3.js} +1 -1
- package/core/built/admin/assets/{settings-BGbGoa4s.js → settings-BTd0Adha.js} +19 -19
- package/core/built/admin/assets/{sort-button-BOLTpImz.js → sort-button-k76_5HR2.js} +1 -1
- package/core/built/admin/assets/{source-icon-BqEM5MvU.js → source-icon-DMt0UskC.js} +1 -1
- package/core/built/admin/assets/{sprout-Bf-wc2Vo.js → sprout-Td9eaOoY.js} +2 -2
- package/core/built/admin/assets/{square-Cj_bJ0HZ.js → square-Df8vEYlG.js} +1 -1
- package/core/built/admin/assets/stats/{audience-BiHYBUzT.mjs → audience-DMTObpL8.mjs} +3 -3
- package/core/built/admin/assets/stats/{content-helpers-CIXZiyCm.mjs → content-helpers-ReMp9KJN.mjs} +4 -4
- package/core/built/admin/assets/stats/{index-CkKk-p14.mjs → index-6L-yLKFX.mjs} +8 -8
- package/core/built/admin/assets/stats/{index-DBB8Oih1.mjs → index-CIUyjeP-.mjs} +5 -5
- package/core/built/admin/assets/stats/{index-9zQR4gr0.mjs → index-CMSDpQm3.mjs} +3626 -3513
- package/core/built/admin/assets/stats/{index-DErXBfDM.mjs → index-Ca-_KJzy.mjs} +5 -5
- package/core/built/admin/assets/stats/{index-DMSmQLxG.mjs → index-CfO5yPSP.mjs} +5 -5
- package/core/built/admin/assets/stats/{sort-button-BqY7GFaO.mjs → sort-button-BB_M2CdZ.mjs} +3 -3
- package/core/built/admin/assets/stats/{stats-BeJgKX2G.mjs → stats-B2nnuLeU.mjs} +4 -4
- package/core/built/admin/assets/stats/stats.js +1 -1
- package/core/built/admin/assets/stats/{tabs-CPz357mW.mjs → tabs-DjJG-d3O.mjs} +3 -3
- package/core/built/admin/assets/stats/{use-growth-stats-WMYXBQE3.mjs → use-growth-stats-BMT5M7l6.mjs} +3 -3
- package/core/built/admin/assets/{stats-DWpHtRym.js → stats-Bs9ZbmXX.js} +1 -1
- package/core/built/admin/assets/stats-view-BWoPuaLz.js +1 -0
- package/core/built/admin/assets/{step-1-Bjya9Gt0.js → step-1-BUvsuCs0.js} +1 -1
- package/core/built/admin/assets/{step-2-CJ6I8JNc.js → step-2-DI9ekXls.js} +1 -1
- package/core/built/admin/assets/{step-3-3fs6Y2Kj.js → step-3-DzT_XhaS.js} +2 -2
- package/core/built/admin/assets/{table-B4zlzEDP.js → table-BKqaEGAm.js} +1 -1
- package/core/built/admin/assets/{tabs-mR5oJGm5.js → tabs-G6Ql8vbf.js} +1 -1
- package/core/built/admin/assets/tags-BHm-dlBs.js +1 -0
- package/core/built/admin/assets/{tags-CsgMtkFL.js → tags-_taMP0sJ.js} +1 -1
- package/core/built/admin/assets/{textarea-CQjEvapR.js → textarea-DcVuGYYq.js} +1 -1
- package/core/built/admin/assets/{tiers-CQE0v797.js → tiers-kv-xBoqQ.js} +1 -1
- package/core/built/admin/assets/{toggle-group-CR-Z-bJL.js → toggle-group-DsatLdt7.js} +1 -1
- package/core/built/admin/assets/{topic-filter-_NyD55eH.js → topic-filter-DkJyIuAf.js} +1 -1
- package/core/built/admin/assets/{trash-BFSLkv0z.js → trash-BeZZgbn-.js} +1 -1
- package/core/built/admin/assets/{upload-BTxT4v2z.js → upload-BG7KNIn7.js} +4 -4
- package/core/built/admin/assets/{use-growth-stats-BGymNu5O.js → use-growth-stats-CNGdl44N.js} +1 -1
- package/core/built/admin/assets/use-scroll-restoration-CQ3w0W98.js +1 -0
- package/core/built/admin/assets/{use-simple-pagination-Cq7Afp_c.js → use-simple-pagination-BeIJ_5Vv.js} +1 -1
- package/core/built/admin/assets/{user-plus-DMl69yKl.js → user-plus-CMxR50-Y.js} +1 -1
- package/core/built/admin/assets/{user-round-check-CVuZXUPz.js → user-round-check-2nhPmqP3.js} +1 -1
- package/core/built/admin/assets/virtual-list-window-Uq8oKYVG.js +4 -0
- package/core/built/admin/assets/{wallet-cards-zHR_y6Sp.js → wallet-cards-CJcVzH0D.js} +1 -1
- package/core/built/admin/assets/{web-CmFHgeQw.js → web-BPwTFKrc.js} +1 -1
- package/core/built/admin/index.html +7 -7
- package/core/frontend/helpers/ghost_head.js +1 -4
- package/core/server/data/migrations/versions/6.25/2026-03-26-15-47-00-insert-default-email-design-settings-row.js +42 -0
- package/core/server/data/migrations/versions/6.25/2026-03-30-20-22-25-add-email-design-setting-permissions.js +44 -0
- package/core/server/data/migrations/versions/6.25/2026-03-30-22-16-43-add-email-design-setting-id-to-automated-emails.js +8 -0
- package/core/server/data/migrations/versions/6.25/2026-03-31-13-12-10-backfill-automated-emails-email-design-setting-id.js +45 -0
- package/core/server/data/migrations/versions/6.25/2026-03-31-20-31-19-drop-nullable-on-automated-emails-email-design-setting-id.js +3 -0
- package/core/server/data/schema/fixtures/fixtures.json +35 -0
- package/core/server/data/schema/schema.js +1 -0
- package/core/server/data/seeders/importers/comment-reports-importer.js +1 -3
- package/core/server/data/seeders/importers/comments-importer.js +3 -2
- package/core/server/data/seeders/importers/email-batches-importer.js +3 -3
- package/core/server/data/seeders/importers/email-recipients-importer.js +6 -6
- package/core/server/data/seeders/importers/emails-importer.js +4 -3
- package/core/server/data/seeders/importers/members-click-events-importer.js +1 -1
- package/core/server/data/seeders/importers/members-created-events-importer.js +2 -1
- package/core/server/data/seeders/importers/members-feedback-importer.js +3 -4
- package/core/server/data/seeders/importers/members-login-events-importer.js +3 -2
- package/core/server/data/seeders/importers/members-status-events-importer.js +1 -2
- package/core/server/data/seeders/importers/members-stripe-customers-importer.js +2 -1
- package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +4 -2
- package/core/server/data/seeders/importers/members-subscribe-events-importer.js +1 -2
- package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +3 -1
- package/core/server/data/seeders/importers/offer-redemptions-importer.js +3 -3
- package/core/server/data/seeders/utils/database-date.js +26 -1
- package/core/server/models/automated-email.js +27 -0
- package/core/server/models/email-design-setting.js +27 -0
- package/core/server/services/members/service.js +0 -22
- package/core/server/services/stripe/service.js +1 -2
- package/core/server/services/verification/verification-webhook-service.js +2 -2
- package/core/server/services/verification/verification-webhook-service.ts +2 -2
- package/core/server/services/verification-trigger.js +34 -69
- package/core/server/services/webhooks/webhook-trigger.js +1 -1
- package/core/shared/labs.js +2 -2
- package/package.json +10 -28
- package/tsconfig.tsbuildinfo +1 -1
- package/yarn.lock +423 -107
- package/components/tryghost-i18n-6.24.0.tgz +0 -0
- package/components/tryghost-parse-email-address-6.24.0.tgz +0 -0
- package/core/built/admin/assets/comments-CteqV7ZN.js +0 -1
- package/core/built/admin/assets/filters-DXXaCya7.js +0 -1
- package/core/built/admin/assets/index-QB-va_sk.css +0 -1
- package/core/built/admin/assets/index-nBUk6L1X.js +0 -1
- package/core/built/admin/assets/kpis-Cv75oSPY.js +0 -1
- package/core/built/admin/assets/members-DcElgZ2t.js +0 -15
- package/core/built/admin/assets/posts/filters-Ds_ZaYIU.mjs +0 -2722
- package/core/built/admin/assets/posts/posts-DI5YQFp4.mjs +0 -17
- package/core/built/admin/assets/posts/tags-CjwolIiT.mjs +0 -395
- package/core/built/admin/assets/posts/use-scroll-restoration-YSR5jwQl.mjs +0 -232
- package/core/built/admin/assets/posts-CJHEP4C-.js +0 -1
- package/core/built/admin/assets/stats-view-CcyaLPwj.js +0 -1
- package/core/built/admin/assets/tags-DEFC6GpD.js +0 -1
- package/core/built/admin/assets/use-infinite-virtual-scroll-CNqGwgHd.js +0 -4
- package/core/built/admin/assets/use-scroll-restoration-BWtb0NrS.js +0 -1
- package/core/shared/config/env/config.testing-browser.json +0 -98
- /package/core/built/admin/assets/{chunk.423.dae9a3bbe7845c3a3cfc.js.LICENSE.txt → chunk.434.de8a15730373eccfeefe.js.LICENSE.txt} +0 -0
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { a as e, b as o, c as a } from "./hooks-pVotzebr.mjs";
|
|
2
|
-
const t = "PostsResponseType", r = e({
|
|
3
|
-
dataType: t,
|
|
4
|
-
path: "/posts/"
|
|
5
|
-
}), c = a({
|
|
6
|
-
dataType: t,
|
|
7
|
-
path: (s) => `/posts/${s}/`
|
|
8
|
-
}), n = o({
|
|
9
|
-
method: "DELETE",
|
|
10
|
-
path: (s) => `/posts/${s}/`
|
|
11
|
-
});
|
|
12
|
-
export {
|
|
13
|
-
n as a,
|
|
14
|
-
c as g,
|
|
15
|
-
r as u
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=posts-DI5YQFp4.mjs.map
|
|
@@ -1,395 +0,0 @@
|
|
|
1
|
-
import { D as h, j as e, R as g, T as J, n as w, A as K, B as W, Z as S, q as X, e as Y, _ as ee } from "./index-By5yPnMZ.mjs";
|
|
2
|
-
import { b as G, P as T, f as se, d as ae, B as b } from "./heading-DXxLDQ96.mjs";
|
|
3
|
-
import { c as E, I as te, u as re, R as le } from "./skeleton-Du7JXZ_1.mjs";
|
|
4
|
-
import { H as m, u as oe } from "./use-infinite-virtual-scroll-B_NwiBXK.mjs";
|
|
5
|
-
import { M as ne } from "./main-layout-CGs25JVH.mjs";
|
|
6
|
-
import { T as ie, a as ce, b as P, c as j, d as de, e as f } from "./table-DlaJMBps.mjs";
|
|
7
|
-
import { P as ue, T as ge } from "./tags-CLyaNf39.mjs";
|
|
8
|
-
import { E as pe } from "./empty-indicator-DTmBQa_3.mjs";
|
|
9
|
-
import { L as xe } from "./loading-indicator-CSj2spwS.mjs";
|
|
10
|
-
import { d as me } from "./hooks-pVotzebr.mjs";
|
|
11
|
-
var $ = "Toggle", C = h((s, t) => {
|
|
12
|
-
const { pressed: r, defaultPressed: a, onPressedChange: l, ...o } = s, [n, i] = G({
|
|
13
|
-
prop: r,
|
|
14
|
-
onChange: l,
|
|
15
|
-
defaultProp: a ?? !1,
|
|
16
|
-
caller: $
|
|
17
|
-
});
|
|
18
|
-
return /* @__PURE__ */ e.jsx(
|
|
19
|
-
T.button,
|
|
20
|
-
{
|
|
21
|
-
type: "button",
|
|
22
|
-
"aria-pressed": n,
|
|
23
|
-
"data-state": n ? "on" : "off",
|
|
24
|
-
"data-disabled": s.disabled ? "" : void 0,
|
|
25
|
-
...o,
|
|
26
|
-
ref: t,
|
|
27
|
-
onClick: se(s.onClick, () => {
|
|
28
|
-
s.disabled || i(!n);
|
|
29
|
-
})
|
|
30
|
-
}
|
|
31
|
-
);
|
|
32
|
-
});
|
|
33
|
-
C.displayName = $;
|
|
34
|
-
var M = C, x = "ToggleGroup", [V] = ae(x, [
|
|
35
|
-
E
|
|
36
|
-
]), L = E(), _ = g.forwardRef((s, t) => {
|
|
37
|
-
const { type: r, ...a } = s;
|
|
38
|
-
if (r === "single") {
|
|
39
|
-
const l = a;
|
|
40
|
-
return /* @__PURE__ */ e.jsx(fe, { ...l, ref: t });
|
|
41
|
-
}
|
|
42
|
-
if (r === "multiple") {
|
|
43
|
-
const l = a;
|
|
44
|
-
return /* @__PURE__ */ e.jsx(he, { ...l, ref: t });
|
|
45
|
-
}
|
|
46
|
-
throw new Error(`Missing prop \`type\` expected on \`${x}\``);
|
|
47
|
-
});
|
|
48
|
-
_.displayName = x;
|
|
49
|
-
var [B, D] = V(x), fe = g.forwardRef((s, t) => {
|
|
50
|
-
const {
|
|
51
|
-
value: r,
|
|
52
|
-
defaultValue: a,
|
|
53
|
-
onValueChange: l = () => {
|
|
54
|
-
},
|
|
55
|
-
...o
|
|
56
|
-
} = s, [n, i] = G({
|
|
57
|
-
prop: r,
|
|
58
|
-
defaultProp: a ?? "",
|
|
59
|
-
onChange: l,
|
|
60
|
-
caller: x
|
|
61
|
-
});
|
|
62
|
-
return /* @__PURE__ */ e.jsx(
|
|
63
|
-
B,
|
|
64
|
-
{
|
|
65
|
-
scope: s.__scopeToggleGroup,
|
|
66
|
-
type: "single",
|
|
67
|
-
value: g.useMemo(() => n ? [n] : [], [n]),
|
|
68
|
-
onItemActivate: i,
|
|
69
|
-
onItemDeactivate: g.useCallback(() => i(""), [i]),
|
|
70
|
-
children: /* @__PURE__ */ e.jsx(F, { ...o, ref: t })
|
|
71
|
-
}
|
|
72
|
-
);
|
|
73
|
-
}), he = g.forwardRef((s, t) => {
|
|
74
|
-
const {
|
|
75
|
-
value: r,
|
|
76
|
-
defaultValue: a,
|
|
77
|
-
onValueChange: l = () => {
|
|
78
|
-
},
|
|
79
|
-
...o
|
|
80
|
-
} = s, [n, i] = G({
|
|
81
|
-
prop: r,
|
|
82
|
-
defaultProp: a ?? [],
|
|
83
|
-
onChange: l,
|
|
84
|
-
caller: x
|
|
85
|
-
}), d = g.useCallback(
|
|
86
|
-
(u) => i((c = []) => [...c, u]),
|
|
87
|
-
[i]
|
|
88
|
-
), p = g.useCallback(
|
|
89
|
-
(u) => i((c = []) => c.filter((v) => v !== u)),
|
|
90
|
-
[i]
|
|
91
|
-
);
|
|
92
|
-
return /* @__PURE__ */ e.jsx(
|
|
93
|
-
B,
|
|
94
|
-
{
|
|
95
|
-
scope: s.__scopeToggleGroup,
|
|
96
|
-
type: "multiple",
|
|
97
|
-
value: n,
|
|
98
|
-
onItemActivate: d,
|
|
99
|
-
onItemDeactivate: p,
|
|
100
|
-
children: /* @__PURE__ */ e.jsx(F, { ...o, ref: t })
|
|
101
|
-
}
|
|
102
|
-
);
|
|
103
|
-
});
|
|
104
|
-
_.displayName = x;
|
|
105
|
-
var [ve, je] = V(x), F = g.forwardRef(
|
|
106
|
-
(s, t) => {
|
|
107
|
-
const {
|
|
108
|
-
__scopeToggleGroup: r,
|
|
109
|
-
disabled: a = !1,
|
|
110
|
-
rovingFocus: l = !0,
|
|
111
|
-
orientation: o,
|
|
112
|
-
dir: n,
|
|
113
|
-
loop: i = !0,
|
|
114
|
-
...d
|
|
115
|
-
} = s, p = L(r), u = re(n), c = { role: "group", dir: u, ...d };
|
|
116
|
-
return /* @__PURE__ */ e.jsx(ve, { scope: r, rovingFocus: l, disabled: a, children: l ? /* @__PURE__ */ e.jsx(
|
|
117
|
-
le,
|
|
118
|
-
{
|
|
119
|
-
asChild: !0,
|
|
120
|
-
...p,
|
|
121
|
-
orientation: o,
|
|
122
|
-
dir: u,
|
|
123
|
-
loop: i,
|
|
124
|
-
children: /* @__PURE__ */ e.jsx(T.div, { ...c, ref: t })
|
|
125
|
-
}
|
|
126
|
-
) : /* @__PURE__ */ e.jsx(T.div, { ...c, ref: t }) });
|
|
127
|
-
}
|
|
128
|
-
), N = "ToggleGroupItem", H = g.forwardRef(
|
|
129
|
-
(s, t) => {
|
|
130
|
-
const r = D(N, s.__scopeToggleGroup), a = je(N, s.__scopeToggleGroup), l = L(s.__scopeToggleGroup), o = r.value.includes(s.value), n = a.disabled || s.disabled, i = { ...s, pressed: o, disabled: n }, d = g.useRef(null);
|
|
131
|
-
return a.rovingFocus ? /* @__PURE__ */ e.jsx(
|
|
132
|
-
te,
|
|
133
|
-
{
|
|
134
|
-
asChild: !0,
|
|
135
|
-
...l,
|
|
136
|
-
focusable: !n,
|
|
137
|
-
active: o,
|
|
138
|
-
ref: d,
|
|
139
|
-
children: /* @__PURE__ */ e.jsx(z, { ...i, ref: t })
|
|
140
|
-
}
|
|
141
|
-
) : /* @__PURE__ */ e.jsx(z, { ...i, ref: t });
|
|
142
|
-
}
|
|
143
|
-
);
|
|
144
|
-
H.displayName = N;
|
|
145
|
-
var z = g.forwardRef(
|
|
146
|
-
(s, t) => {
|
|
147
|
-
const { __scopeToggleGroup: r, value: a, ...l } = s, o = D(N, r), n = { role: "radio", "aria-checked": s.pressed, "aria-pressed": void 0 }, i = o.type === "single" ? n : void 0;
|
|
148
|
-
return /* @__PURE__ */ e.jsx(
|
|
149
|
-
C,
|
|
150
|
-
{
|
|
151
|
-
...i,
|
|
152
|
-
...l,
|
|
153
|
-
ref: t,
|
|
154
|
-
onPressedChange: (d) => {
|
|
155
|
-
d ? o.onItemActivate(a) : o.onItemDeactivate(a);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
);
|
|
159
|
-
}
|
|
160
|
-
), q = _, O = H;
|
|
161
|
-
const Q = J(
|
|
162
|
-
"inline-flex items-center justify-center gap-2 rounded-xs text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200 hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-background data-[state=on]:text-foreground data-[state=on]:shadow-sm dark:hover:bg-background [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:stroke-[1.5px]",
|
|
163
|
-
{
|
|
164
|
-
variants: {
|
|
165
|
-
variant: {
|
|
166
|
-
default: "bg-transparent"
|
|
167
|
-
},
|
|
168
|
-
size: {
|
|
169
|
-
default: "h-[26px] min-w-[26px] px-2",
|
|
170
|
-
button: "h-[32px] min-w-[32px] px-3"
|
|
171
|
-
}
|
|
172
|
-
},
|
|
173
|
-
defaultVariants: {
|
|
174
|
-
variant: "default",
|
|
175
|
-
size: "default"
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
), be = h(({ className: s, variant: t, size: r, ...a }, l) => /* @__PURE__ */ e.jsx(
|
|
179
|
-
M,
|
|
180
|
-
{
|
|
181
|
-
ref: l,
|
|
182
|
-
className: w(Q({ variant: t, size: r, className: s })),
|
|
183
|
-
...a
|
|
184
|
-
}
|
|
185
|
-
));
|
|
186
|
-
be.displayName = M.displayName;
|
|
187
|
-
const U = K({
|
|
188
|
-
size: "default",
|
|
189
|
-
variant: "default"
|
|
190
|
-
}), Z = h(({ className: s, variant: t, size: r, children: a, ...l }, o) => /* @__PURE__ */ e.jsx(
|
|
191
|
-
q,
|
|
192
|
-
{
|
|
193
|
-
ref: o,
|
|
194
|
-
className: w("inline-flex items-center justify-center gap-0.5 bg-gray-100 p-0.5 rounded-md dark:bg-gray-925/70", s),
|
|
195
|
-
...l,
|
|
196
|
-
children: /* @__PURE__ */ e.jsx(U.Provider, { value: { variant: t, size: r }, children: a })
|
|
197
|
-
}
|
|
198
|
-
));
|
|
199
|
-
Z.displayName = q.displayName;
|
|
200
|
-
const y = h(({ className: s, children: t, variant: r, size: a, ...l }, o) => {
|
|
201
|
-
const n = W(U);
|
|
202
|
-
return /* @__PURE__ */ e.jsx(
|
|
203
|
-
O,
|
|
204
|
-
{
|
|
205
|
-
ref: o,
|
|
206
|
-
className: w(
|
|
207
|
-
Q({
|
|
208
|
-
variant: n.variant || r,
|
|
209
|
-
size: n.size || a
|
|
210
|
-
}),
|
|
211
|
-
s
|
|
212
|
-
),
|
|
213
|
-
...l,
|
|
214
|
-
children: t
|
|
215
|
-
}
|
|
216
|
-
);
|
|
217
|
-
});
|
|
218
|
-
y.displayName = O.displayName;
|
|
219
|
-
const Ne = ({ children: s, className: t, ...r }) => /* @__PURE__ */ e.jsx("section", { className: w("flex gap-6 flex-col p-4 lg:p-8 size-full grow", t), ...r, children: s }), we = ({ currentTab: s }) => /* @__PURE__ */ e.jsxs(m, { variant: "inline-nav", children: [
|
|
220
|
-
/* @__PURE__ */ e.jsx(m.Title, { children: "Tags" }),
|
|
221
|
-
/* @__PURE__ */ e.jsxs(m.Actions, { children: [
|
|
222
|
-
/* @__PURE__ */ e.jsx(m.ActionGroup, { children: /* @__PURE__ */ e.jsxs(Z, { "data-testid": "tags-header-tabs", size: "button", type: "single", value: s, children: [
|
|
223
|
-
/* @__PURE__ */ e.jsx(y, { "aria-label": "Public tags", value: "public", asChild: !0, children: /* @__PURE__ */ e.jsx(S, { to: "/tags", children: "Public tags" }) }),
|
|
224
|
-
/* @__PURE__ */ e.jsx(y, { "aria-label": "Internal tags", value: "internal", asChild: !0, children: /* @__PURE__ */ e.jsx(S, { to: "/tags?type=internal", children: "Internal tags" }) })
|
|
225
|
-
] }) }),
|
|
226
|
-
/* @__PURE__ */ e.jsx(m.ActionGroup, { children: /* @__PURE__ */ e.jsx(b, { asChild: !0, children: /* @__PURE__ */ e.jsx("a", { className: "font-bold", href: "#/tags/new", children: "New tag" }) }) })
|
|
227
|
-
] })
|
|
228
|
-
] }), Te = ({ children: s }) => /* @__PURE__ */ e.jsx(ne, { children: /* @__PURE__ */ e.jsx("div", { className: "grid w-full grow", children: /* @__PURE__ */ e.jsx("div", { className: "flex h-full flex-col", "data-testid": "tags-page", children: s }) }) }), A = ({ height: s }) => /* @__PURE__ */ e.jsx("tr", { "aria-hidden": "true", className: "flex lg:table-row", children: /* @__PURE__ */ e.jsx("td", { className: "flex lg:table-cell", style: { height: s } }) }), Pe = h(function(t, r) {
|
|
229
|
-
return /* @__PURE__ */ e.jsx(
|
|
230
|
-
P,
|
|
231
|
-
{
|
|
232
|
-
ref: r,
|
|
233
|
-
...t,
|
|
234
|
-
"aria-hidden": "true",
|
|
235
|
-
className: "relative flex flex-col lg:table-row",
|
|
236
|
-
children: /* @__PURE__ */ e.jsx(f, { className: "relative z-10 h-24 animate-pulse", children: /* @__PURE__ */ e.jsx("div", { className: "h-full rounded-md bg-muted", "data-testid": "loading-placeholder" }) })
|
|
237
|
-
}
|
|
238
|
-
);
|
|
239
|
-
});
|
|
240
|
-
function ye({
|
|
241
|
-
items: s,
|
|
242
|
-
totalItems: t,
|
|
243
|
-
hasNextPage: r,
|
|
244
|
-
isFetchingNextPage: a,
|
|
245
|
-
fetchNextPage: l
|
|
246
|
-
}) {
|
|
247
|
-
const o = X(null), { visibleItems: n, spaceBefore: i, spaceAfter: d } = oe({
|
|
248
|
-
items: s,
|
|
249
|
-
totalItems: t,
|
|
250
|
-
hasNextPage: r,
|
|
251
|
-
isFetchingNextPage: a,
|
|
252
|
-
fetchNextPage: l,
|
|
253
|
-
parentRef: o
|
|
254
|
-
});
|
|
255
|
-
return /* @__PURE__ */ e.jsx("div", { ref: o, className: "overflow-hidden", children: /* @__PURE__ */ e.jsxs(
|
|
256
|
-
ie,
|
|
257
|
-
{
|
|
258
|
-
className: "flex table-fixed flex-col lg:table",
|
|
259
|
-
"data-testid": "tags-list",
|
|
260
|
-
children: [
|
|
261
|
-
/* @__PURE__ */ e.jsx(ce, { className: "hidden lg:visible! lg:table-header-group!", children: /* @__PURE__ */ e.jsxs(P, { children: [
|
|
262
|
-
/* @__PURE__ */ e.jsx(j, { className: "w-auto px-4", children: "Tag" }),
|
|
263
|
-
/* @__PURE__ */ e.jsx(j, { className: "w-1/5 px-4", children: "Slug" }),
|
|
264
|
-
/* @__PURE__ */ e.jsx(j, { className: "w-1/5 px-4", children: "No. of posts" }),
|
|
265
|
-
/* @__PURE__ */ e.jsx(j, { className: "w-20 px-4" })
|
|
266
|
-
] }) }),
|
|
267
|
-
/* @__PURE__ */ e.jsxs(de, { className: "flex flex-col lg:table-row-group", children: [
|
|
268
|
-
/* @__PURE__ */ e.jsx(A, { height: i }),
|
|
269
|
-
n.map(({ key: p, virtualItem: u, item: c, props: v }) => {
|
|
270
|
-
var I, R, k;
|
|
271
|
-
return u.index > s.length - 1 ? /* @__PURE__ */ e.jsx(Pe, { ...v }, p) : /* @__PURE__ */ e.jsxs(
|
|
272
|
-
P,
|
|
273
|
-
{
|
|
274
|
-
...v,
|
|
275
|
-
className: "grid w-full grid-cols-[1fr_5rem] items-center gap-x-4 p-2 hover:bg-muted/50 md:grid-cols-[1fr_auto_5rem] lg:table-row lg:p-0 [&.group:hover_td]:bg-transparent",
|
|
276
|
-
"data-testid": "tag-list-row",
|
|
277
|
-
children: [
|
|
278
|
-
/* @__PURE__ */ e.jsxs(f, { className: "static col-start-1 col-end-1 row-start-1 row-end-1 flex min-w-0 flex-col p-0 md:relative lg:table-cell lg:w-1/2 lg:p-4 xl:w-3/5", children: [
|
|
279
|
-
/* @__PURE__ */ e.jsx(
|
|
280
|
-
"a",
|
|
281
|
-
{
|
|
282
|
-
className: "before:absolute before:top-0 before:left-0 before:z-10 before:h-full before:w-[100vw]",
|
|
283
|
-
href: `#/tags/${c.slug}`,
|
|
284
|
-
children: /* @__PURE__ */ e.jsx("span", { className: "block truncate pb-1 text-lg font-medium", children: c.name })
|
|
285
|
-
}
|
|
286
|
-
),
|
|
287
|
-
/* @__PURE__ */ e.jsx("span", { className: "block truncate text-muted-foreground", children: c.description })
|
|
288
|
-
] }),
|
|
289
|
-
/* @__PURE__ */ e.jsx(f, { className: "col-start-1 col-end-1 row-start-2 row-end-2 flex p-0 lg:table-cell lg:p-4", children: /* @__PURE__ */ e.jsx("span", { className: "block truncate", children: c.slug }) }),
|
|
290
|
-
/* @__PURE__ */ e.jsx(f, { className: "col-start-1 col-end-1 row-start-3 row-end-3 flex p-0 md:col-start-2 md:col-end-2 md:row-start-1 md:row-end-3 lg:table-cell lg:p-4", children: (I = c.count) != null && I.posts ? /* @__PURE__ */ e.jsx(
|
|
291
|
-
"a",
|
|
292
|
-
{
|
|
293
|
-
className: "relative z-10 -m-4 inline-block p-4 hover:underline",
|
|
294
|
-
href: `#/posts?tag=${c.slug}`,
|
|
295
|
-
children: `${Y((R = c.count) == null ? void 0 : R.posts)} ${((k = c.count) == null ? void 0 : k.posts) === 1 ? "post" : "posts"}`
|
|
296
|
-
}
|
|
297
|
-
) : /* @__PURE__ */ e.jsx("span", { className: "text-muted-foreground", children: "0 posts" }) }),
|
|
298
|
-
/* @__PURE__ */ e.jsx(f, { className: "col-start-2 col-end-2 row-start-1 row-end-3 p-0 md:col-start-3 md:col-end-3 lg:table-cell lg:p-4", children: /* @__PURE__ */ e.jsx(
|
|
299
|
-
b,
|
|
300
|
-
{
|
|
301
|
-
"aria-hidden": "true",
|
|
302
|
-
className: "w-12",
|
|
303
|
-
size: "icon",
|
|
304
|
-
tabIndex: -1,
|
|
305
|
-
variant: "outline",
|
|
306
|
-
children: /* @__PURE__ */ e.jsx(ue, {})
|
|
307
|
-
}
|
|
308
|
-
) })
|
|
309
|
-
]
|
|
310
|
-
},
|
|
311
|
-
p
|
|
312
|
-
);
|
|
313
|
-
}),
|
|
314
|
-
/* @__PURE__ */ e.jsx(A, { height: d })
|
|
315
|
-
] })
|
|
316
|
-
]
|
|
317
|
-
}
|
|
318
|
-
) });
|
|
319
|
-
}
|
|
320
|
-
const Ge = "TagsResponseType", Ce = me({
|
|
321
|
-
dataType: Ge,
|
|
322
|
-
path: "/tags/",
|
|
323
|
-
defaultNextPageParams: (s, t) => {
|
|
324
|
-
var r, a;
|
|
325
|
-
return (r = s.meta) != null && r.pagination.next ? {
|
|
326
|
-
...t,
|
|
327
|
-
page: (((a = s.meta) == null ? void 0 : a.pagination.next) || 1).toString()
|
|
328
|
-
} : void 0;
|
|
329
|
-
},
|
|
330
|
-
returnData: (s) => {
|
|
331
|
-
const { pages: t } = s, r = t.flatMap((l) => l.tags), a = t[t.length - 1].meta;
|
|
332
|
-
return {
|
|
333
|
-
tags: r,
|
|
334
|
-
meta: a,
|
|
335
|
-
isEnd: a ? a.pagination.pages === a.pagination.page : !0
|
|
336
|
-
};
|
|
337
|
-
}
|
|
338
|
-
}), _e = ({
|
|
339
|
-
filter: s,
|
|
340
|
-
...t
|
|
341
|
-
}) => {
|
|
342
|
-
const r = Object.entries(s).map(([a, l]) => `${a}:${l}`).join(",");
|
|
343
|
-
return Ce({
|
|
344
|
-
...t,
|
|
345
|
-
searchParams: {
|
|
346
|
-
limit: "100",
|
|
347
|
-
order: "name asc",
|
|
348
|
-
include: "count.posts",
|
|
349
|
-
filter: r,
|
|
350
|
-
...t.searchParams
|
|
351
|
-
}
|
|
352
|
-
});
|
|
353
|
-
}, Be = () => {
|
|
354
|
-
var p, u;
|
|
355
|
-
const { search: s } = ee(), r = new URLSearchParams(s).get("type") ?? "public", {
|
|
356
|
-
data: a,
|
|
357
|
-
isError: l,
|
|
358
|
-
isLoading: o,
|
|
359
|
-
isFetchingNextPage: n,
|
|
360
|
-
fetchNextPage: i,
|
|
361
|
-
hasNextPage: d
|
|
362
|
-
} = _e({
|
|
363
|
-
filter: {
|
|
364
|
-
visibility: r
|
|
365
|
-
}
|
|
366
|
-
});
|
|
367
|
-
return /* @__PURE__ */ e.jsxs(Te, { children: [
|
|
368
|
-
/* @__PURE__ */ e.jsx(we, { currentTab: r }),
|
|
369
|
-
/* @__PURE__ */ e.jsx(Ne, { children: o ? /* @__PURE__ */ e.jsx("div", { className: "flex h-full items-center justify-center", children: /* @__PURE__ */ e.jsx(xe, { size: "lg" }) }) : l ? /* @__PURE__ */ e.jsxs("div", { className: "mb-16 flex h-full flex-col items-center justify-center", children: [
|
|
370
|
-
/* @__PURE__ */ e.jsx("h2", { className: "mb-2 text-xl font-medium", children: "Error loading tags" }),
|
|
371
|
-
/* @__PURE__ */ e.jsx("p", { className: "mb-4 text-muted-foreground", children: "Please reload the page to try again" }),
|
|
372
|
-
/* @__PURE__ */ e.jsx(b, { onClick: () => window.location.reload(), children: "Reload page" })
|
|
373
|
-
] }) : a != null && a.tags.length ? /* @__PURE__ */ e.jsx(
|
|
374
|
-
ye,
|
|
375
|
-
{
|
|
376
|
-
fetchNextPage: i,
|
|
377
|
-
hasNextPage: d,
|
|
378
|
-
isFetchingNextPage: n,
|
|
379
|
-
items: (a == null ? void 0 : a.tags) ?? [],
|
|
380
|
-
totalItems: ((u = (p = a == null ? void 0 : a.meta) == null ? void 0 : p.pagination) == null ? void 0 : u.total) ?? 0
|
|
381
|
-
}
|
|
382
|
-
) : /* @__PURE__ */ e.jsx("div", { className: "flex h-full items-center justify-center", children: /* @__PURE__ */ e.jsx(
|
|
383
|
-
pe,
|
|
384
|
-
{
|
|
385
|
-
actions: /* @__PURE__ */ e.jsx(b, { asChild: !0, children: /* @__PURE__ */ e.jsx("a", { href: "#/tags/new", children: "Create a new tag" }) }),
|
|
386
|
-
title: "Start organizing your content",
|
|
387
|
-
children: /* @__PURE__ */ e.jsx(ge, {})
|
|
388
|
-
}
|
|
389
|
-
) }) })
|
|
390
|
-
] });
|
|
391
|
-
};
|
|
392
|
-
export {
|
|
393
|
-
Be as default
|
|
394
|
-
};
|
|
395
|
-
//# sourceMappingURL=tags-CjwolIiT.mjs.map
|
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
import { j as v, n as z, T as W, q as d, u as H, o as _, b as k, a as q, L as U, M as $, K as V, _ as K } from "./index-By5yPnMZ.mjs";
|
|
2
|
-
import { d as G, c as J, b as C, a as X } from "./hooks-pVotzebr.mjs";
|
|
3
|
-
import { U as Y } from "./dropdown-menu-BKZfsAPJ.mjs";
|
|
4
|
-
import { g as Z } from "./use-infinite-virtual-scroll-B_NwiBXK.mjs";
|
|
5
|
-
const ee = W(
|
|
6
|
-
"inline-flex items-center rounded-xs border px-1.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden",
|
|
7
|
-
{
|
|
8
|
-
variants: {
|
|
9
|
-
variant: {
|
|
10
|
-
default: "border-transparent bg-primary text-primary-foreground",
|
|
11
|
-
secondary: "border-transparent bg-secondary text-secondary-foreground/70",
|
|
12
|
-
destructive: "border-transparent bg-destructive/20 text-destructive",
|
|
13
|
-
success: "border-transparent bg-green/20 text-green",
|
|
14
|
-
outline: "text-foreground"
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
defaultVariants: {
|
|
18
|
-
variant: "default"
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
);
|
|
22
|
-
function ce({ className: e, variant: r, ...n }) {
|
|
23
|
-
return /* @__PURE__ */ v.jsx("div", { className: z(ee({ variant: r }), e), ...n });
|
|
24
|
-
}
|
|
25
|
-
const M = "MembersResponseType", ie = X({
|
|
26
|
-
dataType: M,
|
|
27
|
-
path: "/members/"
|
|
28
|
-
}), ue = J({
|
|
29
|
-
dataType: M,
|
|
30
|
-
path: (e) => `/members/${e}/`
|
|
31
|
-
}), le = C({
|
|
32
|
-
method: "POST",
|
|
33
|
-
path: ({ id: e }) => `/members/${e}/commenting/disable`,
|
|
34
|
-
body: ({ reason: e, hideComments: r }) => ({
|
|
35
|
-
reason: e,
|
|
36
|
-
hide_comments: r
|
|
37
|
-
}),
|
|
38
|
-
invalidateQueries: {
|
|
39
|
-
dataType: "CommentsResponseType"
|
|
40
|
-
}
|
|
41
|
-
}), me = C({
|
|
42
|
-
method: "POST",
|
|
43
|
-
path: ({ id: e }) => `/members/${e}/commenting/enable`,
|
|
44
|
-
body: () => ({}),
|
|
45
|
-
invalidateQueries: {
|
|
46
|
-
dataType: "CommentsResponseType"
|
|
47
|
-
}
|
|
48
|
-
}), de = G({
|
|
49
|
-
dataType: M,
|
|
50
|
-
path: "/members/",
|
|
51
|
-
defaultSearchParams: {
|
|
52
|
-
include: "labels,tiers",
|
|
53
|
-
limit: "50",
|
|
54
|
-
order: "created_at desc"
|
|
55
|
-
},
|
|
56
|
-
defaultNextPageParams: (e, r) => {
|
|
57
|
-
var n;
|
|
58
|
-
if ((n = e.meta) != null && n.pagination.next)
|
|
59
|
-
return {
|
|
60
|
-
...r,
|
|
61
|
-
page: e.meta.pagination.next.toString()
|
|
62
|
-
};
|
|
63
|
-
},
|
|
64
|
-
returnData: (e) => {
|
|
65
|
-
const { pages: r } = e, n = r.flatMap((s) => s.members), t = r[r.length - 1].meta;
|
|
66
|
-
return {
|
|
67
|
-
members: n,
|
|
68
|
-
meta: t,
|
|
69
|
-
isEnd: t ? t.pagination.pages === t.pagination.page : !0
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
function I({ filter: e, search: r, all: n }) {
|
|
74
|
-
if (!n && !e && !r)
|
|
75
|
-
throw new Error("Bulk operation requires a filter, search, or all flag");
|
|
76
|
-
const t = {};
|
|
77
|
-
return n && (t.all = "true"), e && (t.filter = e), r && (t.search = r), t;
|
|
78
|
-
}
|
|
79
|
-
const fe = C({
|
|
80
|
-
method: "PUT",
|
|
81
|
-
path: () => "/members/bulk/",
|
|
82
|
-
body: ({ action: e }) => ({
|
|
83
|
-
bulk: {
|
|
84
|
-
action: e.type,
|
|
85
|
-
meta: e.meta || {},
|
|
86
|
-
newsletter: e.newsletter
|
|
87
|
-
}
|
|
88
|
-
}),
|
|
89
|
-
searchParams: I,
|
|
90
|
-
invalidateQueries: { dataType: M }
|
|
91
|
-
}), pe = C({
|
|
92
|
-
method: "DELETE",
|
|
93
|
-
path: () => "/members/",
|
|
94
|
-
searchParams: I,
|
|
95
|
-
invalidateQueries: { dataType: M }
|
|
96
|
-
});
|
|
97
|
-
function re(e, r, n, t) {
|
|
98
|
-
var s = this, i = d(null), u = d(0), o = d(0), a = d(null), l = d([]), p = d(), f = d(), T = d(e), g = d(!0);
|
|
99
|
-
T.current = e;
|
|
100
|
-
var x = typeof window < "u", b = !r && r !== 0 && x;
|
|
101
|
-
if (typeof e != "function") throw new TypeError("Expected a function");
|
|
102
|
-
r = +r || 0;
|
|
103
|
-
var h = !!(n = n || {}).leading, w = !("trailing" in n) || !!n.trailing, y = "maxWait" in n, Q = "debounceOnServer" in n && !!n.debounceOnServer, j = y ? Math.max(+n.maxWait || 0, r) : null;
|
|
104
|
-
k(function() {
|
|
105
|
-
return g.current = !0, function() {
|
|
106
|
-
g.current = !1;
|
|
107
|
-
};
|
|
108
|
-
}, []);
|
|
109
|
-
var F = q(function() {
|
|
110
|
-
var B = function(c) {
|
|
111
|
-
var m = l.current, E = p.current;
|
|
112
|
-
return l.current = p.current = null, u.current = c, o.current = o.current || c, f.current = T.current.apply(E, m);
|
|
113
|
-
}, P = function(c, m) {
|
|
114
|
-
b && cancelAnimationFrame(a.current), a.current = b ? requestAnimationFrame(c) : setTimeout(c, m);
|
|
115
|
-
}, A = function(c) {
|
|
116
|
-
if (!g.current) return !1;
|
|
117
|
-
var m = c - i.current;
|
|
118
|
-
return !i.current || m >= r || m < 0 || y && c - u.current >= j;
|
|
119
|
-
}, N = function(c) {
|
|
120
|
-
return a.current = null, w && l.current ? B(c) : (l.current = p.current = null, f.current);
|
|
121
|
-
}, D = function c() {
|
|
122
|
-
var m = Date.now();
|
|
123
|
-
if (h && o.current === u.current && L(), A(m)) return N(m);
|
|
124
|
-
if (g.current) {
|
|
125
|
-
var E = r - (m - i.current), O = y ? Math.min(E, j - (m - u.current)) : E;
|
|
126
|
-
P(c, O);
|
|
127
|
-
}
|
|
128
|
-
}, L = function() {
|
|
129
|
-
t && t({});
|
|
130
|
-
}, S = function() {
|
|
131
|
-
if (x || Q) {
|
|
132
|
-
var c = Date.now(), m = A(c);
|
|
133
|
-
if (l.current = [].slice.call(arguments), p.current = s, i.current = c, m) {
|
|
134
|
-
if (!a.current && g.current) return u.current = i.current, P(D, r), h ? B(i.current) : f.current;
|
|
135
|
-
if (y) return P(D, r), B(i.current);
|
|
136
|
-
}
|
|
137
|
-
return a.current || P(D, r), f.current;
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
return S.cancel = function() {
|
|
141
|
-
var c = a.current;
|
|
142
|
-
c && (b ? cancelAnimationFrame(a.current) : clearTimeout(a.current)), u.current = 0, l.current = i.current = p.current = a.current = null, c && t && t({});
|
|
143
|
-
}, S.isPending = function() {
|
|
144
|
-
return !!a.current;
|
|
145
|
-
}, S.flush = function() {
|
|
146
|
-
return a.current ? N(Date.now()) : f.current;
|
|
147
|
-
}, S;
|
|
148
|
-
}, [h, y, r, j, w, b, x, Q, t]);
|
|
149
|
-
return F;
|
|
150
|
-
}
|
|
151
|
-
function te(e, r) {
|
|
152
|
-
return e === r;
|
|
153
|
-
}
|
|
154
|
-
function ge(e, r, n) {
|
|
155
|
-
var t = te, s = d(e), i = H({})[1], u = re(_(function(a) {
|
|
156
|
-
s.current = a, i({});
|
|
157
|
-
}, [i]), r, n, i), o = d(e);
|
|
158
|
-
return t(o.current, e) || (u(e), o.current = e), [s.current, u];
|
|
159
|
-
}
|
|
160
|
-
function be({ avatarImage: e, memberId: r, memberName: n, memberEmail: t, isHidden: s, className: i }) {
|
|
161
|
-
const u = { name: n || void 0, email: t || void 0 }, o = !!(n || t), a = o ? U(u) : null, l = o ? $(V(u), "75", "55") : void 0;
|
|
162
|
-
return /* @__PURE__ */ v.jsxs(
|
|
163
|
-
"div",
|
|
164
|
-
{
|
|
165
|
-
className: z(
|
|
166
|
-
"relative flex size-6 min-w-6 items-center justify-center overflow-hidden rounded-full md:size-8 md:min-w-8",
|
|
167
|
-
!o && "bg-accent",
|
|
168
|
-
s && "opacity-50",
|
|
169
|
-
i
|
|
170
|
-
),
|
|
171
|
-
style: o ? { backgroundColor: l } : void 0,
|
|
172
|
-
children: [
|
|
173
|
-
a ? /* @__PURE__ */ v.jsx("span", { className: "text-xs font-semibold text-white md:text-sm", children: a }) : /* @__PURE__ */ v.jsx(Y, { className: "size-3! text-muted-foreground md:size-4!", size: 12 }),
|
|
174
|
-
r && e && /* @__PURE__ */ v.jsx("div", { className: "absolute inset-0", children: /* @__PURE__ */ v.jsx("img", { alt: "Member avatar", src: e }) })
|
|
175
|
-
]
|
|
176
|
-
}
|
|
177
|
-
);
|
|
178
|
-
}
|
|
179
|
-
const R = /* @__PURE__ */ new Map();
|
|
180
|
-
function he({ parentRef: e, enabled: r = !0, isLoading: n = !1 }) {
|
|
181
|
-
const t = K(), [s, i] = H(null), u = d(null);
|
|
182
|
-
k(() => {
|
|
183
|
-
if (!r || !e.current)
|
|
184
|
-
return;
|
|
185
|
-
const o = Z(e.current);
|
|
186
|
-
i(o);
|
|
187
|
-
}, [r, e]), k(() => {
|
|
188
|
-
if (!r || !s)
|
|
189
|
-
return;
|
|
190
|
-
const o = t.pathname + t.search, a = () => {
|
|
191
|
-
const l = s.scrollTop;
|
|
192
|
-
R.set(o, l);
|
|
193
|
-
};
|
|
194
|
-
return s.addEventListener("scroll", a), () => s.removeEventListener("scroll", a);
|
|
195
|
-
}, [r, t.pathname, t.search, s]), k(() => {
|
|
196
|
-
const o = t.pathname + t.search, a = R.get(o);
|
|
197
|
-
if (!(!r || !s || n)) {
|
|
198
|
-
if (a !== void 0 && u.current !== o) {
|
|
199
|
-
let l = 0;
|
|
200
|
-
const p = 3, f = () => {
|
|
201
|
-
if (l += 1, !s)
|
|
202
|
-
return;
|
|
203
|
-
const g = s.scrollTop, x = s.scrollHeight, b = s.clientHeight, h = x - b;
|
|
204
|
-
if (a > h && l < p) {
|
|
205
|
-
setTimeout(f, 100);
|
|
206
|
-
return;
|
|
207
|
-
}
|
|
208
|
-
if (Math.abs(a - g) > 5) {
|
|
209
|
-
const w = Math.min(a, h);
|
|
210
|
-
s.scrollTop = w;
|
|
211
|
-
}
|
|
212
|
-
}, T = setTimeout(f, 150);
|
|
213
|
-
return () => clearTimeout(T);
|
|
214
|
-
}
|
|
215
|
-
u.current = o;
|
|
216
|
-
}
|
|
217
|
-
}, [r, t.pathname, t.search, s, n]);
|
|
218
|
-
}
|
|
219
|
-
export {
|
|
220
|
-
ce as B,
|
|
221
|
-
be as M,
|
|
222
|
-
ge as a,
|
|
223
|
-
le as b,
|
|
224
|
-
me as c,
|
|
225
|
-
he as d,
|
|
226
|
-
fe as e,
|
|
227
|
-
pe as f,
|
|
228
|
-
ue as g,
|
|
229
|
-
de as h,
|
|
230
|
-
ie as u
|
|
231
|
-
};
|
|
232
|
-
//# sourceMappingURL=use-scroll-restoration-YSR5jwQl.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ad as e,ae as o,af as a}from"./index-ZuWSQ3L6.js";const t="PostsResponseType",r=e({dataType:t,path:"/posts/"}),c=a({dataType:t,path:s=>`/posts/${s}/`}),n=e({dataType:t,path:"/posts/export/"}),u=o({method:"DELETE",path:s=>`/posts/${s}/`});export{u as a,n as b,c as g,r as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b$ as v,cE as g,cI as j,r as w,j as s,cJ as u,aX as y,aM as k,c0 as Y,bb as N,a$ as p,am as M,z as D,aY as S}from"./index-ZuWSQ3L6.js";import{S as C,a as L,b as A,c as V,d as z,e as E,f as I}from"./select-Bd1zcqox.js";import{a as O}from"./loader-circle-CF5G2g_Z.js";import{f as G,N as R,k as W,P as $,g as f}from"./pagemenu-BqoDENpI.js";import{G as P}from"./wallet-cards-zHR_y6Sp.js";import{M as _}from"./user-plus-DMl69yKl.js";import{S as B}from"./sprout-Bf-wc2Vo.js";import{j as T}from"./lucide-react-DZiAu6PQ.js";const ue=({excludeRanges:e=[]})=>{const{range:t,setRange:a}=v(),n=e.map(r=>g[r].value),l=j.filter(r=>!n.includes(r.value));return w.useEffect(()=>{if(n.includes(t)&&l.length>0){const r=l.find(i=>i.value===g.last7Days.value),c=r?r.value:l[0].value;a(c)}},[t,n,l,a]),s.jsxs(C,{value:`${t}`,onValueChange:r=>{a(Number(r))},children:[s.jsxs(L,{className:"w-auto",children:[s.jsx(O,{className:"mr-2",size:16,strokeWidth:1.5}),s.jsx(A,{placeholder:"Select a period"})]}),s.jsx(V,{align:"end",children:s.jsxs(z,{children:[s.jsx(E,{children:"Period"}),l.map(r=>s.jsx(I,{value:`${r.value}`,children:r.name},r.value))]})})]})},me=e=>{const t=j.find(a=>a.value===e);return t?["Last 7 days","Last 30 days","Last 90 days","Last 12 months"].includes(t.name)?`in the ${t.name.toLowerCase()}`:t.name==="All time"?"(all time)":t.name.toLowerCase():""};function he(e){const t=e.findIndex(a=>Number(a.value)>0);return t>1?e.slice(t-1):e}function U(e,t){return u(t).diff(u(e),"days")}function F(e,t){return u(e).isSame(u(t),"month")}function H(e,t){return u(e).isSame(u(t),"week")}function x(e,t,a,n){switch(n){case"sum":return e;case"avg":return t>0?e/t:0;case"exact":return a}}function J(e){const t=[...e].sort((r,c)=>r-c),a=t[Math.floor(t.length/2)],n=e.map(r=>Math.abs(r-a)),l=n.sort((r,c)=>r-c)[Math.floor(n.length/2)];return{threshold:a+5*l,average:a}}function X(e,t,a,n){return n||(e===-1&&(t>150?e=400:t>60&&(e=100)),a==="exact"&&(e>356||e===-1&&t>150)?"monthly":e>=91&&e<=356||e===-1&&t>60&&t<=150?"weekly":e>356||e===-1&&t>150?"monthly":"none")}function q(e,t){if(e.length<=1)return e;const a=e.map(r=>Number(r[t])),{threshold:n,average:l}=J(a);return e.map(r=>{const c=Number(r[t]);return{...r,_isOutlier:c>n||c>l*10}})}function K(e,t,a){const n=[];let l=u(e[0].date).startOf("week"),r=0,c=0,i=0;return e.forEach((o,m)=>{const h=u(o.date);H(h.format("YYYY-MM-DD"),l.format("YYYY-MM-DD"))?(r+=Number(o[t]),c+=1,i=Number(o[t])):(n.push({...e[m-1],date:l.format("YYYY-MM-DD"),[t]:x(r,c,i,a)}),l=h.startOf("week"),r=Number(o[t]),c=1,i=Number(o[t])),m===e.length-1&&n.push({...o,date:l.format("YYYY-MM-DD"),[t]:x(r,c,i,a)})}),n}function Q(e,t,a){const n=[];let l=u(e[0].date).startOf("month"),r=0,c=0,i=0,o=null;return e.forEach((m,h)=>{const b=u(m.date),d=Number(m[t]);F(b.format("YYYY-MM-DD"),l.format("YYYY-MM-DD"))?(r+=d,c+=1,i=d,o=m):(a==="exact"&&o?n.push({...o,[t]:i}):n.push({...e[h-1],date:l.format("YYYY-MM-DD"),[t]:x(r,c,i,a)}),l=b.startOf("month"),r=d,c=1,i=d,o=m),h===e.length-1&&(a==="exact"&&o?n.push({...o,[t]:i}):n.push({...m,date:l.format("YYYY-MM-DD"),[t]:x(r,c,i,a)}))}),n}const de=(e,t,a="value",n="avg",l)=>{if(!e.length)return[];const r=e.length>1?U(e[0].date,e[e.length-1].date):0,c=X(t,r,n,l);let i;switch(c){case"weekly":i=K(e,a,n);break;case"monthly":i=Q(e,a,n);break;default:i=e}return q(i,a)},fe=({children:e})=>{const t=y(),a=k(),{appSettings:n}=Y(),{site:l,statsConfig:r}=v(),{activeVisitors:c,isLoading:i}=G({statsConfig:r,enabled:n?.analytics?.webAnalytics??!1}),o=a.pathname.endsWith("/")?a.pathname:`${a.pathname}/`;return s.jsxs(s.Fragment,{children:[s.jsx("header",{className:"z-40 -mx-8 bg-white/70 backdrop-blur-md dark:bg-black",children:s.jsxs("div",{className:"relative flex w-full items-center justify-between gap-5 px-8 pt-8 pb-0","data-header":"header",children:[s.jsx(N,{className:"-ml-px min-h-[35px] max-w-[920px] indent-0 leading-[1.2em]","data-header":"header-title",children:"Analytics"}),n?.analytics.webAnalytics&&s.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[l?.url&&s.jsxs("div",{className:"hidden items-center gap-1.5 sm:visible! sm:flex!",children:[s.jsx(p,{className:"text-muted-foreground",size:16,strokeWidth:1.5}),s.jsx("a",{className:"text-sm font-medium transition-all hover:opacity-75 dark:text-gray-100",href:l.url,rel:"noopener noreferrer",target:"_blank",title:`Visit ${new URL(l.url).hostname}`,children:new URL(l.url).hostname}),s.jsx("span",{className:"text-border",children:"|"})]}),s.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",title:"Active visitors in the last 5 minutes · Updates every 60 seconds",children:[s.jsxs("span",{className:"text-sm",children:[i?"":M(c)," online"]}),s.jsx("div",{className:`size-2 rounded-full ${i?"animate-pulse bg-muted":c?"bg-green-500":"border border-muted-foreground"}`})]})]})]})}),s.jsxs(R,{className:"sticky top-0 z-40 transform-gpu flex-col items-start gap-y-0 border-none bg-white/70 pt-9 pb-6 backdrop-blur-md lg:flex-row lg:items-center dark:bg-black",children:[s.jsx(W,{children:s.jsxs($,{defaultValue:o,responsive:!0,children:[s.jsxs(f,{value:"/analytics/",onClick:()=>{t("/analytics/")},children:[s.jsx(P,{}),"Overview"]}),n?.analytics.webAnalytics&&s.jsxs(f,{value:"/analytics/web/",onClick:()=>{t("/analytics/web/")},children:[s.jsx(p,{}),"Web traffic"]}),n?.newslettersEnabled&&s.jsxs(f,{value:"/analytics/newsletters/",onClick:()=>{t("/analytics/newsletters/")},children:[s.jsx(_,{}),"Newsletters"]}),s.jsxs(f,{value:"/analytics/growth/",onClick:()=>{t("/analytics/growth/")},children:[s.jsx(B,{}),"Growth"]})]})}),e]})]})},Z=({children:e,...t})=>s.jsx("div",{className:"size-full",children:s.jsx("div",{className:"relative size-full",...t,children:s.jsx("div",{className:"mx-auto flex size-full max-w-page flex-col",children:e})})}),xe=({children:e})=>s.jsx(Z,{children:s.jsx("div",{className:"grid w-full grow",children:s.jsx("div",{className:"flex h-full flex-col px-8",children:e})})}),ee=()=>s.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-4 text-gray-700",children:[s.jsx("div",{className:"-mt-10 flex size-18 items-center justify-center rounded-full bg-gray-100 dark:bg-gray-950",children:s.jsx(T,{size:24,strokeWidth:1.5})}),"No stats available for this filter."]}),te=({children:e,className:t,...a})=>s.jsx("section",{className:D("flex grow flex-col items-stretch gap-6 w-full pb-8",t),...a,children:e}),be=({isLoading:e,data:t,children:a,loadingComponent:n=s.jsx(S,{}),emptyComponent:l=s.jsx(ee,{})})=>s.jsx(te,{children:e?n:t!==void 0&&t&&t.length===0?l:a});export{ue as D,xe as S,fe as a,be as b,X as d,me as g,de as s,he as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e,z as T,G as j,B as g,r as N,am as y,ag as P,aM as R,e as I}from"./index-ZuWSQ3L6.js";import{T as z,a as b}from"./toggle-group-CR-Z-bJL.js";import{H as o,u as C}from"./use-infinite-virtual-scroll-CNqGwgHd.js";import{M as L}from"./main-layout-DEVUkqt_.js";import{a as E,b as S,c as m,d,e as $,f as i}from"./table-B4zlzEDP.js";import{P as B,T as _}from"./tags-CsgMtkFL.js";import{E as k}from"./empty-indicator-Bf4Dqk72.js";const A=({children:a,className:s,...t})=>e.jsx("section",{className:T("flex gap-6 flex-col p-4 lg:p-8 size-full grow",s),...t,children:a}),G=({currentTab:a})=>e.jsxs(o,{variant:"inline-nav",children:[e.jsx(o.Title,{children:"Tags"}),e.jsxs(o.Actions,{children:[e.jsx(o.ActionGroup,{children:e.jsxs(z,{"data-testid":"tags-header-tabs",size:"button",type:"single",value:a,children:[e.jsx(b,{"aria-label":"Public tags",value:"public",asChild:!0,children:e.jsx(j,{to:"/tags",children:"Public tags"})}),e.jsx(b,{"aria-label":"Internal tags",value:"internal",asChild:!0,children:e.jsx(j,{to:"/tags?type=internal",children:"Internal tags"})})]})}),e.jsx(o.ActionGroup,{children:e.jsx(g,{asChild:!0,children:e.jsx("a",{className:"font-bold",href:"#/tags/new",children:"New tag"})})})]})]}),H=({children:a})=>e.jsx(L,{children:e.jsx("div",{className:"grid w-full grow",children:e.jsx("div",{className:"flex h-full flex-col","data-testid":"tags-page",children:a})})}),w=({height:a})=>e.jsx("tr",{"aria-hidden":"true",className:"flex lg:table-row",children:e.jsx("td",{className:"flex lg:table-cell",style:{height:a}})}),M=N.forwardRef(function(s,t){return e.jsx(m,{ref:t,...s,"aria-hidden":"true",className:"relative flex flex-col lg:table-row",children:e.jsx(i,{className:"relative z-10 h-24 animate-pulse",children:e.jsx("div",{className:"h-full rounded-md bg-muted","data-testid":"loading-placeholder"})})})});function q({items:a,totalItems:s,hasNextPage:t,isFetchingNextPage:l,fetchNextPage:n}){const c=N.useRef(null),{visibleItems:x,spaceBefore:u,spaceAfter:h}=C({items:a,totalItems:s,hasNextPage:t,isFetchingNextPage:l,fetchNextPage:n,parentRef:c});return e.jsx("div",{ref:c,className:"overflow-hidden",children:e.jsxs(E,{className:"flex table-fixed flex-col lg:table","data-testid":"tags-list",children:[e.jsx(S,{className:"hidden lg:visible! lg:table-header-group!",children:e.jsxs(m,{children:[e.jsx(d,{className:"w-auto px-4",children:"Tag"}),e.jsx(d,{className:"w-1/5 px-4",children:"Slug"}),e.jsx(d,{className:"w-1/5 px-4",children:"No. of posts"}),e.jsx(d,{className:"w-20 px-4"})]})}),e.jsxs($,{className:"flex flex-col lg:table-row-group",children:[e.jsx(w,{height:u}),x.map(({key:p,virtualItem:v,item:r,props:f})=>v.index>a.length-1?e.jsx(M,{...f},p):e.jsxs(m,{...f,className:"grid w-full grid-cols-[1fr_5rem] items-center gap-x-4 p-2 hover:bg-muted/50 md:grid-cols-[1fr_auto_5rem] lg:table-row lg:p-0 [&.group:hover_td]:bg-transparent","data-testid":"tag-list-row",children:[e.jsxs(i,{className:"static col-start-1 col-end-1 row-start-1 row-end-1 flex min-w-0 flex-col p-0 md:relative lg:table-cell lg:w-1/2 lg:p-4 xl:w-3/5",children:[e.jsx("a",{className:"before:absolute before:top-0 before:left-0 before:z-10 before:h-full before:w-[100vw]",href:`#/tags/${r.slug}`,children:e.jsx("span",{className:"block truncate pb-1 text-lg font-medium",children:r.name})}),e.jsx("span",{className:"block truncate text-muted-foreground",children:r.description})]}),e.jsx(i,{className:"col-start-1 col-end-1 row-start-2 row-end-2 flex p-0 lg:table-cell lg:p-4",children:e.jsx("span",{className:"block truncate",children:r.slug})}),e.jsx(i,{className:"col-start-1 col-end-1 row-start-3 row-end-3 flex p-0 md:col-start-2 md:col-end-2 md:row-start-1 md:row-end-3 lg:table-cell lg:p-4",children:r.count?.posts?e.jsx("a",{className:"relative z-10 -m-4 inline-block p-4 hover:underline",href:`#/posts?tag=${r.slug}`,children:`${y(r.count?.posts)} ${r.count?.posts===1?"post":"posts"}`}):e.jsx("span",{className:"text-muted-foreground",children:"0 posts"})}),e.jsx(i,{className:"col-start-2 col-end-2 row-start-1 row-end-3 p-0 md:col-start-3 md:col-end-3 lg:table-cell lg:p-4",children:e.jsx(g,{"aria-hidden":"true",className:"w-12",size:"icon",tabIndex:-1,variant:"outline",children:e.jsx(B,{})})})]},p)),e.jsx(w,{height:h})]})]})})}const Q="TagsResponseType",D=P({dataType:Q,path:"/tags/",defaultNextPageParams:(a,s)=>{var t,l;return(t=a.meta)!=null&&t.pagination.next?{...s,page:(((l=a.meta)==null?void 0:l.pagination.next)||1).toString()}:void 0},returnData:a=>{const{pages:s}=a,t=s.flatMap(n=>n.tags),l=s[s.length-1].meta;return{tags:t,meta:l,isEnd:l?l.pagination.pages===l.pagination.page:!0}}}),F=({filter:a,...s})=>{const t=Object.entries(a).map(([l,n])=>`${l}:${n}`).join(",");return D({...s,searchParams:{limit:"100",order:"name asc",include:"count.posts",filter:t,...s.searchParams}})},Z=()=>{const{search:a}=R(),t=new URLSearchParams(a).get("type")??"public",{data:l,isError:n,isLoading:c,isFetchingNextPage:x,fetchNextPage:u,hasNextPage:h}=F({filter:{visibility:t}});return e.jsxs(H,{children:[e.jsx(G,{currentTab:t}),e.jsx(A,{children:c?e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(I,{size:"lg"})}):n?e.jsxs("div",{className:"mb-16 flex h-full flex-col items-center justify-center",children:[e.jsx("h2",{className:"mb-2 text-xl font-medium",children:"Error loading tags"}),e.jsx("p",{className:"mb-4 text-muted-foreground",children:"Please reload the page to try again"}),e.jsx(g,{onClick:()=>window.location.reload(),children:"Reload page"})]}):l?.tags.length?e.jsx(q,{fetchNextPage:u,hasNextPage:h,isFetchingNextPage:x,items:l?.tags??[],totalItems:l?.meta?.pagination?.total??0}):e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(k,{actions:e.jsx(g,{asChild:!0,children:e.jsx("a",{href:"#/tags/new",children:"Create a new tag"})}),title:"Start organizing your content",children:e.jsx(_,{})})})})]})};export{Z as default};
|