@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.
- package/dist/admin/admin/src/StrapiApp.js +8 -5
- package/dist/admin/admin/src/StrapiApp.js.map +1 -1
- package/dist/admin/admin/src/StrapiApp.mjs +9 -6
- package/dist/admin/admin/src/StrapiApp.mjs.map +1 -1
- package/dist/admin/admin/src/components/LeftMenu.js +1 -1
- package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
- package/dist/admin/admin/src/components/LeftMenu.mjs +1 -1
- package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.js +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.mjs +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useMenu.js +40 -5
- package/dist/admin/admin/src/hooks/useMenu.js.map +1 -1
- package/dist/admin/admin/src/hooks/useMenu.mjs +40 -6
- package/dist/admin/admin/src/hooks/useMenu.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useSettingsMenu.js +61 -1
- package/dist/admin/admin/src/hooks/useSettingsMenu.js.map +1 -1
- package/dist/admin/admin/src/hooks/useSettingsMenu.mjs +61 -2
- package/dist/admin/admin/src/hooks/useSettingsMenu.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +6 -2
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs +6 -2
- package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ar.json.js +1 -1
- package/dist/admin/admin/src/translations/ar.json.mjs +1 -1
- package/dist/admin/admin/src/translations/cs.json.js +1 -1
- package/dist/admin/admin/src/translations/cs.json.mjs +1 -1
- package/dist/admin/admin/src/translations/de.json.js +1 -1
- package/dist/admin/admin/src/translations/de.json.mjs +1 -1
- package/dist/admin/admin/src/translations/en.json.js +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +1 -1
- package/dist/admin/admin/src/translations/es.json.js +1 -1
- package/dist/admin/admin/src/translations/es.json.mjs +1 -1
- package/dist/admin/admin/src/translations/fi.json.js +1 -1
- package/dist/admin/admin/src/translations/fi.json.mjs +1 -1
- package/dist/admin/admin/src/translations/fr.json.js +1 -1
- package/dist/admin/admin/src/translations/fr.json.mjs +1 -1
- package/dist/admin/admin/src/translations/it.json.js +1 -1
- package/dist/admin/admin/src/translations/it.json.mjs +1 -1
- package/dist/admin/admin/src/translations/ko.json.js +1 -1
- package/dist/admin/admin/src/translations/ko.json.mjs +1 -1
- package/dist/admin/admin/src/translations/nl.json.js +1 -1
- package/dist/admin/admin/src/translations/nl.json.mjs +1 -1
- package/dist/admin/admin/src/translations/pl.json.js +1 -1
- package/dist/admin/admin/src/translations/pl.json.mjs +1 -1
- package/dist/admin/admin/src/translations/ru.json.js +1 -1
- package/dist/admin/admin/src/translations/ru.json.mjs +1 -1
- package/dist/admin/admin/src/translations/tr.json.js +1 -1
- package/dist/admin/admin/src/translations/tr.json.mjs +1 -1
- package/dist/admin/admin/src/translations/uk.json.js +1 -1
- package/dist/admin/admin/src/translations/uk.json.mjs +1 -1
- package/dist/admin/admin/src/translations/vi.json.js +1 -1
- package/dist/admin/admin/src/translations/vi.json.mjs +1 -1
- package/dist/admin/admin/src/translations/zh-Hans.json.js +1 -1
- package/dist/admin/admin/src/translations/zh-Hans.json.mjs +1 -1
- package/dist/admin/admin/src/utils/widgetVisibility.js +25 -0
- package/dist/admin/admin/src/utils/widgetVisibility.js.map +1 -0
- package/dist/admin/admin/src/utils/widgetVisibility.mjs +22 -0
- package/dist/admin/admin/src/utils/widgetVisibility.mjs.map +1 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js +6 -4
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs +6 -4
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs.map +1 -1
- package/dist/admin/src/hooks/useMenu.d.ts +2 -1
- package/dist/admin/src/hooks/useSettingsMenu.d.ts +2 -1
- package/dist/admin/src/utils/widgetVisibility.d.ts +18 -0
- package/dist/ee/server/src/controllers/user.d.ts.map +1 -1
- package/dist/server/ee/server/src/controllers/user.js +7 -6
- package/dist/server/ee/server/src/controllers/user.js.map +1 -1
- package/dist/server/ee/server/src/controllers/user.mjs +7 -6
- package/dist/server/ee/server/src/controllers/user.mjs.map +1 -1
- package/dist/server/server/src/controllers/authenticated-user.js +25 -4
- package/dist/server/server/src/controllers/authenticated-user.js.map +1 -1
- package/dist/server/server/src/controllers/authenticated-user.mjs +25 -4
- package/dist/server/server/src/controllers/authenticated-user.mjs.map +1 -1
- package/dist/server/server/src/controllers/authentication.js +1 -16
- package/dist/server/server/src/controllers/authentication.js.map +1 -1
- package/dist/server/server/src/controllers/authentication.mjs +1 -16
- package/dist/server/server/src/controllers/authentication.mjs.map +1 -1
- package/dist/server/server/src/controllers/user.js +6 -5
- package/dist/server/server/src/controllers/user.js.map +1 -1
- package/dist/server/server/src/controllers/user.mjs +6 -5
- package/dist/server/server/src/controllers/user.mjs.map +1 -1
- package/dist/server/server/src/routes/authentication.js +4 -1
- package/dist/server/server/src/routes/authentication.js.map +1 -1
- package/dist/server/server/src/routes/authentication.mjs +4 -1
- package/dist/server/server/src/routes/authentication.mjs.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.js +20 -11
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.mjs +21 -12
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.mjs.map +1 -1
- package/dist/server/server/src/services/user.js +40 -3
- package/dist/server/server/src/services/user.js.map +1 -1
- package/dist/server/server/src/services/user.mjs +40 -3
- package/dist/server/server/src/services/user.mjs.map +1 -1
- package/dist/server/server/src/utils/normalize-email.js +24 -0
- package/dist/server/server/src/utils/normalize-email.js.map +1 -0
- package/dist/server/server/src/utils/normalize-email.mjs +22 -0
- package/dist/server/server/src/utils/normalize-email.mjs.map +1 -0
- package/dist/server/src/controllers/authenticated-user.d.ts.map +1 -1
- package/dist/server/src/controllers/authentication.d.ts.map +1 -1
- package/dist/server/src/controllers/user.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +1 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/authentication.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +1 -0
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/permission-fields.d.ts.map +1 -1
- package/dist/server/src/services/user.d.ts +1 -0
- package/dist/server/src/services/user.d.ts.map +1 -1
- package/dist/server/src/utils/normalize-email.d.ts +12 -0
- package/dist/server/src/utils/normalize-email.d.ts.map +1 -0
- 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.
|
|
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'
|
package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map
CHANGED
|
@@ -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":"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"}
|
|
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'
|
package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map
CHANGED
|
@@ -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
|
|
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
|
|
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": "
|
|
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": "
|
|
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
|
|
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
|
|
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": "
|
|
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": "
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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": "
|
|
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": "
|
|
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",
|