@strapi/admin 5.0.2-beta.0 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/{ApplicationInfoPage-Ps8wfTny.mjs → ApplicationInfoPage-FPcBalFr.mjs} +2 -2
- package/dist/admin/{ApplicationInfoPage-Ps8wfTny.mjs.map → ApplicationInfoPage-FPcBalFr.mjs.map} +1 -1
- package/dist/admin/{ApplicationInfoPage-tr8pVpBI.js → ApplicationInfoPage-hY4yez-z.js} +2 -2
- package/dist/admin/{ApplicationInfoPage-tr8pVpBI.js.map → ApplicationInfoPage-hY4yez-z.js.map} +1 -1
- package/dist/admin/{AuthenticatedLayout-cu9GY9xR.mjs → AuthenticatedLayout-WfWtk2vt.mjs} +3 -3
- package/dist/admin/{AuthenticatedLayout-cu9GY9xR.mjs.map → AuthenticatedLayout-WfWtk2vt.mjs.map} +1 -1
- package/dist/admin/{AuthenticatedLayout-2TH-xgCD.js → AuthenticatedLayout-_fHeS86w.js} +3 -3
- package/dist/admin/{AuthenticatedLayout-2TH-xgCD.js.map → AuthenticatedLayout-_fHeS86w.js.map} +1 -1
- package/dist/admin/{CreatePage-AwpAXVHi.js → CreatePage-2iQ7FkkX.js} +2 -2
- package/dist/admin/{CreatePage-AwpAXVHi.js.map → CreatePage-2iQ7FkkX.js.map} +1 -1
- package/dist/admin/{CreatePage-KXPlk92F.js → CreatePage-60fNdNfa.js} +4 -4
- package/dist/admin/CreatePage-60fNdNfa.js.map +1 -0
- package/dist/admin/{CreatePage-WtMMOZGP.mjs → CreatePage-pPnHpatu.mjs} +4 -4
- package/dist/admin/CreatePage-pPnHpatu.mjs.map +1 -0
- package/dist/admin/{CreatePage-y4aHylBv.mjs → CreatePage-z6N1v5X5.mjs} +2 -2
- package/dist/admin/{CreatePage-y4aHylBv.mjs.map → CreatePage-z6N1v5X5.mjs.map} +1 -1
- package/dist/admin/{CreateView-rj5803Xw.js → CreateView-18WQPz4-.js} +2 -2
- package/dist/admin/{CreateView-rj5803Xw.js.map → CreateView-18WQPz4-.js.map} +1 -1
- package/dist/admin/{CreateView-RIG6EC-Z.mjs → CreateView-4UcrE6vq.mjs} +2 -2
- package/dist/admin/{CreateView-RIG6EC-Z.mjs.map → CreateView-4UcrE6vq.mjs.map} +1 -1
- package/dist/admin/{CreateView-D33AaALu.mjs → CreateView-8k0KvpoK.mjs} +2 -2
- package/dist/admin/{CreateView-D33AaALu.mjs.map → CreateView-8k0KvpoK.mjs.map} +1 -1
- package/dist/admin/{CreateView-_moswLxK.js → CreateView-YbqcAK_f.js} +2 -2
- package/dist/admin/{CreateView-_moswLxK.js.map → CreateView-YbqcAK_f.js.map} +1 -1
- package/dist/admin/{EditPage-DS056JgW.mjs → EditPage-Fu5aqX9h.mjs} +4 -5
- package/dist/admin/EditPage-Fu5aqX9h.mjs.map +1 -0
- package/dist/admin/{EditPage-4-vZ1k2K.js → EditPage-H3D08t-N.js} +4 -5
- package/dist/admin/EditPage-H3D08t-N.js.map +1 -0
- package/dist/admin/{EditPage-z6OljM9R.mjs → EditPage-K8aawKOf.mjs} +5 -3
- package/dist/admin/EditPage-K8aawKOf.mjs.map +1 -0
- package/dist/admin/{EditPage-OqS8ihMG.js → EditPage-U4UN4MeE.js} +6 -5
- package/dist/admin/EditPage-U4UN4MeE.js.map +1 -0
- package/dist/admin/{EditPage-nexNtrzw.mjs → EditPage-dZLyVDGx.mjs} +6 -5
- package/dist/admin/EditPage-dZLyVDGx.mjs.map +1 -0
- package/dist/admin/{EditPage-vFkKpmBB.js → EditPage-ewduoYpT.js} +5 -3
- package/dist/admin/EditPage-ewduoYpT.js.map +1 -0
- package/dist/admin/{EditView--VTqhbrl.js → EditView-1TEk6oaL.js} +3 -3
- package/dist/admin/{EditView--VTqhbrl.js.map → EditView-1TEk6oaL.js.map} +1 -1
- package/dist/admin/{EditView-lBCzsomb.mjs → EditView-xgk-lEu1.mjs} +3 -3
- package/dist/admin/{EditView-lBCzsomb.mjs.map → EditView-xgk-lEu1.mjs.map} +1 -1
- package/dist/admin/{EditViewPage-aus_lAJO.mjs → EditViewPage-2CHLYZlY.mjs} +3 -3
- package/dist/admin/{EditViewPage-aus_lAJO.mjs.map → EditViewPage-2CHLYZlY.mjs.map} +1 -1
- package/dist/admin/{EditViewPage-Of6IQZDh.js → EditViewPage-R2kud83M.js} +3 -3
- package/dist/admin/{EditViewPage-Of6IQZDh.js.map → EditViewPage-R2kud83M.js.map} +1 -1
- package/dist/admin/{EventsTable-7ZQ6TJQw.mjs → EventsTable-JJ16vr2h.mjs} +2 -2
- package/dist/admin/{EventsTable-7ZQ6TJQw.mjs.map → EventsTable-JJ16vr2h.mjs.map} +1 -1
- package/dist/admin/{EventsTable-tQlCzlcJ.js → EventsTable-fzeOe9NB.js} +2 -2
- package/dist/admin/{EventsTable-tQlCzlcJ.js.map → EventsTable-fzeOe9NB.js.map} +1 -1
- package/dist/admin/{HomePage-1tQAL2T3.js → HomePage-DB00H9y5.js} +4 -4
- package/dist/admin/{HomePage-1tQAL2T3.js.map → HomePage-DB00H9y5.js.map} +1 -1
- package/dist/admin/{HomePage-Q4f_v9ko.mjs → HomePage-EDHzBAy8.mjs} +2 -2
- package/dist/admin/{HomePage-Q4f_v9ko.mjs.map → HomePage-EDHzBAy8.mjs.map} +1 -1
- package/dist/admin/{HomePage-jn4WRkrj.js → HomePage-GsLJ4j4f.js} +2 -2
- package/dist/admin/{HomePage-jn4WRkrj.js.map → HomePage-GsLJ4j4f.js.map} +1 -1
- package/dist/admin/{HomePage-p5vRgqTa.mjs → HomePage-oz8OSt1B.mjs} +4 -4
- package/dist/admin/{HomePage-p5vRgqTa.mjs.map → HomePage-oz8OSt1B.mjs.map} +1 -1
- package/dist/admin/{InstalledPlugins-FIUvYg_M.js → InstalledPlugins-T0ds5aOe.js} +2 -2
- package/dist/admin/{InstalledPlugins-FIUvYg_M.js.map → InstalledPlugins-T0ds5aOe.js.map} +1 -1
- package/dist/admin/{InstalledPlugins-PKvWBYi2.mjs → InstalledPlugins-ngsQKZBi.mjs} +2 -2
- package/dist/admin/{InstalledPlugins-PKvWBYi2.mjs.map → InstalledPlugins-ngsQKZBi.mjs.map} +1 -1
- package/dist/admin/{Layout-0q86W7sk.js → Layout-LTVvoQIP.js} +3 -3
- package/dist/admin/{Layout-0q86W7sk.js.map → Layout-LTVvoQIP.js.map} +1 -1
- package/dist/admin/{Layout-cT7PmL6k.mjs → Layout-dlsF2jYh.mjs} +3 -3
- package/dist/admin/{Layout-cT7PmL6k.mjs.map → Layout-dlsF2jYh.mjs.map} +1 -1
- package/dist/admin/{ListPage-Iw3wv3tW.mjs → ListPage-4VAaMuov.mjs} +2 -2
- package/dist/admin/{ListPage-Iw3wv3tW.mjs.map → ListPage-4VAaMuov.mjs.map} +1 -1
- package/dist/admin/{ListPage-TTyhZ-Kt.mjs → ListPage-CAAa_iYD.mjs} +3 -3
- package/dist/admin/{ListPage-TTyhZ-Kt.mjs.map → ListPage-CAAa_iYD.mjs.map} +1 -1
- package/dist/admin/{ListPage-xcKLJctH.mjs → ListPage-HjeCNXIL.mjs} +2 -2
- package/dist/admin/{ListPage-xcKLJctH.mjs.map → ListPage-HjeCNXIL.mjs.map} +1 -1
- package/dist/admin/{ListPage-iZlQtNuA.js → ListPage-J_zameoY.js} +2 -2
- package/dist/admin/{ListPage-iZlQtNuA.js.map → ListPage-J_zameoY.js.map} +1 -1
- package/dist/admin/{ListPage-wFmeZKCN.js → ListPage-W_j2UV6e.js} +2 -2
- package/dist/admin/{ListPage-wFmeZKCN.js.map → ListPage-W_j2UV6e.js.map} +1 -1
- package/dist/admin/{ListPage-jehKwSBS.mjs → ListPage-cMqf3hxn.mjs} +5 -5
- package/dist/admin/{ListPage-jehKwSBS.mjs.map → ListPage-cMqf3hxn.mjs.map} +1 -1
- package/dist/admin/{ListPage--1BeHi3Y.js → ListPage-e_XhqWy-.js} +3 -3
- package/dist/admin/{ListPage--1BeHi3Y.js.map → ListPage-e_XhqWy-.js.map} +1 -1
- package/dist/admin/{ListPage-mjERGwnG.mjs → ListPage-fE9R8ZE1.mjs} +2 -2
- package/dist/admin/{ListPage-mjERGwnG.mjs.map → ListPage-fE9R8ZE1.mjs.map} +1 -1
- package/dist/admin/{ListPage-SOE608kW.js → ListPage-kv14w7sy.js} +2 -2
- package/dist/admin/{ListPage-SOE608kW.js.map → ListPage-kv14w7sy.js.map} +1 -1
- package/dist/admin/{ListPage-Y5Q0L4YJ.js → ListPage-qj3M7V0W.js} +5 -5
- package/dist/admin/{ListPage-Y5Q0L4YJ.js.map → ListPage-qj3M7V0W.js.map} +1 -1
- package/dist/admin/{ListView-VQ6sx8r-.js → ListView-J3Bd1ZAj.js} +3 -3
- package/dist/admin/{ListView-VQ6sx8r-.js.map → ListView-J3Bd1ZAj.js.map} +1 -1
- package/dist/admin/{ListView-X1AyfDGZ.mjs → ListView-JTtPuayE.mjs} +3 -3
- package/dist/admin/{ListView-X1AyfDGZ.mjs.map → ListView-JTtPuayE.mjs.map} +1 -1
- package/dist/admin/{ListView-yQd_k4aV.js → ListView-e_rZH3km.js} +3 -3
- package/dist/admin/{ListView-yQd_k4aV.js.map → ListView-e_rZH3km.js.map} +1 -1
- package/dist/admin/{ListView-buuTP2-6.mjs → ListView-ziItL2Hn.mjs} +3 -3
- package/dist/admin/{ListView-buuTP2-6.mjs.map → ListView-ziItL2Hn.mjs.map} +1 -1
- package/dist/admin/{Login-T3OXM_Wj.js → Login-B5mc1U2m.js} +2 -2
- package/dist/admin/{Login-T3OXM_Wj.js.map → Login-B5mc1U2m.js.map} +1 -1
- package/dist/admin/{Login-kru7oYNS.mjs → Login-STwy4gIQ.mjs} +2 -2
- package/dist/admin/{Login-kru7oYNS.mjs.map → Login-STwy4gIQ.mjs.map} +1 -1
- package/dist/admin/{MagicLinkEE-Szk01kST.js → MagicLinkEE-3PSvKNEX.js} +3 -3
- package/dist/admin/{MagicLinkEE-Szk01kST.js.map → MagicLinkEE-3PSvKNEX.js.map} +1 -1
- package/dist/admin/{MagicLinkEE-qV4C0G0E.mjs → MagicLinkEE-oXcvyO9m.mjs} +3 -3
- package/dist/admin/{MagicLinkEE-qV4C0G0E.mjs.map → MagicLinkEE-oXcvyO9m.mjs.map} +1 -1
- package/dist/admin/{MarketplacePage-R0sZ8Vr8.js → MarketplacePage-XkcAwVQL.js} +2 -2
- package/dist/admin/{MarketplacePage-R0sZ8Vr8.js.map → MarketplacePage-XkcAwVQL.js.map} +1 -1
- package/dist/admin/{MarketplacePage-CnRS4GL1.mjs → MarketplacePage-s3TgP0pj.mjs} +2 -2
- package/dist/admin/{MarketplacePage-CnRS4GL1.mjs.map → MarketplacePage-s3TgP0pj.mjs.map} +1 -1
- package/dist/admin/{ProfilePage-RZVNg9dR.mjs → ProfilePage-EPvpBxko.mjs} +3 -3
- package/dist/admin/{ProfilePage-RZVNg9dR.mjs.map → ProfilePage-EPvpBxko.mjs.map} +1 -1
- package/dist/admin/{ProfilePage-4HufckdY.js → ProfilePage-TMGpOFkt.js} +3 -3
- package/dist/admin/{ProfilePage-4HufckdY.js.map → ProfilePage-TMGpOFkt.js.map} +1 -1
- package/dist/admin/{PurchaseAuditLogs-2elIfqE8.js → PurchaseAuditLogs-HcdrHEM2.js} +2 -2
- package/dist/admin/{PurchaseAuditLogs-2elIfqE8.js.map → PurchaseAuditLogs-HcdrHEM2.js.map} +1 -1
- package/dist/admin/{PurchaseAuditLogs-QVr6OCsj.mjs → PurchaseAuditLogs-K2YmR4Il.mjs} +2 -2
- package/dist/admin/{PurchaseAuditLogs-QVr6OCsj.mjs.map → PurchaseAuditLogs-K2YmR4Il.mjs.map} +1 -1
- package/dist/admin/{PurchaseSingleSignOn-jabZM-2c.mjs → PurchaseSingleSignOn-sxd54apY.mjs} +2 -2
- package/dist/admin/{PurchaseSingleSignOn-jabZM-2c.mjs.map → PurchaseSingleSignOn-sxd54apY.mjs.map} +1 -1
- package/dist/admin/{PurchaseSingleSignOn-u6e2OkvH.js → PurchaseSingleSignOn-y7p3yZ-b.js} +2 -2
- package/dist/admin/{PurchaseSingleSignOn-u6e2OkvH.js.map → PurchaseSingleSignOn-y7p3yZ-b.js.map} +1 -1
- package/dist/admin/{SelectRoles-2xiiBSRz.js → SelectRoles-L8dRONb-.js} +3 -3
- package/dist/admin/{SelectRoles-2xiiBSRz.js.map → SelectRoles-L8dRONb-.js.map} +1 -1
- package/dist/admin/{SelectRoles-Jmjk07Uf.mjs → SelectRoles-esk6LySb.mjs} +3 -3
- package/dist/admin/{SelectRoles-Jmjk07Uf.mjs.map → SelectRoles-esk6LySb.mjs.map} +1 -1
- package/dist/admin/{SingleSignOnPage-EqbEQbkY.js → SingleSignOnPage-cih5-oBZ.js} +4 -3
- package/dist/admin/SingleSignOnPage-cih5-oBZ.js.map +1 -0
- package/dist/admin/{SingleSignOnPage-nZy6ItJa.mjs → SingleSignOnPage-idMTZOuN.mjs} +4 -3
- package/dist/admin/SingleSignOnPage-idMTZOuN.mjs.map +1 -0
- package/dist/admin/{Table-AcB7xqKQ.js → Table-1mVE67Cd.js} +2 -2
- package/dist/admin/{Table-AcB7xqKQ.js.map → Table-1mVE67Cd.js.map} +1 -1
- package/dist/admin/{Table-e_o8qC8S.mjs → Table-wZgpqMG3.mjs} +2 -2
- package/dist/admin/{Table-e_o8qC8S.mjs.map → Table-wZgpqMG3.mjs.map} +1 -1
- package/dist/admin/{TokenTypeSelect-3FzDAHdD.mjs → TokenTypeSelect-GplqVrbt.mjs} +2 -2
- package/dist/admin/{TokenTypeSelect-3FzDAHdD.mjs.map → TokenTypeSelect-GplqVrbt.mjs.map} +1 -1
- package/dist/admin/{TokenTypeSelect-YcQ-z7jl.js → TokenTypeSelect-Itk7isiz.js} +2 -2
- package/dist/admin/{TokenTypeSelect-YcQ-z7jl.js.map → TokenTypeSelect-Itk7isiz.js.map} +1 -1
- package/dist/admin/{UseCasePage-2VNZH29T.js → UseCasePage-1SuyjC6w.js} +2 -2
- package/dist/admin/{UseCasePage-2VNZH29T.js.map → UseCasePage-1SuyjC6w.js.map} +1 -1
- package/dist/admin/{UseCasePage-LyuKNZsN.mjs → UseCasePage-QPnZOFrC.mjs} +2 -2
- package/dist/admin/{UseCasePage-LyuKNZsN.mjs.map → UseCasePage-QPnZOFrC.mjs.map} +1 -1
- package/dist/admin/{constants-bChZVNAz.js → constants-K5ARNpfV.js} +2 -2
- package/dist/admin/{constants-bChZVNAz.js.map → constants-K5ARNpfV.js.map} +1 -1
- package/dist/admin/{constants-vJ8ENuKd.mjs → constants-T5y8alpG.mjs} +2 -2
- package/dist/admin/{constants-vJ8ENuKd.mjs.map → constants-T5y8alpG.mjs.map} +1 -1
- package/dist/admin/{index-CSTkV8St.mjs → index-QPUYgtlo.mjs} +31 -31
- package/dist/admin/{index-CSTkV8St.mjs.map → index-QPUYgtlo.mjs.map} +1 -1
- package/dist/admin/{index-twvUXB8G.js → index-YMz7KziV.js} +31 -31
- package/dist/admin/{index-twvUXB8G.js.map → index-YMz7KziV.js.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/{useAdminRoles-ZS9XEutr.mjs → useAdminRoles-DX1MOKC9.mjs} +2 -2
- package/dist/admin/{useAdminRoles-ZS9XEutr.mjs.map → useAdminRoles-DX1MOKC9.mjs.map} +1 -1
- package/dist/admin/{useAdminRoles-b2QbRKhw.js → useAdminRoles-nNC9r0dz.js} +2 -2
- package/dist/admin/{useAdminRoles-b2QbRKhw.js.map → useAdminRoles-nNC9r0dz.js.map} +1 -1
- package/dist/admin/{validation-vskXcGoK.js → validation-AQCTfU6y.js} +2 -2
- package/dist/admin/{validation-vskXcGoK.js.map → validation-AQCTfU6y.js.map} +1 -1
- package/dist/admin/{validation-2ftV36jg.mjs → validation-tnv2QISi.mjs} +2 -2
- package/dist/admin/{validation-2ftV36jg.mjs.map → validation-tnv2QISi.mjs.map} +1 -1
- package/dist/package.json.d.ts +1 -1
- package/package.json +9 -9
- package/dist/admin/CreatePage-KXPlk92F.js.map +0 -1
- package/dist/admin/CreatePage-WtMMOZGP.mjs.map +0 -1
- package/dist/admin/EditPage-4-vZ1k2K.js.map +0 -1
- package/dist/admin/EditPage-DS056JgW.mjs.map +0 -1
- package/dist/admin/EditPage-OqS8ihMG.js.map +0 -1
- package/dist/admin/EditPage-nexNtrzw.mjs.map +0 -1
- package/dist/admin/EditPage-vFkKpmBB.js.map +0 -1
- package/dist/admin/EditPage-z6OljM9R.mjs.map +0 -1
- package/dist/admin/SingleSignOnPage-EqbEQbkY.js.map +0 -1
- package/dist/admin/SingleSignOnPage-nZy6ItJa.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HomePage-p5vRgqTa.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\ntype SectionName = keyof GuidedTourContextValue['guidedTourState'];\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.values(guidedTourState[key as SectionName]).every((value) => value === true),\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\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} direction=\"column\" alignItems=\"stretch\">\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} direction=\"column\" alignItems=\"stretch\">\n {showGuidedTour ? <GuidedTourHomepage /> : <ContentBlocks />}\n </Grid.Item>\n <Grid.Item col={4} s={12} direction=\"column\" alignItems=\"stretch\">\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: 'Fully-managed cloud hosting for your Strapi project.',\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} direction=\"column\" alignItems=\"stretch\">\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 justify-content: left;\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-oz8OSt1B.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\ntype SectionName = keyof GuidedTourContextValue['guidedTourState'];\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.values(guidedTourState[key as SectionName]).every((value) => value === true),\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\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} direction=\"column\" alignItems=\"stretch\">\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} direction=\"column\" alignItems=\"stretch\">\n {showGuidedTour ? <GuidedTourHomepage /> : <ContentBlocks />}\n </Grid.Item>\n <Grid.Item col={4} s={12} direction=\"column\" alignItems=\"stretch\">\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: 'Fully-managed cloud hosting for your Strapi project.',\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} direction=\"column\" alignItems=\"stretch\">\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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"}
|
|
@@ -6,7 +6,7 @@ const jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
const React = require('react');
|
|
7
7
|
const designSystem = require('@strapi/design-system');
|
|
8
8
|
const reactIntl = require('react-intl');
|
|
9
|
-
const index = require('./index-
|
|
9
|
+
const index = require('./index-YMz7KziV.js');
|
|
10
10
|
const Theme = require('./Theme-y_rWTknM.js');
|
|
11
11
|
const admin = require('./admin-p0djr5G6.js');
|
|
12
12
|
|
|
@@ -117,4 +117,4 @@ const ProtectedInstalledPlugins = () => {
|
|
|
117
117
|
|
|
118
118
|
exports.InstalledPlugins = InstalledPlugins;
|
|
119
119
|
exports.ProtectedInstalledPlugins = ProtectedInstalledPlugins;
|
|
120
|
-
//# sourceMappingURL=InstalledPlugins-
|
|
120
|
+
//# sourceMappingURL=InstalledPlugins-T0ds5aOe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstalledPlugins-
|
|
1
|
+
{"version":3,"file":"InstalledPlugins-T0ds5aOe.js","sources":["../../admin/src/pages/Settings/pages/InstalledPlugins.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';\n\nimport { Layouts } from '../../../components/Layouts/Layout';\nimport { Page } from '../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../core/store/hooks';\nimport { useNotification } from '../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport { useGetPluginsQuery } from '../../../services/admin';\n\nconst InstalledPlugins = () => {\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 ProtectedInstalledPlugins = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\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 <InstalledPlugins />\n </Page.Protect>\n );\n};\n\nexport { ProtectedInstalledPlugins, InstalledPlugins };\n"],"names":["useIntl","useNotifyAT","useNotification","useAPIErrorHandler","useGetPluginsQuery","React","jsx","Page","Layouts","jsxs","Table","Thead","Tr","Th","Typography","Tbody","Td","useTypedSelector"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
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
|
-
import { b as Layouts } from './index-
|
|
5
|
+
import { b as Layouts } from './index-QPUYgtlo.mjs';
|
|
6
6
|
import { b as useTypedSelector, P as Page, a as useNotification, e as useAPIErrorHandler } from './Theme-frC82ceE.mjs';
|
|
7
7
|
import { b as useGetPluginsQuery } from './admin-GZ-AP2T0.mjs';
|
|
8
8
|
|
|
@@ -92,4 +92,4 @@ const ProtectedInstalledPlugins = () => {
|
|
|
92
92
|
};
|
|
93
93
|
|
|
94
94
|
export { InstalledPlugins, ProtectedInstalledPlugins };
|
|
95
|
-
//# sourceMappingURL=InstalledPlugins-
|
|
95
|
+
//# sourceMappingURL=InstalledPlugins-ngsQKZBi.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstalledPlugins-
|
|
1
|
+
{"version":3,"file":"InstalledPlugins-ngsQKZBi.mjs","sources":["../../admin/src/pages/Settings/pages/InstalledPlugins.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';\n\nimport { Layouts } from '../../../components/Layouts/Layout';\nimport { Page } from '../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../core/store/hooks';\nimport { useNotification } from '../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport { useGetPluginsQuery } from '../../../services/admin';\n\nconst InstalledPlugins = () => {\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 ProtectedInstalledPlugins = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\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 <InstalledPlugins />\n </Page.Protect>\n );\n};\n\nexport { ProtectedInstalledPlugins, InstalledPlugins };\n"],"names":[],"mappings":";;;;;;;;AAYA,MAAM,mBAAmB,MAAM;AAC7B,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAClC,EAAM,MAAA,EAAE,YAAa,EAAA,GAAI,WAAY,EAAA,CAAA;AACrC,EAAM,MAAA,EAAE,kBAAmB,EAAA,GAAI,eAAgB,EAAA,CAAA;AAC/C,EAAA,MAAM,EAAE,uBAAA,EAAyB,cAAe,EAAA,GAAI,kBAAmB,EAAA,CAAA;AAEvE,EAAA,MAAM,EAAE,SAAA,EAAW,IAAM,EAAA,KAAA,KAAU,kBAAmB,EAAA,CAAA;AAEtD,EAAA,KAAA,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,uBAAA,GAAA,CAAC,IAAK,CAAA,OAAA,EAAL,EAAa,CAAA,CAAA;AAAA,GACvB;AAEA,EAAA,2BACG,OAAQ,CAAA,IAAA,EAAR,EACC,QAAC,kBAAA,IAAA,CAAA,IAAA,CAAK,MAAL,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,OAAQ,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,oBACC,GAAA,CAAA,OAAA,CAAQ,OAAR,EAAA,EACC,QAAC,kBAAA,IAAA,CAAA,KAAA,EAAA,EAAM,QAAU,EAAA,CAAA,EAAG,QAAU,EAAA,IAAA,EAAM,OAAS,EAAA,MAAA,IAAU,IAAI,CACzD,EAAA,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,KAAA,EAAA,EACC,+BAAC,EACC,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MACC,QAAC,kBAAA,GAAA,CAAA,UAAA,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,wBACA,GAAA,CAAC,MACC,QAAC,kBAAA,GAAA,CAAA,UAAA,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,sBACA,GAAA,CAAC,KACE,EAAA,EAAA,QAAA,EAAA,IAAA,EAAM,OAAQ,CAAA,GAAA,CAAI,CAAC,EAAE,IAAA,EAAM,WAAa,EAAA,WAAA,EAAkB,KAAA;AACzD,QAAA,4BACG,EACC,EAAA,EAAA,QAAA,EAAA;AAAA,0BAAC,GAAA,CAAA,EAAA,EAAA,EACC,8BAAC,UAAW,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,8BACC,EACC,EAAA,EAAA,QAAA,kBAAA,GAAA,CAAC,UAAW,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,4BAA4B,MAAM;AACtC,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,cAAc,gBAAiB,CAAA,CAAC,KAAU,KAAA,KAAA,CAAM,UAAU,WAAW,CAAA,CAAA;AAE3E,EAAA,4BACG,IAAK,CAAA,OAAA,EAAL,EAAa,WAAa,EAAA,WAAA,CAAY,aAAa,IAClD,EAAA,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,IAAA,CAAK,KAAL,EAAA,EACE,QAAc,EAAA,aAAA,CAAA;AAAA,MACb,EAAI,EAAA,gBAAA;AAAA,MACJ,cAAgB,EAAA,SAAA;AAAA,KACjB,CACH,EAAA,CAAA;AAAA,wBACC,gBAAiB,EAAA,EAAA,CAAA;AAAA,GACpB,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -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-
|
|
8
|
+
const index = require('./index-YMz7KziV.js');
|
|
9
9
|
const Theme = require('./Theme-y_rWTknM.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-
|
|
64
|
+
async () => (await Promise.resolve().then(() => require('./index-YMz7KziV.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-
|
|
242
|
+
//# sourceMappingURL=Layout-LTVvoQIP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout-0q86W7sk.js","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":["React","useAuth","useAppInfo","useStrapiApp","useSelector","selectAdminPermissions","SETTINGS_LINKS_CE","useEnterprise","ceLinks","sections","permission","sortBy","styled","Lightning","SubNavLink","useIntl","useTracking","useLocation","jsxs","SubNav","jsx","SubNavHeader","SubNavSections","SubNavSection","NavLink","useMatch","Page","Navigate","Layouts","Outlet"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Layout-LTVvoQIP.js","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":["React","useAuth","useAppInfo","useStrapiApp","useSelector","selectAdminPermissions","SETTINGS_LINKS_CE","useEnterprise","ceLinks","sections","permission","sortBy","styled","Lightning","SubNavLink","useIntl","useTracking","useLocation","jsxs","SubNav","jsx","SubNavHeader","SubNavSections","SubNavSection","NavLink","useMatch","Page","Navigate","Layouts","Outlet"],"mappings":"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"}
|
|
@@ -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 { p as SETTINGS_LINKS_CE, b as Layouts } from './index-
|
|
4
|
+
import { p as SETTINGS_LINKS_CE, b as Layouts } from './index-QPUYgtlo.mjs';
|
|
5
5
|
import { u as useAuth, p as useAppInfo, q as useStrapiApp, c as useTracking, P as Page } from './Theme-frC82ceE.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-
|
|
37
|
+
async () => (await import('./index-QPUYgtlo.mjs').then(n => n.J)).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-
|
|
215
|
+
//# sourceMappingURL=Layout-dlsF2jYh.mjs.map
|