@strapi/admin 5.0.0-rc.4 → 5.0.0-rc.6

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 (156) hide show
  1. package/dist/admin/{ApplicationInfoPage-KE3sZGGi.mjs → ApplicationInfoPage-7o4EZn7X.mjs} +2 -2
  2. package/dist/admin/{ApplicationInfoPage-KE3sZGGi.mjs.map → ApplicationInfoPage-7o4EZn7X.mjs.map} +1 -1
  3. package/dist/admin/{ApplicationInfoPage-7AXrz6zn.js → ApplicationInfoPage-XdSWKyov.js} +2 -2
  4. package/dist/admin/{ApplicationInfoPage-7AXrz6zn.js.map → ApplicationInfoPage-XdSWKyov.js.map} +1 -1
  5. package/dist/admin/{AuthenticatedLayout-gW6NMWAi.js → AuthenticatedLayout-TKxq4shz.js} +9 -9
  6. package/dist/admin/{AuthenticatedLayout-gW6NMWAi.js.map → AuthenticatedLayout-TKxq4shz.js.map} +1 -1
  7. package/dist/admin/{AuthenticatedLayout-V-rAUN78.mjs → AuthenticatedLayout-e3YQ88OH.mjs} +9 -9
  8. package/dist/admin/{AuthenticatedLayout-V-rAUN78.mjs.map → AuthenticatedLayout-e3YQ88OH.mjs.map} +1 -1
  9. package/dist/admin/{CreatePage-IycMxUb4.mjs → CreatePage-9QUN61f1.mjs} +2 -2
  10. package/dist/admin/{CreatePage-IycMxUb4.mjs.map → CreatePage-9QUN61f1.mjs.map} +1 -1
  11. package/dist/admin/{CreatePage-krNkncBg.js → CreatePage-rEmI7qI7.js} +2 -2
  12. package/dist/admin/{CreatePage-krNkncBg.js.map → CreatePage-rEmI7qI7.js.map} +1 -1
  13. package/dist/admin/{CreatePage-ipr2PhTa.js → CreatePage-tGGDcbhE.js} +2 -2
  14. package/dist/admin/{CreatePage-ipr2PhTa.js.map → CreatePage-tGGDcbhE.js.map} +1 -1
  15. package/dist/admin/{CreatePage-C05YMLbs.mjs → CreatePage-v9SQXlEj.mjs} +2 -2
  16. package/dist/admin/{CreatePage-C05YMLbs.mjs.map → CreatePage-v9SQXlEj.mjs.map} +1 -1
  17. package/dist/admin/{CreateView-ivEM5HGj.js → CreateView-1uZ4VmL_.js} +2 -2
  18. package/dist/admin/{CreateView-ivEM5HGj.js.map → CreateView-1uZ4VmL_.js.map} +1 -1
  19. package/dist/admin/{CreateView-7Jtlo5-C.js → CreateView-X3Pqd3Dd.js} +2 -2
  20. package/dist/admin/{CreateView-7Jtlo5-C.js.map → CreateView-X3Pqd3Dd.js.map} +1 -1
  21. package/dist/admin/{CreateView-2qf1gOeM.mjs → CreateView-laE25y0T.mjs} +2 -2
  22. package/dist/admin/{CreateView-2qf1gOeM.mjs.map → CreateView-laE25y0T.mjs.map} +1 -1
  23. package/dist/admin/{CreateView-gYkkWUl0.mjs → CreateView-tG-CILnD.mjs} +2 -2
  24. package/dist/admin/{CreateView-gYkkWUl0.mjs.map → CreateView-tG-CILnD.mjs.map} +1 -1
  25. package/dist/admin/{EditPage-FmGw225-.mjs → EditPage-7NGggszv.mjs} +3 -3
  26. package/dist/admin/{EditPage-FmGw225-.mjs.map → EditPage-7NGggszv.mjs.map} +1 -1
  27. package/dist/admin/{EditPage-h1dIG8ny.js → EditPage-AADf5Vpf.js} +3 -3
  28. package/dist/admin/{EditPage-h1dIG8ny.js.map → EditPage-AADf5Vpf.js.map} +1 -1
  29. package/dist/admin/{EditPage-omh0khGW.js → EditPage-LeR7QgAb.js} +3 -3
  30. package/dist/admin/{EditPage-omh0khGW.js.map → EditPage-LeR7QgAb.js.map} +1 -1
  31. package/dist/admin/{EditPage-75fXhvhM.mjs → EditPage-er5AI58q.mjs} +5 -5
  32. package/dist/admin/{EditPage-75fXhvhM.mjs.map → EditPage-er5AI58q.mjs.map} +1 -1
  33. package/dist/admin/{EditPage-A8nko1vz.mjs → EditPage-hsVsJsq0.mjs} +3 -3
  34. package/dist/admin/{EditPage-A8nko1vz.mjs.map → EditPage-hsVsJsq0.mjs.map} +1 -1
  35. package/dist/admin/{EditPage-T1IX3IQe.js → EditPage-nEoilWWr.js} +5 -5
  36. package/dist/admin/{EditPage-T1IX3IQe.js.map → EditPage-nEoilWWr.js.map} +1 -1
  37. package/dist/admin/{EditView-7FRiedKY.js → EditView-RTJROhjq.js} +3 -3
  38. package/dist/admin/{EditView-7FRiedKY.js.map → EditView-RTJROhjq.js.map} +1 -1
  39. package/dist/admin/{EditView-dPyBdAGS.mjs → EditView-eReVFzzp.mjs} +3 -3
  40. package/dist/admin/{EditView-dPyBdAGS.mjs.map → EditView-eReVFzzp.mjs.map} +1 -1
  41. package/dist/admin/{EditViewPage-GYSktMWi.js → EditViewPage-fj471bYN.js} +3 -3
  42. package/dist/admin/{EditViewPage-GYSktMWi.js.map → EditViewPage-fj471bYN.js.map} +1 -1
  43. package/dist/admin/{EditViewPage-ueaLGZv4.mjs → EditViewPage-u6yLUtOo.mjs} +3 -3
  44. package/dist/admin/{EditViewPage-ueaLGZv4.mjs.map → EditViewPage-u6yLUtOo.mjs.map} +1 -1
  45. package/dist/admin/{EventsTable-michgJKN.mjs → EventsTable-gf2_RhIm.mjs} +2 -2
  46. package/dist/admin/{EventsTable-michgJKN.mjs.map → EventsTable-gf2_RhIm.mjs.map} +1 -1
  47. package/dist/admin/{EventsTable-FDf99vvn.js → EventsTable-k0KvIEem.js} +2 -2
  48. package/dist/admin/{EventsTable-FDf99vvn.js.map → EventsTable-k0KvIEem.js.map} +1 -1
  49. package/dist/admin/{HomePage-qBiUkoD5.js → HomePage-JiNfv32C.js} +3 -3
  50. package/dist/admin/{HomePage-qBiUkoD5.js.map → HomePage-JiNfv32C.js.map} +1 -1
  51. package/dist/admin/{HomePage-_jfcGSnS.js → HomePage-VoSt1p9I.js} +2 -2
  52. package/dist/admin/{HomePage-_jfcGSnS.js.map → HomePage-VoSt1p9I.js.map} +1 -1
  53. package/dist/admin/{HomePage-SY2L5gh1.mjs → HomePage-ra1hGTKy.mjs} +2 -2
  54. package/dist/admin/{HomePage-SY2L5gh1.mjs.map → HomePage-ra1hGTKy.mjs.map} +1 -1
  55. package/dist/admin/{HomePage-JKs6c3nB.mjs → HomePage-t9rWvlnT.mjs} +3 -3
  56. package/dist/admin/{HomePage-JKs6c3nB.mjs.map → HomePage-t9rWvlnT.mjs.map} +1 -1
  57. package/dist/admin/{InstalledPluginsPage-eziJd--n.mjs → InstalledPluginsPage-Dm2VGFVD.mjs} +2 -2
  58. package/dist/admin/{InstalledPluginsPage-eziJd--n.mjs.map → InstalledPluginsPage-Dm2VGFVD.mjs.map} +1 -1
  59. package/dist/admin/{InstalledPluginsPage-ReOKS0dB.js → InstalledPluginsPage-ycDwbck-.js} +2 -2
  60. package/dist/admin/{InstalledPluginsPage-ReOKS0dB.js.map → InstalledPluginsPage-ycDwbck-.js.map} +1 -1
  61. package/dist/admin/{Layout-yy3Mhf7u.mjs → Layout-iZuTlHEy.mjs} +3 -3
  62. package/dist/admin/{Layout-yy3Mhf7u.mjs.map → Layout-iZuTlHEy.mjs.map} +1 -1
  63. package/dist/admin/{Layout-oJ84D4MF.js → Layout-qM02Y__v.js} +3 -3
  64. package/dist/admin/{Layout-oJ84D4MF.js.map → Layout-qM02Y__v.js.map} +1 -1
  65. package/dist/admin/{ListPage-cm8IW_M5.js → ListPage--pk7_i4C.js} +2 -2
  66. package/dist/admin/{ListPage-cm8IW_M5.js.map → ListPage--pk7_i4C.js.map} +1 -1
  67. package/dist/admin/{ListPage-K1gaTV_M.js → ListPage-0A2hI6zS.js} +2 -2
  68. package/dist/admin/{ListPage-K1gaTV_M.js.map → ListPage-0A2hI6zS.js.map} +1 -1
  69. package/dist/admin/{ListPage-s2bFm_PA.mjs → ListPage-0RslgSLG.mjs} +5 -5
  70. package/dist/admin/{ListPage-s2bFm_PA.mjs.map → ListPage-0RslgSLG.mjs.map} +1 -1
  71. package/dist/admin/{ListPage-O8sHkg-u.mjs → ListPage-LJzzy5BP.mjs} +2 -2
  72. package/dist/admin/{ListPage-O8sHkg-u.mjs.map → ListPage-LJzzy5BP.mjs.map} +1 -1
  73. package/dist/admin/{ListPage-bbJinnOr.mjs → ListPage-_2rHMRu7.mjs} +3 -3
  74. package/dist/admin/{ListPage-bbJinnOr.mjs.map → ListPage-_2rHMRu7.mjs.map} +1 -1
  75. package/dist/admin/{ListPage-eJu4wGle.mjs → ListPage-db__q8gB.mjs} +2 -2
  76. package/dist/admin/{ListPage-eJu4wGle.mjs.map → ListPage-db__q8gB.mjs.map} +1 -1
  77. package/dist/admin/{ListPage-c3dEtI1H.mjs → ListPage-knuN4NNO.mjs} +2 -2
  78. package/dist/admin/{ListPage-c3dEtI1H.mjs.map → ListPage-knuN4NNO.mjs.map} +1 -1
  79. package/dist/admin/{ListPage-atrdz3ns.js → ListPage-pV7HxKzF.js} +3 -3
  80. package/dist/admin/{ListPage-atrdz3ns.js.map → ListPage-pV7HxKzF.js.map} +1 -1
  81. package/dist/admin/{ListPage-y33riZz0.js → ListPage-tg3BaRwe.js} +2 -2
  82. package/dist/admin/{ListPage-y33riZz0.js.map → ListPage-tg3BaRwe.js.map} +1 -1
  83. package/dist/admin/{ListPage-ZYpxIoqW.js → ListPage-xpMw5ka5.js} +5 -5
  84. package/dist/admin/{ListPage-ZYpxIoqW.js.map → ListPage-xpMw5ka5.js.map} +1 -1
  85. package/dist/admin/{ListView-MzevZcx4.js → ListView-5WvMFqaj.js} +3 -3
  86. package/dist/admin/{ListView-MzevZcx4.js.map → ListView-5WvMFqaj.js.map} +1 -1
  87. package/dist/admin/{ListView-Y48cExT2.mjs → ListView-Bl8_BOlX.mjs} +3 -3
  88. package/dist/admin/{ListView-Y48cExT2.mjs.map → ListView-Bl8_BOlX.mjs.map} +1 -1
  89. package/dist/admin/{ListView-MxbqfYcL.js → ListView-DAN35ql2.js} +3 -3
  90. package/dist/admin/{ListView-MxbqfYcL.js.map → ListView-DAN35ql2.js.map} +1 -1
  91. package/dist/admin/{ListView-oMn-vx_9.mjs → ListView-MVc5DA4a.mjs} +3 -3
  92. package/dist/admin/{ListView-oMn-vx_9.mjs.map → ListView-MVc5DA4a.mjs.map} +1 -1
  93. package/dist/admin/{Login-uskp2J4L.js → Login-x89aTK1v.js} +2 -2
  94. package/dist/admin/{Login-uskp2J4L.js.map → Login-x89aTK1v.js.map} +1 -1
  95. package/dist/admin/{Login-tCXRIK1j.mjs → Login-yXXn7QYB.mjs} +2 -2
  96. package/dist/admin/{Login-tCXRIK1j.mjs.map → Login-yXXn7QYB.mjs.map} +1 -1
  97. package/dist/admin/{MagicLinkEE-BVDCG96H.mjs → MagicLinkEE-5BIoEK-E.mjs} +3 -3
  98. package/dist/admin/{MagicLinkEE-BVDCG96H.mjs.map → MagicLinkEE-5BIoEK-E.mjs.map} +1 -1
  99. package/dist/admin/{MagicLinkEE-E5FewPxj.js → MagicLinkEE-fhBiVLyG.js} +3 -3
  100. package/dist/admin/{MagicLinkEE-E5FewPxj.js.map → MagicLinkEE-fhBiVLyG.js.map} +1 -1
  101. package/dist/admin/{MarketplacePage-Vi6fnaLN.mjs → MarketplacePage-CKzqH_m0.mjs} +2 -2
  102. package/dist/admin/{MarketplacePage-Vi6fnaLN.mjs.map → MarketplacePage-CKzqH_m0.mjs.map} +1 -1
  103. package/dist/admin/{MarketplacePage-Z7nk5HJZ.js → MarketplacePage-LaM_D-xS.js} +2 -2
  104. package/dist/admin/{MarketplacePage-Z7nk5HJZ.js.map → MarketplacePage-LaM_D-xS.js.map} +1 -1
  105. package/dist/admin/{ProfilePage-UwPCsa6d.mjs → ProfilePage-kEoS7Yzo.mjs} +3 -3
  106. package/dist/admin/{ProfilePage-UwPCsa6d.mjs.map → ProfilePage-kEoS7Yzo.mjs.map} +1 -1
  107. package/dist/admin/{ProfilePage-NdAi-pTs.js → ProfilePage-qMI-E9Vg.js} +3 -3
  108. package/dist/admin/{ProfilePage-NdAi-pTs.js.map → ProfilePage-qMI-E9Vg.js.map} +1 -1
  109. package/dist/admin/{PurchaseAuditLogs-Aij76ZYz.js → PurchaseAuditLogs-pBPam9EQ.js} +2 -2
  110. package/dist/admin/{PurchaseAuditLogs-Aij76ZYz.js.map → PurchaseAuditLogs-pBPam9EQ.js.map} +1 -1
  111. package/dist/admin/{PurchaseAuditLogs-G9RESAbC.mjs → PurchaseAuditLogs-twuxJFGU.mjs} +2 -2
  112. package/dist/admin/{PurchaseAuditLogs-G9RESAbC.mjs.map → PurchaseAuditLogs-twuxJFGU.mjs.map} +1 -1
  113. package/dist/admin/{PurchaseSingleSignOn-5R3-F71c.mjs → PurchaseSingleSignOn-Nd81sJ5B.mjs} +2 -2
  114. package/dist/admin/{PurchaseSingleSignOn-5R3-F71c.mjs.map → PurchaseSingleSignOn-Nd81sJ5B.mjs.map} +1 -1
  115. package/dist/admin/{PurchaseSingleSignOn-CHSGvlv9.js → PurchaseSingleSignOn-zA4QOmPd.js} +2 -2
  116. package/dist/admin/{PurchaseSingleSignOn-CHSGvlv9.js.map → PurchaseSingleSignOn-zA4QOmPd.js.map} +1 -1
  117. package/dist/admin/{SelectRoles-y0uLFXrS.mjs → SelectRoles-S1Wl8LWC.mjs} +3 -3
  118. package/dist/admin/{SelectRoles-y0uLFXrS.mjs.map → SelectRoles-S1Wl8LWC.mjs.map} +1 -1
  119. package/dist/admin/{SelectRoles-sbCjaIm2.js → SelectRoles-YsPcyKVn.js} +3 -3
  120. package/dist/admin/{SelectRoles-sbCjaIm2.js.map → SelectRoles-YsPcyKVn.js.map} +1 -1
  121. package/dist/admin/{SingleSignOnPage-5UkNj6To.js → SingleSignOnPage-UiNl-8pJ.js} +3 -3
  122. package/dist/admin/{SingleSignOnPage-5UkNj6To.js.map → SingleSignOnPage-UiNl-8pJ.js.map} +1 -1
  123. package/dist/admin/{SingleSignOnPage-gpNTr3G6.mjs → SingleSignOnPage-pgI5dRd6.mjs} +3 -3
  124. package/dist/admin/{SingleSignOnPage-gpNTr3G6.mjs.map → SingleSignOnPage-pgI5dRd6.mjs.map} +1 -1
  125. package/dist/admin/{Table-bSZjLtof.js → Table-adxu1Nui.js} +2 -2
  126. package/dist/admin/{Table-bSZjLtof.js.map → Table-adxu1Nui.js.map} +1 -1
  127. package/dist/admin/{Table-qALHPhFM.mjs → Table-cJ9JMeIZ.mjs} +2 -2
  128. package/dist/admin/{Table-qALHPhFM.mjs.map → Table-cJ9JMeIZ.mjs.map} +1 -1
  129. package/dist/admin/{TokenTypeSelect-iZ5JA2sg.js → TokenTypeSelect-otcSFQnr.js} +2 -2
  130. package/dist/admin/{TokenTypeSelect-iZ5JA2sg.js.map → TokenTypeSelect-otcSFQnr.js.map} +1 -1
  131. package/dist/admin/{TokenTypeSelect-wLV2WyiG.mjs → TokenTypeSelect-yuNriu9V.mjs} +2 -2
  132. package/dist/admin/{TokenTypeSelect-wLV2WyiG.mjs.map → TokenTypeSelect-yuNriu9V.mjs.map} +1 -1
  133. package/dist/admin/{UseCasePage-NhdU_1G1.js → UseCasePage--bIfwMfb.js} +2 -2
  134. package/dist/admin/{UseCasePage-NhdU_1G1.js.map → UseCasePage--bIfwMfb.js.map} +1 -1
  135. package/dist/admin/{UseCasePage-RHdoEfY_.mjs → UseCasePage-1fvAnsrz.mjs} +2 -2
  136. package/dist/admin/{UseCasePage-RHdoEfY_.mjs.map → UseCasePage-1fvAnsrz.mjs.map} +1 -1
  137. package/dist/admin/{constants-uHIZjBlD.mjs → constants-_aKqqdTC.mjs} +2 -2
  138. package/dist/admin/{constants-uHIZjBlD.mjs.map → constants-_aKqqdTC.mjs.map} +1 -1
  139. package/dist/admin/{constants-aFtX6NfL.js → constants-m4Q5L3er.js} +2 -2
  140. package/dist/admin/{constants-aFtX6NfL.js.map → constants-m4Q5L3er.js.map} +1 -1
  141. package/dist/admin/{index-hQZqUdCx.mjs → index-EuBu2rv5.mjs} +30 -30
  142. package/dist/admin/{index-hQZqUdCx.mjs.map → index-EuBu2rv5.mjs.map} +1 -1
  143. package/dist/admin/{index-T8NohG0K.js → index-UvMVCH5g.js} +30 -30
  144. package/dist/admin/{index-T8NohG0K.js.map → index-UvMVCH5g.js.map} +1 -1
  145. package/dist/admin/index.js +1 -1
  146. package/dist/admin/index.mjs +1 -1
  147. package/dist/admin/{useAdminRoles-KCOvxU7E.mjs → useAdminRoles-IG_cJwX1.mjs} +2 -2
  148. package/dist/admin/{useAdminRoles-KCOvxU7E.mjs.map → useAdminRoles-IG_cJwX1.mjs.map} +1 -1
  149. package/dist/admin/{useAdminRoles-fGY4pHpA.js → useAdminRoles-Mvuk6dzh.js} +2 -2
  150. package/dist/admin/{useAdminRoles-fGY4pHpA.js.map → useAdminRoles-Mvuk6dzh.js.map} +1 -1
  151. package/dist/admin/{validation-i311NcDe.js → validation-IInns81I.js} +2 -2
  152. package/dist/admin/{validation-i311NcDe.js.map → validation-IInns81I.js.map} +1 -1
  153. package/dist/admin/{validation-HhGfJsxU.mjs → validation-yGrvkrUU.mjs} +2 -2
  154. package/dist/admin/{validation-HhGfJsxU.mjs.map → validation-yGrvkrUU.mjs.map} +1 -1
  155. package/dist/package.json.d.ts +7 -7
  156. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"HomePage-JKs6c3nB.mjs","sources":["../../admin/src/components/GuidedTour/Homepage.tsx","../../admin/src/services/contentManager.ts","../../admin/src/hooks/useContentTypes.ts","../../admin/src/pages/assets/corner-ornament.svg","../../admin/src/pages/assets/strapi-cloud-background.png","../../admin/src/pages/assets/strapi-cloud-flags.svg","../../admin/src/pages/HomePage.tsx"],"sourcesContent":["import { Box, Button, Flex, Typography, LinkButton } from '@strapi/design-system';\nimport { ArrowRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useTracking } from '../../features/Tracking';\n\nimport { LAYOUT_DATA, States, STATES } from './constants';\nimport { Number, VerticalDivider } from './Ornaments';\nimport { GuidedTourContextValue, useGuidedTour } from './Provider';\n\nconst GuidedTourHomepage = () => {\n const guidedTourState = useGuidedTour('GuidedTourHomepage', (state) => state.guidedTourState);\n const setSkipped = useGuidedTour('GuidedTourHomepage', (state) => state.setSkipped);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n const sections = Object.entries(LAYOUT_DATA).map(([key, val]) => ({\n key: key,\n title: val.home.title,\n content: (\n <LinkButton\n onClick={() => trackUsage(val.home.trackingEvent)}\n tag={NavLink}\n to={val.home.cta.target}\n endIcon={<ArrowRight />}\n >\n {formatMessage(val.home.cta.title)}\n </LinkButton>\n ),\n isDone: Object.entries(\n guidedTourState[key as keyof GuidedTourContextValue['guidedTourState']]\n ).every(([, value]) => value),\n }));\n\n const activeSectionIndex = sections.findIndex((section) => !section.isDone);\n\n const handleSkip = () => {\n setSkipped(true);\n trackUsage('didSkipGuidedtour');\n };\n\n return (\n <Box\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={7}\n paddingRight={4}\n paddingLeft={7}\n paddingBottom={4}\n background=\"neutral0\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Typography variant=\"beta\" tag=\"h2\">\n {formatMessage({\n id: 'app.components.GuidedTour.title',\n defaultMessage: '3 steps to get started',\n })}\n </Typography>\n <Box>\n {sections.map((section, index) => {\n const state = getState(activeSectionIndex, index);\n return (\n <Box key={section.key}>\n <Flex>\n <Box minWidth={`3rem`} marginRight={5}>\n <Number state={state}>{index + 1}</Number>\n </Box>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage(section.title)}\n </Typography>\n </Flex>\n <Flex alignItems=\"flex-start\">\n <Flex\n justifyContent=\"center\"\n minWidth={`3rem`}\n marginBottom={3}\n marginTop={3}\n marginRight={5}\n >\n {index === sections.length - 1 ? null : <VerticalDivider state={state} />}\n </Flex>\n <Box marginTop={2}>{state === STATES.IS_ACTIVE ? section.content : null}</Box>\n </Flex>\n </Box>\n );\n })}\n </Box>\n </Flex>\n <Flex justifyContent=\"flex-end\">\n <Button variant=\"tertiary\" onClick={handleSkip}>\n {formatMessage({ id: 'app.components.GuidedTour.skip', defaultMessage: 'Skip the tour' })}\n </Button>\n </Flex>\n </Box>\n );\n};\n\nconst getState = (activeSectionIndex: number, index: number): States => {\n if (activeSectionIndex === -1) {\n return STATES.IS_DONE;\n }\n if (index < activeSectionIndex) {\n return STATES.IS_DONE;\n }\n if (index > activeSectionIndex) {\n return STATES.IS_NOT_DONE;\n }\n return STATES.IS_ACTIVE;\n};\n\nexport { GuidedTourHomepage };\n","/**\n * This will 100% be moved into it's own reducer space when\n * we move the content-manager back to it's plugin.\n */\n\nimport { adminApi } from './api';\n\nimport type { ContentType } from '../../../shared/contracts/content-types';\ninterface ContentTypes {\n collectionType: ContentType[];\n singleType: ContentType[];\n}\n\nconst contentManager = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n /**\n * Content Types\n */\n getContentTypes: builder.query<ContentTypes, void>({\n query: () => ({\n url: `/content-manager/content-types`,\n method: 'GET',\n }),\n transformResponse: (res: { data: ContentType[] }) => {\n return res.data.reduce<ContentTypes>(\n (acc, curr) => {\n if (curr.isDisplayed) {\n acc[curr.kind].push(curr);\n }\n return acc;\n },\n {\n collectionType: [],\n singleType: [],\n }\n );\n },\n }),\n }),\n overrideExisting: true,\n});\n\nconst { useGetContentTypesQuery } = contentManager;\n\nexport { useGetContentTypesQuery };\n","import * as React from 'react';\n\nimport { useNotification } from '../features/Notifications';\nimport { useAPIErrorHandler } from '../hooks/useAPIErrorHandler';\nimport { useGetContentTypesQuery } from '../services/contentManager';\n\nimport type { ContentType } from '../../../shared/contracts/content-types';\n\nexport function useContentTypes(): {\n isLoading: boolean;\n collectionTypes: ContentType[];\n singleTypes: ContentType[];\n} {\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n\n const { data, isLoading, error } = useGetContentTypesQuery();\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n return {\n isLoading,\n collectionTypes: data?.collectionType ?? [],\n singleTypes: data?.singleType ?? [],\n };\n}\n","export default \"data:image/svg+xml,%3csvg%20width='148'%20height='148'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='.8'%20fill-rule='evenodd'%20clip-rule='evenodd'%3e%3cpath%20opacity='.15'%20d='M110.81%2037H73.97V74.1h36.84V37Z'%20fill='url(%23a)'/%3e%3cpath%20opacity='.07'%20d='M36.84%200H0v37.08h36.84V0Z'%20fill='url(%23b)'/%3e%3cpath%20opacity='.07'%20d='M73.92%2073.95H37.08v37.08h36.84V73.95Z'%20fill='url(%23c)'/%3e%3cpath%20opacity='.07'%20d='M147.99%20110.92h-37.3V148H148v-37.08Z'%20fill='url(%23d)'/%3e%3cpath%20opacity='.15'%20d='M73.83%2037H36.84L73.83%200v37Z'%20fill='url(%23e)'/%3e%3cpath%20opacity='.15'%20d='M110.6%20111.02v-37h36.98l-36.99%2037Z'%20fill='url(%23f)'/%3e%3cpath%20opacity='.4'%20d='M73.83%200v37h36.98v37.01h37V3a3%203%200%200%200-3-3H73.82Z'%20fill='url(%23g)'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='a'%20x1='91.31'%20y1='83.31'%20x2='118.24'%20y2='56.59'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='b'%20x1='40.99'%20y1='13.88'%20x2='.01'%20y2='11.64'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23A8B8FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='c'%20x1='54.41'%20y1='120.25'%20x2='81.35'%20y2='93.52'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23A8B8FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='d'%20x1='128.24'%20y1='157.22'%20x2='155.17'%20y2='130.17'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23A8B8FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='e'%20x1='54.24'%20y1='46.21'%20x2='81.12'%20y2='19.38'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='f'%20x1='126.28'%20y1='74.05'%20x2='124.94'%20y2='111.07'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='g'%20x1='73.37'%20y1='36.87'%20x2='132.87'%20y2='66.74'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233858EA'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\"","export default \"data:image/png;base64,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\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='160'%20fill='none'%20viewBox='29.41%2044%20149.09%2050.35'%3e%3cpath%20stroke='%23EAEAEF'%20d='M30.5%2044.5c37%2027%2047.5%2038%20147.499%2032'/%3e%3cg%20filter='url(%23a)'%3e%3cpath%20fill='%23F29D41'%20d='m129.467%2094.085%208.148-14.142a.598.598%200%200%200-.403-.887%2075.099%2075.099%200%200%200-3.045-.536c-1.875-.274-2.936-.44-4.837-.505-1.838-.064-2.873.01-4.698.153a64.05%2064.05%200%200%200-2.692.293.597.597%200%200%200-.462.851l7.042%2014.737c.186.388.732.41.947.036Z'/%3e%3c/g%3e%3cg%20filter='url(%23b)'%3e%3cpath%20fill='%23F29D41'%20d='m46.99%2075.52%2013.813-8.697a.597.597%200%200%200%20.058-.971%2075.191%2075.191%200%200%200-2.442-1.897c-1.53-1.119-2.39-1.761-4.04-2.707-1.595-.915-2.545-1.334-4.226-2.06a64.09%2064.09%200%200%200-2.516-.999.597.597%200%200%200-.806.537l-.66%2016.319a.535.535%200%200%200%20.82.474Z'/%3e%3c/g%3e%3cg%20filter='url(%23c)'%3e%3cpath%20fill='%235CB176'%20d='m29.41%2063.51%202.102-16.186a.597.597%200%200%201%20.858-.46c.748.371%201.905.954%202.745%201.42%201.657.92%202.602%201.433%204.152%202.534%201.5%201.064%202.278%201.75%203.642%202.972a64.026%2064.026%200%200%201%201.962%201.865c.291.286.214.771-.149.957l-14.538%207.443a.535.535%200%200%201-.774-.545Z'/%3e%3c/g%3e%3cmask%20id='d'%20width='17'%20height='19'%20x='29'%20y='46'%20maskUnits='userSpaceOnUse'%20style='mask-type:alpha'%3e%3cpath%20fill='%235CB176'%20d='m29.412%2063.51%202.101-16.186a.597.597%200%200%201%20.858-.46c.749.371%201.905.954%202.746%201.42%201.657.92%202.601%201.433%204.152%202.534%201.5%201.064%202.278%201.75%203.642%202.972a64.148%2064.148%200%200%201%201.962%201.865c.29.286.214.771-.15.957l-14.537%207.443a.535.535%200%200%201-.774-.545Z'/%3e%3c/mask%3e%3cg%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='.661'%20mask='url(%23d)'%3e%3cpath%20d='M39.755%2051.218c-1.05%201.558-4.606%204.788-10.44%205.247M36.415%2047.816c-1.05%201.558-4.606%204.789-10.44%205.247M42.97%2053.97c-1.457%201.908-6.341%205.902-14.216%206.619M42.15%2058.499c-1.645%201.748-5.29%204.033-13.197%203.939'/%3e%3c/g%3e%3cg%20filter='url(%23e)'%3e%3cpath%20fill='%237B79FF'%20d='m169.813%2092.983%205.927-15.208a.598.598%200%200%200-.531-.815%2075.213%2075.213%200%200%200-3.091-.072c-1.895.01-2.969.007-4.859.228-1.826.214-2.838.442-4.621.859-.815.19-1.893.488-2.617.694a.596.596%200%200%200-.328.91l9.178%2013.51a.536.536%200%200%200%20.942-.106Z'/%3e%3c/g%3e%3cg%20filter='url(%23f)'%3e%3cpath%20fill='%237B79FF'%20d='m87.001%2090.853-4.466-15.699a.597.597%200%200%201%20.606-.761c.835.045%202.127.123%203.084.22%201.886.19%202.956.287%204.816.685%201.797.385%202.784.709%204.519%201.291.794.267%201.839.665%202.54.938.38.148.501.624.24.938L87.929%2091.048a.535.535%200%200%201-.927-.195Z'/%3e%3c/g%3e%3cg%20filter='url(%23g)'%3e%3cpath%20fill='%23EE5E52'%20d='m66.153%2085.122%2012.355-10.665a.597.597%200%200%200-.087-.97%2075.353%2075.353%200%200%200-2.698-1.51c-1.68-.877-2.627-1.383-4.4-2.072-1.714-.666-2.716-.938-4.486-1.404a64.083%2064.083%200%200%200-2.638-.611.597.597%200%200%200-.716.651l1.788%2016.234a.535.535%200%200%200%20.882.347Z'/%3e%3c/g%3e%3ccircle%20cx='70.793'%20cy='74.511'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2070.793%2074.51)'/%3e%3ccircle%20cx='65.574'%20cy='78.63'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2065.574%2078.63)'/%3e%3ccircle%20cx='65.408'%20cy='74.519'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2065.408%2074.519)'/%3e%3ccircle%20cx='67.834'%20cy='81.943'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2067.834%2081.943)'/%3e%3ccircle%20cx='67.259'%20cy='69.875'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2067.259%2069.875)'/%3e%3ccircle%20cx='74.691'%20cy='72.834'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2074.69%2072.834)'/%3e%3ccircle%20cx='71.171'%20cy='78.968'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2071.171%2078.968)'/%3e%3cg%20filter='url(%23h)'%3e%3cpath%20fill='%23EE5E52'%20d='m149.911%2093.824%206.521-14.963a.598.598%200%200%200-.499-.836%2075.255%2075.255%200%200%200-3.086-.193c-1.894-.064-2.967-.11-4.863.037-1.833.141-2.854.33-4.651.676-.823.158-1.912.414-2.643.59a.596.596%200%200%200-.364.898l8.64%2013.86a.535.535%200%200%200%20.945-.07Z'/%3e%3c/g%3e%3ccircle%20cx='149.5'%20cy='82.25'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20149.5%2082.25)'/%3e%3ccircle%20cx='146.579'%20cy='88.222'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20146.579%2088.222)'/%3e%3ccircle%20cx='144.65'%20cy='84.588'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20144.65%2084.588)'/%3e%3ccircle%20cx='150.049'%20cy='90.231'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20150.049%2090.231)'/%3e%3ccircle%20cx='144.306'%20cy='79.6'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20144.306%2079.6)'/%3e%3ccircle%20cx='152.287'%20cy='79.051'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20152.287%2079.05)'/%3e%3ccircle%20cx='151.77'%20cy='86.103'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20151.77%2086.103)'/%3e%3cg%20filter='url(%23i)'%3e%3cpath%20fill='%235CB176'%20d='m109.171%2093.4%208.86-13.707a.598.598%200%200%200-.357-.906c-.811-.2-2.07-.503-3.013-.69-1.859-.37-2.911-.59-4.806-.753-1.831-.157-2.869-.136-4.699-.086-.837.023-1.953.098-2.703.154a.597.597%200%200%200-.505.827l6.279%2015.077c.166.398.71.447.944.084Z'/%3e%3c/g%3e%3cmask%20id='j'%20width='18'%20height='17'%20x='101'%20y='77'%20maskUnits='userSpaceOnUse'%20style='mask-type:alpha'%3e%3cpath%20fill='%235CB176'%20d='m109.17%2093.4%208.86-13.707a.598.598%200%200%200-.357-.905c-.811-.201-2.07-.504-3.013-.692-1.859-.37-2.911-.589-4.806-.751-1.831-.158-2.869-.137-4.699-.087-.837.023-1.953.099-2.703.154a.597.597%200%200%200-.505.827l6.279%2015.077c.166.398.71.447.944.085Z'/%3e%3c/mask%3e%3cg%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='.661'%20mask='url(%23j)'%3e%3cpath%20d='M109.225%2077.335c-.207%201.867.418%206.632%204.573%2010.753M113.972%2076.9c-.207%201.867.418%206.631%204.573%2010.753M104.992%2077.357c-.121%202.397%201.023%208.602%206.568%2014.24M102.69%2081.343c.125%202.397%201.429%206.497%207.522%2011.537'/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='a'%20width='21.565'%20height='21.649'%20x='118.775'%20y='76.009'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='b'%20width='20.201'%20height='22.741'%20x='43.526'%20y='56.167'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='c'%20width='20.932'%20height='22.602'%20x='26.761'%20y='44.818'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='e'%20width='21.482'%20height='21.724'%20x='156.944'%20y='74.904'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='f'%20width='21.256'%20height='22.139'%20x='79.868'%20y='72.409'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='g'%20width='20.526'%20height='22.664'%20x='60.835'%20y='65.893'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='h'%20width='21.537'%20height='21.662'%20x='137.59'%20y='75.788'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='i'%20width='21.515'%20height='21.712'%20x='99.257'%20y='75.238'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e\"","import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Grid,\n Main,\n Typography,\n Link,\n LinkButton,\n TypographyComponent,\n BoxComponent,\n FlexComponent,\n} from '@strapi/design-system';\nimport { ArrowRight, ExternalLink } from '@strapi/icons';\nimport {\n CodeSquare,\n Discord,\n Discourse,\n FeatherSquare,\n GitHub,\n InformationSquare,\n PlaySquare,\n Reddit,\n Strapi,\n X as Twitter,\n} from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { ContentBox } from '../components/ContentBox';\nimport { GuidedTourHomepage } from '../components/GuidedTour/Homepage';\nimport { useGuidedTour } from '../components/GuidedTour/Provider';\nimport { Layouts } from '../components/Layouts/Layout';\nimport { Page } from '../components/PageHelpers';\nimport { useAppInfo } from '../features/AppInfo';\nimport { useTracking } from '../features/Tracking';\nimport { useContentTypes } from '../hooks/useContentTypes';\nimport { useEnterprise } from '../hooks/useEnterprise';\n\nimport cornerOrnamentPath from './assets/corner-ornament.svg';\nimport cloudIconBackgroundImage from './assets/strapi-cloud-background.png';\nimport cloudFlagsImage from './assets/strapi-cloud-flags.svg';\n\n/* -------------------------------------------------------------------------------------------------\n * HomePageCE\n * -----------------------------------------------------------------------------------------------*/\n\nconst HomePageCE = () => {\n const { formatMessage } = useIntl();\n // Temporary until we develop the menu API\n const { collectionTypes, singleTypes, isLoading: isLoadingForModels } = useContentTypes();\n const guidedTourState = useGuidedTour('HomePage', (state) => state.guidedTourState);\n const isGuidedTourVisible = useGuidedTour('HomePage', (state) => state.isGuidedTourVisible);\n const isSkipped = useGuidedTour('HomePage', (state) => state.isSkipped);\n\n const showGuidedTour =\n !Object.values(guidedTourState).every((section) =>\n Object.values(section).every((step) => step)\n ) &&\n isGuidedTourVisible &&\n !isSkipped;\n const navigate = useNavigate();\n const handleClick: React.MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n\n navigate('/plugins/content-type-builder/content-types/create-content-type');\n };\n\n const hasAlreadyCreatedContentTypes = collectionTypes.length > 1 || singleTypes.length > 0;\n\n if (isLoadingForModels) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage({\n id: 'HomePage.head.title',\n defaultMessage: 'Homepage',\n })}\n </Page.Title>\n <Main>\n <LogoContainer>\n <img alt=\"\" aria-hidden src={cornerOrnamentPath} />\n </LogoContainer>\n <Box padding={10}>\n <Grid.Root>\n <Grid.Item col={8} s={12}>\n <div>\n <Box paddingLeft={6} paddingBottom={10}>\n <Flex direction=\"column\" alignItems=\"flex-start\" gap={5}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {hasAlreadyCreatedContentTypes\n ? formatMessage({\n id: 'app.components.HomePage.welcome.again',\n defaultMessage: 'Welcome 👋',\n })\n : formatMessage({\n id: 'app.components.HomePage.welcome',\n defaultMessage: 'Welcome on board!',\n })}\n </Typography>\n <WordWrap textColor=\"neutral600\" variant=\"epsilon\">\n {hasAlreadyCreatedContentTypes\n ? formatMessage({\n id: 'app.components.HomePage.welcomeBlock.content.again',\n defaultMessage:\n 'We hope you are making progress on your project! Feel free to read the latest news about Strapi. We are giving our best to improve the product based on your feedback.',\n })\n : formatMessage({\n id: 'app.components.HomePage.welcomeBlock.content',\n defaultMessage:\n 'Congrats! You are logged as the first administrator. To discover the powerful features provided by Strapi, we recommend you to create your first Content type!',\n })}\n </WordWrap>\n {hasAlreadyCreatedContentTypes ? (\n <Link isExternal href=\"https://strapi.io/blog\">\n {formatMessage({\n id: 'app.components.HomePage.button.blog',\n defaultMessage: 'See more on the blog',\n })}\n </Link>\n ) : (\n <Button size=\"L\" onClick={handleClick} endIcon={<ArrowRight />}>\n {formatMessage({\n id: 'app.components.HomePage.create',\n defaultMessage: 'Create your first Content type',\n })}\n </Button>\n )}\n </Flex>\n </Box>\n </div>\n </Grid.Item>\n </Grid.Root>\n <Grid.Root gap={6}>\n <Grid.Item col={8} s={12}>\n {showGuidedTour ? <GuidedTourHomepage /> : <ContentBlocks />}\n </Grid.Item>\n <Grid.Item col={4} s={12}>\n <SocialLinks />\n </Grid.Item>\n </Grid.Root>\n </Box>\n </Main>\n </Layouts.Root>\n );\n};\n\nconst LogoContainer = styled<BoxComponent>(Box)`\n position: absolute;\n top: 0;\n right: 0;\n\n img {\n width: 15rem;\n }\n`;\n\nconst WordWrap = styled<TypographyComponent>(Typography)`\n word-break: break-word;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * ContentBlocks\n * -----------------------------------------------------------------------------------------------*/\n\nconst ContentBlocks = () => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={5}>\n <BlockLink\n href=\"https://cloud.strapi.io\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => {\n trackUsage('didClickOnTryStrapiCloudSection');\n }}\n >\n <Flex\n shadow=\"tableShadow\"\n hasRadius\n padding={6}\n background=\"neutral0\"\n position=\"relative\"\n gap={6}\n >\n <CloudCustomWrapper hasRadius padding={3}>\n <CloudIconWrapper\n width=\"3.2rem\"\n height=\"3.2rem\"\n justifyContent=\"center\"\n hasRadius\n alignItems=\"center\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"15\" fill=\"none\">\n <path\n fill=\"#fff\"\n fillRule=\"evenodd\"\n d=\"M4.39453 13.8298C1.93859 13.6455 0 11.468 0 8.80884 0 6.0289 2.11876 3.7753 4.73238 3.7753c.46775 0 .91964.07218 1.34638.20664C7.21234 1.62909 9.66469 0 12.5073 0c2.5102 0 4.7161 1.27036 5.9782 3.18766a4.54297 4.54297 0 0 1 .6132-.04144C21.8056 3.14622 24 5.54066 24 8.49436c0 2.89194-2.1036 5.24784-4.7323 5.34504v.0031l-1.8948.278a38.18054 38.18054 0 0 1-11.08354 0l-1.89483-.278v-.0127Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </CloudIconWrapper>\n </CloudCustomWrapper>\n <Flex gap={1} direction=\"column\" alignItems=\"start\">\n <Typography fontWeight=\"semiBold\" variant=\"pi\" textColor=\"neutral800\">\n {formatMessage({\n id: 'app.components.BlockLink.cloud',\n defaultMessage: 'Strapi Cloud',\n })}\n </Typography>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: 'app.components.BlockLink.cloud.content',\n defaultMessage:\n 'A fully composable, and collaborative platform to boost your team velocity.',\n })}\n </Typography>\n <Box src={cloudFlagsImage} position=\"absolute\" top={0} right={0} tag=\"img\" />\n </Flex>\n </Flex>\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/resource-center\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonReadTheDocumentationSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'global.documentation',\n defaultMessage: 'Documentation',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.documentation.content',\n defaultMessage: 'Discover the essential concepts, guides and instructions.',\n })}\n icon={<InformationSquare />}\n iconBackground=\"primary100\"\n />\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/starters\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonCodeExampleSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'app.components.BlockLink.code',\n defaultMessage: 'Code example',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.code.content',\n defaultMessage: 'Learn by using ready-made starters for your projects.',\n })}\n icon={<CodeSquare />}\n iconBackground=\"warning100\"\n />\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/blog/categories/tutorials\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonTutorialSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'app.components.BlockLink.tutorial',\n defaultMessage: 'Tutorials',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.tutorial.content',\n defaultMessage: 'Follow step-by-step instructions to use and customize Strapi.',\n })}\n icon={<PlaySquare />}\n iconBackground=\"secondary100\"\n />\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/blog\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonBlogSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'app.components.BlockLink.blog',\n defaultMessage: 'Blog',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.blog.content',\n defaultMessage: 'Read the latest news about Strapi and the ecosystem.',\n })}\n icon={<FeatherSquare />}\n iconBackground=\"alternative100\"\n />\n </BlockLink>\n </Flex>\n );\n};\n\nconst BlockLink = styled.a`\n text-decoration: none;\n`;\n\nconst CloudCustomWrapper = styled<BoxComponent>(Box)`\n background-image: url(${cloudIconBackgroundImage});\n`;\n\nconst CloudIconWrapper = styled<FlexComponent>(Flex)`\n background: rgba(255, 255, 255, 0.3);\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * SocialLinks\n * -----------------------------------------------------------------------------------------------*/\n\nconst SocialLinks = () => {\n const { formatMessage } = useIntl();\n const communityEdition = useAppInfo('SocialLinks', (state) => state.communityEdition);\n\n const socialLinksExtended = [\n ...SOCIAL_LINKS,\n {\n icon: <StyledStrapi />,\n link: communityEdition\n ? 'https://discord.strapi.io'\n : 'https://support.strapi.io/support/home',\n name: {\n id: 'Settings.application.get-help',\n defaultMessage: 'Get help',\n },\n },\n ];\n\n return (\n <Flex\n tag=\"aside\"\n direction=\"column\"\n aria-labelledby=\"join-the-community\"\n background=\"neutral0\"\n hasRadius\n paddingRight={5}\n paddingLeft={5}\n paddingTop={6}\n paddingBottom={6}\n shadow=\"tableShadow\"\n gap={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={5}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={3}>\n <Typography variant=\"delta\" tag=\"h2\" id=\"join-the-community\">\n {formatMessage({\n id: 'app.components.HomePage.community',\n defaultMessage: 'Join the community',\n })}\n </Typography>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: 'app.components.HomePage.community.content',\n defaultMessage:\n 'Discuss with team members, contributors and developers on different channels',\n })}\n </Typography>\n </Flex>\n <Link href=\"https://feedback.strapi.io/\" isExternal endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'app.components.HomePage.roadmap',\n defaultMessage: 'See our road map',\n })}\n </Link>\n </Flex>\n <GridGap>\n {socialLinksExtended.map(({ icon, link, name }) => {\n return (\n <Grid.Item col={6} s={12} key={name.id}>\n <LinkCustom size=\"L\" startIcon={icon} variant=\"tertiary\" href={link} isExternal>\n {formatMessage(name)}\n </LinkCustom>\n </Grid.Item>\n );\n })}\n </GridGap>\n </Flex>\n );\n};\n\nconst StyledGithub = styled(GitHub)`\n path {\n fill: ${(props) => props.theme.colors.neutral800} !important;\n }\n`;\n\nconst StyledDiscord = styled(Discord)`\n path {\n fill: #7289da !important;\n }\n`;\n\nconst StyledReddit = styled(Reddit)`\n > path:first-child {\n fill: #ff4500;\n }\n\n > path:nth-child(2) {\n fill: #fff;\n }\n`;\nconst StyledStrapi = styled(Strapi)`\n > path:first-child {\n fill: #4945ff;\n }\n > path:nth-child(2) {\n fill: #fff;\n }\n > path:nth-child(4) {\n fill: #9593ff;\n }\n`;\n\nconst StyledTwitter = styled(Twitter)`\n path:first-child {\n fill: #fff;\n }\n\n path:nth-child(2) {\n fill: #000 !important;\n }\n`;\n\nconst StyledDiscourse = styled(Discourse)`\n > path:first-child {\n fill: #231f20;\n }\n > path:nth-child(2) {\n fill: #fff9ae;\n }\n > path:nth-child(3) {\n fill: #00aeef;\n }\n > path:nth-child(4) {\n fill: #00a94f;\n }\n > path:nth-child(5) {\n fill: #f15d22;\n }\n > path:nth-child(6) {\n fill: #e31b23;\n }\n`;\n\nconst LinkCustom = styled(LinkButton)`\n display: flex;\n align-items: center;\n border: none;\n\n svg {\n width: ${({ theme }) => theme.spaces[6]};\n height: ${({ theme }) => theme.spaces[6]};\n }\n\n span {\n word-break: keep-all;\n }\n`;\n\nconst GridGap = styled(Grid.Root)`\n row-gap: ${({ theme }) => theme.spaces[2]};\n column-gap: ${({ theme }) => theme.spaces[4]};\n`;\n\nconst SOCIAL_LINKS = [\n {\n name: { id: 'app.components.HomePage.community.links.github', defaultMessage: 'Github' },\n link: 'https://github.com/strapi/strapi/',\n icon: <StyledGithub />,\n alt: 'github',\n },\n {\n name: { id: 'app.components.HomePage.community.links.discord', defaultMessage: 'Discord' },\n link: 'https://discord.strapi.io/',\n icon: <StyledDiscord />,\n alt: 'discord',\n },\n {\n name: { id: 'app.components.HomePage.community.links.reddit', defaultMessage: 'Reddit' },\n link: 'https://www.reddit.com/r/Strapi/',\n icon: <StyledReddit />,\n alt: 'reddit',\n },\n {\n name: { id: 'app.components.HomePage.community.links.twitter', defaultMessage: 'Twitter' },\n link: 'https://twitter.com/strapijs',\n icon: <StyledTwitter />,\n alt: 'twitter',\n },\n {\n name: { id: 'app.components.HomePage.community.links.forum', defaultMessage: 'Forum' },\n link: 'https://forum.strapi.io',\n icon: <StyledDiscourse />,\n alt: 'forum',\n },\n {\n name: { id: 'app.components.HomePage.community.links.blog', defaultMessage: 'Blog' },\n link: 'https://strapi.io/blog?utm_source=referral&utm_medium=admin&utm_campaign=career%20page',\n icon: <StyledStrapi />,\n alt: 'blog',\n },\n {\n name: {\n id: 'app.components.HomePage.community.links.career',\n defaultMessage: 'We are hiring!',\n },\n link: 'https://strapi.io/careers?utm_source=referral&utm_medium=admin&utm_campaign=blog',\n icon: <StyledStrapi />,\n alt: 'career',\n },\n];\n\n/* -------------------------------------------------------------------------------------------------\n * HomePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst HomePage = () => {\n const Page = useEnterprise(\n HomePageCE,\n // eslint-disable-next-line import/no-cycle\n async () => (await import('../../../ee/admin/src/pages/HomePage')).HomePageEE\n );\n\n // block rendering until the EE component is fully loaded\n if (!Page) {\n return null;\n }\n\n return <Page />;\n};\n\nexport { HomePage, HomePageCE };\n"],"names":["Twitter","Page"],"mappings":"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"}
1
+ {"version":3,"file":"HomePage-t9rWvlnT.mjs","sources":["../../admin/src/components/GuidedTour/Homepage.tsx","../../admin/src/services/contentManager.ts","../../admin/src/hooks/useContentTypes.ts","../../admin/src/pages/assets/corner-ornament.svg","../../admin/src/pages/assets/strapi-cloud-background.png","../../admin/src/pages/assets/strapi-cloud-flags.svg","../../admin/src/pages/HomePage.tsx"],"sourcesContent":["import { Box, Button, Flex, Typography, LinkButton } from '@strapi/design-system';\nimport { ArrowRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useTracking } from '../../features/Tracking';\n\nimport { LAYOUT_DATA, States, STATES } from './constants';\nimport { Number, VerticalDivider } from './Ornaments';\nimport { GuidedTourContextValue, useGuidedTour } from './Provider';\n\nconst GuidedTourHomepage = () => {\n const guidedTourState = useGuidedTour('GuidedTourHomepage', (state) => state.guidedTourState);\n const setSkipped = useGuidedTour('GuidedTourHomepage', (state) => state.setSkipped);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n const sections = Object.entries(LAYOUT_DATA).map(([key, val]) => ({\n key: key,\n title: val.home.title,\n content: (\n <LinkButton\n onClick={() => trackUsage(val.home.trackingEvent)}\n tag={NavLink}\n to={val.home.cta.target}\n endIcon={<ArrowRight />}\n >\n {formatMessage(val.home.cta.title)}\n </LinkButton>\n ),\n isDone: Object.entries(\n guidedTourState[key as keyof GuidedTourContextValue['guidedTourState']]\n ).every(([, value]) => value),\n }));\n\n const activeSectionIndex = sections.findIndex((section) => !section.isDone);\n\n const handleSkip = () => {\n setSkipped(true);\n trackUsage('didSkipGuidedtour');\n };\n\n return (\n <Box\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={7}\n paddingRight={4}\n paddingLeft={7}\n paddingBottom={4}\n background=\"neutral0\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Typography variant=\"beta\" tag=\"h2\">\n {formatMessage({\n id: 'app.components.GuidedTour.title',\n defaultMessage: '3 steps to get started',\n })}\n </Typography>\n <Box>\n {sections.map((section, index) => {\n const state = getState(activeSectionIndex, index);\n return (\n <Box key={section.key}>\n <Flex>\n <Box minWidth={`3rem`} marginRight={5}>\n <Number state={state}>{index + 1}</Number>\n </Box>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage(section.title)}\n </Typography>\n </Flex>\n <Flex alignItems=\"flex-start\">\n <Flex\n justifyContent=\"center\"\n minWidth={`3rem`}\n marginBottom={3}\n marginTop={3}\n marginRight={5}\n >\n {index === sections.length - 1 ? null : <VerticalDivider state={state} />}\n </Flex>\n <Box marginTop={2}>{state === STATES.IS_ACTIVE ? section.content : null}</Box>\n </Flex>\n </Box>\n );\n })}\n </Box>\n </Flex>\n <Flex justifyContent=\"flex-end\">\n <Button variant=\"tertiary\" onClick={handleSkip}>\n {formatMessage({ id: 'app.components.GuidedTour.skip', defaultMessage: 'Skip the tour' })}\n </Button>\n </Flex>\n </Box>\n );\n};\n\nconst getState = (activeSectionIndex: number, index: number): States => {\n if (activeSectionIndex === -1) {\n return STATES.IS_DONE;\n }\n if (index < activeSectionIndex) {\n return STATES.IS_DONE;\n }\n if (index > activeSectionIndex) {\n return STATES.IS_NOT_DONE;\n }\n return STATES.IS_ACTIVE;\n};\n\nexport { GuidedTourHomepage };\n","/**\n * This will 100% be moved into it's own reducer space when\n * we move the content-manager back to it's plugin.\n */\n\nimport { adminApi } from './api';\n\nimport type { ContentType } from '../../../shared/contracts/content-types';\ninterface ContentTypes {\n collectionType: ContentType[];\n singleType: ContentType[];\n}\n\nconst contentManager = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n /**\n * Content Types\n */\n getContentTypes: builder.query<ContentTypes, void>({\n query: () => ({\n url: `/content-manager/content-types`,\n method: 'GET',\n }),\n transformResponse: (res: { data: ContentType[] }) => {\n return res.data.reduce<ContentTypes>(\n (acc, curr) => {\n if (curr.isDisplayed) {\n acc[curr.kind].push(curr);\n }\n return acc;\n },\n {\n collectionType: [],\n singleType: [],\n }\n );\n },\n }),\n }),\n overrideExisting: true,\n});\n\nconst { useGetContentTypesQuery } = contentManager;\n\nexport { useGetContentTypesQuery };\n","import * as React from 'react';\n\nimport { useNotification } from '../features/Notifications';\nimport { useAPIErrorHandler } from '../hooks/useAPIErrorHandler';\nimport { useGetContentTypesQuery } from '../services/contentManager';\n\nimport type { ContentType } from '../../../shared/contracts/content-types';\n\nexport function useContentTypes(): {\n isLoading: boolean;\n collectionTypes: ContentType[];\n singleTypes: ContentType[];\n} {\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n\n const { data, isLoading, error } = useGetContentTypesQuery();\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n return {\n isLoading,\n collectionTypes: data?.collectionType ?? [],\n singleTypes: data?.singleType ?? [],\n };\n}\n","export default \"data:image/svg+xml,%3csvg%20width='148'%20height='148'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='.8'%20fill-rule='evenodd'%20clip-rule='evenodd'%3e%3cpath%20opacity='.15'%20d='M110.81%2037H73.97V74.1h36.84V37Z'%20fill='url(%23a)'/%3e%3cpath%20opacity='.07'%20d='M36.84%200H0v37.08h36.84V0Z'%20fill='url(%23b)'/%3e%3cpath%20opacity='.07'%20d='M73.92%2073.95H37.08v37.08h36.84V73.95Z'%20fill='url(%23c)'/%3e%3cpath%20opacity='.07'%20d='M147.99%20110.92h-37.3V148H148v-37.08Z'%20fill='url(%23d)'/%3e%3cpath%20opacity='.15'%20d='M73.83%2037H36.84L73.83%200v37Z'%20fill='url(%23e)'/%3e%3cpath%20opacity='.15'%20d='M110.6%20111.02v-37h36.98l-36.99%2037Z'%20fill='url(%23f)'/%3e%3cpath%20opacity='.4'%20d='M73.83%200v37h36.98v37.01h37V3a3%203%200%200%200-3-3H73.82Z'%20fill='url(%23g)'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='a'%20x1='91.31'%20y1='83.31'%20x2='118.24'%20y2='56.59'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='b'%20x1='40.99'%20y1='13.88'%20x2='.01'%20y2='11.64'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23A8B8FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='c'%20x1='54.41'%20y1='120.25'%20x2='81.35'%20y2='93.52'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23A8B8FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='d'%20x1='128.24'%20y1='157.22'%20x2='155.17'%20y2='130.17'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23A8B8FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='e'%20x1='54.24'%20y1='46.21'%20x2='81.12'%20y2='19.38'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='f'%20x1='126.28'%20y1='74.05'%20x2='124.94'%20y2='111.07'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233253EA'/%3e%3c/linearGradient%3e%3clinearGradient%20id='g'%20x1='73.37'%20y1='36.87'%20x2='132.87'%20y2='66.74'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%237A92FF'/%3e%3cstop%20offset='1'%20stop-color='%233858EA'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA5CAMAAABUBBiJAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAACxMAAAsTAQCanBgAAAMAUExURUdwTP+PjYf49/Xhn4f6+P+DjIb6+Yzy9/fkof+Gjc+z6c+z6M+z6Yr4+IX39/ninvLkpf+GjvDlpsS569mw4vnhn/+Fjtqw4cG77ov695P59NnrwKD37Ij6+Jb484/59qT26Z337uTotO7kqevlrLrz27b03qj258Dy1rD14snwzZn48az15NzqvN/puufnsf6olPbfoOHot/zJmvTjo/Hkpv6kk9Xsw/TapPnhn/+ekYz498bx0P+XkbP04NLtxvrenf65ls/uyb7y2cPx0/jLn+nmr8zvyvjVn/vSm/vOmvHgp/6dlvyknP6ylP6Vle3gq5L29frZnPu/mv21l93nvvm/oPu5nPPfpffRoPTVpOrZsv6+leLdvfjan6/g6tbpxuLkuaXy6+bitfbNo/bApv+Mj+/cqvfjoL/g4P+tk7fh5f2tl4n4+ODOyvvWmvK2uei/yfyeovqip/3FmMDo3I3t99Lpy6rn6vyxnKPs7drnwpvm8ubZuf+IjvHBs+rfsLno4dfezKvt6Nnjx7Lv487j0sjt08bm2Kbf7o319t7gw/Wus8Tt2Mzp0pTs9Lfv4PrEnPi5peq3yf+Sj/DIsfDTq86/5fimrpnw8visqvjFof2enObOwZ/w7/O3s6zx573t3NfU0unUufquov7CluPHyuzIus7Q3ezTsubetp/g8uO/0Mff2uDXxO28wLLp5erPut/ivvOsvPXHpvq1oc7W2pLy9fezq/LKquTVwPqoo++1wujIw/ypnJPm9afW8Pa5rM3I4fPRp/+Pk7TI7tS25L/Z487d1sbZ3tTZ0t3Uy53079Pjzu/AuuvDwM3szvaotfDOrenir47o9+7NtN3J0fS9ru2vycTH59yz39e/3+/Yq5ja9azM8d+62Jbg9Zf18v6YmrrT6bDZ65vr8sbO4/GuwrHS7bzM6dbN1/PDq9XH3LvE7eOy2d3B15Dh9uW109zayaLm76Da8p/U88636L+/7emw0NrH18W+6sPT5LjZ59m538i66qTP8mzi5EgAAAAZdFJOUwDfoEjfSEj+lZRIoH/PgO/f79/P38/P3+9GeHQBAAAGdElEQVRIx33Xd1zNexzH8Z97L3HdvZOdTYRKQ2R00zglaShCtBx1JU0VDVGhJJUiaWghGqIiIiMpQkohVzKSVXFJup/P5/f7nWG9/38+Xp/zPZ0/Yhjm276//Xnz5tOnT/+D1dbWPniQm5t75cqV2FhXV9fVsH9hRkZGZ86csbPz8/P7+Y8+PRnYd6/Onr15E+WLFxx8wEFerpaQSP38+kDvFcCzBFFur60tFidRAt21axdJCdqT6fueZFfXnTt3XqDcXltcXJybuxkWGxvn6lpEcJeBAUqjqCikdnZ9mF/fk+zi5HYYwFWrSMbFxRW5FgkEqwUoDTSNNDWjcHZ2PZi/3r59HxMTU99VD3D//v0uvFzFwrgimEAgQAiUBrQH8/r127cxKOvrnz0j6ZKdnY1wz57NR4+y8oQAZyC2UVEAWUnwGUGU2bw8mgIrOnFCoChQUTFQN1BXVyfKtLaCrIspLX3y5AlJF1ZWIjx1lJMpJ2BIVdRpmupMWWtra11dXWkMyDdv3tTs37fPxaWqKruysnLdHqBg81O8UrwQKiqqiChTxstSkjU1+2BVMIQ3bpw6FRkZmQ/Uy2vlSknK3C4rK3v0qK6uubQ0/cljgCiPH0dYuW6dSOaThHFWhbl9G+Gj5ubm9NL0x48f19Q4IzxelZYGEOQNsfTiJFqAtx/yMh1kUo0zDGQaDGTLDVvbyEizfHNz8/nzSa5YobhCUZHpBvjw3r17nZ2sTEpyBrp7926EO3asa2mxBWpmZg7Ua/58Q0OAOKa7u/shJzvTjxw5kpSUdNGZ5GGSO0DaojSjJlJDQ4Qd3SdPkjzXeeECBy9e3I3w8OHr1xG2sBCliBoyHSibmprevTt3jmQ5SedChGkoj7Xk2cYjNDExMZ8xYwZLAXacRImQZDnJgwcLC7nksWN5eXnx8fEkTWbQAN7qaG8XJR0vXDh/vry8/OVLhIXJySCrq3m5bZuJmDK3brW3t4eENDUtFgodzx04cABlACuTk5MzMj6SCxcuZCHJxYubhO+Ejo6sDGClL8lqlMuXayMkuhCHMCsrJAQkJlGeDw4OQLloka8vwozo6urTy/OWa2uTXJOamorweWMjL4VCNhl8/lJAQNDLsIMgfa1QRoOEprY2QpSpBBuzQHqi9Hd0dNu0KTg4GGRYWNgiTkZHR5/m5GQYUeY5SJ+srLYQT09PodDfn5WXLgUEcdLKKqMBIS+3oVyzBuDzRh8fn7Y2gIcO+fu7ASQZFIRwUSZIK5SWpxcs0BY1EZaUNCKUlFs5mAMwE2FDQ7TlacsFQPX09JBOZq6VlJT4cMlDLHTbtJWTORLSEgZST5uVzDWS932827w9AwNFya0eHkuC1qLMzMxcj5CXuno0gNfCw8Pv37/v7e1NMGKv25YtW0EGLVm7NicnZynA9Vb2DQ2qBOfoshThNYIJ3pSMiNgLciOXNAW4DKW9vT3KOTBdGEB3d/dwSiZQcsMGlFtAXvZYAknTnKVLly1bv34uSFVVVZHURYhy586EBG+bwMBEkAQ3XvZASUmAnLRW5SXBAhYm2NgkJoqSl7mkKZecS0mC/8AYGRkZ94KCgp0obUhGSCcJXkWobwHQ2tp63jwOFrCwgoMbIobPmoUQk3JrTcfzUt/egoPzWCgTSrKCvXUcJIfPGjV745jLM6eLk1fngrSwECWZUBzAu3crKipsbEYmJo6eNgLh7I0ApyyRMzUdP2koQJD6ICdOZJOME0FjFvYfPHjkOIAj2KQOSDk5gJOGTmChPkBWMk4aGqGhxsbGd1ESHMclpxKcAhCTE8TJidZaCEFqABx4d+yQIQgpOZyVM/nk0KET/h42TJ6DWjCAoRoag1AilLqVTypgkoN0q5Y1QTwW3MCxXFJ861Qd+pQKClxSXp6DWjwcNKhfP5KQ5G8dxSfl5BREt8orWyiBVAM4wElWlmA/yaTkrQTxVkoqKylJQDb50a2zx4zRmc7fOoFulVciqAZwwABZWVkx7C/9rlJJuhWg2gdQ4l1Hf+5dEZJkofjW/h/+DegQFN+qrCwJJW8d/OV3RegAkvkG4SCpDzn4Sx9SGaSDg9qPCD/xhYyeNm3E516H4O/MVzz85Bcieh2pD+ng4NCb6QXQCV/HmH9X6b+6j75J+pAOXzPMDwPoB/Ll11GQfh2l3vj/Q6+vvpehH0g/9qf1iV+I1Ov88lNv6P0PQL+UTau8/+4AAAAASUVORK5CYII=\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='160'%20fill='none'%20viewBox='29.41%2044%20149.09%2050.35'%3e%3cpath%20stroke='%23EAEAEF'%20d='M30.5%2044.5c37%2027%2047.5%2038%20147.499%2032'/%3e%3cg%20filter='url(%23a)'%3e%3cpath%20fill='%23F29D41'%20d='m129.467%2094.085%208.148-14.142a.598.598%200%200%200-.403-.887%2075.099%2075.099%200%200%200-3.045-.536c-1.875-.274-2.936-.44-4.837-.505-1.838-.064-2.873.01-4.698.153a64.05%2064.05%200%200%200-2.692.293.597.597%200%200%200-.462.851l7.042%2014.737c.186.388.732.41.947.036Z'/%3e%3c/g%3e%3cg%20filter='url(%23b)'%3e%3cpath%20fill='%23F29D41'%20d='m46.99%2075.52%2013.813-8.697a.597.597%200%200%200%20.058-.971%2075.191%2075.191%200%200%200-2.442-1.897c-1.53-1.119-2.39-1.761-4.04-2.707-1.595-.915-2.545-1.334-4.226-2.06a64.09%2064.09%200%200%200-2.516-.999.597.597%200%200%200-.806.537l-.66%2016.319a.535.535%200%200%200%20.82.474Z'/%3e%3c/g%3e%3cg%20filter='url(%23c)'%3e%3cpath%20fill='%235CB176'%20d='m29.41%2063.51%202.102-16.186a.597.597%200%200%201%20.858-.46c.748.371%201.905.954%202.745%201.42%201.657.92%202.602%201.433%204.152%202.534%201.5%201.064%202.278%201.75%203.642%202.972a64.026%2064.026%200%200%201%201.962%201.865c.291.286.214.771-.149.957l-14.538%207.443a.535.535%200%200%201-.774-.545Z'/%3e%3c/g%3e%3cmask%20id='d'%20width='17'%20height='19'%20x='29'%20y='46'%20maskUnits='userSpaceOnUse'%20style='mask-type:alpha'%3e%3cpath%20fill='%235CB176'%20d='m29.412%2063.51%202.101-16.186a.597.597%200%200%201%20.858-.46c.749.371%201.905.954%202.746%201.42%201.657.92%202.601%201.433%204.152%202.534%201.5%201.064%202.278%201.75%203.642%202.972a64.148%2064.148%200%200%201%201.962%201.865c.29.286.214.771-.15.957l-14.537%207.443a.535.535%200%200%201-.774-.545Z'/%3e%3c/mask%3e%3cg%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='.661'%20mask='url(%23d)'%3e%3cpath%20d='M39.755%2051.218c-1.05%201.558-4.606%204.788-10.44%205.247M36.415%2047.816c-1.05%201.558-4.606%204.789-10.44%205.247M42.97%2053.97c-1.457%201.908-6.341%205.902-14.216%206.619M42.15%2058.499c-1.645%201.748-5.29%204.033-13.197%203.939'/%3e%3c/g%3e%3cg%20filter='url(%23e)'%3e%3cpath%20fill='%237B79FF'%20d='m169.813%2092.983%205.927-15.208a.598.598%200%200%200-.531-.815%2075.213%2075.213%200%200%200-3.091-.072c-1.895.01-2.969.007-4.859.228-1.826.214-2.838.442-4.621.859-.815.19-1.893.488-2.617.694a.596.596%200%200%200-.328.91l9.178%2013.51a.536.536%200%200%200%20.942-.106Z'/%3e%3c/g%3e%3cg%20filter='url(%23f)'%3e%3cpath%20fill='%237B79FF'%20d='m87.001%2090.853-4.466-15.699a.597.597%200%200%201%20.606-.761c.835.045%202.127.123%203.084.22%201.886.19%202.956.287%204.816.685%201.797.385%202.784.709%204.519%201.291.794.267%201.839.665%202.54.938.38.148.501.624.24.938L87.929%2091.048a.535.535%200%200%201-.927-.195Z'/%3e%3c/g%3e%3cg%20filter='url(%23g)'%3e%3cpath%20fill='%23EE5E52'%20d='m66.153%2085.122%2012.355-10.665a.597.597%200%200%200-.087-.97%2075.353%2075.353%200%200%200-2.698-1.51c-1.68-.877-2.627-1.383-4.4-2.072-1.714-.666-2.716-.938-4.486-1.404a64.083%2064.083%200%200%200-2.638-.611.597.597%200%200%200-.716.651l1.788%2016.234a.535.535%200%200%200%20.882.347Z'/%3e%3c/g%3e%3ccircle%20cx='70.793'%20cy='74.511'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2070.793%2074.51)'/%3e%3ccircle%20cx='65.574'%20cy='78.63'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2065.574%2078.63)'/%3e%3ccircle%20cx='65.408'%20cy='74.519'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2065.408%2074.519)'/%3e%3ccircle%20cx='67.834'%20cy='81.943'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2067.834%2081.943)'/%3e%3ccircle%20cx='67.259'%20cy='69.875'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2067.259%2069.875)'/%3e%3ccircle%20cx='74.691'%20cy='72.834'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2074.69%2072.834)'/%3e%3ccircle%20cx='71.171'%20cy='78.968'%20r='.992'%20fill='%23fff'%20transform='rotate(8.553%2071.171%2078.968)'/%3e%3cg%20filter='url(%23h)'%3e%3cpath%20fill='%23EE5E52'%20d='m149.911%2093.824%206.521-14.963a.598.598%200%200%200-.499-.836%2075.255%2075.255%200%200%200-3.086-.193c-1.894-.064-2.967-.11-4.863.037-1.833.141-2.854.33-4.651.676-.823.158-1.912.414-2.643.59a.596.596%200%200%200-.364.898l8.64%2013.86a.535.535%200%200%200%20.945-.07Z'/%3e%3c/g%3e%3ccircle%20cx='149.5'%20cy='82.25'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20149.5%2082.25)'/%3e%3ccircle%20cx='146.579'%20cy='88.222'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20146.579%2088.222)'/%3e%3ccircle%20cx='144.65'%20cy='84.588'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20144.65%2084.588)'/%3e%3ccircle%20cx='150.049'%20cy='90.231'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20150.049%2090.231)'/%3e%3ccircle%20cx='144.306'%20cy='79.6'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20144.306%2079.6)'/%3e%3ccircle%20cx='152.287'%20cy='79.051'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20152.287%2079.05)'/%3e%3ccircle%20cx='151.77'%20cy='86.103'%20r='.992'%20fill='%23fff'%20transform='rotate(-17.098%20151.77%2086.103)'/%3e%3cg%20filter='url(%23i)'%3e%3cpath%20fill='%235CB176'%20d='m109.171%2093.4%208.86-13.707a.598.598%200%200%200-.357-.906c-.811-.2-2.07-.503-3.013-.69-1.859-.37-2.911-.59-4.806-.753-1.831-.157-2.869-.136-4.699-.086-.837.023-1.953.098-2.703.154a.597.597%200%200%200-.505.827l6.279%2015.077c.166.398.71.447.944.084Z'/%3e%3c/g%3e%3cmask%20id='j'%20width='18'%20height='17'%20x='101'%20y='77'%20maskUnits='userSpaceOnUse'%20style='mask-type:alpha'%3e%3cpath%20fill='%235CB176'%20d='m109.17%2093.4%208.86-13.707a.598.598%200%200%200-.357-.905c-.811-.201-2.07-.504-3.013-.692-1.859-.37-2.911-.589-4.806-.751-1.831-.158-2.869-.137-4.699-.087-.837.023-1.953.099-2.703.154a.597.597%200%200%200-.505.827l6.279%2015.077c.166.398.71.447.944.085Z'/%3e%3c/mask%3e%3cg%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='.661'%20mask='url(%23j)'%3e%3cpath%20d='M109.225%2077.335c-.207%201.867.418%206.632%204.573%2010.753M113.972%2076.9c-.207%201.867.418%206.631%204.573%2010.753M104.992%2077.357c-.121%202.397%201.023%208.602%206.568%2014.24M102.69%2081.343c.125%202.397%201.429%206.497%207.522%2011.537'/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='a'%20width='21.565'%20height='21.649'%20x='118.775'%20y='76.009'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='b'%20width='20.201'%20height='22.741'%20x='43.526'%20y='56.167'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='c'%20width='20.932'%20height='22.602'%20x='26.761'%20y='44.818'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='e'%20width='21.482'%20height='21.724'%20x='156.944'%20y='74.904'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='f'%20width='21.256'%20height='22.139'%20x='79.868'%20y='72.409'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='g'%20width='20.526'%20height='22.664'%20x='60.835'%20y='65.893'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='h'%20width='21.537'%20height='21.662'%20x='137.59'%20y='75.788'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='i'%20width='21.515'%20height='21.712'%20x='99.257'%20y='75.238'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='.661'/%3e%3cfeGaussianBlur%20stdDeviation='1.322'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.129412%200%200%200%200%200.129412%200%200%200%200%200.203922%200%200%200%200.1%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='effect1_dropShadow_12_39'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='effect1_dropShadow_12_39'%20result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e\"","import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Grid,\n Main,\n Typography,\n Link,\n LinkButton,\n TypographyComponent,\n BoxComponent,\n FlexComponent,\n} from '@strapi/design-system';\nimport { ArrowRight, ExternalLink } from '@strapi/icons';\nimport {\n CodeSquare,\n Discord,\n Discourse,\n FeatherSquare,\n GitHub,\n InformationSquare,\n PlaySquare,\n Reddit,\n Strapi,\n X as Twitter,\n} from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { ContentBox } from '../components/ContentBox';\nimport { GuidedTourHomepage } from '../components/GuidedTour/Homepage';\nimport { useGuidedTour } from '../components/GuidedTour/Provider';\nimport { Layouts } from '../components/Layouts/Layout';\nimport { Page } from '../components/PageHelpers';\nimport { useAppInfo } from '../features/AppInfo';\nimport { useTracking } from '../features/Tracking';\nimport { useContentTypes } from '../hooks/useContentTypes';\nimport { useEnterprise } from '../hooks/useEnterprise';\n\nimport cornerOrnamentPath from './assets/corner-ornament.svg';\nimport cloudIconBackgroundImage from './assets/strapi-cloud-background.png';\nimport cloudFlagsImage from './assets/strapi-cloud-flags.svg';\n\n/* -------------------------------------------------------------------------------------------------\n * HomePageCE\n * -----------------------------------------------------------------------------------------------*/\n\nconst HomePageCE = () => {\n const { formatMessage } = useIntl();\n // Temporary until we develop the menu API\n const { collectionTypes, singleTypes, isLoading: isLoadingForModels } = useContentTypes();\n const guidedTourState = useGuidedTour('HomePage', (state) => state.guidedTourState);\n const isGuidedTourVisible = useGuidedTour('HomePage', (state) => state.isGuidedTourVisible);\n const isSkipped = useGuidedTour('HomePage', (state) => state.isSkipped);\n\n const showGuidedTour =\n !Object.values(guidedTourState).every((section) =>\n Object.values(section).every((step) => step)\n ) &&\n isGuidedTourVisible &&\n !isSkipped;\n const navigate = useNavigate();\n const handleClick: React.MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n\n navigate('/plugins/content-type-builder/content-types/create-content-type');\n };\n\n const hasAlreadyCreatedContentTypes = collectionTypes.length > 1 || singleTypes.length > 0;\n\n if (isLoadingForModels) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage({\n id: 'HomePage.head.title',\n defaultMessage: 'Homepage',\n })}\n </Page.Title>\n <Main>\n <LogoContainer>\n <img alt=\"\" aria-hidden src={cornerOrnamentPath} />\n </LogoContainer>\n <Box padding={10}>\n <Grid.Root>\n <Grid.Item col={8} s={12}>\n <div>\n <Box paddingLeft={6} paddingBottom={10}>\n <Flex direction=\"column\" alignItems=\"flex-start\" gap={5}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {hasAlreadyCreatedContentTypes\n ? formatMessage({\n id: 'app.components.HomePage.welcome.again',\n defaultMessage: 'Welcome 👋',\n })\n : formatMessage({\n id: 'app.components.HomePage.welcome',\n defaultMessage: 'Welcome on board!',\n })}\n </Typography>\n <WordWrap textColor=\"neutral600\" variant=\"epsilon\">\n {hasAlreadyCreatedContentTypes\n ? formatMessage({\n id: 'app.components.HomePage.welcomeBlock.content.again',\n defaultMessage:\n 'We hope you are making progress on your project! Feel free to read the latest news about Strapi. We are giving our best to improve the product based on your feedback.',\n })\n : formatMessage({\n id: 'app.components.HomePage.welcomeBlock.content',\n defaultMessage:\n 'Congrats! You are logged as the first administrator. To discover the powerful features provided by Strapi, we recommend you to create your first Content type!',\n })}\n </WordWrap>\n {hasAlreadyCreatedContentTypes ? (\n <Link isExternal href=\"https://strapi.io/blog\">\n {formatMessage({\n id: 'app.components.HomePage.button.blog',\n defaultMessage: 'See more on the blog',\n })}\n </Link>\n ) : (\n <Button size=\"L\" onClick={handleClick} endIcon={<ArrowRight />}>\n {formatMessage({\n id: 'app.components.HomePage.create',\n defaultMessage: 'Create your first Content type',\n })}\n </Button>\n )}\n </Flex>\n </Box>\n </div>\n </Grid.Item>\n </Grid.Root>\n <Grid.Root gap={6}>\n <Grid.Item col={8} s={12}>\n {showGuidedTour ? <GuidedTourHomepage /> : <ContentBlocks />}\n </Grid.Item>\n <Grid.Item col={4} s={12}>\n <SocialLinks />\n </Grid.Item>\n </Grid.Root>\n </Box>\n </Main>\n </Layouts.Root>\n );\n};\n\nconst LogoContainer = styled<BoxComponent>(Box)`\n position: absolute;\n top: 0;\n right: 0;\n\n img {\n width: 15rem;\n }\n`;\n\nconst WordWrap = styled<TypographyComponent>(Typography)`\n word-break: break-word;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * ContentBlocks\n * -----------------------------------------------------------------------------------------------*/\n\nconst ContentBlocks = () => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={5}>\n <BlockLink\n href=\"https://cloud.strapi.io\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => {\n trackUsage('didClickOnTryStrapiCloudSection');\n }}\n >\n <Flex\n shadow=\"tableShadow\"\n hasRadius\n padding={6}\n background=\"neutral0\"\n position=\"relative\"\n gap={6}\n >\n <CloudCustomWrapper hasRadius padding={3}>\n <CloudIconWrapper\n width=\"3.2rem\"\n height=\"3.2rem\"\n justifyContent=\"center\"\n hasRadius\n alignItems=\"center\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"15\" fill=\"none\">\n <path\n fill=\"#fff\"\n fillRule=\"evenodd\"\n d=\"M4.39453 13.8298C1.93859 13.6455 0 11.468 0 8.80884 0 6.0289 2.11876 3.7753 4.73238 3.7753c.46775 0 .91964.07218 1.34638.20664C7.21234 1.62909 9.66469 0 12.5073 0c2.5102 0 4.7161 1.27036 5.9782 3.18766a4.54297 4.54297 0 0 1 .6132-.04144C21.8056 3.14622 24 5.54066 24 8.49436c0 2.89194-2.1036 5.24784-4.7323 5.34504v.0031l-1.8948.278a38.18054 38.18054 0 0 1-11.08354 0l-1.89483-.278v-.0127Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </CloudIconWrapper>\n </CloudCustomWrapper>\n <Flex gap={1} direction=\"column\" alignItems=\"start\">\n <Typography fontWeight=\"semiBold\" variant=\"pi\" textColor=\"neutral800\">\n {formatMessage({\n id: 'app.components.BlockLink.cloud',\n defaultMessage: 'Strapi Cloud',\n })}\n </Typography>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: 'app.components.BlockLink.cloud.content',\n defaultMessage:\n 'A fully composable, and collaborative platform to boost your team velocity.',\n })}\n </Typography>\n <Box src={cloudFlagsImage} position=\"absolute\" top={0} right={0} tag=\"img\" />\n </Flex>\n </Flex>\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/resource-center\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonReadTheDocumentationSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'global.documentation',\n defaultMessage: 'Documentation',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.documentation.content',\n defaultMessage: 'Discover the essential concepts, guides and instructions.',\n })}\n icon={<InformationSquare />}\n iconBackground=\"primary100\"\n />\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/starters\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonCodeExampleSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'app.components.BlockLink.code',\n defaultMessage: 'Code example',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.code.content',\n defaultMessage: 'Learn by using ready-made starters for your projects.',\n })}\n icon={<CodeSquare />}\n iconBackground=\"warning100\"\n />\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/blog/categories/tutorials\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonTutorialSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'app.components.BlockLink.tutorial',\n defaultMessage: 'Tutorials',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.tutorial.content',\n defaultMessage: 'Follow step-by-step instructions to use and customize Strapi.',\n })}\n icon={<PlaySquare />}\n iconBackground=\"secondary100\"\n />\n </BlockLink>\n <BlockLink\n href=\"https://strapi.io/blog\"\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n onClick={() => trackUsage('didClickonBlogSection')}\n >\n <ContentBox\n title={formatMessage({\n id: 'app.components.BlockLink.blog',\n defaultMessage: 'Blog',\n })}\n subtitle={formatMessage({\n id: 'app.components.BlockLink.blog.content',\n defaultMessage: 'Read the latest news about Strapi and the ecosystem.',\n })}\n icon={<FeatherSquare />}\n iconBackground=\"alternative100\"\n />\n </BlockLink>\n </Flex>\n );\n};\n\nconst BlockLink = styled.a`\n text-decoration: none;\n`;\n\nconst CloudCustomWrapper = styled<BoxComponent>(Box)`\n background-image: url(${cloudIconBackgroundImage});\n`;\n\nconst CloudIconWrapper = styled<FlexComponent>(Flex)`\n background: rgba(255, 255, 255, 0.3);\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * SocialLinks\n * -----------------------------------------------------------------------------------------------*/\n\nconst SocialLinks = () => {\n const { formatMessage } = useIntl();\n const communityEdition = useAppInfo('SocialLinks', (state) => state.communityEdition);\n\n const socialLinksExtended = [\n ...SOCIAL_LINKS,\n {\n icon: <StyledStrapi />,\n link: communityEdition\n ? 'https://discord.strapi.io'\n : 'https://support.strapi.io/support/home',\n name: {\n id: 'Settings.application.get-help',\n defaultMessage: 'Get help',\n },\n },\n ];\n\n return (\n <Flex\n tag=\"aside\"\n direction=\"column\"\n aria-labelledby=\"join-the-community\"\n background=\"neutral0\"\n hasRadius\n paddingRight={5}\n paddingLeft={5}\n paddingTop={6}\n paddingBottom={6}\n shadow=\"tableShadow\"\n gap={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={5}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={3}>\n <Typography variant=\"delta\" tag=\"h2\" id=\"join-the-community\">\n {formatMessage({\n id: 'app.components.HomePage.community',\n defaultMessage: 'Join the community',\n })}\n </Typography>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: 'app.components.HomePage.community.content',\n defaultMessage:\n 'Discuss with team members, contributors and developers on different channels',\n })}\n </Typography>\n </Flex>\n <Link href=\"https://feedback.strapi.io/\" isExternal endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'app.components.HomePage.roadmap',\n defaultMessage: 'See our road map',\n })}\n </Link>\n </Flex>\n <GridGap>\n {socialLinksExtended.map(({ icon, link, name }) => {\n return (\n <Grid.Item col={6} s={12} key={name.id}>\n <LinkCustom size=\"L\" startIcon={icon} variant=\"tertiary\" href={link} isExternal>\n {formatMessage(name)}\n </LinkCustom>\n </Grid.Item>\n );\n })}\n </GridGap>\n </Flex>\n );\n};\n\nconst StyledGithub = styled(GitHub)`\n path {\n fill: ${(props) => props.theme.colors.neutral800} !important;\n }\n`;\n\nconst StyledDiscord = styled(Discord)`\n path {\n fill: #7289da !important;\n }\n`;\n\nconst StyledReddit = styled(Reddit)`\n > path:first-child {\n fill: #ff4500;\n }\n\n > path:nth-child(2) {\n fill: #fff;\n }\n`;\nconst StyledStrapi = styled(Strapi)`\n > path:first-child {\n fill: #4945ff;\n }\n > path:nth-child(2) {\n fill: #fff;\n }\n > path:nth-child(4) {\n fill: #9593ff;\n }\n`;\n\nconst StyledTwitter = styled(Twitter)`\n path:first-child {\n fill: #fff;\n }\n\n path:nth-child(2) {\n fill: #000 !important;\n }\n`;\n\nconst StyledDiscourse = styled(Discourse)`\n > path:first-child {\n fill: #231f20;\n }\n > path:nth-child(2) {\n fill: #fff9ae;\n }\n > path:nth-child(3) {\n fill: #00aeef;\n }\n > path:nth-child(4) {\n fill: #00a94f;\n }\n > path:nth-child(5) {\n fill: #f15d22;\n }\n > path:nth-child(6) {\n fill: #e31b23;\n }\n`;\n\nconst LinkCustom = styled(LinkButton)`\n display: flex;\n align-items: center;\n border: none;\n\n svg {\n width: ${({ theme }) => theme.spaces[6]};\n height: ${({ theme }) => theme.spaces[6]};\n }\n\n span {\n word-break: keep-all;\n }\n`;\n\nconst GridGap = styled(Grid.Root)`\n row-gap: ${({ theme }) => theme.spaces[2]};\n column-gap: ${({ theme }) => theme.spaces[4]};\n`;\n\nconst SOCIAL_LINKS = [\n {\n name: { id: 'app.components.HomePage.community.links.github', defaultMessage: 'Github' },\n link: 'https://github.com/strapi/strapi/',\n icon: <StyledGithub />,\n alt: 'github',\n },\n {\n name: { id: 'app.components.HomePage.community.links.discord', defaultMessage: 'Discord' },\n link: 'https://discord.strapi.io/',\n icon: <StyledDiscord />,\n alt: 'discord',\n },\n {\n name: { id: 'app.components.HomePage.community.links.reddit', defaultMessage: 'Reddit' },\n link: 'https://www.reddit.com/r/Strapi/',\n icon: <StyledReddit />,\n alt: 'reddit',\n },\n {\n name: { id: 'app.components.HomePage.community.links.twitter', defaultMessage: 'Twitter' },\n link: 'https://twitter.com/strapijs',\n icon: <StyledTwitter />,\n alt: 'twitter',\n },\n {\n name: { id: 'app.components.HomePage.community.links.forum', defaultMessage: 'Forum' },\n link: 'https://forum.strapi.io',\n icon: <StyledDiscourse />,\n alt: 'forum',\n },\n {\n name: { id: 'app.components.HomePage.community.links.blog', defaultMessage: 'Blog' },\n link: 'https://strapi.io/blog?utm_source=referral&utm_medium=admin&utm_campaign=career%20page',\n icon: <StyledStrapi />,\n alt: 'blog',\n },\n {\n name: {\n id: 'app.components.HomePage.community.links.career',\n defaultMessage: 'We are hiring!',\n },\n link: 'https://strapi.io/careers?utm_source=referral&utm_medium=admin&utm_campaign=blog',\n icon: <StyledStrapi />,\n alt: 'career',\n },\n];\n\n/* -------------------------------------------------------------------------------------------------\n * HomePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst HomePage = () => {\n const Page = useEnterprise(\n HomePageCE,\n // eslint-disable-next-line import/no-cycle\n async () => (await import('../../../ee/admin/src/pages/HomePage')).HomePageEE\n );\n\n // block rendering until the EE component is fully loaded\n if (!Page) {\n return null;\n }\n\n return <Page />;\n};\n\nexport { HomePage, HomePageCE };\n"],"names":["Twitter","Page"],"mappings":"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"}
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { useNotifyAT, Table, Thead, Tr, Th, Typography, Tbody, Td } from '@strapi/design-system';
4
4
  import { useIntl } from 'react-intl';
5
5
  import { useSelector } from 'react-redux';
6
- import { b as Layouts } from './index-hQZqUdCx.mjs';
6
+ import { b as Layouts } from './index-EuBu2rv5.mjs';
7
7
  import { P as Page, a as useNotification, f as useAPIErrorHandler } from './Theme-PrUuuGtN.mjs';
8
8
  import { s as selectAdminPermissions } from './selectors-ZpHhvPK4.mjs';
9
9
  import { a as useGetPluginsQuery } from './admin-B6AW0Kov.mjs';
@@ -94,4 +94,4 @@ const ProtectedInstalledPluginsPage = () => {
94
94
  };
95
95
 
96
96
  export { InstalledPluginsPage, ProtectedInstalledPluginsPage };
97
- //# sourceMappingURL=InstalledPluginsPage-eziJd--n.mjs.map
97
+ //# sourceMappingURL=InstalledPluginsPage-Dm2VGFVD.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstalledPluginsPage-eziJd--n.mjs","sources":["../../admin/src/pages/InstalledPluginsPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Table, Tbody, Td, Th, Thead, Tr, Typography, useNotifyAT } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../components/Layouts/Layout';\nimport { Page } from '../components/PageHelpers';\nimport { useNotification } from '../features/Notifications';\nimport { useAPIErrorHandler } from '../hooks/useAPIErrorHandler';\nimport { selectAdminPermissions } from '../selectors';\nimport { useGetPluginsQuery } from '../services/admin';\n\nconst InstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { isLoading, data, error } = useGetPluginsQuery();\n\n React.useEffect(() => {\n if (data) {\n notifyStatus(\n formatMessage(\n {\n id: 'app.utils.notify.data-loaded',\n defaultMessage: 'The {target} has loaded',\n },\n {\n target: formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n }),\n }\n )\n );\n }\n\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [data, error, formatAPIError, formatMessage, notifyStatus, toggleNotification]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Main>\n <Layouts.Header\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n subtitle={formatMessage({\n id: 'app.components.ListPluginsPage.description',\n defaultMessage: 'List of the installed plugins in the project.',\n })}\n />\n <Layouts.Content>\n <Table colCount={2} rowCount={data?.plugins?.length ?? 0 + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'description',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data?.plugins.map(({ name, displayName, description }) => {\n return (\n <Tr key={name}>\n <Td>\n <Typography textColor=\"neutral800\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `global.plugins.${name}`,\n defaultMessage: displayName,\n })}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: `global.plugins.${name}.description`,\n defaultMessage: description,\n })}\n </Typography>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n </Layouts.Content>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nconst ProtectedInstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <Page.Protect permissions={permissions.marketplace?.main}>\n <Page.Title>\n {formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n </Page.Title>\n <InstalledPluginsPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedInstalledPluginsPage, InstalledPluginsPage };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstalledPluginsPage-Dm2VGFVD.mjs","sources":["../../admin/src/pages/InstalledPluginsPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Table, Tbody, Td, Th, Thead, Tr, Typography, useNotifyAT } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../components/Layouts/Layout';\nimport { Page } from '../components/PageHelpers';\nimport { useNotification } from '../features/Notifications';\nimport { useAPIErrorHandler } from '../hooks/useAPIErrorHandler';\nimport { selectAdminPermissions } from '../selectors';\nimport { useGetPluginsQuery } from '../services/admin';\n\nconst InstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { isLoading, data, error } = useGetPluginsQuery();\n\n React.useEffect(() => {\n if (data) {\n notifyStatus(\n formatMessage(\n {\n id: 'app.utils.notify.data-loaded',\n defaultMessage: 'The {target} has loaded',\n },\n {\n target: formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n }),\n }\n )\n );\n }\n\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [data, error, formatAPIError, formatMessage, notifyStatus, toggleNotification]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Main>\n <Layouts.Header\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n subtitle={formatMessage({\n id: 'app.components.ListPluginsPage.description',\n defaultMessage: 'List of the installed plugins in the project.',\n })}\n />\n <Layouts.Content>\n <Table colCount={2} rowCount={data?.plugins?.length ?? 0 + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'description',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data?.plugins.map(({ name, displayName, description }) => {\n return (\n <Tr key={name}>\n <Td>\n <Typography textColor=\"neutral800\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `global.plugins.${name}`,\n defaultMessage: displayName,\n })}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: `global.plugins.${name}.description`,\n defaultMessage: description,\n })}\n </Typography>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n </Layouts.Content>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nconst ProtectedInstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <Page.Protect permissions={permissions.marketplace?.main}>\n <Page.Title>\n {formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n </Page.Title>\n <InstalledPluginsPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedInstalledPluginsPage, InstalledPluginsPage };\n"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ const React = require('react');
7
7
  const designSystem = require('@strapi/design-system');
8
8
  const reactIntl = require('react-intl');
9
9
  const reactRedux = require('react-redux');
10
- const index = require('./index-T8NohG0K.js');
10
+ const index = require('./index-UvMVCH5g.js');
11
11
  const Theme = require('./Theme-7W0we6BI.js');
12
12
  const selectors = require('./selectors-zQKcCNuz.js');
13
13
  const admin = require('./admin-p0djr5G6.js');
@@ -119,4 +119,4 @@ const ProtectedInstalledPluginsPage = () => {
119
119
 
120
120
  exports.InstalledPluginsPage = InstalledPluginsPage;
121
121
  exports.ProtectedInstalledPluginsPage = ProtectedInstalledPluginsPage;
122
- //# sourceMappingURL=InstalledPluginsPage-ReOKS0dB.js.map
122
+ //# sourceMappingURL=InstalledPluginsPage-ycDwbck-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstalledPluginsPage-ReOKS0dB.js","sources":["../../admin/src/pages/InstalledPluginsPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Table, Tbody, Td, Th, Thead, Tr, Typography, useNotifyAT } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../components/Layouts/Layout';\nimport { Page } from '../components/PageHelpers';\nimport { useNotification } from '../features/Notifications';\nimport { useAPIErrorHandler } from '../hooks/useAPIErrorHandler';\nimport { selectAdminPermissions } from '../selectors';\nimport { useGetPluginsQuery } from '../services/admin';\n\nconst InstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { isLoading, data, error } = useGetPluginsQuery();\n\n React.useEffect(() => {\n if (data) {\n notifyStatus(\n formatMessage(\n {\n id: 'app.utils.notify.data-loaded',\n defaultMessage: 'The {target} has loaded',\n },\n {\n target: formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n }),\n }\n )\n );\n }\n\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [data, error, formatAPIError, formatMessage, notifyStatus, toggleNotification]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Main>\n <Layouts.Header\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n subtitle={formatMessage({\n id: 'app.components.ListPluginsPage.description',\n defaultMessage: 'List of the installed plugins in the project.',\n })}\n />\n <Layouts.Content>\n <Table colCount={2} rowCount={data?.plugins?.length ?? 0 + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'description',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data?.plugins.map(({ name, displayName, description }) => {\n return (\n <Tr key={name}>\n <Td>\n <Typography textColor=\"neutral800\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `global.plugins.${name}`,\n defaultMessage: displayName,\n })}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: `global.plugins.${name}.description`,\n defaultMessage: description,\n })}\n </Typography>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n </Layouts.Content>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nconst ProtectedInstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <Page.Protect permissions={permissions.marketplace?.main}>\n <Page.Title>\n {formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n </Page.Title>\n <InstalledPluginsPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedInstalledPluginsPage, InstalledPluginsPage };\n"],"names":["useIntl","useNotifyAT","useNotification","useAPIErrorHandler","useGetPluginsQuery","React","jsx","Page","Layouts","jsxs","Table","Thead","Tr","Th","Typography","Tbody","Td","useSelector","selectAdminPermissions"],"mappings":"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"}
1
+ {"version":3,"file":"InstalledPluginsPage-ycDwbck-.js","sources":["../../admin/src/pages/InstalledPluginsPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Table, Tbody, Td, Th, Thead, Tr, Typography, useNotifyAT } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../components/Layouts/Layout';\nimport { Page } from '../components/PageHelpers';\nimport { useNotification } from '../features/Notifications';\nimport { useAPIErrorHandler } from '../hooks/useAPIErrorHandler';\nimport { selectAdminPermissions } from '../selectors';\nimport { useGetPluginsQuery } from '../services/admin';\n\nconst InstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { isLoading, data, error } = useGetPluginsQuery();\n\n React.useEffect(() => {\n if (data) {\n notifyStatus(\n formatMessage(\n {\n id: 'app.utils.notify.data-loaded',\n defaultMessage: 'The {target} has loaded',\n },\n {\n target: formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n }),\n }\n )\n );\n }\n\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [data, error, formatAPIError, formatMessage, notifyStatus, toggleNotification]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Main>\n <Layouts.Header\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n subtitle={formatMessage({\n id: 'app.components.ListPluginsPage.description',\n defaultMessage: 'List of the installed plugins in the project.',\n })}\n />\n <Layouts.Content>\n <Table colCount={2} rowCount={data?.plugins?.length ?? 0 + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'description',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data?.plugins.map(({ name, displayName, description }) => {\n return (\n <Tr key={name}>\n <Td>\n <Typography textColor=\"neutral800\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `global.plugins.${name}`,\n defaultMessage: displayName,\n })}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: `global.plugins.${name}.description`,\n defaultMessage: description,\n })}\n </Typography>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n </Layouts.Content>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nconst ProtectedInstalledPluginsPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <Page.Protect permissions={permissions.marketplace?.main}>\n <Page.Title>\n {formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n </Page.Title>\n <InstalledPluginsPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedInstalledPluginsPage, InstalledPluginsPage };\n"],"names":["useIntl","useNotifyAT","useNotification","useAPIErrorHandler","useGetPluginsQuery","React","jsx","Page","Layouts","jsxs","Table","Thead","Tr","Th","Typography","Tbody","Td","useSelector","selectAdminPermissions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,uBAAuB,MAAM;AACjC,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIA,iBAAQ,EAAA,CAAA;AAClC,EAAM,MAAA,EAAE,YAAa,EAAA,GAAIC,wBAAY,EAAA,CAAA;AACrC,EAAM,MAAA,EAAE,kBAAmB,EAAA,GAAIC,qBAAgB,EAAA,CAAA;AAC/C,EAAA,MAAM,EAAE,uBAAA,EAAyB,cAAe,EAAA,GAAIC,wBAAmB,EAAA,CAAA;AAEvE,EAAA,MAAM,EAAE,SAAA,EAAW,IAAM,EAAA,KAAA,KAAUC,wBAAmB,EAAA,CAAA;AAEtD,EAAAC,gBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,IAAM,EAAA;AACR,MAAA,YAAA;AAAA,QACE,aAAA;AAAA,UACE;AAAA,YACE,EAAI,EAAA,8BAAA;AAAA,YACJ,cAAgB,EAAA,yBAAA;AAAA,WAClB;AAAA,UACA;AAAA,YACE,QAAQ,aAAc,CAAA;AAAA,cACpB,EAAI,EAAA,gBAAA;AAAA,cACJ,cAAgB,EAAA,SAAA;AAAA,aACjB,CAAA;AAAA,WACH;AAAA,SACF;AAAA,OACF,CAAA;AAAA,KACF;AAEA,IAAA,IAAI,KAAO,EAAA;AACT,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,OAAA,EAAS,eAAe,KAAK,CAAA;AAAA,OAC9B,CAAA,CAAA;AAAA,KACH;AAAA,GACF,EAAG,CAAC,IAAM,EAAA,KAAA,EAAO,gBAAgB,aAAe,EAAA,YAAA,EAAc,kBAAkB,CAAC,CAAA,CAAA;AAEjF,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,uBAAAC,cAAA,CAACC,UAAK,CAAA,OAAA,EAAL,EAAa,CAAA,CAAA;AAAA,GACvB;AAEA,EAAA,sCACGC,aAAQ,CAAA,IAAA,EAAR,EACC,QAAC,kBAAAC,eAAA,CAAAF,UAAA,CAAK,MAAL,EACC,QAAA,EAAA;AAAA,oBAAAD,cAAA;AAAA,MAACE,aAAQ,CAAA,MAAA;AAAA,MAAR;AAAA,QACC,OAAO,aAAc,CAAA;AAAA,UACnB,EAAI,EAAA,gBAAA;AAAA,UACJ,cAAgB,EAAA,SAAA;AAAA,SACjB,CAAA;AAAA,QACD,UAAU,aAAc,CAAA;AAAA,UACtB,EAAI,EAAA,4CAAA;AAAA,UACJ,cAAgB,EAAA,+CAAA;AAAA,SACjB,CAAA;AAAA,OAAA;AAAA,KACH;AAAA,oBACCF,cAAA,CAAAE,aAAA,CAAQ,OAAR,EAAA,EACC,QAAC,kBAAAC,eAAA,CAAAC,kBAAA,EAAA,EAAM,QAAU,EAAA,CAAA,EAAG,QAAU,EAAA,IAAA,EAAM,OAAS,EAAA,MAAA,IAAU,IAAI,CACzD,EAAA,QAAA,EAAA;AAAA,sBAACJ,cAAA,CAAAK,kBAAA,EAAA,EACC,0CAACC,eACC,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAAN,cAAA,CAACO,mBACC,QAAC,kBAAAP,cAAA,CAAAQ,uBAAA,EAAA,EAAW,SAAQ,OAAQ,EAAA,SAAA,EAAU,cACnC,QAAc,EAAA,aAAA,CAAA;AAAA,UACb,EAAI,EAAA,aAAA;AAAA,UACJ,cAAgB,EAAA,MAAA;AAAA,SACjB,GACH,CACF,EAAA,CAAA;AAAA,wBACAR,cAAA,CAACO,mBACC,QAAC,kBAAAP,cAAA,CAAAQ,uBAAA,EAAA,EAAW,SAAQ,OAAQ,EAAA,SAAA,EAAU,cACnC,QAAc,EAAA,aAAA,CAAA;AAAA,UACb,EAAI,EAAA,oBAAA;AAAA,UACJ,cAAgB,EAAA,aAAA;AAAA,SACjB,GACH,CACF,EAAA,CAAA;AAAA,OAAA,EACF,CACF,EAAA,CAAA;AAAA,sBACAR,cAAA,CAACS,kBACE,EAAA,EAAA,QAAA,EAAA,IAAA,EAAM,OAAQ,CAAA,GAAA,CAAI,CAAC,EAAE,IAAA,EAAM,WAAa,EAAA,WAAA,EAAkB,KAAA;AACzD,QAAA,uCACGH,eACC,EAAA,EAAA,QAAA,EAAA;AAAA,0BAACN,cAAA,CAAAU,eAAA,EAAA,EACC,yCAACF,uBAAW,EAAA,EAAA,SAAA,EAAU,cAAa,OAAQ,EAAA,OAAA,EAAQ,UAAW,EAAA,MAAA,EAC3D,QAAc,EAAA,aAAA,CAAA;AAAA,YACb,EAAA,EAAI,kBAAkB,IAAI,CAAA,CAAA;AAAA,YAC1B,cAAgB,EAAA,WAAA;AAAA,WACjB,GACH,CACF,EAAA,CAAA;AAAA,yCACCE,eACC,EAAA,EAAA,QAAA,kBAAAV,cAAA,CAACQ,uBAAW,EAAA,EAAA,SAAA,EAAU,cACnB,QAAc,EAAA,aAAA,CAAA;AAAA,YACb,EAAA,EAAI,kBAAkB,IAAI,CAAA,YAAA,CAAA;AAAA,YAC1B,cAAgB,EAAA,WAAA;AAAA,WACjB,GACH,CACF,EAAA,CAAA;AAAA,SAAA,EAAA,EAhBO,IAiBT,CAAA,CAAA;AAAA,OAEH,CACH,EAAA,CAAA;AAAA,KAAA,EACF,CACF,EAAA,CAAA;AAAA,GAAA,EACF,CACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAEA,MAAM,gCAAgC,MAAM;AAC1C,EAAM,MAAA,EAAE,aAAc,EAAA,GAAId,iBAAQ,EAAA,CAAA;AAClC,EAAM,MAAA,WAAA,GAAciB,uBAAYC,gCAAsB,CAAA,CAAA;AAEtD,EAAA,uCACGX,UAAK,CAAA,OAAA,EAAL,EAAa,WAAa,EAAA,WAAA,CAAY,aAAa,IAClD,EAAA,QAAA,EAAA;AAAA,oBAACD,cAAA,CAAAC,UAAA,CAAK,KAAL,EAAA,EACE,QAAc,EAAA,aAAA,CAAA;AAAA,MACb,EAAI,EAAA,gBAAA;AAAA,MACJ,cAAgB,EAAA,SAAA;AAAA,KACjB,CACH,EAAA,CAAA;AAAA,mCACC,oBAAqB,EAAA,EAAA,CAAA;AAAA,GACxB,EAAA,CAAA,CAAA;AAEJ;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useIntl } from 'react-intl';
3
3
  import { useLocation, NavLink, useMatch, Navigate, Outlet } from 'react-router-dom';
4
- import { r as SETTINGS_LINKS_CE, b as Layouts } from './index-hQZqUdCx.mjs';
4
+ import { r as SETTINGS_LINKS_CE, b as Layouts } from './index-EuBu2rv5.mjs';
5
5
  import { u as useAuth, n as useAppInfo, o as useStrapiApp, d as useTracking, P as Page } from './Theme-PrUuuGtN.mjs';
6
6
  import * as React from 'react';
7
7
  import sortBy from 'lodash/sortBy';
@@ -34,7 +34,7 @@ const useSettingsMenu = () => {
34
34
  const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);
35
35
  const { admin: adminLinks, global: globalLinks } = useEnterprise(
36
36
  ceLinks,
37
- async () => (await import('./index-hQZqUdCx.mjs').then(n => n.K)).SETTINGS_LINKS_EE(),
37
+ async () => (await import('./index-EuBu2rv5.mjs').then(n => n.K)).SETTINGS_LINKS_EE(),
38
38
  {
39
39
  combine(ceLinks2, eeLinks) {
40
40
  return {
@@ -212,4 +212,4 @@ const Layout = () => {
212
212
  };
213
213
 
214
214
  export { Layout };
215
- //# sourceMappingURL=Layout-yy3Mhf7u.mjs.map
215
+ //# sourceMappingURL=Layout-iZuTlHEy.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout-yy3Mhf7u.mjs","sources":["../../admin/src/hooks/useSettingsMenu.ts","../../admin/src/pages/Settings/components/SettingsNav.tsx","../../admin/src/pages/Settings/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport sortBy from 'lodash/sortBy';\nimport { useSelector } from 'react-redux';\n\nimport { SETTINGS_LINKS_CE, SettingsMenuLink } from '../constants';\nimport { useAppInfo } from '../features/AppInfo';\nimport { useAuth } from '../features/Auth';\nimport { useStrapiApp } from '../features/StrapiApp';\nimport { selectAdminPermissions } from '../selectors';\nimport { PermissionMap } from '../types/permissions';\n\nimport { useEnterprise } from './useEnterprise';\n\nimport type {\n StrapiAppSetting,\n StrapiAppSettingLink as IStrapiAppSettingLink,\n} from '../core/apis/router';\n\nconst formatLinks = (menu: SettingsMenuSection[]): SettingsMenuSectionWithDisplayedLinks[] =>\n menu.map((menuSection) => {\n const formattedLinks = menuSection.links.map((link) => ({\n ...link,\n isDisplayed: false,\n }));\n\n return { ...menuSection, links: formattedLinks };\n });\n\ninterface SettingsMenuLinkWithPermissions extends SettingsMenuLink {\n permissions: IStrapiAppSettingLink['permissions'];\n hasNotification?: boolean;\n}\n\ninterface StrapiAppSettingsLink extends IStrapiAppSettingLink {\n licenseOnly?: never;\n hasNotification?: never;\n}\n\ninterface SettingsMenuSection extends Omit<StrapiAppSetting, 'links'> {\n links: Array<SettingsMenuLinkWithPermissions | StrapiAppSettingsLink>;\n}\n\ninterface SettingsMenuLinkWithPermissionsAndDisplayed extends SettingsMenuLinkWithPermissions {\n isDisplayed: boolean;\n}\n\ninterface StrapiAppSettingLinkWithDisplayed extends StrapiAppSettingsLink {\n isDisplayed: boolean;\n}\n\ninterface SettingsMenuSectionWithDisplayedLinks extends Omit<SettingsMenuSection, 'links'> {\n links: Array<SettingsMenuLinkWithPermissionsAndDisplayed | StrapiAppSettingLinkWithDisplayed>;\n}\n\ntype SettingsMenu = SettingsMenuSectionWithDisplayedLinks[];\n\nconst useSettingsMenu = (): {\n isLoading: boolean;\n menu: SettingsMenu;\n} => {\n const [{ isLoading, menu }, setData] = React.useState<{\n isLoading: boolean;\n menu: SettingsMenu;\n }>({\n isLoading: true,\n menu: [],\n });\n const checkUserHasPermission = useAuth(\n 'useSettingsMenu',\n (state) => state.checkUserHasPermissions\n );\n const shouldUpdateStrapi = useAppInfo('useSettingsMenu', (state) => state.shouldUpdateStrapi);\n const settings = useStrapiApp('useSettingsMenu', (state) => state.settings);\n const permissions = useSelector(selectAdminPermissions);\n\n /**\n * memoize the return value of this function to avoid re-computing it on every render\n * because it's used in an effect it ends up re-running recursively.\n */\n const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);\n\n const { admin: adminLinks, global: globalLinks } = useEnterprise(\n ceLinks,\n async () => (await import('../../../ee/admin/src/constants')).SETTINGS_LINKS_EE(),\n {\n combine(ceLinks, eeLinks) {\n return {\n admin: [...eeLinks.admin, ...ceLinks.admin],\n global: [...ceLinks.global, ...eeLinks.global],\n };\n },\n defaultValue: {\n admin: [],\n global: [],\n },\n }\n );\n\n const addPermissions = React.useCallback(\n (link: SettingsMenuLink) => {\n if (!link.id) {\n throw new Error('The settings menu item must have an id attribute.');\n }\n\n return {\n ...link,\n permissions: permissions.settings?.[link.id as keyof PermissionMap['settings']]?.main ?? [],\n } satisfies SettingsMenuLinkWithPermissions;\n },\n [permissions.settings]\n );\n\n React.useEffect(() => {\n const getData = async () => {\n interface MenuLinkPermission {\n hasPermission: boolean;\n sectionIndex: number;\n linkIndex: number;\n }\n\n const buildMenuPermissions = (sections: SettingsMenuSectionWithDisplayedLinks[]) =>\n Promise.all(\n sections.reduce<Promise<MenuLinkPermission>[]>((acc, section, sectionIndex) => {\n const linksWithPermissions = section.links.map(async (link, linkIndex) => ({\n hasPermission: (await checkUserHasPermission(link.permissions)).length > 0,\n sectionIndex,\n linkIndex,\n }));\n\n return [...acc, ...linksWithPermissions];\n }, [])\n );\n\n const menuPermissions = await buildMenuPermissions(sections);\n\n setData((prev) => {\n return {\n ...prev,\n isLoading: false,\n menu: sections.map((section, sectionIndex) => ({\n ...section,\n links: section.links.map((link, linkIndex) => {\n const permission = menuPermissions.find(\n (permission) =>\n permission.sectionIndex === sectionIndex && permission.linkIndex === linkIndex\n );\n\n return {\n ...link,\n isDisplayed: Boolean(permission?.hasPermission),\n };\n }),\n })),\n };\n });\n };\n\n const { global, ...otherSections } = settings;\n const sections = formatLinks([\n {\n ...global,\n links: sortBy([...global.links, ...globalLinks.map(addPermissions)], (link) => link.id).map(\n (link) => ({\n ...link,\n hasNotification: link.id === '000-application-infos' && shouldUpdateStrapi,\n })\n ),\n },\n {\n id: 'permissions',\n intlLabel: { id: 'Settings.permissions', defaultMessage: 'Administration Panel' },\n links: adminLinks.map(addPermissions),\n },\n ...Object.values(otherSections),\n ]);\n\n getData();\n }, [\n adminLinks,\n globalLinks,\n settings,\n shouldUpdateStrapi,\n addPermissions,\n checkUserHasPermission,\n ]);\n\n return {\n isLoading,\n menu: menu.map((menuItem) => ({\n ...menuItem,\n links: menuItem.links.filter((link) => link.isDisplayed),\n })),\n };\n};\n\nexport { useSettingsMenu };\nexport type { SettingsMenu };\n","import {\n SubNav,\n SubNavHeader,\n SubNavLink,\n SubNavSection,\n SubNavSections,\n} from '@strapi/design-system';\nimport { Lightning } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useTracking } from '../../../features/Tracking';\nimport { SettingsMenu } from '../../../hooks/useSettingsMenu';\n\nconst CustomIcon = styled(Lightning)`\n right: 15px;\n position: absolute;\n bottom: 50%;\n transform: translateY(50%);\n\n path {\n fill: ${({ theme }) => theme.colors.warning500};\n }\n`;\n\nconst Link = styled(SubNavLink)`\n &.active ${CustomIcon} {\n right: 13px;\n }\n`;\n\ninterface SettingsNavProps {\n menu: SettingsMenu;\n}\n\nconst SettingsNav = ({ menu }: SettingsNavProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { pathname } = useLocation();\n\n const filteredMenu = menu.filter(\n (section) => !section.links.every((link) => link.isDisplayed === false)\n );\n\n const sections = filteredMenu.map((section) => {\n return {\n ...section,\n title: section.intlLabel,\n links: section.links.map((link) => {\n return {\n ...link,\n title: link.intlLabel,\n name: link.id,\n };\n }),\n };\n });\n\n const label = formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n });\n\n const handleClickOnLink = (destination: string) => () => {\n trackUsage('willNavigate', { from: pathname, to: destination });\n };\n\n return (\n <SubNav aria-label={label}>\n <SubNavHeader label={label} />\n <SubNavSections>\n {sections.map((section) => (\n <SubNavSection key={section.id} label={formatMessage(section.intlLabel)}>\n {section.links.map((link) => {\n return (\n <Link\n tag={NavLink}\n withBullet={link.hasNotification}\n to={link.to}\n onClick={handleClickOnLink(link.to)}\n key={link.id}\n position=\"relative\"\n >\n {formatMessage(link.intlLabel)}\n {link?.licenseOnly && <CustomIcon width=\"1.5rem\" height=\"1.5rem\" />}\n </Link>\n );\n })}\n </SubNavSection>\n ))}\n </SubNavSections>\n </SubNav>\n );\n};\n\nexport { SettingsNav };\nexport type { SettingsNavProps };\n","import { useIntl } from 'react-intl';\nimport { Navigate, Outlet, useMatch } from 'react-router-dom';\n\nimport { Layouts } from '../../components/Layouts/Layout';\nimport { Page } from '../../components/PageHelpers';\nimport { useSettingsMenu } from '../../hooks/useSettingsMenu';\n\nimport { SettingsNav } from './components/SettingsNav';\n\nconst Layout = () => {\n /**\n * This ensures we're capturing the settingId from the URL\n * but also lets any nesting after that pass.\n */\n const match = useMatch('/settings/:settingId/*');\n const { formatMessage } = useIntl();\n const { isLoading, menu } = useSettingsMenu();\n\n // Since the useSettingsMenu hook can make API calls in order to check the links permissions\n // We need to add a loading state to prevent redirecting the user while permissions are being checked\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (!match?.params.settingId) {\n return <Navigate to=\"application-infos\" />;\n }\n\n return (\n <Layouts.Root sideNav={<SettingsNav menu={menu} />}>\n <Page.Title>\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Page.Title>\n <Outlet />\n </Layouts.Root>\n );\n};\n\nexport { Layout };\n"],"names":["ceLinks","sections","permission"],"mappings":"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"}
1
+ {"version":3,"file":"Layout-iZuTlHEy.mjs","sources":["../../admin/src/hooks/useSettingsMenu.ts","../../admin/src/pages/Settings/components/SettingsNav.tsx","../../admin/src/pages/Settings/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport sortBy from 'lodash/sortBy';\nimport { useSelector } from 'react-redux';\n\nimport { SETTINGS_LINKS_CE, SettingsMenuLink } from '../constants';\nimport { useAppInfo } from '../features/AppInfo';\nimport { useAuth } from '../features/Auth';\nimport { useStrapiApp } from '../features/StrapiApp';\nimport { selectAdminPermissions } from '../selectors';\nimport { PermissionMap } from '../types/permissions';\n\nimport { useEnterprise } from './useEnterprise';\n\nimport type {\n StrapiAppSetting,\n StrapiAppSettingLink as IStrapiAppSettingLink,\n} from '../core/apis/router';\n\nconst formatLinks = (menu: SettingsMenuSection[]): SettingsMenuSectionWithDisplayedLinks[] =>\n menu.map((menuSection) => {\n const formattedLinks = menuSection.links.map((link) => ({\n ...link,\n isDisplayed: false,\n }));\n\n return { ...menuSection, links: formattedLinks };\n });\n\ninterface SettingsMenuLinkWithPermissions extends SettingsMenuLink {\n permissions: IStrapiAppSettingLink['permissions'];\n hasNotification?: boolean;\n}\n\ninterface StrapiAppSettingsLink extends IStrapiAppSettingLink {\n licenseOnly?: never;\n hasNotification?: never;\n}\n\ninterface SettingsMenuSection extends Omit<StrapiAppSetting, 'links'> {\n links: Array<SettingsMenuLinkWithPermissions | StrapiAppSettingsLink>;\n}\n\ninterface SettingsMenuLinkWithPermissionsAndDisplayed extends SettingsMenuLinkWithPermissions {\n isDisplayed: boolean;\n}\n\ninterface StrapiAppSettingLinkWithDisplayed extends StrapiAppSettingsLink {\n isDisplayed: boolean;\n}\n\ninterface SettingsMenuSectionWithDisplayedLinks extends Omit<SettingsMenuSection, 'links'> {\n links: Array<SettingsMenuLinkWithPermissionsAndDisplayed | StrapiAppSettingLinkWithDisplayed>;\n}\n\ntype SettingsMenu = SettingsMenuSectionWithDisplayedLinks[];\n\nconst useSettingsMenu = (): {\n isLoading: boolean;\n menu: SettingsMenu;\n} => {\n const [{ isLoading, menu }, setData] = React.useState<{\n isLoading: boolean;\n menu: SettingsMenu;\n }>({\n isLoading: true,\n menu: [],\n });\n const checkUserHasPermission = useAuth(\n 'useSettingsMenu',\n (state) => state.checkUserHasPermissions\n );\n const shouldUpdateStrapi = useAppInfo('useSettingsMenu', (state) => state.shouldUpdateStrapi);\n const settings = useStrapiApp('useSettingsMenu', (state) => state.settings);\n const permissions = useSelector(selectAdminPermissions);\n\n /**\n * memoize the return value of this function to avoid re-computing it on every render\n * because it's used in an effect it ends up re-running recursively.\n */\n const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);\n\n const { admin: adminLinks, global: globalLinks } = useEnterprise(\n ceLinks,\n async () => (await import('../../../ee/admin/src/constants')).SETTINGS_LINKS_EE(),\n {\n combine(ceLinks, eeLinks) {\n return {\n admin: [...eeLinks.admin, ...ceLinks.admin],\n global: [...ceLinks.global, ...eeLinks.global],\n };\n },\n defaultValue: {\n admin: [],\n global: [],\n },\n }\n );\n\n const addPermissions = React.useCallback(\n (link: SettingsMenuLink) => {\n if (!link.id) {\n throw new Error('The settings menu item must have an id attribute.');\n }\n\n return {\n ...link,\n permissions: permissions.settings?.[link.id as keyof PermissionMap['settings']]?.main ?? [],\n } satisfies SettingsMenuLinkWithPermissions;\n },\n [permissions.settings]\n );\n\n React.useEffect(() => {\n const getData = async () => {\n interface MenuLinkPermission {\n hasPermission: boolean;\n sectionIndex: number;\n linkIndex: number;\n }\n\n const buildMenuPermissions = (sections: SettingsMenuSectionWithDisplayedLinks[]) =>\n Promise.all(\n sections.reduce<Promise<MenuLinkPermission>[]>((acc, section, sectionIndex) => {\n const linksWithPermissions = section.links.map(async (link, linkIndex) => ({\n hasPermission: (await checkUserHasPermission(link.permissions)).length > 0,\n sectionIndex,\n linkIndex,\n }));\n\n return [...acc, ...linksWithPermissions];\n }, [])\n );\n\n const menuPermissions = await buildMenuPermissions(sections);\n\n setData((prev) => {\n return {\n ...prev,\n isLoading: false,\n menu: sections.map((section, sectionIndex) => ({\n ...section,\n links: section.links.map((link, linkIndex) => {\n const permission = menuPermissions.find(\n (permission) =>\n permission.sectionIndex === sectionIndex && permission.linkIndex === linkIndex\n );\n\n return {\n ...link,\n isDisplayed: Boolean(permission?.hasPermission),\n };\n }),\n })),\n };\n });\n };\n\n const { global, ...otherSections } = settings;\n const sections = formatLinks([\n {\n ...global,\n links: sortBy([...global.links, ...globalLinks.map(addPermissions)], (link) => link.id).map(\n (link) => ({\n ...link,\n hasNotification: link.id === '000-application-infos' && shouldUpdateStrapi,\n })\n ),\n },\n {\n id: 'permissions',\n intlLabel: { id: 'Settings.permissions', defaultMessage: 'Administration Panel' },\n links: adminLinks.map(addPermissions),\n },\n ...Object.values(otherSections),\n ]);\n\n getData();\n }, [\n adminLinks,\n globalLinks,\n settings,\n shouldUpdateStrapi,\n addPermissions,\n checkUserHasPermission,\n ]);\n\n return {\n isLoading,\n menu: menu.map((menuItem) => ({\n ...menuItem,\n links: menuItem.links.filter((link) => link.isDisplayed),\n })),\n };\n};\n\nexport { useSettingsMenu };\nexport type { SettingsMenu };\n","import {\n SubNav,\n SubNavHeader,\n SubNavLink,\n SubNavSection,\n SubNavSections,\n} from '@strapi/design-system';\nimport { Lightning } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useTracking } from '../../../features/Tracking';\nimport { SettingsMenu } from '../../../hooks/useSettingsMenu';\n\nconst CustomIcon = styled(Lightning)`\n right: 15px;\n position: absolute;\n bottom: 50%;\n transform: translateY(50%);\n\n path {\n fill: ${({ theme }) => theme.colors.warning500};\n }\n`;\n\nconst Link = styled(SubNavLink)`\n &.active ${CustomIcon} {\n right: 13px;\n }\n`;\n\ninterface SettingsNavProps {\n menu: SettingsMenu;\n}\n\nconst SettingsNav = ({ menu }: SettingsNavProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { pathname } = useLocation();\n\n const filteredMenu = menu.filter(\n (section) => !section.links.every((link) => link.isDisplayed === false)\n );\n\n const sections = filteredMenu.map((section) => {\n return {\n ...section,\n title: section.intlLabel,\n links: section.links.map((link) => {\n return {\n ...link,\n title: link.intlLabel,\n name: link.id,\n };\n }),\n };\n });\n\n const label = formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n });\n\n const handleClickOnLink = (destination: string) => () => {\n trackUsage('willNavigate', { from: pathname, to: destination });\n };\n\n return (\n <SubNav aria-label={label}>\n <SubNavHeader label={label} />\n <SubNavSections>\n {sections.map((section) => (\n <SubNavSection key={section.id} label={formatMessage(section.intlLabel)}>\n {section.links.map((link) => {\n return (\n <Link\n tag={NavLink}\n withBullet={link.hasNotification}\n to={link.to}\n onClick={handleClickOnLink(link.to)}\n key={link.id}\n position=\"relative\"\n >\n {formatMessage(link.intlLabel)}\n {link?.licenseOnly && <CustomIcon width=\"1.5rem\" height=\"1.5rem\" />}\n </Link>\n );\n })}\n </SubNavSection>\n ))}\n </SubNavSections>\n </SubNav>\n );\n};\n\nexport { SettingsNav };\nexport type { SettingsNavProps };\n","import { useIntl } from 'react-intl';\nimport { Navigate, Outlet, useMatch } from 'react-router-dom';\n\nimport { Layouts } from '../../components/Layouts/Layout';\nimport { Page } from '../../components/PageHelpers';\nimport { useSettingsMenu } from '../../hooks/useSettingsMenu';\n\nimport { SettingsNav } from './components/SettingsNav';\n\nconst Layout = () => {\n /**\n * This ensures we're capturing the settingId from the URL\n * but also lets any nesting after that pass.\n */\n const match = useMatch('/settings/:settingId/*');\n const { formatMessage } = useIntl();\n const { isLoading, menu } = useSettingsMenu();\n\n // Since the useSettingsMenu hook can make API calls in order to check the links permissions\n // We need to add a loading state to prevent redirecting the user while permissions are being checked\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (!match?.params.settingId) {\n return <Navigate to=\"application-infos\" />;\n }\n\n return (\n <Layouts.Root sideNav={<SettingsNav menu={menu} />}>\n <Page.Title>\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Page.Title>\n <Outlet />\n </Layouts.Root>\n );\n};\n\nexport { Layout };\n"],"names":["ceLinks","sections","permission"],"mappings":"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"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const reactIntl = require('react-intl');
7
7
  const reactRouterDom = require('react-router-dom');
8
- const index = require('./index-T8NohG0K.js');
8
+ const index = require('./index-UvMVCH5g.js');
9
9
  const Theme = require('./Theme-7W0we6BI.js');
10
10
  const React = require('react');
11
11
  const sortBy = require('lodash/sortBy');
@@ -61,7 +61,7 @@ const useSettingsMenu = () => {
61
61
  const ceLinks = React__namespace.useMemo(() => index.SETTINGS_LINKS_CE(), []);
62
62
  const { admin: adminLinks, global: globalLinks } = useEnterprise.useEnterprise(
63
63
  ceLinks,
64
- async () => (await Promise.resolve().then(() => require('./index-T8NohG0K.js')).then(n => n.constants)).SETTINGS_LINKS_EE(),
64
+ async () => (await Promise.resolve().then(() => require('./index-UvMVCH5g.js')).then(n => n.constants)).SETTINGS_LINKS_EE(),
65
65
  {
66
66
  combine(ceLinks2, eeLinks) {
67
67
  return {
@@ -239,4 +239,4 @@ const Layout = () => {
239
239
  };
240
240
 
241
241
  exports.Layout = Layout;
242
- //# sourceMappingURL=Layout-oJ84D4MF.js.map
242
+ //# sourceMappingURL=Layout-qM02Y__v.js.map