@strapi/admin 5.48.0 → 5.48.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/admin/admin/src/StrapiApp.js +8 -5
  2. package/dist/admin/admin/src/StrapiApp.js.map +1 -1
  3. package/dist/admin/admin/src/StrapiApp.mjs +9 -6
  4. package/dist/admin/admin/src/StrapiApp.mjs.map +1 -1
  5. package/dist/admin/admin/src/components/LeftMenu.js +1 -1
  6. package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
  7. package/dist/admin/admin/src/components/LeftMenu.mjs +1 -1
  8. package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
  9. package/dist/admin/admin/src/components/UpsellBanner.js +1 -1
  10. package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
  11. package/dist/admin/admin/src/components/UpsellBanner.mjs +1 -1
  12. package/dist/admin/admin/src/components/UpsellBanner.mjs.map +1 -1
  13. package/dist/admin/admin/src/hooks/useMenu.js +40 -5
  14. package/dist/admin/admin/src/hooks/useMenu.js.map +1 -1
  15. package/dist/admin/admin/src/hooks/useMenu.mjs +40 -6
  16. package/dist/admin/admin/src/hooks/useMenu.mjs.map +1 -1
  17. package/dist/admin/admin/src/hooks/useSettingsMenu.js +61 -1
  18. package/dist/admin/admin/src/hooks/useSettingsMenu.js.map +1 -1
  19. package/dist/admin/admin/src/hooks/useSettingsMenu.mjs +61 -2
  20. package/dist/admin/admin/src/hooks/useSettingsMenu.mjs.map +1 -1
  21. package/dist/admin/admin/src/pages/Home/HomePage.js +6 -2
  22. package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
  23. package/dist/admin/admin/src/pages/Home/HomePage.mjs +6 -2
  24. package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
  25. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +1 -1
  26. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -1
  27. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs +1 -1
  28. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -1
  29. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +2 -0
  30. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
  31. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +2 -0
  32. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
  33. package/dist/admin/admin/src/translations/ar.json.js +1 -1
  34. package/dist/admin/admin/src/translations/ar.json.mjs +1 -1
  35. package/dist/admin/admin/src/translations/cs.json.js +1 -1
  36. package/dist/admin/admin/src/translations/cs.json.mjs +1 -1
  37. package/dist/admin/admin/src/translations/de.json.js +1 -1
  38. package/dist/admin/admin/src/translations/de.json.mjs +1 -1
  39. package/dist/admin/admin/src/translations/en.json.js +1 -1
  40. package/dist/admin/admin/src/translations/en.json.mjs +1 -1
  41. package/dist/admin/admin/src/translations/es.json.js +1 -1
  42. package/dist/admin/admin/src/translations/es.json.mjs +1 -1
  43. package/dist/admin/admin/src/translations/fi.json.js +1 -1
  44. package/dist/admin/admin/src/translations/fi.json.mjs +1 -1
  45. package/dist/admin/admin/src/translations/fr.json.js +1 -1
  46. package/dist/admin/admin/src/translations/fr.json.mjs +1 -1
  47. package/dist/admin/admin/src/translations/it.json.js +1 -1
  48. package/dist/admin/admin/src/translations/it.json.mjs +1 -1
  49. package/dist/admin/admin/src/translations/ko.json.js +1 -1
  50. package/dist/admin/admin/src/translations/ko.json.mjs +1 -1
  51. package/dist/admin/admin/src/translations/nl.json.js +1 -1
  52. package/dist/admin/admin/src/translations/nl.json.mjs +1 -1
  53. package/dist/admin/admin/src/translations/pl.json.js +1 -1
  54. package/dist/admin/admin/src/translations/pl.json.mjs +1 -1
  55. package/dist/admin/admin/src/translations/ru.json.js +1 -1
  56. package/dist/admin/admin/src/translations/ru.json.mjs +1 -1
  57. package/dist/admin/admin/src/translations/tr.json.js +1 -1
  58. package/dist/admin/admin/src/translations/tr.json.mjs +1 -1
  59. package/dist/admin/admin/src/translations/uk.json.js +1 -1
  60. package/dist/admin/admin/src/translations/uk.json.mjs +1 -1
  61. package/dist/admin/admin/src/translations/vi.json.js +1 -1
  62. package/dist/admin/admin/src/translations/vi.json.mjs +1 -1
  63. package/dist/admin/admin/src/translations/zh-Hans.json.js +1 -1
  64. package/dist/admin/admin/src/translations/zh-Hans.json.mjs +1 -1
  65. package/dist/admin/admin/src/utils/widgetVisibility.js +25 -0
  66. package/dist/admin/admin/src/utils/widgetVisibility.js.map +1 -0
  67. package/dist/admin/admin/src/utils/widgetVisibility.mjs +22 -0
  68. package/dist/admin/admin/src/utils/widgetVisibility.mjs.map +1 -0
  69. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js +6 -4
  70. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js.map +1 -1
  71. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs +6 -4
  72. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs.map +1 -1
  73. package/dist/admin/src/hooks/useMenu.d.ts +2 -1
  74. package/dist/admin/src/hooks/useSettingsMenu.d.ts +2 -1
  75. package/dist/admin/src/utils/widgetVisibility.d.ts +18 -0
  76. package/dist/ee/server/src/controllers/user.d.ts.map +1 -1
  77. package/dist/server/ee/server/src/controllers/user.js +7 -6
  78. package/dist/server/ee/server/src/controllers/user.js.map +1 -1
  79. package/dist/server/ee/server/src/controllers/user.mjs +7 -6
  80. package/dist/server/ee/server/src/controllers/user.mjs.map +1 -1
  81. package/dist/server/server/src/controllers/authenticated-user.js +25 -4
  82. package/dist/server/server/src/controllers/authenticated-user.js.map +1 -1
  83. package/dist/server/server/src/controllers/authenticated-user.mjs +25 -4
  84. package/dist/server/server/src/controllers/authenticated-user.mjs.map +1 -1
  85. package/dist/server/server/src/controllers/authentication.js +1 -16
  86. package/dist/server/server/src/controllers/authentication.js.map +1 -1
  87. package/dist/server/server/src/controllers/authentication.mjs +1 -16
  88. package/dist/server/server/src/controllers/authentication.mjs.map +1 -1
  89. package/dist/server/server/src/controllers/user.js +6 -5
  90. package/dist/server/server/src/controllers/user.js.map +1 -1
  91. package/dist/server/server/src/controllers/user.mjs +6 -5
  92. package/dist/server/server/src/controllers/user.mjs.map +1 -1
  93. package/dist/server/server/src/routes/authentication.js +4 -1
  94. package/dist/server/server/src/routes/authentication.js.map +1 -1
  95. package/dist/server/server/src/routes/authentication.mjs +4 -1
  96. package/dist/server/server/src/routes/authentication.mjs.map +1 -1
  97. package/dist/server/server/src/services/permission/permissions-manager/permission-fields.js +20 -11
  98. package/dist/server/server/src/services/permission/permissions-manager/permission-fields.js.map +1 -1
  99. package/dist/server/server/src/services/permission/permissions-manager/permission-fields.mjs +21 -12
  100. package/dist/server/server/src/services/permission/permissions-manager/permission-fields.mjs.map +1 -1
  101. package/dist/server/server/src/services/user.js +40 -3
  102. package/dist/server/server/src/services/user.js.map +1 -1
  103. package/dist/server/server/src/services/user.mjs +40 -3
  104. package/dist/server/server/src/services/user.mjs.map +1 -1
  105. package/dist/server/server/src/utils/normalize-email.js +24 -0
  106. package/dist/server/server/src/utils/normalize-email.js.map +1 -0
  107. package/dist/server/server/src/utils/normalize-email.mjs +22 -0
  108. package/dist/server/server/src/utils/normalize-email.mjs.map +1 -0
  109. package/dist/server/src/controllers/authenticated-user.d.ts.map +1 -1
  110. package/dist/server/src/controllers/authentication.d.ts.map +1 -1
  111. package/dist/server/src/controllers/user.d.ts.map +1 -1
  112. package/dist/server/src/index.d.ts +1 -0
  113. package/dist/server/src/index.d.ts.map +1 -1
  114. package/dist/server/src/routes/authentication.d.ts.map +1 -1
  115. package/dist/server/src/services/index.d.ts +1 -0
  116. package/dist/server/src/services/index.d.ts.map +1 -1
  117. package/dist/server/src/services/permission/permissions-manager/permission-fields.d.ts.map +1 -1
  118. package/dist/server/src/services/user.d.ts +1 -0
  119. package/dist/server/src/services/user.d.ts.map +1 -1
  120. package/dist/server/src/utils/normalize-email.d.ts +12 -0
  121. package/dist/server/src/utils/normalize-email.d.ts.map +1 -0
  122. package/package.json +11 -13
@@ -1 +1 @@
1
- {"version":3,"file":"FreeTrialEndedModal.js","sources":["../../../../../../../admin/src/pages/Home/components/FreeTrialEndedModal.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { Box, Button, Flex, LinkButton, Modal, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { isAfter, subDays } from 'date-fns';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { useLicenseLimits } from '../../../../../ee/admin/src/hooks/useLicenseLimits';\nimport { useScopedPersistentState } from '../../../hooks/usePersistentState';\n\nconst StyledModalContent = styled(Modal.Content)`\n max-width: 51.6rem;\n`;\n\nconst StyledModalBody = styled(Modal.Body)`\n padding: 0;\n position: relative;\n\n > div {\n padding: 0;\n }\n`;\n\nconst StyledButton = styled(Button)`\n border: 0;\n border-radius: 50%;\n`;\n\nexport const FreeTrialEndedModal = () => {\n const { formatMessage } = useIntl();\n const [open, setOpen] = useState(true);\n const [previouslyOpen, setPreviouslyOpen] = useScopedPersistentState(\n 'STRAPI_FREE_TRIAL_ENDED_MODAL',\n false\n );\n const [cachedTrialEndsAt] = useScopedPersistentState<string | undefined>(\n 'STRAPI_FREE_TRIAL_ENDS_AT',\n undefined\n );\n\n const { license } = useLicenseLimits();\n\n const sevenDaysAgo = subDays(new Date(), 7);\n\n // When the license is not a trial + not EE, and the cached trial end date is found in the localstorage, that means the trial has ended\n // We show the banner to encourage the user to upgrade (for 7 days after the trial ends)\n const isTrialEndedRecently = Boolean(\n !license?.isTrial &&\n !window.strapi.isEE &&\n cachedTrialEndsAt &&\n isAfter(new Date(cachedTrialEndsAt), sevenDaysAgo)\n );\n\n const handleClose = () => {\n setPreviouslyOpen(true);\n setOpen(false);\n };\n\n const handleOnOpenChange = (isOpen: boolean) => {\n if (!isOpen) {\n setPreviouslyOpen(true);\n }\n\n setOpen(isOpen);\n };\n\n if (!previouslyOpen && isTrialEndedRecently) {\n return (\n <Modal.Root open={open} onOpenChange={handleOnOpenChange}>\n <StyledModalContent aria-labelledby=\"title\">\n <StyledModalBody>\n <Box position=\"absolute\" top={0} right={0} padding={2}>\n <StyledButton\n aria-label={formatMessage({\n id: 'app.utils.close-label',\n defaultMessage: 'Close',\n })}\n variant=\"ghost\"\n width=\"2.4rem\"\n height=\"2.4rem\"\n onClick={handleClose}\n >\n <Cross />\n </StyledButton>\n </Box>\n <Flex\n direction=\"column\"\n alignItems=\"start\"\n justifyContent=\"stretch\"\n padding={8}\n gap={4}\n >\n <Typography variant=\"alpha\" fontWeight=\"bold\" fontSize={4} id=\"title\">\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.title',\n defaultMessage: 'Your trial has ended',\n })}\n </Typography>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.description',\n defaultMessage:\n 'Your access to Growth plan features such as Content history, Releases and Single sign-On (SSO) has expired.',\n })}\n </Typography>\n <Box background=\"primary200\" padding={4} hasRadius>\n <Typography fontWeight=\"bold\">\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.title',\n defaultMessage: 'Important to know:',\n })}\n </Typography>\n <ul style={{ listStyleType: 'disc', marginLeft: '1.5rem' }}>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item1',\n defaultMessage: 'Downgrading will remove access to the above features.',\n })}\n </Typography>\n </li>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item2',\n defaultMessage: 'Document version history will be deleted.',\n })}\n </Typography>\n </li>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item3',\n defaultMessage: 'All releases will be erased.',\n })}\n </Typography>\n </li>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item4',\n defaultMessage:\n 'If you downgrade ensure to set a root admin password to keep access to the admin panel.',\n })}\n </Typography>\n </li>\n </ul>\n </Box>\n <Flex marginTop={4} gap={2}>\n <LinkButton href=\"https://strapi.chargebeeportal.com/\" target=\"_blank\">\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.button.upgrade',\n defaultMessage: 'Stay on the Growth plan',\n })}\n </LinkButton>\n <Button variant=\"tertiary\" onClick={handleClose}>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.button.downgrade',\n defaultMessage: 'Downgrade to Community',\n })}\n </Button>\n </Flex>\n </Flex>\n </StyledModalBody>\n </StyledModalContent>\n </Modal.Root>\n );\n }\n\n return null;\n};\n"],"names":["StyledModalContent","styled","Modal","Content","StyledModalBody","Body","StyledButton","Button","FreeTrialEndedModal","formatMessage","useIntl","open","setOpen","useState","previouslyOpen","setPreviouslyOpen","useScopedPersistentState","cachedTrialEndsAt","undefined","license","useLicenseLimits","sevenDaysAgo","subDays","Date","isTrialEndedRecently","Boolean","isTrial","window","strapi","isEE","isAfter","handleClose","handleOnOpenChange","isOpen","_jsx","Root","onOpenChange","aria-labelledby","_jsxs","Box","position","top","right","padding","aria-label","id","defaultMessage","variant","width","height","onClick","Cross","Flex","direction","alignItems","justifyContent","gap","Typography","fontWeight","fontSize","background","hasRadius","ul","style","listStyleType","marginLeft","li","marginTop","LinkButton","href","target"],"mappings":"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"}
1
+ {"version":3,"file":"FreeTrialEndedModal.js","sources":["../../../../../../../admin/src/pages/Home/components/FreeTrialEndedModal.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { Box, Button, Flex, LinkButton, Modal, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { isAfter, subDays } from 'date-fns';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { useLicenseLimits } from '../../../../../ee/admin/src/hooks/useLicenseLimits';\nimport { useScopedPersistentState } from '../../../hooks/usePersistentState';\n\nconst StyledModalContent = styled(Modal.Content)`\n max-width: 51.6rem;\n`;\n\nconst StyledModalBody = styled(Modal.Body)`\n padding: 0;\n position: relative;\n\n > div {\n padding: 0;\n }\n`;\n\nconst StyledButton = styled(Button)`\n border: 0;\n border-radius: 50%;\n`;\n\nexport const FreeTrialEndedModal = () => {\n const { formatMessage } = useIntl();\n const [open, setOpen] = useState(true);\n const [previouslyOpen, setPreviouslyOpen] = useScopedPersistentState(\n 'STRAPI_FREE_TRIAL_ENDED_MODAL',\n false\n );\n const [cachedTrialEndsAt] = useScopedPersistentState<string | undefined>(\n 'STRAPI_FREE_TRIAL_ENDS_AT',\n undefined\n );\n\n const { license } = useLicenseLimits();\n\n const sevenDaysAgo = subDays(new Date(), 7);\n\n // When the license is not a trial + not EE, and the cached trial end date is found in the localstorage, that means the trial has ended\n // We show the banner to encourage the user to upgrade (for 7 days after the trial ends)\n const isTrialEndedRecently = Boolean(\n !license?.isTrial &&\n !window.strapi.isEE &&\n cachedTrialEndsAt &&\n isAfter(new Date(cachedTrialEndsAt), sevenDaysAgo)\n );\n\n const handleClose = () => {\n setPreviouslyOpen(true);\n setOpen(false);\n };\n\n const handleOnOpenChange = (isOpen: boolean) => {\n if (!isOpen) {\n setPreviouslyOpen(true);\n }\n\n setOpen(isOpen);\n };\n\n if (!previouslyOpen && isTrialEndedRecently) {\n return (\n <Modal.Root open={open} onOpenChange={handleOnOpenChange}>\n <StyledModalContent aria-labelledby=\"title\">\n <StyledModalBody>\n <Box position=\"absolute\" top={0} right={0} padding={2}>\n <StyledButton\n aria-label={formatMessage({\n id: 'app.utils.close-label',\n defaultMessage: 'Close',\n })}\n variant=\"ghost\"\n width=\"2.4rem\"\n height=\"2.4rem\"\n onClick={handleClose}\n >\n <Cross />\n </StyledButton>\n </Box>\n <Flex\n direction=\"column\"\n alignItems=\"start\"\n justifyContent=\"stretch\"\n padding={8}\n gap={4}\n >\n <Typography variant=\"alpha\" fontWeight=\"bold\" fontSize={4} id=\"title\">\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.title',\n defaultMessage: 'Your trial has ended',\n })}\n </Typography>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.description',\n defaultMessage:\n 'Your access to Growth plan features such as Content history, Releases and Single sign-On (SSO) has expired.',\n })}\n </Typography>\n <Box background=\"primary200\" padding={4} hasRadius>\n <Typography fontWeight=\"bold\">\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.title',\n defaultMessage: 'Important to know:',\n })}\n </Typography>\n <ul style={{ listStyleType: 'disc', marginLeft: '1.5rem' }}>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item1',\n defaultMessage: 'Downgrading will remove access to the above features.',\n })}\n </Typography>\n </li>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item2',\n defaultMessage: 'Document version history will be deleted.',\n })}\n </Typography>\n </li>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item3',\n defaultMessage: 'All releases will be erased.',\n })}\n </Typography>\n </li>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item4',\n defaultMessage:\n 'If you downgrade ensure to set a root admin password to keep access to the admin panel.',\n })}\n </Typography>\n </li>\n </ul>\n </Box>\n <Flex marginTop={4} gap={2}>\n <LinkButton href=\"https://billing.strapi.io/\" target=\"_blank\">\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.button.upgrade',\n defaultMessage: 'Stay on the Growth plan',\n })}\n </LinkButton>\n <Button variant=\"tertiary\" onClick={handleClose}>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.button.downgrade',\n defaultMessage: 'Downgrade to Community',\n })}\n </Button>\n </Flex>\n </Flex>\n </StyledModalBody>\n </StyledModalContent>\n </Modal.Root>\n );\n }\n\n return null;\n};\n"],"names":["StyledModalContent","styled","Modal","Content","StyledModalBody","Body","StyledButton","Button","FreeTrialEndedModal","formatMessage","useIntl","open","setOpen","useState","previouslyOpen","setPreviouslyOpen","useScopedPersistentState","cachedTrialEndsAt","undefined","license","useLicenseLimits","sevenDaysAgo","subDays","Date","isTrialEndedRecently","Boolean","isTrial","window","strapi","isEE","isAfter","handleClose","handleOnOpenChange","isOpen","_jsx","Root","onOpenChange","aria-labelledby","_jsxs","Box","position","top","right","padding","aria-label","id","defaultMessage","variant","width","height","onClick","Cross","Flex","direction","alignItems","justifyContent","gap","Typography","fontWeight","fontSize","background","hasRadius","ul","style","listStyleType","marginLeft","li","marginTop","LinkButton","href","target"],"mappings":"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"}
@@ -150,7 +150,7 @@ const FreeTrialEndedModal = ()=>{
150
150
  gap: 2,
151
151
  children: [
152
152
  /*#__PURE__*/ jsx(LinkButton, {
153
- href: "https://strapi.chargebeeportal.com/",
153
+ href: "https://billing.strapi.io/",
154
154
  target: "_blank",
155
155
  children: formatMessage({
156
156
  id: 'app.components.FreeTrialEndedModal.button.upgrade',
@@ -1 +1 @@
1
- {"version":3,"file":"FreeTrialEndedModal.mjs","sources":["../../../../../../../admin/src/pages/Home/components/FreeTrialEndedModal.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { Box, Button, Flex, LinkButton, Modal, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { isAfter, subDays } from 'date-fns';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { useLicenseLimits } from '../../../../../ee/admin/src/hooks/useLicenseLimits';\nimport { useScopedPersistentState } from '../../../hooks/usePersistentState';\n\nconst StyledModalContent = styled(Modal.Content)`\n max-width: 51.6rem;\n`;\n\nconst StyledModalBody = styled(Modal.Body)`\n padding: 0;\n position: relative;\n\n > div {\n padding: 0;\n }\n`;\n\nconst StyledButton = styled(Button)`\n border: 0;\n border-radius: 50%;\n`;\n\nexport const FreeTrialEndedModal = () => {\n const { formatMessage } = useIntl();\n const [open, setOpen] = useState(true);\n const [previouslyOpen, setPreviouslyOpen] = useScopedPersistentState(\n 'STRAPI_FREE_TRIAL_ENDED_MODAL',\n false\n );\n const [cachedTrialEndsAt] = useScopedPersistentState<string | undefined>(\n 'STRAPI_FREE_TRIAL_ENDS_AT',\n undefined\n );\n\n const { license } = useLicenseLimits();\n\n const sevenDaysAgo = subDays(new Date(), 7);\n\n // When the license is not a trial + not EE, and the cached trial end date is found in the localstorage, that means the trial has ended\n // We show the banner to encourage the user to upgrade (for 7 days after the trial ends)\n const isTrialEndedRecently = Boolean(\n !license?.isTrial &&\n !window.strapi.isEE &&\n cachedTrialEndsAt &&\n isAfter(new Date(cachedTrialEndsAt), sevenDaysAgo)\n );\n\n const handleClose = () => {\n setPreviouslyOpen(true);\n setOpen(false);\n };\n\n const handleOnOpenChange = (isOpen: boolean) => {\n if (!isOpen) {\n setPreviouslyOpen(true);\n }\n\n setOpen(isOpen);\n };\n\n if (!previouslyOpen && isTrialEndedRecently) {\n return (\n <Modal.Root open={open} onOpenChange={handleOnOpenChange}>\n <StyledModalContent aria-labelledby=\"title\">\n <StyledModalBody>\n <Box position=\"absolute\" top={0} right={0} padding={2}>\n <StyledButton\n aria-label={formatMessage({\n id: 'app.utils.close-label',\n defaultMessage: 'Close',\n })}\n variant=\"ghost\"\n width=\"2.4rem\"\n height=\"2.4rem\"\n onClick={handleClose}\n >\n <Cross />\n </StyledButton>\n </Box>\n <Flex\n direction=\"column\"\n alignItems=\"start\"\n justifyContent=\"stretch\"\n padding={8}\n gap={4}\n >\n <Typography variant=\"alpha\" fontWeight=\"bold\" fontSize={4} id=\"title\">\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.title',\n defaultMessage: 'Your trial has ended',\n })}\n </Typography>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.description',\n defaultMessage:\n 'Your access to Growth plan features such as Content history, Releases and Single sign-On (SSO) has expired.',\n })}\n </Typography>\n <Box background=\"primary200\" padding={4} hasRadius>\n <Typography fontWeight=\"bold\">\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.title',\n defaultMessage: 'Important to know:',\n })}\n </Typography>\n <ul style={{ listStyleType: 'disc', marginLeft: '1.5rem' }}>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item1',\n defaultMessage: 'Downgrading will remove access to the above features.',\n })}\n </Typography>\n </li>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item2',\n defaultMessage: 'Document version history will be deleted.',\n })}\n </Typography>\n </li>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item3',\n defaultMessage: 'All releases will be erased.',\n })}\n </Typography>\n </li>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item4',\n defaultMessage:\n 'If you downgrade ensure to set a root admin password to keep access to the admin panel.',\n })}\n </Typography>\n </li>\n </ul>\n </Box>\n <Flex marginTop={4} gap={2}>\n <LinkButton href=\"https://strapi.chargebeeportal.com/\" target=\"_blank\">\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.button.upgrade',\n defaultMessage: 'Stay on the Growth plan',\n })}\n </LinkButton>\n <Button variant=\"tertiary\" onClick={handleClose}>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.button.downgrade',\n defaultMessage: 'Downgrade to Community',\n })}\n </Button>\n </Flex>\n </Flex>\n </StyledModalBody>\n </StyledModalContent>\n </Modal.Root>\n );\n }\n\n return null;\n};\n"],"names":["StyledModalContent","styled","Modal","Content","StyledModalBody","Body","StyledButton","Button","FreeTrialEndedModal","formatMessage","useIntl","open","setOpen","useState","previouslyOpen","setPreviouslyOpen","useScopedPersistentState","cachedTrialEndsAt","undefined","license","useLicenseLimits","sevenDaysAgo","subDays","Date","isTrialEndedRecently","Boolean","isTrial","window","strapi","isEE","isAfter","handleClose","handleOnOpenChange","isOpen","_jsx","Root","onOpenChange","aria-labelledby","_jsxs","Box","position","top","right","padding","aria-label","id","defaultMessage","variant","width","height","onClick","Cross","Flex","direction","alignItems","justifyContent","gap","Typography","fontWeight","fontSize","background","hasRadius","ul","style","listStyleType","marginLeft","li","marginTop","LinkButton","href","target"],"mappings":"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"}
1
+ {"version":3,"file":"FreeTrialEndedModal.mjs","sources":["../../../../../../../admin/src/pages/Home/components/FreeTrialEndedModal.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { Box, Button, Flex, LinkButton, Modal, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { isAfter, subDays } from 'date-fns';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { useLicenseLimits } from '../../../../../ee/admin/src/hooks/useLicenseLimits';\nimport { useScopedPersistentState } from '../../../hooks/usePersistentState';\n\nconst StyledModalContent = styled(Modal.Content)`\n max-width: 51.6rem;\n`;\n\nconst StyledModalBody = styled(Modal.Body)`\n padding: 0;\n position: relative;\n\n > div {\n padding: 0;\n }\n`;\n\nconst StyledButton = styled(Button)`\n border: 0;\n border-radius: 50%;\n`;\n\nexport const FreeTrialEndedModal = () => {\n const { formatMessage } = useIntl();\n const [open, setOpen] = useState(true);\n const [previouslyOpen, setPreviouslyOpen] = useScopedPersistentState(\n 'STRAPI_FREE_TRIAL_ENDED_MODAL',\n false\n );\n const [cachedTrialEndsAt] = useScopedPersistentState<string | undefined>(\n 'STRAPI_FREE_TRIAL_ENDS_AT',\n undefined\n );\n\n const { license } = useLicenseLimits();\n\n const sevenDaysAgo = subDays(new Date(), 7);\n\n // When the license is not a trial + not EE, and the cached trial end date is found in the localstorage, that means the trial has ended\n // We show the banner to encourage the user to upgrade (for 7 days after the trial ends)\n const isTrialEndedRecently = Boolean(\n !license?.isTrial &&\n !window.strapi.isEE &&\n cachedTrialEndsAt &&\n isAfter(new Date(cachedTrialEndsAt), sevenDaysAgo)\n );\n\n const handleClose = () => {\n setPreviouslyOpen(true);\n setOpen(false);\n };\n\n const handleOnOpenChange = (isOpen: boolean) => {\n if (!isOpen) {\n setPreviouslyOpen(true);\n }\n\n setOpen(isOpen);\n };\n\n if (!previouslyOpen && isTrialEndedRecently) {\n return (\n <Modal.Root open={open} onOpenChange={handleOnOpenChange}>\n <StyledModalContent aria-labelledby=\"title\">\n <StyledModalBody>\n <Box position=\"absolute\" top={0} right={0} padding={2}>\n <StyledButton\n aria-label={formatMessage({\n id: 'app.utils.close-label',\n defaultMessage: 'Close',\n })}\n variant=\"ghost\"\n width=\"2.4rem\"\n height=\"2.4rem\"\n onClick={handleClose}\n >\n <Cross />\n </StyledButton>\n </Box>\n <Flex\n direction=\"column\"\n alignItems=\"start\"\n justifyContent=\"stretch\"\n padding={8}\n gap={4}\n >\n <Typography variant=\"alpha\" fontWeight=\"bold\" fontSize={4} id=\"title\">\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.title',\n defaultMessage: 'Your trial has ended',\n })}\n </Typography>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.description',\n defaultMessage:\n 'Your access to Growth plan features such as Content history, Releases and Single sign-On (SSO) has expired.',\n })}\n </Typography>\n <Box background=\"primary200\" padding={4} hasRadius>\n <Typography fontWeight=\"bold\">\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.title',\n defaultMessage: 'Important to know:',\n })}\n </Typography>\n <ul style={{ listStyleType: 'disc', marginLeft: '1.5rem' }}>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item1',\n defaultMessage: 'Downgrading will remove access to the above features.',\n })}\n </Typography>\n </li>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item2',\n defaultMessage: 'Document version history will be deleted.',\n })}\n </Typography>\n </li>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item3',\n defaultMessage: 'All releases will be erased.',\n })}\n </Typography>\n </li>\n <li>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.notice.item4',\n defaultMessage:\n 'If you downgrade ensure to set a root admin password to keep access to the admin panel.',\n })}\n </Typography>\n </li>\n </ul>\n </Box>\n <Flex marginTop={4} gap={2}>\n <LinkButton href=\"https://billing.strapi.io/\" target=\"_blank\">\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.button.upgrade',\n defaultMessage: 'Stay on the Growth plan',\n })}\n </LinkButton>\n <Button variant=\"tertiary\" onClick={handleClose}>\n {formatMessage({\n id: 'app.components.FreeTrialEndedModal.button.downgrade',\n defaultMessage: 'Downgrade to Community',\n })}\n </Button>\n </Flex>\n </Flex>\n </StyledModalBody>\n </StyledModalContent>\n </Modal.Root>\n );\n }\n\n return null;\n};\n"],"names":["StyledModalContent","styled","Modal","Content","StyledModalBody","Body","StyledButton","Button","FreeTrialEndedModal","formatMessage","useIntl","open","setOpen","useState","previouslyOpen","setPreviouslyOpen","useScopedPersistentState","cachedTrialEndsAt","undefined","license","useLicenseLimits","sevenDaysAgo","subDays","Date","isTrialEndedRecently","Boolean","isTrial","window","strapi","isEE","isAfter","handleClose","handleOnOpenChange","isOpen","_jsx","Root","onOpenChange","aria-labelledby","_jsxs","Box","position","top","right","padding","aria-label","id","defaultMessage","variant","width","height","onClick","Cross","Flex","direction","alignItems","justifyContent","gap","Typography","fontWeight","fontSize","background","hasRadius","ul","style","listStyleType","marginLeft","li","marginTop","LinkButton","href","target"],"mappings":"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"}
@@ -198,6 +198,7 @@ const AIUageDataCE = ()=>null;
198
198
  shouldUpdateStrapi && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Link, {
199
199
  href: `https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`,
200
200
  endIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.ExternalLink, {}),
201
+ target: "_blank",
201
202
  children: formatMessage({
202
203
  id: 'Settings.application.link-upgrade',
203
204
  defaultMessage: 'Upgrade your admin panel'
@@ -239,6 +240,7 @@ const AIUageDataCE = ()=>null;
239
240
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Link, {
240
241
  href: "https://strapi.io/pricing-self-hosted",
241
242
  endIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.ExternalLink, {}),
243
+ target: "_blank",
242
244
  children: formatMessage({
243
245
  id: 'Settings.application.link-pricing',
244
246
  defaultMessage: 'See all pricing plans'
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationInfoPage.js","sources":["../../../../../../../../admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Link, Typography } from '@strapi/design-system';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useAppInfo } from '../../../../features/AppInfo';\nimport { useConfiguration } from '../../../../features/Configuration';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useFetchClient } from '../../../../hooks/useFetchClient';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { LogoInput, LogoInputProps } from './components/LogoInput';\nimport { DIMENSION, SIZE } from './utils/constants';\n\nconst AdminSeatInfoCE = () => null;\nconst AIUageDataCE = () => null;\n\n/* -------------------------------------------------------------------------------------------------\n * ApplicationInfoPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ApplicationInfoPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { get } = useFetchClient();\n const { logos: serverLogos, updateProjectSettings } = useConfiguration('ApplicationInfoPage');\n const [logos, setLogos] = React.useState({ menu: serverLogos.menu, auth: serverLogos.auth });\n const { settings } = useSelector(selectAdminPermissions);\n\n const communityEdition = useAppInfo('ApplicationInfoPage', (state) => state.communityEdition);\n const latestStrapiReleaseTag = useAppInfo(\n 'ApplicationInfoPage',\n (state) => state.latestStrapiReleaseTag\n );\n const nodeVersion = useAppInfo('ApplicationInfoPage', (state) => state.nodeVersion);\n const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state) => state.shouldUpdateStrapi);\n const strapiVersion = useAppInfo('ApplicationInfoPage', (state) => state.strapiVersion);\n\n const AdminSeatInfo = useEnterprise(\n AdminSeatInfoCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo'\n )\n ).AdminSeatInfoEE\n );\n const isAiEnabled = window.strapi.ai?.enabled !== false;\n const AIUsageData = useEnterprise(\n AIUageDataCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage'\n )\n ).AIUsage,\n {\n enabled: isAiEnabled,\n }\n );\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(settings ? settings['project-settings'] : {});\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {\n e.preventDefault();\n\n updateProjectSettings({\n authLogo: logos.auth.custom ?? null,\n menuLogo: logos.menu.custom ?? null,\n });\n };\n\n const handleChangeLogo =\n (logo: 'menu' | 'auth'): LogoInputProps['onChangeLogo'] =>\n (newLogo) => {\n /**\n * If there's no newLogo value we can assume we're reseting.\n */\n if (newLogo === null) {\n trackUsage('didClickResetLogo', {\n logo,\n });\n }\n\n setLogos((prev) => ({\n ...prev,\n [logo]: {\n ...prev[logo],\n custom: newLogo,\n },\n }));\n };\n\n React.useEffect(() => {\n setLogos({\n menu: serverLogos.menu,\n auth: serverLogos.auth,\n });\n }, [serverLogos]);\n\n // block rendering until the EE component is fully loaded\n if (!AdminSeatInfo) {\n return null;\n }\n\n if (!AIUsageData) {\n return null;\n }\n\n const isSaveDisabled =\n logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;\n\n return (\n <>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'Settings.application.header',\n defaultMessage: 'Application',\n }),\n }\n )}\n </Page.Title>\n <Page.Main>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.application.title',\n defaultMessage: 'Overview',\n })}\n subtitle={formatMessage({\n id: 'Settings.application.description',\n defaultMessage: 'Administration panel’s global information',\n })}\n primaryAction={\n canUpdate && (\n <Button disabled={isSaveDisabled} type=\"submit\" startIcon={<Check />} fullWidth>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n )\n }\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n\n <Grid.Root gap={5} tag=\"dl\">\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.strapiVersion',\n defaultMessage: 'strapi version',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>v{strapiVersion}</Typography>\n {shouldUpdateStrapi && (\n <Link\n href={`https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`}\n endIcon={<ExternalLink />}\n >\n {formatMessage({\n id: 'Settings.application.link-upgrade',\n defaultMessage: 'Upgrade your admin panel',\n })}\n </Link>\n )}\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.edition-title',\n defaultMessage: 'current edition',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>\n {formatMessage(\n {\n id: 'Settings.application.ee-or-ce',\n defaultMessage:\n '{communityEdition, select, true {Community Edition} other {Enterprise Edition}}',\n },\n { communityEdition }\n )}\n </Typography>\n <Link href=\"https://strapi.io/pricing-self-hosted\" endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'Settings.application.link-pricing',\n defaultMessage: 'See all pricing plans',\n })}\n </Link>\n </Flex>\n </Grid.Item>\n\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.node-version',\n defaultMessage: 'node version',\n })}\n </Typography>\n <Typography tag=\"dd\">{nodeVersion}</Typography>\n </Grid.Item>\n <AdminSeatInfo />\n <AIUsageData />\n </Grid.Root>\n </Flex>\n {canRead && (\n <Box\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.application.customization',\n defaultMessage: 'Customization',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.size-details',\n defaultMessage:\n 'Max dimension: {dimension}×{dimension}, Max file size: {size}KB',\n },\n { dimension: DIMENSION, size: SIZE }\n )}\n </Typography>\n <Grid.Root paddingTop={4} gap={4}>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.menu.custom}\n defaultLogo={logos.menu.default}\n hint={formatMessage({\n id: 'Settings.application.customization.menu-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the main navigation',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.menu-logo.title',\n defaultMessage: 'Menu logo',\n })}\n onChangeLogo={handleChangeLogo('menu')}\n />\n </Grid.Item>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.auth.custom}\n defaultLogo={logos.auth.default}\n hint={formatMessage({\n id: 'Settings.application.customization.auth-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the authentication pages',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.auth-logo.title',\n defaultMessage: 'Auth logo',\n })}\n onChangeLogo={handleChangeLogo('auth')}\n />\n </Grid.Item>\n </Grid.Root>\n </Box>\n )}\n </Flex>\n </Layouts.Content>\n </form>\n </Page.Main>\n </>\n );\n};\n\nexport { ApplicationInfoPage };\n"],"names":["AdminSeatInfoCE","AIUageDataCE","ApplicationInfoPage","trackUsage","useTracking","formatMessage","useIntl","get","useFetchClient","logos","serverLogos","updateProjectSettings","useConfiguration","setLogos","React","useState","menu","auth","settings","useSelector","selectAdminPermissions","communityEdition","useAppInfo","state","latestStrapiReleaseTag","nodeVersion","shouldUpdateStrapi","strapiVersion","AdminSeatInfo","useEnterprise","AdminSeatInfoEE","isAiEnabled","window","strapi","ai","enabled","AIUsageData","AIUsage","allowedActions","canRead","canUpdate","useRBAC","handleSubmit","e","preventDefault","authLogo","custom","menuLogo","handleChangeLogo","logo","newLogo","prev","useEffect","isSaveDisabled","_jsxs","_Fragment","_jsx","Page","Title","id","defaultMessage","name","Main","form","onSubmit","Layouts","Header","title","subtitle","primaryAction","Button","disabled","type","startIcon","Check","fullWidth","Content","Flex","direction","alignItems","gap","hasRadius","background","shadow","paddingTop","paddingBottom","paddingRight","paddingLeft","Typography","variant","tag","Grid","Root","Item","col","xs","textColor","Link","href","endIcon","ExternalLink","Box","dimension","DIMENSION","size","SIZE","LogoInput","customLogo","defaultLogo","default","hint","label","onChangeLogo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,MAAMA,kBAAkB,IAAM,IAAA;AAC9B,MAAMC,eAAe,IAAM,IAAA;AAE3B;;AAEkG,2GAE5FC,mBAAAA,GAAsB,IAAA;IAC1B,MAAM,EAAEC,UAAU,EAAE,GAAGC,oBAAAA,EAAAA;IACvB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,GAAG,EAAE,GAAGC,6BAAAA,EAAAA;AAChB,IAAA,MAAM,EAAEC,KAAAA,EAAOC,WAAW,EAAEC,qBAAqB,EAAE,GAAGC,8BAAAA,CAAiB,qBAAA,CAAA;AACvE,IAAA,MAAM,CAACH,KAAAA,EAAOI,QAAAA,CAAS,GAAGC,gBAAAA,CAAMC,QAAQ,CAAC;AAAEC,QAAAA,IAAAA,EAAMN,YAAYM,IAAI;AAAEC,QAAAA,IAAAA,EAAMP,YAAYO;AAAK,KAAA,CAAA;AAC1F,IAAA,MAAM,EAAEC,QAAQ,EAAE,GAAGC,sBAAAA,CAAYC,gCAAAA,CAAAA;AAEjC,IAAA,MAAMC,mBAAmBC,kBAAAA,CAAW,qBAAA,EAAuB,CAACC,KAAAA,GAAUA,MAAMF,gBAAgB,CAAA;AAC5F,IAAA,MAAMG,yBAAyBF,kBAAAA,CAC7B,qBAAA,EACA,CAACC,KAAAA,GAAUA,MAAMC,sBAAsB,CAAA;AAEzC,IAAA,MAAMC,cAAcH,kBAAAA,CAAW,qBAAA,EAAuB,CAACC,KAAAA,GAAUA,MAAME,WAAW,CAAA;AAClF,IAAA,MAAMC,qBAAqBJ,kBAAAA,CAAW,qBAAA,EAAuB,CAACC,KAAAA,GAAUA,MAAMG,kBAAkB,CAAA;AAChG,IAAA,MAAMC,gBAAgBL,kBAAAA,CAAW,qBAAA,EAAuB,CAACC,KAAAA,GAAUA,MAAMI,aAAa,CAAA;IAEtF,MAAMC,aAAAA,GAAgBC,2BAAAA,CACpB7B,eAAAA,EACA,UAEI,CAAA,MAAM,oDACJ,yGAAA,KACF,EACA8B,eAAe,CAAA;AAErB,IAAA,MAAMC,cAAcC,MAAAA,CAAOC,MAAM,CAACC,EAAE,EAAEC,OAAAA,KAAY,KAAA;AAClD,IAAA,MAAMC,WAAAA,GAAcP,2BAAAA,CAClB5B,YAAAA,EACA,UACE,CACE,MAAM,oDACJ,mGAAA,KACF,EACAoC,OAAO,EACX;QACEF,OAAAA,EAASJ;AACX,KAAA,CAAA;AAGF,IAAA,MAAM,EACJO,cAAAA,EAAgB,EAAEC,OAAO,EAAEC,SAAS,EAAE,EACvC,GAAGC,gBAAQvB,QAAAA,GAAWA,QAAQ,CAAC,kBAAA,CAAmB,GAAG,EAAC,CAAA;AAEvD,IAAA,MAAMwB,eAAwD,CAACC,CAAAA,GAAAA;AAC7DA,QAAAA,CAAAA,CAAEC,cAAc,EAAA;QAEhBjC,qBAAAA,CAAsB;AACpBkC,YAAAA,QAAAA,EAAUpC,KAAAA,CAAMQ,IAAI,CAAC6B,MAAM,IAAI,IAAA;AAC/BC,YAAAA,QAAAA,EAAUtC,KAAAA,CAAMO,IAAI,CAAC8B,MAAM,IAAI;AACjC,SAAA,CAAA;AACF,IAAA,CAAA;IAEA,MAAME,gBAAAA,GACJ,CAACC,IAAAA,GACD,CAACC,OAAAA,GAAAA;AACC;;UAGA,IAAIA,YAAY,IAAA,EAAM;AACpB/C,gBAAAA,UAAAA,CAAW,mBAAA,EAAqB;AAC9B8C,oBAAAA;AACF,iBAAA,CAAA;AACF,YAAA;YAEApC,QAAAA,CAAS,CAACsC,QAAU;AAClB,oBAAA,GAAGA,IAAI;AACP,oBAAA,CAACF,OAAO;wBACN,GAAGE,IAAI,CAACF,IAAAA,CAAK;wBACbH,MAAAA,EAAQI;AACV;iBACF,CAAA,CAAA;AACF,QAAA,CAAA;AAEFpC,IAAAA,gBAAAA,CAAMsC,SAAS,CAAC,IAAA;QACdvC,QAAAA,CAAS;AACPG,YAAAA,IAAAA,EAAMN,YAAYM,IAAI;AACtBC,YAAAA,IAAAA,EAAMP,YAAYO;AACpB,SAAA,CAAA;IACF,CAAA,EAAG;AAACP,QAAAA;AAAY,KAAA,CAAA;;AAGhB,IAAA,IAAI,CAACkB,aAAAA,EAAe;QAClB,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,IAAI,CAACQ,WAAAA,EAAa;QAChB,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,MAAMiB,iBACJ5C,KAAAA,CAAMQ,IAAI,CAAC6B,MAAM,KAAKpC,YAAYO,IAAI,CAAC6B,MAAM,IAAIrC,KAAAA,CAAMO,IAAI,CAAC8B,MAAM,KAAKpC,WAAAA,CAAYM,IAAI,CAAC8B,MAAM;IAEhG,qBACEQ,eAAA,CAAAC,mBAAA,EAAA;;AACE,0BAAAC,cAAA,CAACC,iBAAKC,KAAK,EAAA;0BACRrD,aAAAA,CACC;oBAAEsD,EAAAA,EAAI,oBAAA;oBAAsBC,cAAAA,EAAgB;iBAAoB,EAChE;AACEC,oBAAAA,IAAAA,EAAMxD,aAAAA,CAAc;wBAClBsD,EAAAA,EAAI,6BAAA;wBACJC,cAAAA,EAAgB;AAClB,qBAAA;AACF,iBAAA;;AAGJ,0BAAAJ,cAAA,CAACC,iBAAKK,IAAI,EAAA;AACR,gBAAA,QAAA,gBAAAR,eAAA,CAACS,MAAAA,EAAAA;oBAAKC,QAAAA,EAAUtB,YAAAA;;AACd,sCAAAc,cAAA,CAACS,eAAQC,MAAM,EAAA;AACbC,4BAAAA,KAAAA,EAAO9D,aAAAA,CAAc;gCACnBsD,EAAAA,EAAI,4BAAA;gCACJC,cAAAA,EAAgB;AAClB,6BAAA,CAAA;AACAQ,4BAAAA,QAAAA,EAAU/D,aAAAA,CAAc;gCACtBsD,EAAAA,EAAI,kCAAA;gCACJC,cAAAA,EAAgB;AAClB,6BAAA,CAAA;AACAS,4BAAAA,aAAAA,EACE7B,2BACEgB,cAAA,CAACc,mBAAAA,EAAAA;gCAAOC,QAAAA,EAAUlB,cAAAA;gCAAgBmB,IAAAA,EAAK,QAAA;AAASC,gCAAAA,SAAAA,gBAAWjB,cAAA,CAACkB,WAAAA,EAAAA,EAAAA,CAAAA;gCAAUC,SAAS,EAAA,IAAA;0CAC5EtE,aAAAA,CAAc;oCAAEsD,EAAAA,EAAI,aAAA;oCAAeC,cAAAA,EAAgB;AAAO,iCAAA;;;AAKnE,sCAAAJ,cAAA,CAACS,eAAQW,OAAO,EAAA;AACd,4BAAA,QAAA,gBAAAtB,eAAA,CAACuB,iBAAAA,EAAAA;gCAAKC,SAAAA,EAAU,QAAA;gCAASC,UAAAA,EAAW,SAAA;gCAAUC,GAAAA,EAAK,CAAA;;kDACjD1B,eAAA,CAACuB,iBAAAA,EAAAA;wCACCC,SAAAA,EAAU,QAAA;wCACVC,UAAAA,EAAW,SAAA;wCACXC,GAAAA,EAAK,CAAA;wCACLC,SAAS,EAAA,IAAA;wCACTC,UAAAA,EAAW,UAAA;wCACXC,MAAAA,EAAO,aAAA;wCACPC,UAAAA,EAAY,CAAA;wCACZC,aAAAA,EAAe,CAAA;wCACfC,YAAAA,EAAc,CAAA;wCACdC,WAAAA,EAAa,CAAA;;0DAEb/B,cAAA,CAACgC,uBAAAA,EAAAA;gDAAWC,OAAAA,EAAQ,OAAA;gDAAQC,GAAAA,EAAI,IAAA;0DAC7BrF,aAAAA,CAAc;oDACbsD,EAAAA,EAAI,gBAAA;oDACJC,cAAAA,EAAgB;AAClB,iDAAA;;AAGF,0DAAAN,eAAA,CAACqC,kBAAKC,IAAI,EAAA;gDAACZ,GAAAA,EAAK,CAAA;gDAAGU,GAAAA,EAAI,IAAA;;AACrB,kEAAApC,eAAA,CAACqC,kBAAKE,IAAI,EAAA;wDAACC,GAAAA,EAAK,CAAA;wDAAGC,EAAAA,EAAI,EAAA;wDAAIjB,SAAAA,EAAU,QAAA;wDAASC,UAAAA,EAAW,OAAA;;0EACvDvB,cAAA,CAACgC,uBAAAA,EAAAA;gEAAWC,OAAAA,EAAQ,OAAA;gEAAQO,SAAAA,EAAU,YAAA;gEAAaN,GAAAA,EAAI,IAAA;0EACpDrF,aAAAA,CAAc;oEACbsD,EAAAA,EAAI,oCAAA;oEACJC,cAAAA,EAAgB;AAClB,iEAAA;;0EAEFN,eAAA,CAACuB,iBAAAA,EAAAA;gEAAKG,GAAAA,EAAK,CAAA;gEAAGF,SAAAA,EAAU,QAAA;gEAASC,UAAAA,EAAW,OAAA;gEAAQW,GAAAA,EAAI,IAAA;;kFACtDpC,eAAA,CAACkC,uBAAAA,EAAAA;;AAAW,4EAAA,GAAA;AAAE7D,4EAAAA;;;AACbD,oEAAAA,kBAAAA,kBACC8B,cAAA,CAACyC,iBAAAA,EAAAA;wEACCC,IAAAA,EAAM,CAAC,8CAA8C,EAAE1E,sBAAAA,CAAAA,CAAwB;AAC/E2E,wEAAAA,OAAAA,gBAAS3C,cAAA,CAAC4C,kBAAAA,EAAAA,EAAAA,CAAAA;kFAET/F,aAAAA,CAAc;4EACbsD,EAAAA,EAAI,mCAAA;4EACJC,cAAAA,EAAgB;AAClB,yEAAA;;;;;;AAKR,kEAAAN,eAAA,CAACqC,kBAAKE,IAAI,EAAA;wDAACC,GAAAA,EAAK,CAAA;wDAAGC,EAAAA,EAAI,EAAA;wDAAIjB,SAAAA,EAAU,QAAA;wDAASC,UAAAA,EAAW,OAAA;;0EACvDvB,cAAA,CAACgC,uBAAAA,EAAAA;gEAAWC,OAAAA,EAAQ,OAAA;gEAAQO,SAAAA,EAAU,YAAA;gEAAaN,GAAAA,EAAI,IAAA;0EACpDrF,aAAAA,CAAc;oEACbsD,EAAAA,EAAI,oCAAA;oEACJC,cAAAA,EAAgB;AAClB,iEAAA;;0EAEFN,eAAA,CAACuB,iBAAAA,EAAAA;gEAAKG,GAAAA,EAAK,CAAA;gEAAGF,SAAAA,EAAU,QAAA;gEAASC,UAAAA,EAAW,OAAA;gEAAQW,GAAAA,EAAI,IAAA;;kFACtDlC,cAAA,CAACgC,uBAAAA,EAAAA;kFACEnF,aAAAA,CACC;4EACEsD,EAAAA,EAAI,+BAAA;4EACJC,cAAAA,EACE;yEACJ,EACA;AAAEvC,4EAAAA;AAAiB,yEAAA;;kFAGvBmC,cAAA,CAACyC,iBAAAA,EAAAA;wEAAKC,IAAAA,EAAK,uCAAA;AAAwCC,wEAAAA,OAAAA,gBAAS3C,cAAA,CAAC4C,kBAAAA,EAAAA,EAAAA,CAAAA;kFAC1D/F,aAAAA,CAAc;4EACbsD,EAAAA,EAAI,mCAAA;4EACJC,cAAAA,EAAgB;AAClB,yEAAA;;;;;;AAKN,kEAAAN,eAAA,CAACqC,kBAAKE,IAAI,EAAA;wDAACC,GAAAA,EAAK,CAAA;wDAAGC,EAAAA,EAAI,EAAA;wDAAIjB,SAAAA,EAAU,QAAA;wDAASC,UAAAA,EAAW,OAAA;;0EACvDvB,cAAA,CAACgC,uBAAAA,EAAAA;gEAAWC,OAAAA,EAAQ,OAAA;gEAAQO,SAAAA,EAAU,YAAA;gEAAaN,GAAAA,EAAI,IAAA;0EACpDrF,aAAAA,CAAc;oEACbsD,EAAAA,EAAI,mCAAA;oEACJC,cAAAA,EAAgB;AAClB,iEAAA;;0EAEFJ,cAAA,CAACgC,uBAAAA,EAAAA;gEAAWE,GAAAA,EAAI,IAAA;AAAMjE,gEAAAA,QAAAA,EAAAA;;;;kEAExB+B,cAAA,CAAC5B,aAAAA,EAAAA,EAAAA,CAAAA;kEACD4B,cAAA,CAACpB,WAAAA,EAAAA,EAAAA;;;;;AAGJG,oCAAAA,OAAAA,kBACCe,eAAA,CAAC+C,gBAAAA,EAAAA;wCACCpB,SAAS,EAAA,IAAA;wCACTC,UAAAA,EAAW,UAAA;wCACXC,MAAAA,EAAO,aAAA;wCACPC,UAAAA,EAAY,CAAA;wCACZC,aAAAA,EAAe,CAAA;wCACfC,YAAAA,EAAc,CAAA;wCACdC,WAAAA,EAAa,CAAA;;0DAEb/B,cAAA,CAACgC,uBAAAA,EAAAA;gDAAWC,OAAAA,EAAQ,OAAA;gDAAQC,GAAAA,EAAI,IAAA;0DAC7BrF,aAAAA,CAAc;oDACbsD,EAAAA,EAAI,oCAAA;oDACJC,cAAAA,EAAgB;AAClB,iDAAA;;0DAEFJ,cAAA,CAACgC,uBAAAA,EAAAA;gDAAWC,OAAAA,EAAQ,IAAA;gDAAKO,SAAAA,EAAU,YAAA;0DAChC3F,aAAAA,CACC;oDACEsD,EAAAA,EAAI,iDAAA;oDACJC,cAAAA,EACE;iDACJ,EACA;oDAAE0C,SAAAA,EAAWC,mBAAAA;oDAAWC,IAAAA,EAAMC;AAAK,iDAAA;;AAGvC,0DAAAnD,eAAA,CAACqC,kBAAKC,IAAI,EAAA;gDAACR,UAAAA,EAAY,CAAA;gDAAGJ,GAAAA,EAAK,CAAA;;AAC7B,kEAAAxB,cAAA,CAACmC,kBAAKE,IAAI,EAAA;wDAACC,GAAAA,EAAK,CAAA;wDAAGC,EAAAA,EAAI,EAAA;wDAAIjB,SAAAA,EAAU,QAAA;wDAASC,UAAAA,EAAW,SAAA;AACvD,wDAAA,QAAA,gBAAAvB,cAAA,CAACkD,mBAAAA,EAAAA;4DACClE,SAAAA,EAAWA,SAAAA;4DACXmE,UAAAA,EAAYlG,KAAAA,CAAMO,IAAI,CAAC8B,MAAM;4DAC7B8D,WAAAA,EAAanG,KAAAA,CAAMO,IAAI,CAAC6F,OAAO;AAC/BC,4DAAAA,IAAAA,EAAMzG,aAAAA,CAAc;gEAClBsD,EAAAA,EAAI,4DAAA;gEACJC,cAAAA,EAAgB;AAClB,6DAAA,CAAA;AACAmD,4DAAAA,KAAAA,EAAO1G,aAAAA,CAAc;gEACnBsD,EAAAA,EAAI,6DAAA;gEACJC,cAAAA,EAAgB;AAClB,6DAAA,CAAA;AACAoD,4DAAAA,YAAAA,EAAchE,gBAAAA,CAAiB,MAAA;;;AAGnC,kEAAAQ,cAAA,CAACmC,kBAAKE,IAAI,EAAA;wDAACC,GAAAA,EAAK,CAAA;wDAAGC,EAAAA,EAAI,EAAA;wDAAIjB,SAAAA,EAAU,QAAA;wDAASC,UAAAA,EAAW,SAAA;AACvD,wDAAA,QAAA,gBAAAvB,cAAA,CAACkD,mBAAAA,EAAAA;4DACClE,SAAAA,EAAWA,SAAAA;4DACXmE,UAAAA,EAAYlG,KAAAA,CAAMQ,IAAI,CAAC6B,MAAM;4DAC7B8D,WAAAA,EAAanG,KAAAA,CAAMQ,IAAI,CAAC4F,OAAO;AAC/BC,4DAAAA,IAAAA,EAAMzG,aAAAA,CAAc;gEAClBsD,EAAAA,EAAI,4DAAA;gEACJC,cAAAA,EAAgB;AAClB,6DAAA,CAAA;AACAmD,4DAAAA,KAAAA,EAAO1G,aAAAA,CAAc;gEACnBsD,EAAAA,EAAI,6DAAA;gEACJC,cAAAA,EAAgB;AAClB,6DAAA,CAAA;AACAoD,4DAAAA,YAAAA,EAAchE,gBAAAA,CAAiB,MAAA;;;;;;;;;;;;;;;AAYvD;;;;"}
1
+ {"version":3,"file":"ApplicationInfoPage.js","sources":["../../../../../../../../admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Link, Typography } from '@strapi/design-system';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useAppInfo } from '../../../../features/AppInfo';\nimport { useConfiguration } from '../../../../features/Configuration';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useFetchClient } from '../../../../hooks/useFetchClient';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { LogoInput, LogoInputProps } from './components/LogoInput';\nimport { DIMENSION, SIZE } from './utils/constants';\n\nconst AdminSeatInfoCE = () => null;\nconst AIUageDataCE = () => null;\n\n/* -------------------------------------------------------------------------------------------------\n * ApplicationInfoPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ApplicationInfoPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { get } = useFetchClient();\n const { logos: serverLogos, updateProjectSettings } = useConfiguration('ApplicationInfoPage');\n const [logos, setLogos] = React.useState({ menu: serverLogos.menu, auth: serverLogos.auth });\n const { settings } = useSelector(selectAdminPermissions);\n\n const communityEdition = useAppInfo('ApplicationInfoPage', (state) => state.communityEdition);\n const latestStrapiReleaseTag = useAppInfo(\n 'ApplicationInfoPage',\n (state) => state.latestStrapiReleaseTag\n );\n const nodeVersion = useAppInfo('ApplicationInfoPage', (state) => state.nodeVersion);\n const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state) => state.shouldUpdateStrapi);\n const strapiVersion = useAppInfo('ApplicationInfoPage', (state) => state.strapiVersion);\n\n const AdminSeatInfo = useEnterprise(\n AdminSeatInfoCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo'\n )\n ).AdminSeatInfoEE\n );\n const isAiEnabled = window.strapi.ai?.enabled !== false;\n const AIUsageData = useEnterprise(\n AIUageDataCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage'\n )\n ).AIUsage,\n {\n enabled: isAiEnabled,\n }\n );\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(settings ? settings['project-settings'] : {});\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {\n e.preventDefault();\n\n updateProjectSettings({\n authLogo: logos.auth.custom ?? null,\n menuLogo: logos.menu.custom ?? null,\n });\n };\n\n const handleChangeLogo =\n (logo: 'menu' | 'auth'): LogoInputProps['onChangeLogo'] =>\n (newLogo) => {\n /**\n * If there's no newLogo value we can assume we're reseting.\n */\n if (newLogo === null) {\n trackUsage('didClickResetLogo', {\n logo,\n });\n }\n\n setLogos((prev) => ({\n ...prev,\n [logo]: {\n ...prev[logo],\n custom: newLogo,\n },\n }));\n };\n\n React.useEffect(() => {\n setLogos({\n menu: serverLogos.menu,\n auth: serverLogos.auth,\n });\n }, [serverLogos]);\n\n // block rendering until the EE component is fully loaded\n if (!AdminSeatInfo) {\n return null;\n }\n\n if (!AIUsageData) {\n return null;\n }\n\n const isSaveDisabled =\n logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;\n\n return (\n <>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'Settings.application.header',\n defaultMessage: 'Application',\n }),\n }\n )}\n </Page.Title>\n <Page.Main>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.application.title',\n defaultMessage: 'Overview',\n })}\n subtitle={formatMessage({\n id: 'Settings.application.description',\n defaultMessage: 'Administration panel’s global information',\n })}\n primaryAction={\n canUpdate && (\n <Button disabled={isSaveDisabled} type=\"submit\" startIcon={<Check />} fullWidth>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n )\n }\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n\n <Grid.Root gap={5} tag=\"dl\">\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.strapiVersion',\n defaultMessage: 'strapi version',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>v{strapiVersion}</Typography>\n {shouldUpdateStrapi && (\n <Link\n href={`https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`}\n endIcon={<ExternalLink />}\n target=\"_blank\"\n >\n {formatMessage({\n id: 'Settings.application.link-upgrade',\n defaultMessage: 'Upgrade your admin panel',\n })}\n </Link>\n )}\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.edition-title',\n defaultMessage: 'current edition',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>\n {formatMessage(\n {\n id: 'Settings.application.ee-or-ce',\n defaultMessage:\n '{communityEdition, select, true {Community Edition} other {Enterprise Edition}}',\n },\n { communityEdition }\n )}\n </Typography>\n <Link\n href=\"https://strapi.io/pricing-self-hosted\"\n endIcon={<ExternalLink />}\n target=\"_blank\"\n >\n {formatMessage({\n id: 'Settings.application.link-pricing',\n defaultMessage: 'See all pricing plans',\n })}\n </Link>\n </Flex>\n </Grid.Item>\n\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.node-version',\n defaultMessage: 'node version',\n })}\n </Typography>\n <Typography tag=\"dd\">{nodeVersion}</Typography>\n </Grid.Item>\n <AdminSeatInfo />\n <AIUsageData />\n </Grid.Root>\n </Flex>\n {canRead && (\n <Box\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.application.customization',\n defaultMessage: 'Customization',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.size-details',\n defaultMessage:\n 'Max dimension: {dimension}×{dimension}, Max file size: {size}KB',\n },\n { dimension: DIMENSION, size: SIZE }\n )}\n </Typography>\n <Grid.Root paddingTop={4} gap={4}>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.menu.custom}\n defaultLogo={logos.menu.default}\n hint={formatMessage({\n id: 'Settings.application.customization.menu-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the main navigation',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.menu-logo.title',\n defaultMessage: 'Menu logo',\n })}\n onChangeLogo={handleChangeLogo('menu')}\n />\n </Grid.Item>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.auth.custom}\n defaultLogo={logos.auth.default}\n hint={formatMessage({\n id: 'Settings.application.customization.auth-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the authentication pages',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.auth-logo.title',\n defaultMessage: 'Auth logo',\n })}\n onChangeLogo={handleChangeLogo('auth')}\n />\n </Grid.Item>\n </Grid.Root>\n </Box>\n )}\n </Flex>\n </Layouts.Content>\n </form>\n </Page.Main>\n </>\n );\n};\n\nexport { ApplicationInfoPage };\n"],"names":["AdminSeatInfoCE","AIUageDataCE","ApplicationInfoPage","trackUsage","useTracking","formatMessage","useIntl","get","useFetchClient","logos","serverLogos","updateProjectSettings","useConfiguration","setLogos","React","useState","menu","auth","settings","useSelector","selectAdminPermissions","communityEdition","useAppInfo","state","latestStrapiReleaseTag","nodeVersion","shouldUpdateStrapi","strapiVersion","AdminSeatInfo","useEnterprise","AdminSeatInfoEE","isAiEnabled","window","strapi","ai","enabled","AIUsageData","AIUsage","allowedActions","canRead","canUpdate","useRBAC","handleSubmit","e","preventDefault","authLogo","custom","menuLogo","handleChangeLogo","logo","newLogo","prev","useEffect","isSaveDisabled","_jsxs","_Fragment","_jsx","Page","Title","id","defaultMessage","name","Main","form","onSubmit","Layouts","Header","title","subtitle","primaryAction","Button","disabled","type","startIcon","Check","fullWidth","Content","Flex","direction","alignItems","gap","hasRadius","background","shadow","paddingTop","paddingBottom","paddingRight","paddingLeft","Typography","variant","tag","Grid","Root","Item","col","xs","textColor","Link","href","endIcon","ExternalLink","target","Box","dimension","DIMENSION","size","SIZE","LogoInput","customLogo","defaultLogo","default","hint","label","onChangeLogo"],"mappings":"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"}
@@ -177,6 +177,7 @@ const AIUageDataCE = ()=>null;
177
177
  shouldUpdateStrapi && /*#__PURE__*/ jsx(Link, {
178
178
  href: `https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`,
179
179
  endIcon: /*#__PURE__*/ jsx(ExternalLink, {}),
180
+ target: "_blank",
180
181
  children: formatMessage({
181
182
  id: 'Settings.application.link-upgrade',
182
183
  defaultMessage: 'Upgrade your admin panel'
@@ -218,6 +219,7 @@ const AIUageDataCE = ()=>null;
218
219
  /*#__PURE__*/ jsx(Link, {
219
220
  href: "https://strapi.io/pricing-self-hosted",
220
221
  endIcon: /*#__PURE__*/ jsx(ExternalLink, {}),
222
+ target: "_blank",
221
223
  children: formatMessage({
222
224
  id: 'Settings.application.link-pricing',
223
225
  defaultMessage: 'See all pricing plans'
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationInfoPage.mjs","sources":["../../../../../../../../admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Link, Typography } from '@strapi/design-system';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useAppInfo } from '../../../../features/AppInfo';\nimport { useConfiguration } from '../../../../features/Configuration';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useFetchClient } from '../../../../hooks/useFetchClient';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { LogoInput, LogoInputProps } from './components/LogoInput';\nimport { DIMENSION, SIZE } from './utils/constants';\n\nconst AdminSeatInfoCE = () => null;\nconst AIUageDataCE = () => null;\n\n/* -------------------------------------------------------------------------------------------------\n * ApplicationInfoPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ApplicationInfoPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { get } = useFetchClient();\n const { logos: serverLogos, updateProjectSettings } = useConfiguration('ApplicationInfoPage');\n const [logos, setLogos] = React.useState({ menu: serverLogos.menu, auth: serverLogos.auth });\n const { settings } = useSelector(selectAdminPermissions);\n\n const communityEdition = useAppInfo('ApplicationInfoPage', (state) => state.communityEdition);\n const latestStrapiReleaseTag = useAppInfo(\n 'ApplicationInfoPage',\n (state) => state.latestStrapiReleaseTag\n );\n const nodeVersion = useAppInfo('ApplicationInfoPage', (state) => state.nodeVersion);\n const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state) => state.shouldUpdateStrapi);\n const strapiVersion = useAppInfo('ApplicationInfoPage', (state) => state.strapiVersion);\n\n const AdminSeatInfo = useEnterprise(\n AdminSeatInfoCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo'\n )\n ).AdminSeatInfoEE\n );\n const isAiEnabled = window.strapi.ai?.enabled !== false;\n const AIUsageData = useEnterprise(\n AIUageDataCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage'\n )\n ).AIUsage,\n {\n enabled: isAiEnabled,\n }\n );\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(settings ? settings['project-settings'] : {});\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {\n e.preventDefault();\n\n updateProjectSettings({\n authLogo: logos.auth.custom ?? null,\n menuLogo: logos.menu.custom ?? null,\n });\n };\n\n const handleChangeLogo =\n (logo: 'menu' | 'auth'): LogoInputProps['onChangeLogo'] =>\n (newLogo) => {\n /**\n * If there's no newLogo value we can assume we're reseting.\n */\n if (newLogo === null) {\n trackUsage('didClickResetLogo', {\n logo,\n });\n }\n\n setLogos((prev) => ({\n ...prev,\n [logo]: {\n ...prev[logo],\n custom: newLogo,\n },\n }));\n };\n\n React.useEffect(() => {\n setLogos({\n menu: serverLogos.menu,\n auth: serverLogos.auth,\n });\n }, [serverLogos]);\n\n // block rendering until the EE component is fully loaded\n if (!AdminSeatInfo) {\n return null;\n }\n\n if (!AIUsageData) {\n return null;\n }\n\n const isSaveDisabled =\n logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;\n\n return (\n <>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'Settings.application.header',\n defaultMessage: 'Application',\n }),\n }\n )}\n </Page.Title>\n <Page.Main>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.application.title',\n defaultMessage: 'Overview',\n })}\n subtitle={formatMessage({\n id: 'Settings.application.description',\n defaultMessage: 'Administration panel’s global information',\n })}\n primaryAction={\n canUpdate && (\n <Button disabled={isSaveDisabled} type=\"submit\" startIcon={<Check />} fullWidth>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n )\n }\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n\n <Grid.Root gap={5} tag=\"dl\">\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.strapiVersion',\n defaultMessage: 'strapi version',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>v{strapiVersion}</Typography>\n {shouldUpdateStrapi && (\n <Link\n href={`https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`}\n endIcon={<ExternalLink />}\n >\n {formatMessage({\n id: 'Settings.application.link-upgrade',\n defaultMessage: 'Upgrade your admin panel',\n })}\n </Link>\n )}\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.edition-title',\n defaultMessage: 'current edition',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>\n {formatMessage(\n {\n id: 'Settings.application.ee-or-ce',\n defaultMessage:\n '{communityEdition, select, true {Community Edition} other {Enterprise Edition}}',\n },\n { communityEdition }\n )}\n </Typography>\n <Link href=\"https://strapi.io/pricing-self-hosted\" endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'Settings.application.link-pricing',\n defaultMessage: 'See all pricing plans',\n })}\n </Link>\n </Flex>\n </Grid.Item>\n\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.node-version',\n defaultMessage: 'node version',\n })}\n </Typography>\n <Typography tag=\"dd\">{nodeVersion}</Typography>\n </Grid.Item>\n <AdminSeatInfo />\n <AIUsageData />\n </Grid.Root>\n </Flex>\n {canRead && (\n <Box\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.application.customization',\n defaultMessage: 'Customization',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.size-details',\n defaultMessage:\n 'Max dimension: {dimension}×{dimension}, Max file size: {size}KB',\n },\n { dimension: DIMENSION, size: SIZE }\n )}\n </Typography>\n <Grid.Root paddingTop={4} gap={4}>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.menu.custom}\n defaultLogo={logos.menu.default}\n hint={formatMessage({\n id: 'Settings.application.customization.menu-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the main navigation',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.menu-logo.title',\n defaultMessage: 'Menu logo',\n })}\n onChangeLogo={handleChangeLogo('menu')}\n />\n </Grid.Item>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.auth.custom}\n defaultLogo={logos.auth.default}\n hint={formatMessage({\n id: 'Settings.application.customization.auth-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the authentication pages',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.auth-logo.title',\n defaultMessage: 'Auth logo',\n })}\n onChangeLogo={handleChangeLogo('auth')}\n />\n </Grid.Item>\n </Grid.Root>\n </Box>\n )}\n </Flex>\n </Layouts.Content>\n </form>\n </Page.Main>\n </>\n );\n};\n\nexport { ApplicationInfoPage };\n"],"names":["AdminSeatInfoCE","AIUageDataCE","ApplicationInfoPage","trackUsage","useTracking","formatMessage","useIntl","get","useFetchClient","logos","serverLogos","updateProjectSettings","useConfiguration","setLogos","React","useState","menu","auth","settings","useSelector","selectAdminPermissions","communityEdition","useAppInfo","state","latestStrapiReleaseTag","nodeVersion","shouldUpdateStrapi","strapiVersion","AdminSeatInfo","useEnterprise","AdminSeatInfoEE","isAiEnabled","window","strapi","ai","enabled","AIUsageData","AIUsage","allowedActions","canRead","canUpdate","useRBAC","handleSubmit","e","preventDefault","authLogo","custom","menuLogo","handleChangeLogo","logo","newLogo","prev","useEffect","isSaveDisabled","_jsxs","_Fragment","_jsx","Page","Title","id","defaultMessage","name","Main","form","onSubmit","Layouts","Header","title","subtitle","primaryAction","Button","disabled","type","startIcon","Check","fullWidth","Content","Flex","direction","alignItems","gap","hasRadius","background","shadow","paddingTop","paddingBottom","paddingRight","paddingLeft","Typography","variant","tag","Grid","Root","Item","col","xs","textColor","Link","href","endIcon","ExternalLink","Box","dimension","DIMENSION","size","SIZE","LogoInput","customLogo","defaultLogo","default","hint","label","onChangeLogo"],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationInfoPage.mjs","sources":["../../../../../../../../admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Link, Typography } from '@strapi/design-system';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useAppInfo } from '../../../../features/AppInfo';\nimport { useConfiguration } from '../../../../features/Configuration';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useFetchClient } from '../../../../hooks/useFetchClient';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { LogoInput, LogoInputProps } from './components/LogoInput';\nimport { DIMENSION, SIZE } from './utils/constants';\n\nconst AdminSeatInfoCE = () => null;\nconst AIUageDataCE = () => null;\n\n/* -------------------------------------------------------------------------------------------------\n * ApplicationInfoPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ApplicationInfoPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { get } = useFetchClient();\n const { logos: serverLogos, updateProjectSettings } = useConfiguration('ApplicationInfoPage');\n const [logos, setLogos] = React.useState({ menu: serverLogos.menu, auth: serverLogos.auth });\n const { settings } = useSelector(selectAdminPermissions);\n\n const communityEdition = useAppInfo('ApplicationInfoPage', (state) => state.communityEdition);\n const latestStrapiReleaseTag = useAppInfo(\n 'ApplicationInfoPage',\n (state) => state.latestStrapiReleaseTag\n );\n const nodeVersion = useAppInfo('ApplicationInfoPage', (state) => state.nodeVersion);\n const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state) => state.shouldUpdateStrapi);\n const strapiVersion = useAppInfo('ApplicationInfoPage', (state) => state.strapiVersion);\n\n const AdminSeatInfo = useEnterprise(\n AdminSeatInfoCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo'\n )\n ).AdminSeatInfoEE\n );\n const isAiEnabled = window.strapi.ai?.enabled !== false;\n const AIUsageData = useEnterprise(\n AIUageDataCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage'\n )\n ).AIUsage,\n {\n enabled: isAiEnabled,\n }\n );\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(settings ? settings['project-settings'] : {});\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {\n e.preventDefault();\n\n updateProjectSettings({\n authLogo: logos.auth.custom ?? null,\n menuLogo: logos.menu.custom ?? null,\n });\n };\n\n const handleChangeLogo =\n (logo: 'menu' | 'auth'): LogoInputProps['onChangeLogo'] =>\n (newLogo) => {\n /**\n * If there's no newLogo value we can assume we're reseting.\n */\n if (newLogo === null) {\n trackUsage('didClickResetLogo', {\n logo,\n });\n }\n\n setLogos((prev) => ({\n ...prev,\n [logo]: {\n ...prev[logo],\n custom: newLogo,\n },\n }));\n };\n\n React.useEffect(() => {\n setLogos({\n menu: serverLogos.menu,\n auth: serverLogos.auth,\n });\n }, [serverLogos]);\n\n // block rendering until the EE component is fully loaded\n if (!AdminSeatInfo) {\n return null;\n }\n\n if (!AIUsageData) {\n return null;\n }\n\n const isSaveDisabled =\n logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;\n\n return (\n <>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'Settings.application.header',\n defaultMessage: 'Application',\n }),\n }\n )}\n </Page.Title>\n <Page.Main>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.application.title',\n defaultMessage: 'Overview',\n })}\n subtitle={formatMessage({\n id: 'Settings.application.description',\n defaultMessage: 'Administration panel’s global information',\n })}\n primaryAction={\n canUpdate && (\n <Button disabled={isSaveDisabled} type=\"submit\" startIcon={<Check />} fullWidth>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n )\n }\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n\n <Grid.Root gap={5} tag=\"dl\">\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.strapiVersion',\n defaultMessage: 'strapi version',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>v{strapiVersion}</Typography>\n {shouldUpdateStrapi && (\n <Link\n href={`https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`}\n endIcon={<ExternalLink />}\n target=\"_blank\"\n >\n {formatMessage({\n id: 'Settings.application.link-upgrade',\n defaultMessage: 'Upgrade your admin panel',\n })}\n </Link>\n )}\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.edition-title',\n defaultMessage: 'current edition',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>\n {formatMessage(\n {\n id: 'Settings.application.ee-or-ce',\n defaultMessage:\n '{communityEdition, select, true {Community Edition} other {Enterprise Edition}}',\n },\n { communityEdition }\n )}\n </Typography>\n <Link\n href=\"https://strapi.io/pricing-self-hosted\"\n endIcon={<ExternalLink />}\n target=\"_blank\"\n >\n {formatMessage({\n id: 'Settings.application.link-pricing',\n defaultMessage: 'See all pricing plans',\n })}\n </Link>\n </Flex>\n </Grid.Item>\n\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.node-version',\n defaultMessage: 'node version',\n })}\n </Typography>\n <Typography tag=\"dd\">{nodeVersion}</Typography>\n </Grid.Item>\n <AdminSeatInfo />\n <AIUsageData />\n </Grid.Root>\n </Flex>\n {canRead && (\n <Box\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.application.customization',\n defaultMessage: 'Customization',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.size-details',\n defaultMessage:\n 'Max dimension: {dimension}×{dimension}, Max file size: {size}KB',\n },\n { dimension: DIMENSION, size: SIZE }\n )}\n </Typography>\n <Grid.Root paddingTop={4} gap={4}>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.menu.custom}\n defaultLogo={logos.menu.default}\n hint={formatMessage({\n id: 'Settings.application.customization.menu-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the main navigation',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.menu-logo.title',\n defaultMessage: 'Menu logo',\n })}\n onChangeLogo={handleChangeLogo('menu')}\n />\n </Grid.Item>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.auth.custom}\n defaultLogo={logos.auth.default}\n hint={formatMessage({\n id: 'Settings.application.customization.auth-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the authentication pages',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.auth-logo.title',\n defaultMessage: 'Auth logo',\n })}\n onChangeLogo={handleChangeLogo('auth')}\n />\n </Grid.Item>\n </Grid.Root>\n </Box>\n )}\n </Flex>\n </Layouts.Content>\n </form>\n </Page.Main>\n </>\n );\n};\n\nexport { ApplicationInfoPage };\n"],"names":["AdminSeatInfoCE","AIUageDataCE","ApplicationInfoPage","trackUsage","useTracking","formatMessage","useIntl","get","useFetchClient","logos","serverLogos","updateProjectSettings","useConfiguration","setLogos","React","useState","menu","auth","settings","useSelector","selectAdminPermissions","communityEdition","useAppInfo","state","latestStrapiReleaseTag","nodeVersion","shouldUpdateStrapi","strapiVersion","AdminSeatInfo","useEnterprise","AdminSeatInfoEE","isAiEnabled","window","strapi","ai","enabled","AIUsageData","AIUsage","allowedActions","canRead","canUpdate","useRBAC","handleSubmit","e","preventDefault","authLogo","custom","menuLogo","handleChangeLogo","logo","newLogo","prev","useEffect","isSaveDisabled","_jsxs","_Fragment","_jsx","Page","Title","id","defaultMessage","name","Main","form","onSubmit","Layouts","Header","title","subtitle","primaryAction","Button","disabled","type","startIcon","Check","fullWidth","Content","Flex","direction","alignItems","gap","hasRadius","background","shadow","paddingTop","paddingBottom","paddingRight","paddingLeft","Typography","variant","tag","Grid","Root","Item","col","xs","textColor","Link","href","endIcon","ExternalLink","target","Box","dimension","DIMENSION","size","SIZE","LogoInput","customLogo","defaultLogo","default","hint","label","onChangeLogo"],"mappings":"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"}
@@ -598,7 +598,7 @@ var ar = {
598
598
  "Settings.application.description": "المعلومات العالمية للوحة الإدارة",
599
599
  "Settings.application.edition-title": "الإصدار الحالي",
600
600
  "Settings.application.ee-or-ce": "{communityEdition، select، true {Community Edition} أخرى {Enterprise Edition}}",
601
- "Settings.application.ee.admin-seats.add-seats": "إدارة المقاعد",
601
+ "Settings.application.ee.admin-seats.add-seats": "إدارة الاشتراك",
602
602
  "Settings.application.ee.admin-seats.support": "اتصل بالمبيعات",
603
603
  "Settings.application.ee.admin-seats.at-limit-tooltip": "عند الحد: أضف مقاعد لدعوة المزيد من المستخدمين",
604
604
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
@@ -594,7 +594,7 @@ var ar = {
594
594
  "Settings.application.description": "المعلومات العالمية للوحة الإدارة",
595
595
  "Settings.application.edition-title": "الإصدار الحالي",
596
596
  "Settings.application.ee-or-ce": "{communityEdition، select، true {Community Edition} أخرى {Enterprise Edition}}",
597
- "Settings.application.ee.admin-seats.add-seats": "إدارة المقاعد",
597
+ "Settings.application.ee.admin-seats.add-seats": "إدارة الاشتراك",
598
598
  "Settings.application.ee.admin-seats.support": "اتصل بالمبيعات",
599
599
  "Settings.application.ee.admin-seats.at-limit-tooltip": "عند الحد: أضف مقاعد لدعوة المزيد من المستخدمين",
600
600
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
@@ -159,7 +159,7 @@ var cs = {
159
159
  "Settings.application.description": "Globální informace administračního panelu",
160
160
  "Settings.application.edition-title": "aktuální edice",
161
161
  "Settings.application.ee-or-ce": "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}",
162
- "Settings.application.ee.admin-seats.add-seats": "Spravovat místa",
162
+ "Settings.application.ee.admin-seats.add-seats": "Spravovat předplatné",
163
163
  "Settings.application.ee.admin-seats.support": "Kontaktovat obchod",
164
164
  "Settings.application.ee.admin-seats.at-limit-tooltip": "Na limitu: přidejte místa pro pozvání dalších uživatelů",
165
165
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
@@ -155,7 +155,7 @@ var cs = {
155
155
  "Settings.application.description": "Globální informace administračního panelu",
156
156
  "Settings.application.edition-title": "aktuální edice",
157
157
  "Settings.application.ee-or-ce": "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}",
158
- "Settings.application.ee.admin-seats.add-seats": "Spravovat místa",
158
+ "Settings.application.ee.admin-seats.add-seats": "Spravovat předplatné",
159
159
  "Settings.application.ee.admin-seats.support": "Kontaktovat obchod",
160
160
  "Settings.application.ee.admin-seats.at-limit-tooltip": "Na limitu: přidejte místa pro pozvání dalších uživatelů",
161
161
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
@@ -156,7 +156,7 @@ var de = {
156
156
  "Settings.application.description": "Globale Informationen über die Administrationsoberfläche",
157
157
  "Settings.application.edition-title": "Aktuelle Version",
158
158
  "Settings.application.ee-or-ce": "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}",
159
- "Settings.application.ee.admin-seats.add-seats": "{isHostedOnStrapiCloud, select, true {Sitze hinzufügen} other {Vertrieb kontaktieren}}",
159
+ "Settings.application.ee.admin-seats.add-seats": "Abonnement verwalten",
160
160
  "Settings.application.ee.admin-seats.support": "Vertrieb kontaktieren",
161
161
  "Settings.application.ee.admin-seats.at-limit-tooltip": "Am Limit: Sitze hinzufügen, um mehr Benutzer einzuladen",
162
162
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
@@ -152,7 +152,7 @@ var de = {
152
152
  "Settings.application.description": "Globale Informationen über die Administrationsoberfläche",
153
153
  "Settings.application.edition-title": "Aktuelle Version",
154
154
  "Settings.application.ee-or-ce": "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}",
155
- "Settings.application.ee.admin-seats.add-seats": "{isHostedOnStrapiCloud, select, true {Sitze hinzufügen} other {Vertrieb kontaktieren}}",
155
+ "Settings.application.ee.admin-seats.add-seats": "Abonnement verwalten",
156
156
  "Settings.application.ee.admin-seats.support": "Vertrieb kontaktieren",
157
157
  "Settings.application.ee.admin-seats.at-limit-tooltip": "Am Limit: Sitze hinzufügen, um mehr Benutzer einzuladen",
158
158
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
@@ -168,7 +168,7 @@ var en = {
168
168
  "Settings.application.description": "Administration panel’s global information",
169
169
  "Settings.application.edition-title": "current edition",
170
170
  "Settings.application.ee-or-ce": "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}",
171
- "Settings.application.ee.admin-seats.add-seats": "Manage seats",
171
+ "Settings.application.ee.admin-seats.add-seats": "Manage subscription",
172
172
  "Settings.application.ee.admin-seats.support": "Contact sales",
173
173
  "Settings.application.ee.admin-seats.at-limit-tooltip": "At limit: add seats to invite more users",
174
174
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
@@ -164,7 +164,7 @@ var en = {
164
164
  "Settings.application.description": "Administration panel’s global information",
165
165
  "Settings.application.edition-title": "current edition",
166
166
  "Settings.application.ee-or-ce": "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}",
167
- "Settings.application.ee.admin-seats.add-seats": "Manage seats",
167
+ "Settings.application.ee.admin-seats.add-seats": "Manage subscription",
168
168
  "Settings.application.ee.admin-seats.support": "Contact sales",
169
169
  "Settings.application.ee.admin-seats.at-limit-tooltip": "At limit: add seats to invite more users",
170
170
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
@@ -158,7 +158,7 @@ var es = {
158
158
  "Settings.application.description": "Información global del panel de administración",
159
159
  "Settings.application.edition-title": "Edición actual",
160
160
  "Settings.application.ee-or-ce": "{communityEdition, select, true {Edición comunitaria} other {Edición Empresarial}}",
161
- "Settings.application.ee.admin-seats.add-seats": "{isHostedOnStrapiCloud, select, true {Añadir asientos} other {contactar con ventas}}",
161
+ "Settings.application.ee.admin-seats.add-seats": "Gestionar suscripción",
162
162
  "Settings.application.ee.admin-seats.at-limit-tooltip": "Al límite: añade más asientos para añadir más usuarios",
163
163
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
164
164
  "Settings.application.get-help": "Consigue ayuda",
@@ -154,7 +154,7 @@ var es = {
154
154
  "Settings.application.description": "Información global del panel de administración",
155
155
  "Settings.application.edition-title": "Edición actual",
156
156
  "Settings.application.ee-or-ce": "{communityEdition, select, true {Edición comunitaria} other {Edición Empresarial}}",
157
- "Settings.application.ee.admin-seats.add-seats": "{isHostedOnStrapiCloud, select, true {Añadir asientos} other {contactar con ventas}}",
157
+ "Settings.application.ee.admin-seats.add-seats": "Gestionar suscripción",
158
158
  "Settings.application.ee.admin-seats.at-limit-tooltip": "Al límite: añade más asientos para añadir más usuarios",
159
159
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
160
160
  "Settings.application.get-help": "Consigue ayuda",
@@ -156,7 +156,7 @@ var fi = {
156
156
  "Settings.application.description": "Hallintapaneelin yleiset tiedot",
157
157
  "Settings.application.edition-title": "nykyinen versio",
158
158
  "Settings.application.ee-or-ce": "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}",
159
- "Settings.application.ee.admin-seats.add-seats": "Hallinnoi paikkoja",
159
+ "Settings.application.ee.admin-seats.add-seats": "Hallinnoi tilausta",
160
160
  "Settings.application.ee.admin-seats.support": "Ota yhteyttä myyntiin",
161
161
  "Settings.application.ee.admin-seats.at-limit-tooltip": "Raja saavutettu: lisää paikkoja kutsuaksesi lisää käyttäjiä",
162
162
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
@@ -152,7 +152,7 @@ var fi = {
152
152
  "Settings.application.description": "Hallintapaneelin yleiset tiedot",
153
153
  "Settings.application.edition-title": "nykyinen versio",
154
154
  "Settings.application.ee-or-ce": "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}",
155
- "Settings.application.ee.admin-seats.add-seats": "Hallinnoi paikkoja",
155
+ "Settings.application.ee.admin-seats.add-seats": "Hallinnoi tilausta",
156
156
  "Settings.application.ee.admin-seats.support": "Ota yhteyttä myyntiin",
157
157
  "Settings.application.ee.admin-seats.at-limit-tooltip": "Raja saavutettu: lisää paikkoja kutsuaksesi lisää käyttäjiä",
158
158
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
@@ -154,7 +154,7 @@ var fr = {
154
154
  "Settings.tokens.ListView.headers.lastUsedAt": "Dernière utilisation",
155
155
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
156
156
  "Settings.application.ee.admin-seats.at-limit-tooltip": "Limite atteinte : ajouter des places pour inviter d'autres utilisateurs",
157
- "Settings.application.ee.admin-seats.add-seats": "Gérer les places",
157
+ "Settings.application.ee.admin-seats.add-seats": "Gérer l'abonnement",
158
158
  "Settings.application.ee.admin-seats.support": "Contacter le service clients",
159
159
  "Settings.application.customization": "Customisation",
160
160
  "Settings.application.customization.auth-logo.carousel-hint": "Remplacer le logo dans la page de connexion",
@@ -150,7 +150,7 @@ var fr = {
150
150
  "Settings.tokens.ListView.headers.lastUsedAt": "Dernière utilisation",
151
151
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
152
152
  "Settings.application.ee.admin-seats.at-limit-tooltip": "Limite atteinte : ajouter des places pour inviter d'autres utilisateurs",
153
- "Settings.application.ee.admin-seats.add-seats": "Gérer les places",
153
+ "Settings.application.ee.admin-seats.add-seats": "Gérer l'abonnement",
154
154
  "Settings.application.ee.admin-seats.support": "Contacter le service clients",
155
155
  "Settings.application.customization": "Customisation",
156
156
  "Settings.application.customization.auth-logo.carousel-hint": "Remplacer le logo dans la page de connexion",
@@ -158,7 +158,7 @@ var it = {
158
158
  "Settings.application.customization.size-details": "Dimensione massima: {dimension}x{dimension}, Peso massimo: {size}KB)",
159
159
  "Settings.application.edition-title": "Edizione attuale",
160
160
  "Settings.application.ee-or-ce": "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}",
161
- "Settings.application.ee.admin-seats.add-seats": "{isHostedOnStrapiCloud, select, true {Add seats} other {Contact sales}}",
161
+ "Settings.application.ee.admin-seats.add-seats": "Gestisci abbonamento",
162
162
  "Settings.application.ee.admin-seats.at-limit-tooltip": "Limite raggiunto: aggiungi altri posti per invitare più utenti",
163
163
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
164
164
  "Settings.application.get-help": "Chiedi aiuto",
@@ -154,7 +154,7 @@ var it = {
154
154
  "Settings.application.customization.size-details": "Dimensione massima: {dimension}x{dimension}, Peso massimo: {size}KB)",
155
155
  "Settings.application.edition-title": "Edizione attuale",
156
156
  "Settings.application.ee-or-ce": "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}",
157
- "Settings.application.ee.admin-seats.add-seats": "{isHostedOnStrapiCloud, select, true {Add seats} other {Contact sales}}",
157
+ "Settings.application.ee.admin-seats.add-seats": "Gestisci abbonamento",
158
158
  "Settings.application.ee.admin-seats.at-limit-tooltip": "Limite raggiunto: aggiungi altri posti per invitare più utenti",
159
159
  "Settings.application.ee.admin-seats.count": "<text>{enforcementUserCount}</text>/{permittedSeats}",
160
160
  "Settings.application.get-help": "Chiedi aiuto",