@strapi/admin 5.14.0 → 5.15.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/assets/images/free-trial.png.js +6 -0
- package/dist/admin/admin/src/assets/images/free-trial.png.js.map +1 -0
- package/dist/admin/admin/src/assets/images/free-trial.png.mjs +4 -0
- package/dist/admin/admin/src/assets/images/free-trial.png.mjs.map +1 -0
- package/dist/admin/admin/src/components/ConfirmDialog.js +2 -2
- package/dist/admin/admin/src/components/ConfirmDialog.js.map +1 -1
- package/dist/admin/admin/src/components/ContentBox.js +3 -3
- package/dist/admin/admin/src/components/ContentBox.js.map +1 -1
- package/dist/admin/admin/src/components/ErrorElement.js +3 -3
- package/dist/admin/admin/src/components/ErrorElement.js.map +1 -1
- package/dist/admin/admin/src/components/GradientBadge.js +37 -0
- package/dist/admin/admin/src/components/GradientBadge.js.map +1 -0
- package/dist/admin/admin/src/components/GradientBadge.mjs +35 -0
- package/dist/admin/admin/src/components/GradientBadge.mjs.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Modal.js +3 -3
- package/dist/admin/admin/src/components/GuidedTour/Modal.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/GridLayout.js +2 -2
- package/dist/admin/admin/src/components/Layouts/GridLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.js +1 -1
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs +1 -1
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs.map +1 -1
- package/dist/admin/admin/src/components/Layouts/Layout.js +3 -3
- package/dist/admin/admin/src/components/Layouts/Layout.js.map +1 -1
- package/dist/admin/admin/src/components/LeftMenu.js +7 -5
- package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
- package/dist/admin/admin/src/components/LeftMenu.mjs +3 -1
- package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/admin/src/components/MainNav/MainNav.js +2 -2
- package/dist/admin/admin/src/components/MainNav/MainNav.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavBrand.js +2 -2
- package/dist/admin/admin/src/components/MainNav/NavBrand.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavLink.js +3 -3
- package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavUser.js +8 -8
- package/dist/admin/admin/src/components/MainNav/NavUser.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/TrialCountdown.js +114 -0
- package/dist/admin/admin/src/components/MainNav/TrialCountdown.js.map +1 -0
- package/dist/admin/admin/src/components/MainNav/TrialCountdown.mjs +112 -0
- package/dist/admin/admin/src/components/MainNav/TrialCountdown.mjs.map +1 -0
- package/dist/admin/admin/src/components/NpsSurvey.js +2 -2
- package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.js +6 -6
- package/dist/admin/admin/src/components/SubNav.js.map +1 -1
- package/dist/admin/admin/src/components/Table.js +2 -2
- package/dist/admin/admin/src/components/Table.js.map +1 -1
- package/dist/admin/admin/src/components/Theme.js +2 -2
- package/dist/admin/admin/src/components/Theme.js.map +1 -1
- package/dist/admin/admin/src/components/UnauthenticatedLogo.js +2 -2
- package/dist/admin/admin/src/components/UnauthenticatedLogo.js.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.js +113 -0
- package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -0
- package/dist/admin/admin/src/components/UpsellBanner.mjs +111 -0
- package/dist/admin/admin/src/components/UpsellBanner.mjs.map +1 -0
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +2 -0
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +2 -0
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js +3 -3
- package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.js +2 -2
- package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +4 -0
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs +4 -0
- package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +183 -0
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -0
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs +181 -0
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -0
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js +128 -0
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js.map +1 -0
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs +126 -0
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs.map +1 -0
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.js +3 -3
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.js.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesGrid.js +2 -2
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesGrid.js.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/components/SortSelect.js +2 -2
- package/dist/admin/admin/src/pages/Marketplace/components/SortSelect.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +3 -3
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js +2 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js +4 -4
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js +10 -10
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js +3 -3
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js +5 -5
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/HiddenAction.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/HiddenAction.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js +3 -3
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js +3 -3
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js.map +1 -1
- package/dist/admin/admin/src/render.js +3 -1
- package/dist/admin/admin/src/render.js.map +1 -1
- package/dist/admin/admin/src/render.mjs +3 -1
- package/dist/admin/admin/src/render.mjs.map +1 -1
- package/dist/admin/admin/src/services/admin.js +13 -2
- package/dist/admin/admin/src/services/admin.js.map +1 -1
- package/dist/admin/admin/src/services/admin.mjs +13 -3
- package/dist/admin/admin/src/services/admin.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ar.json.js +1 -0
- package/dist/admin/admin/src/translations/ar.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ar.json.mjs +1 -0
- package/dist/admin/admin/src/translations/ar.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ca.json.js +1 -0
- package/dist/admin/admin/src/translations/ca.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ca.json.mjs +1 -0
- package/dist/admin/admin/src/translations/ca.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/de.json.js +1 -0
- package/dist/admin/admin/src/translations/de.json.js.map +1 -1
- package/dist/admin/admin/src/translations/de.json.mjs +1 -0
- package/dist/admin/admin/src/translations/de.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/dk.json.js +1 -0
- package/dist/admin/admin/src/translations/dk.json.js.map +1 -1
- package/dist/admin/admin/src/translations/dk.json.mjs +1 -0
- package/dist/admin/admin/src/translations/dk.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +20 -0
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +20 -0
- package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/es.json.js +1 -0
- package/dist/admin/admin/src/translations/es.json.js.map +1 -1
- package/dist/admin/admin/src/translations/es.json.mjs +1 -0
- package/dist/admin/admin/src/translations/es.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/eu.json.js +1 -0
- package/dist/admin/admin/src/translations/eu.json.js.map +1 -1
- package/dist/admin/admin/src/translations/eu.json.mjs +1 -0
- package/dist/admin/admin/src/translations/eu.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/fr.json.js +1 -0
- package/dist/admin/admin/src/translations/fr.json.js.map +1 -1
- package/dist/admin/admin/src/translations/fr.json.mjs +1 -0
- package/dist/admin/admin/src/translations/fr.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/gu.json.js +1 -0
- package/dist/admin/admin/src/translations/gu.json.js.map +1 -1
- package/dist/admin/admin/src/translations/gu.json.mjs +1 -0
- package/dist/admin/admin/src/translations/gu.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/hi.json.js +1 -0
- package/dist/admin/admin/src/translations/hi.json.js.map +1 -1
- package/dist/admin/admin/src/translations/hi.json.mjs +1 -0
- package/dist/admin/admin/src/translations/hi.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/hu.json.js +1 -0
- package/dist/admin/admin/src/translations/hu.json.js.map +1 -1
- package/dist/admin/admin/src/translations/hu.json.mjs +1 -0
- package/dist/admin/admin/src/translations/hu.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ja.json.js +1 -0
- package/dist/admin/admin/src/translations/ja.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ja.json.mjs +1 -0
- package/dist/admin/admin/src/translations/ja.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ko.json.js +1 -0
- package/dist/admin/admin/src/translations/ko.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ko.json.mjs +1 -0
- package/dist/admin/admin/src/translations/ko.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ml.json.js +1 -0
- package/dist/admin/admin/src/translations/ml.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ml.json.mjs +1 -0
- package/dist/admin/admin/src/translations/ml.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/nl.json.js +1 -0
- package/dist/admin/admin/src/translations/nl.json.js.map +1 -1
- package/dist/admin/admin/src/translations/nl.json.mjs +1 -0
- package/dist/admin/admin/src/translations/nl.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/pl.json.js +1 -0
- package/dist/admin/admin/src/translations/pl.json.js.map +1 -1
- package/dist/admin/admin/src/translations/pl.json.mjs +1 -0
- package/dist/admin/admin/src/translations/pl.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/pt-BR.json.js +1 -0
- package/dist/admin/admin/src/translations/pt-BR.json.js.map +1 -1
- package/dist/admin/admin/src/translations/pt-BR.json.mjs +1 -0
- package/dist/admin/admin/src/translations/pt-BR.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ru.json.js +1 -0
- package/dist/admin/admin/src/translations/ru.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ru.json.mjs +1 -0
- package/dist/admin/admin/src/translations/ru.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/sa.json.js +1 -0
- package/dist/admin/admin/src/translations/sa.json.js.map +1 -1
- package/dist/admin/admin/src/translations/sa.json.mjs +1 -0
- package/dist/admin/admin/src/translations/sa.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/sk.json.js +1 -0
- package/dist/admin/admin/src/translations/sk.json.js.map +1 -1
- package/dist/admin/admin/src/translations/sk.json.mjs +1 -0
- package/dist/admin/admin/src/translations/sk.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/sv.json.js +1 -0
- package/dist/admin/admin/src/translations/sv.json.js.map +1 -1
- package/dist/admin/admin/src/translations/sv.json.mjs +1 -0
- package/dist/admin/admin/src/translations/sv.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/tr.json.js +1 -0
- package/dist/admin/admin/src/translations/tr.json.js.map +1 -1
- package/dist/admin/admin/src/translations/tr.json.mjs +1 -0
- package/dist/admin/admin/src/translations/tr.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/uk.json.js +1 -0
- package/dist/admin/admin/src/translations/uk.json.js.map +1 -1
- package/dist/admin/admin/src/translations/uk.json.mjs +1 -0
- package/dist/admin/admin/src/translations/uk.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/zh-Hans.json.js +1 -0
- package/dist/admin/admin/src/translations/zh-Hans.json.js.map +1 -1
- package/dist/admin/admin/src/translations/zh-Hans.json.mjs +1 -0
- package/dist/admin/admin/src/translations/zh-Hans.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/zh.json.js +1 -0
- package/dist/admin/admin/src/translations/zh.json.js.map +1 -1
- package/dist/admin/admin/src/translations/zh.json.mjs +1 -0
- package/dist/admin/admin/src/translations/zh.json.mjs.map +1 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimits.js +2 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimits.js.map +1 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimits.mjs +2 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimits.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Login.js +2 -2
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Login.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Providers.js +2 -2
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Providers.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js +3 -3
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js +2 -2
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js +7 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs +7 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs.map +1 -1
- package/dist/admin/index.js +2 -0
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +1 -0
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/components/GradientBadge.d.ts +4 -0
- package/dist/admin/src/components/MainNav/TrialCountdown.d.ts +2 -0
- package/dist/admin/src/components/UpsellBanner.d.ts +2 -0
- package/dist/admin/src/index.d.ts +1 -0
- package/dist/admin/src/pages/Home/components/FreeTrialEndedModal.d.ts +1 -0
- package/dist/admin/src/pages/Home/components/FreeTrialWelcomeModal.d.ts +1 -0
- package/dist/admin/src/services/admin.d.ts +8 -6
- package/dist/ee/admin/src/hooks/useLicenseLimits.d.ts +2 -0
- package/dist/ee/server/src/controllers/admin.d.ts +3 -0
- package/dist/ee/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/index.d.ts +3 -0
- package/dist/ee/server/src/controllers/index.d.ts.map +1 -1
- package/dist/ee/server/src/index.d.ts +6 -0
- package/dist/ee/server/src/index.d.ts.map +1 -1
- package/dist/server/ee/server/src/controllers/admin.js +2 -0
- package/dist/server/ee/server/src/controllers/admin.js.map +1 -1
- package/dist/server/ee/server/src/controllers/admin.mjs +2 -0
- package/dist/server/ee/server/src/controllers/admin.mjs.map +1 -1
- package/dist/server/server/src/controllers/admin.js +6 -0
- package/dist/server/server/src/controllers/admin.js.map +1 -1
- package/dist/server/server/src/controllers/admin.mjs +6 -0
- package/dist/server/server/src/controllers/admin.mjs.map +1 -1
- package/dist/server/server/src/routes/admin.js +10 -0
- package/dist/server/server/src/routes/admin.js.map +1 -1
- package/dist/server/server/src/routes/admin.mjs +10 -0
- package/dist/server/server/src/routes/admin.mjs.map +1 -1
- package/dist/server/server/src/services/content-type.js +10 -15
- package/dist/server/server/src/services/content-type.js.map +1 -1
- package/dist/server/server/src/services/content-type.mjs +11 -16
- package/dist/server/server/src/services/content-type.mjs.map +1 -1
- package/dist/server/src/controllers/admin.d.ts +3 -0
- package/dist/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +3 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +3 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/admin.d.ts.map +1 -1
- package/dist/server/src/services/content-type.d.ts +1 -1
- package/dist/server/src/services/content-type.d.ts.map +1 -1
- package/dist/shared/contracts/admin.d.ts +1 -0
- package/dist/shared/contracts/admin.d.ts.map +1 -1
- package/package.json +11 -11
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Modal, Button, Box, Flex, Typography, LinkButton } from '@strapi/design-system';
|
|
4
|
+
import { Cross } from '@strapi/icons';
|
|
5
|
+
import { subDays, isAfter } from 'date-fns';
|
|
6
|
+
import { useIntl } from 'react-intl';
|
|
7
|
+
import styled from 'styled-components';
|
|
8
|
+
import { useLicenseLimits } from '../../../../../ee/admin/src/hooks/useLicenseLimits.mjs';
|
|
9
|
+
import { usePersistentState } from '../../../hooks/usePersistentState.mjs';
|
|
10
|
+
|
|
11
|
+
const StyledModalContent = styled(Modal.Content)`
|
|
12
|
+
max-width: 51.6rem;
|
|
13
|
+
`;
|
|
14
|
+
const StyledModalBody = styled(Modal.Body)`
|
|
15
|
+
padding: 0;
|
|
16
|
+
position: relative;
|
|
17
|
+
|
|
18
|
+
> div {
|
|
19
|
+
padding: 0;
|
|
20
|
+
}
|
|
21
|
+
`;
|
|
22
|
+
const StyledButton = styled(Button)`
|
|
23
|
+
border: 0;
|
|
24
|
+
border-radius: 50%;
|
|
25
|
+
`;
|
|
26
|
+
const FreeTrialEndedModal = ()=>{
|
|
27
|
+
const { formatMessage } = useIntl();
|
|
28
|
+
const [open, setOpen] = useState(true);
|
|
29
|
+
const [previouslyOpen, setPreviouslyOpen] = usePersistentState('STRAPI_FREE_TRIAL_ENDED_MODAL', false);
|
|
30
|
+
const [cachedTrialEndsAt] = usePersistentState('STRAPI_FREE_TRIAL_ENDS_AT', undefined);
|
|
31
|
+
const { license } = useLicenseLimits();
|
|
32
|
+
const sevenDaysAgo = subDays(new Date(), 7);
|
|
33
|
+
// 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
|
|
34
|
+
// We show the banner to encourage the user to upgrade (for 7 days after the trial ends)
|
|
35
|
+
const isTrialEndedRecently = Boolean(!license?.isTrial && !window.strapi.isEE && cachedTrialEndsAt && isAfter(new Date(cachedTrialEndsAt), sevenDaysAgo));
|
|
36
|
+
const handleClose = ()=>{
|
|
37
|
+
setPreviouslyOpen(true);
|
|
38
|
+
setOpen(false);
|
|
39
|
+
};
|
|
40
|
+
const handleOnOpenChange = (isOpen)=>{
|
|
41
|
+
if (!isOpen) {
|
|
42
|
+
setPreviouslyOpen(true);
|
|
43
|
+
}
|
|
44
|
+
setOpen(isOpen);
|
|
45
|
+
};
|
|
46
|
+
if (!previouslyOpen && isTrialEndedRecently) {
|
|
47
|
+
return /*#__PURE__*/ jsx(Modal.Root, {
|
|
48
|
+
open: open,
|
|
49
|
+
onOpenChange: handleOnOpenChange,
|
|
50
|
+
children: /*#__PURE__*/ jsx(StyledModalContent, {
|
|
51
|
+
"aria-labelledby": "title",
|
|
52
|
+
children: /*#__PURE__*/ jsxs(StyledModalBody, {
|
|
53
|
+
children: [
|
|
54
|
+
/*#__PURE__*/ jsx(Box, {
|
|
55
|
+
position: "absolute",
|
|
56
|
+
top: 0,
|
|
57
|
+
right: 0,
|
|
58
|
+
padding: 2,
|
|
59
|
+
children: /*#__PURE__*/ jsx(StyledButton, {
|
|
60
|
+
"aria-label": formatMessage({
|
|
61
|
+
id: 'app.utils.close-label',
|
|
62
|
+
defaultMessage: 'Close'
|
|
63
|
+
}),
|
|
64
|
+
variant: "ghost",
|
|
65
|
+
width: "2.4rem",
|
|
66
|
+
height: "2.4rem",
|
|
67
|
+
onClick: handleClose,
|
|
68
|
+
children: /*#__PURE__*/ jsx(Cross, {})
|
|
69
|
+
})
|
|
70
|
+
}),
|
|
71
|
+
/*#__PURE__*/ jsxs(Flex, {
|
|
72
|
+
direction: "column",
|
|
73
|
+
alignItems: "start",
|
|
74
|
+
justifyContent: "stretch",
|
|
75
|
+
padding: 8,
|
|
76
|
+
gap: 4,
|
|
77
|
+
children: [
|
|
78
|
+
/*#__PURE__*/ jsx(Typography, {
|
|
79
|
+
variant: "alpha",
|
|
80
|
+
fontWeight: "bold",
|
|
81
|
+
fontSize: 4,
|
|
82
|
+
id: "title",
|
|
83
|
+
children: formatMessage({
|
|
84
|
+
id: 'app.components.FreeTrialEndedModal.title',
|
|
85
|
+
defaultMessage: 'Your trial has ended'
|
|
86
|
+
})
|
|
87
|
+
}),
|
|
88
|
+
/*#__PURE__*/ jsx(Typography, {
|
|
89
|
+
children: formatMessage({
|
|
90
|
+
id: 'app.components.FreeTrialEndedModal.description',
|
|
91
|
+
defaultMessage: 'Your access to Growth plan features such as Content history, Releases and Single sign-On (SSO) has expired.'
|
|
92
|
+
})
|
|
93
|
+
}),
|
|
94
|
+
/*#__PURE__*/ jsxs(Box, {
|
|
95
|
+
background: "primary200",
|
|
96
|
+
padding: 4,
|
|
97
|
+
hasRadius: true,
|
|
98
|
+
children: [
|
|
99
|
+
/*#__PURE__*/ jsx(Typography, {
|
|
100
|
+
fontWeight: "bold",
|
|
101
|
+
children: formatMessage({
|
|
102
|
+
id: 'app.components.FreeTrialEndedModal.notice.title',
|
|
103
|
+
defaultMessage: 'Important to know:'
|
|
104
|
+
})
|
|
105
|
+
}),
|
|
106
|
+
/*#__PURE__*/ jsxs("ul", {
|
|
107
|
+
style: {
|
|
108
|
+
listStyleType: 'disc',
|
|
109
|
+
marginLeft: '1.5rem'
|
|
110
|
+
},
|
|
111
|
+
children: [
|
|
112
|
+
/*#__PURE__*/ jsx("li", {
|
|
113
|
+
children: /*#__PURE__*/ jsx(Typography, {
|
|
114
|
+
children: formatMessage({
|
|
115
|
+
id: 'app.components.FreeTrialEndedModal.notice.item1',
|
|
116
|
+
defaultMessage: 'Downgrading will remove access to the above features.'
|
|
117
|
+
})
|
|
118
|
+
})
|
|
119
|
+
}),
|
|
120
|
+
/*#__PURE__*/ jsx("li", {
|
|
121
|
+
children: /*#__PURE__*/ jsx(Typography, {
|
|
122
|
+
children: formatMessage({
|
|
123
|
+
id: 'app.components.FreeTrialEndedModal.notice.item2',
|
|
124
|
+
defaultMessage: 'Document version history will be deleted.'
|
|
125
|
+
})
|
|
126
|
+
})
|
|
127
|
+
}),
|
|
128
|
+
/*#__PURE__*/ jsx("li", {
|
|
129
|
+
children: /*#__PURE__*/ jsx(Typography, {
|
|
130
|
+
children: formatMessage({
|
|
131
|
+
id: 'app.components.FreeTrialEndedModal.notice.item3',
|
|
132
|
+
defaultMessage: 'All releases will be erased.'
|
|
133
|
+
})
|
|
134
|
+
})
|
|
135
|
+
}),
|
|
136
|
+
/*#__PURE__*/ jsx("li", {
|
|
137
|
+
children: /*#__PURE__*/ jsx(Typography, {
|
|
138
|
+
children: formatMessage({
|
|
139
|
+
id: 'app.components.FreeTrialEndedModal.notice.item4',
|
|
140
|
+
defaultMessage: 'If you downgrade ensure to set a root admin password to keep access to the admin panel.'
|
|
141
|
+
})
|
|
142
|
+
})
|
|
143
|
+
})
|
|
144
|
+
]
|
|
145
|
+
})
|
|
146
|
+
]
|
|
147
|
+
}),
|
|
148
|
+
/*#__PURE__*/ jsxs(Flex, {
|
|
149
|
+
marginTop: 4,
|
|
150
|
+
gap: 2,
|
|
151
|
+
children: [
|
|
152
|
+
/*#__PURE__*/ jsx(LinkButton, {
|
|
153
|
+
href: "https://strapi.chargebeeportal.com/",
|
|
154
|
+
target: "_blank",
|
|
155
|
+
children: formatMessage({
|
|
156
|
+
id: 'app.components.FreeTrialEndedModal.button.upgrade',
|
|
157
|
+
defaultMessage: 'Stay on the Growth plan'
|
|
158
|
+
})
|
|
159
|
+
}),
|
|
160
|
+
/*#__PURE__*/ jsx(Button, {
|
|
161
|
+
variant: "tertiary",
|
|
162
|
+
onClick: handleClose,
|
|
163
|
+
children: formatMessage({
|
|
164
|
+
id: 'app.components.FreeTrialEndedModal.button.downgrade',
|
|
165
|
+
defaultMessage: 'Downgrade to Community'
|
|
166
|
+
})
|
|
167
|
+
})
|
|
168
|
+
]
|
|
169
|
+
})
|
|
170
|
+
]
|
|
171
|
+
})
|
|
172
|
+
]
|
|
173
|
+
})
|
|
174
|
+
})
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
return null;
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
export { FreeTrialEndedModal };
|
|
181
|
+
//# sourceMappingURL=FreeTrialEndedModal.mjs.map
|
|
@@ -0,0 +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 { usePersistentState } 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] = usePersistentState(\n 'STRAPI_FREE_TRIAL_ENDED_MODAL',\n false\n );\n const [cachedTrialEndsAt] = usePersistentState<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","usePersistentState","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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"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var designSystem = require('@strapi/design-system');
|
|
6
|
+
var icons = require('@strapi/icons');
|
|
7
|
+
var reactIntl = require('react-intl');
|
|
8
|
+
var styled = require('styled-components');
|
|
9
|
+
var useLicenseLimits = require('../../../../../ee/admin/src/hooks/useLicenseLimits.js');
|
|
10
|
+
var freeTrial = require('../../../assets/images/free-trial.png.js');
|
|
11
|
+
var usePersistentState = require('../../../hooks/usePersistentState.js');
|
|
12
|
+
|
|
13
|
+
const StyledModalContent = styled(designSystem.Modal.Content)`
|
|
14
|
+
max-width: 51.6rem;
|
|
15
|
+
`;
|
|
16
|
+
const StyledModalBody = styled(designSystem.Modal.Body)`
|
|
17
|
+
padding: 0;
|
|
18
|
+
position: relative;
|
|
19
|
+
|
|
20
|
+
> div {
|
|
21
|
+
padding: 0;
|
|
22
|
+
}
|
|
23
|
+
`;
|
|
24
|
+
const StyledButton = styled(designSystem.Button)`
|
|
25
|
+
border: 0;
|
|
26
|
+
border-radius: 50%;
|
|
27
|
+
|
|
28
|
+
> span {
|
|
29
|
+
line-height: 0;
|
|
30
|
+
}
|
|
31
|
+
`;
|
|
32
|
+
const FreeTrialWelcomeModal = ()=>{
|
|
33
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
34
|
+
const [open, setOpen] = React.useState(true);
|
|
35
|
+
const [previouslyOpen, setPreviouslyOpen] = usePersistentState.usePersistentState('STRAPI_FREE_TRIAL_WELCOME_MODAL', false);
|
|
36
|
+
const { license } = useLicenseLimits.useLicenseLimits();
|
|
37
|
+
const handleClose = ()=>{
|
|
38
|
+
setPreviouslyOpen(true);
|
|
39
|
+
setOpen(false);
|
|
40
|
+
};
|
|
41
|
+
const handleOnOpenChange = (isOpen)=>{
|
|
42
|
+
if (!isOpen) {
|
|
43
|
+
setPreviouslyOpen(true);
|
|
44
|
+
}
|
|
45
|
+
setOpen(isOpen);
|
|
46
|
+
};
|
|
47
|
+
if (previouslyOpen || !license?.isTrial) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Root, {
|
|
51
|
+
open: open,
|
|
52
|
+
onOpenChange: handleOnOpenChange,
|
|
53
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(StyledModalContent, {
|
|
54
|
+
"aria-labelledby": "title",
|
|
55
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(StyledModalBody, {
|
|
56
|
+
children: [
|
|
57
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
58
|
+
position: "absolute",
|
|
59
|
+
top: 0,
|
|
60
|
+
right: 0,
|
|
61
|
+
padding: 2,
|
|
62
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(StyledButton, {
|
|
63
|
+
"aria-label": formatMessage({
|
|
64
|
+
id: 'app.utils.close-label',
|
|
65
|
+
defaultMessage: 'Close'
|
|
66
|
+
}),
|
|
67
|
+
variant: "tertiary",
|
|
68
|
+
width: "2.4rem",
|
|
69
|
+
height: "2.4rem",
|
|
70
|
+
onClick: handleClose,
|
|
71
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(icons.Cross, {})
|
|
72
|
+
})
|
|
73
|
+
}),
|
|
74
|
+
/*#__PURE__*/ jsxRuntime.jsx("img", {
|
|
75
|
+
src: freeTrial,
|
|
76
|
+
alt: "free-trial",
|
|
77
|
+
width: "100%",
|
|
78
|
+
height: "100%"
|
|
79
|
+
}),
|
|
80
|
+
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
81
|
+
direction: "column",
|
|
82
|
+
alignItems: "start",
|
|
83
|
+
justifyContent: "stretch",
|
|
84
|
+
padding: 8,
|
|
85
|
+
gap: 4,
|
|
86
|
+
children: [
|
|
87
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
88
|
+
variant: "alpha",
|
|
89
|
+
fontWeight: "bold",
|
|
90
|
+
fontSize: 4,
|
|
91
|
+
id: "title",
|
|
92
|
+
children: formatMessage({
|
|
93
|
+
id: 'app.components.FreeTrialWelcomeModal.title',
|
|
94
|
+
defaultMessage: "We're glad to have you on board"
|
|
95
|
+
})
|
|
96
|
+
}),
|
|
97
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
98
|
+
children: formatMessage({
|
|
99
|
+
id: 'app.components.FreeTrialWelcomeModal.description1',
|
|
100
|
+
defaultMessage: 'For the next 30 days, you will have full access to advanced features like Content History, Releases and Single Sign-On (SSO) – everything you need to explore the power of Strapi CMS.'
|
|
101
|
+
})
|
|
102
|
+
}),
|
|
103
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
104
|
+
children: formatMessage({
|
|
105
|
+
id: 'app.components.FreeTrialWelcomeModal.description2',
|
|
106
|
+
defaultMessage: 'Use this time to build, customize, and test your content workflows with complete flexibility!'
|
|
107
|
+
})
|
|
108
|
+
}),
|
|
109
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
110
|
+
marginTop: 4,
|
|
111
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
112
|
+
onClick: handleClose,
|
|
113
|
+
children: formatMessage({
|
|
114
|
+
id: 'app.components.FreeTrialWelcomeModal.button',
|
|
115
|
+
defaultMessage: 'Start exploring'
|
|
116
|
+
})
|
|
117
|
+
})
|
|
118
|
+
})
|
|
119
|
+
]
|
|
120
|
+
})
|
|
121
|
+
]
|
|
122
|
+
})
|
|
123
|
+
})
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
exports.FreeTrialWelcomeModal = FreeTrialWelcomeModal;
|
|
128
|
+
//# sourceMappingURL=FreeTrialWelcomeModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FreeTrialWelcomeModal.js","sources":["../../../../../../../admin/src/pages/Home/components/FreeTrialWelcomeModal.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { Box, Button, Flex, Modal, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { useLicenseLimits } from '../../../../../ee/admin/src/hooks/useLicenseLimits';\nimport lightIllustration from '../../../assets/images/free-trial.png';\nimport { usePersistentState } 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 > span {\n line-height: 0;\n }\n`;\n\nexport const FreeTrialWelcomeModal = () => {\n const { formatMessage } = useIntl();\n const [open, setOpen] = useState(true);\n const [previouslyOpen, setPreviouslyOpen] = usePersistentState(\n 'STRAPI_FREE_TRIAL_WELCOME_MODAL',\n false\n );\n const { license } = useLicenseLimits();\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 || !license?.isTrial) {\n return null;\n }\n\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=\"tertiary\"\n width=\"2.4rem\"\n height=\"2.4rem\"\n onClick={handleClose}\n >\n <Cross />\n </StyledButton>\n </Box>\n <img src={lightIllustration} alt=\"free-trial\" width=\"100%\" height=\"100%\" />\n <Flex direction=\"column\" alignItems=\"start\" justifyContent=\"stretch\" padding={8} gap={4}>\n <Typography variant=\"alpha\" fontWeight=\"bold\" fontSize={4} id=\"title\">\n {formatMessage({\n id: 'app.components.FreeTrialWelcomeModal.title',\n defaultMessage: \"We're glad to have you on board\",\n })}\n </Typography>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialWelcomeModal.description1',\n defaultMessage:\n 'For the next 30 days, you will have full access to advanced features like Content History, Releases and Single Sign-On (SSO) – everything you need to explore the power of Strapi CMS.',\n })}\n </Typography>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialWelcomeModal.description2',\n defaultMessage:\n 'Use this time to build, customize, and test your content workflows with complete flexibility!',\n })}\n </Typography>\n <Box marginTop={4}>\n <Button onClick={handleClose}>\n {formatMessage({\n id: 'app.components.FreeTrialWelcomeModal.button',\n defaultMessage: 'Start exploring',\n })}\n </Button>\n </Box>\n </Flex>\n </StyledModalBody>\n </StyledModalContent>\n </Modal.Root>\n );\n};\n"],"names":["StyledModalContent","styled","Modal","Content","StyledModalBody","Body","StyledButton","Button","FreeTrialWelcomeModal","formatMessage","useIntl","open","setOpen","useState","previouslyOpen","setPreviouslyOpen","usePersistentState","license","useLicenseLimits","handleClose","handleOnOpenChange","isOpen","isTrial","_jsx","Root","onOpenChange","aria-labelledby","_jsxs","Box","position","top","right","padding","aria-label","id","defaultMessage","variant","width","height","onClick","Cross","img","src","lightIllustration","alt","Flex","direction","alignItems","justifyContent","gap","Typography","fontWeight","fontSize","marginTop"],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Modal, Button, Box, Flex, Typography } from '@strapi/design-system';
|
|
4
|
+
import { Cross } from '@strapi/icons';
|
|
5
|
+
import { useIntl } from 'react-intl';
|
|
6
|
+
import styled from 'styled-components';
|
|
7
|
+
import { useLicenseLimits } from '../../../../../ee/admin/src/hooks/useLicenseLimits.mjs';
|
|
8
|
+
import img from '../../../assets/images/free-trial.png.mjs';
|
|
9
|
+
import { usePersistentState } from '../../../hooks/usePersistentState.mjs';
|
|
10
|
+
|
|
11
|
+
const StyledModalContent = styled(Modal.Content)`
|
|
12
|
+
max-width: 51.6rem;
|
|
13
|
+
`;
|
|
14
|
+
const StyledModalBody = styled(Modal.Body)`
|
|
15
|
+
padding: 0;
|
|
16
|
+
position: relative;
|
|
17
|
+
|
|
18
|
+
> div {
|
|
19
|
+
padding: 0;
|
|
20
|
+
}
|
|
21
|
+
`;
|
|
22
|
+
const StyledButton = styled(Button)`
|
|
23
|
+
border: 0;
|
|
24
|
+
border-radius: 50%;
|
|
25
|
+
|
|
26
|
+
> span {
|
|
27
|
+
line-height: 0;
|
|
28
|
+
}
|
|
29
|
+
`;
|
|
30
|
+
const FreeTrialWelcomeModal = ()=>{
|
|
31
|
+
const { formatMessage } = useIntl();
|
|
32
|
+
const [open, setOpen] = useState(true);
|
|
33
|
+
const [previouslyOpen, setPreviouslyOpen] = usePersistentState('STRAPI_FREE_TRIAL_WELCOME_MODAL', false);
|
|
34
|
+
const { license } = useLicenseLimits();
|
|
35
|
+
const handleClose = ()=>{
|
|
36
|
+
setPreviouslyOpen(true);
|
|
37
|
+
setOpen(false);
|
|
38
|
+
};
|
|
39
|
+
const handleOnOpenChange = (isOpen)=>{
|
|
40
|
+
if (!isOpen) {
|
|
41
|
+
setPreviouslyOpen(true);
|
|
42
|
+
}
|
|
43
|
+
setOpen(isOpen);
|
|
44
|
+
};
|
|
45
|
+
if (previouslyOpen || !license?.isTrial) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
return /*#__PURE__*/ jsx(Modal.Root, {
|
|
49
|
+
open: open,
|
|
50
|
+
onOpenChange: handleOnOpenChange,
|
|
51
|
+
children: /*#__PURE__*/ jsx(StyledModalContent, {
|
|
52
|
+
"aria-labelledby": "title",
|
|
53
|
+
children: /*#__PURE__*/ jsxs(StyledModalBody, {
|
|
54
|
+
children: [
|
|
55
|
+
/*#__PURE__*/ jsx(Box, {
|
|
56
|
+
position: "absolute",
|
|
57
|
+
top: 0,
|
|
58
|
+
right: 0,
|
|
59
|
+
padding: 2,
|
|
60
|
+
children: /*#__PURE__*/ jsx(StyledButton, {
|
|
61
|
+
"aria-label": formatMessage({
|
|
62
|
+
id: 'app.utils.close-label',
|
|
63
|
+
defaultMessage: 'Close'
|
|
64
|
+
}),
|
|
65
|
+
variant: "tertiary",
|
|
66
|
+
width: "2.4rem",
|
|
67
|
+
height: "2.4rem",
|
|
68
|
+
onClick: handleClose,
|
|
69
|
+
children: /*#__PURE__*/ jsx(Cross, {})
|
|
70
|
+
})
|
|
71
|
+
}),
|
|
72
|
+
/*#__PURE__*/ jsx("img", {
|
|
73
|
+
src: img,
|
|
74
|
+
alt: "free-trial",
|
|
75
|
+
width: "100%",
|
|
76
|
+
height: "100%"
|
|
77
|
+
}),
|
|
78
|
+
/*#__PURE__*/ jsxs(Flex, {
|
|
79
|
+
direction: "column",
|
|
80
|
+
alignItems: "start",
|
|
81
|
+
justifyContent: "stretch",
|
|
82
|
+
padding: 8,
|
|
83
|
+
gap: 4,
|
|
84
|
+
children: [
|
|
85
|
+
/*#__PURE__*/ jsx(Typography, {
|
|
86
|
+
variant: "alpha",
|
|
87
|
+
fontWeight: "bold",
|
|
88
|
+
fontSize: 4,
|
|
89
|
+
id: "title",
|
|
90
|
+
children: formatMessage({
|
|
91
|
+
id: 'app.components.FreeTrialWelcomeModal.title',
|
|
92
|
+
defaultMessage: "We're glad to have you on board"
|
|
93
|
+
})
|
|
94
|
+
}),
|
|
95
|
+
/*#__PURE__*/ jsx(Typography, {
|
|
96
|
+
children: formatMessage({
|
|
97
|
+
id: 'app.components.FreeTrialWelcomeModal.description1',
|
|
98
|
+
defaultMessage: 'For the next 30 days, you will have full access to advanced features like Content History, Releases and Single Sign-On (SSO) – everything you need to explore the power of Strapi CMS.'
|
|
99
|
+
})
|
|
100
|
+
}),
|
|
101
|
+
/*#__PURE__*/ jsx(Typography, {
|
|
102
|
+
children: formatMessage({
|
|
103
|
+
id: 'app.components.FreeTrialWelcomeModal.description2',
|
|
104
|
+
defaultMessage: 'Use this time to build, customize, and test your content workflows with complete flexibility!'
|
|
105
|
+
})
|
|
106
|
+
}),
|
|
107
|
+
/*#__PURE__*/ jsx(Box, {
|
|
108
|
+
marginTop: 4,
|
|
109
|
+
children: /*#__PURE__*/ jsx(Button, {
|
|
110
|
+
onClick: handleClose,
|
|
111
|
+
children: formatMessage({
|
|
112
|
+
id: 'app.components.FreeTrialWelcomeModal.button',
|
|
113
|
+
defaultMessage: 'Start exploring'
|
|
114
|
+
})
|
|
115
|
+
})
|
|
116
|
+
})
|
|
117
|
+
]
|
|
118
|
+
})
|
|
119
|
+
]
|
|
120
|
+
})
|
|
121
|
+
})
|
|
122
|
+
});
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
export { FreeTrialWelcomeModal };
|
|
126
|
+
//# sourceMappingURL=FreeTrialWelcomeModal.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FreeTrialWelcomeModal.mjs","sources":["../../../../../../../admin/src/pages/Home/components/FreeTrialWelcomeModal.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { Box, Button, Flex, Modal, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { useLicenseLimits } from '../../../../../ee/admin/src/hooks/useLicenseLimits';\nimport lightIllustration from '../../../assets/images/free-trial.png';\nimport { usePersistentState } 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 > span {\n line-height: 0;\n }\n`;\n\nexport const FreeTrialWelcomeModal = () => {\n const { formatMessage } = useIntl();\n const [open, setOpen] = useState(true);\n const [previouslyOpen, setPreviouslyOpen] = usePersistentState(\n 'STRAPI_FREE_TRIAL_WELCOME_MODAL',\n false\n );\n const { license } = useLicenseLimits();\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 || !license?.isTrial) {\n return null;\n }\n\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=\"tertiary\"\n width=\"2.4rem\"\n height=\"2.4rem\"\n onClick={handleClose}\n >\n <Cross />\n </StyledButton>\n </Box>\n <img src={lightIllustration} alt=\"free-trial\" width=\"100%\" height=\"100%\" />\n <Flex direction=\"column\" alignItems=\"start\" justifyContent=\"stretch\" padding={8} gap={4}>\n <Typography variant=\"alpha\" fontWeight=\"bold\" fontSize={4} id=\"title\">\n {formatMessage({\n id: 'app.components.FreeTrialWelcomeModal.title',\n defaultMessage: \"We're glad to have you on board\",\n })}\n </Typography>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialWelcomeModal.description1',\n defaultMessage:\n 'For the next 30 days, you will have full access to advanced features like Content History, Releases and Single Sign-On (SSO) – everything you need to explore the power of Strapi CMS.',\n })}\n </Typography>\n <Typography>\n {formatMessage({\n id: 'app.components.FreeTrialWelcomeModal.description2',\n defaultMessage:\n 'Use this time to build, customize, and test your content workflows with complete flexibility!',\n })}\n </Typography>\n <Box marginTop={4}>\n <Button onClick={handleClose}>\n {formatMessage({\n id: 'app.components.FreeTrialWelcomeModal.button',\n defaultMessage: 'Start exploring',\n })}\n </Button>\n </Box>\n </Flex>\n </StyledModalBody>\n </StyledModalContent>\n </Modal.Root>\n );\n};\n"],"names":["StyledModalContent","styled","Modal","Content","StyledModalBody","Body","StyledButton","Button","FreeTrialWelcomeModal","formatMessage","useIntl","open","setOpen","useState","previouslyOpen","setPreviouslyOpen","usePersistentState","license","useLicenseLimits","handleClose","handleOnOpenChange","isOpen","isTrial","_jsx","Root","onOpenChange","aria-labelledby","_jsxs","Box","position","top","right","padding","aria-label","id","defaultMessage","variant","width","height","onClick","Cross","img","src","lightIllustration","alt","Flex","direction","alignItems","justifyContent","gap","Typography","fontWeight","fontSize","marginTop"],"mappings":";;;;;;;;;;AAWA,MAAMA,kBAAqBC,GAAAA,MAAAA,CAAOC,KAAMC,CAAAA,OAAO,CAAC;;AAEhD,CAAC;AAED,MAAMC,eAAkBH,GAAAA,MAAAA,CAAOC,KAAMG,CAAAA,IAAI,CAAC;;;;;;;AAO1C,CAAC;AAED,MAAMC,YAAAA,GAAeL,MAAOM,CAAAA,MAAAA,CAAO;;;;;;;AAOnC,CAAC;MAEYC,qBAAwB,GAAA,IAAA;IACnC,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,CAACC,IAAAA,EAAMC,OAAQ,CAAA,GAAGC,QAAS,CAAA,IAAA,CAAA;AACjC,IAAA,MAAM,CAACC,cAAAA,EAAgBC,iBAAkB,CAAA,GAAGC,mBAC1C,iCACA,EAAA,KAAA,CAAA;IAEF,MAAM,EAAEC,OAAO,EAAE,GAAGC,gBAAAA,EAAAA;AAEpB,IAAA,MAAMC,WAAc,GAAA,IAAA;QAClBJ,iBAAkB,CAAA,IAAA,CAAA;QAClBH,OAAQ,CAAA,KAAA,CAAA;AACV,KAAA;AAEA,IAAA,MAAMQ,qBAAqB,CAACC,MAAAA,GAAAA;AAC1B,QAAA,IAAI,CAACA,MAAQ,EAAA;YACXN,iBAAkB,CAAA,IAAA,CAAA;AACpB;QAEAH,OAAQS,CAAAA,MAAAA,CAAAA;AACV,KAAA;IAEA,IAAIP,cAAAA,IAAkB,CAACG,OAAAA,EAASK,OAAS,EAAA;QACvC,OAAO,IAAA;AACT;IAEA,qBACEC,GAAA,CAACrB,MAAMsB,IAAI,EAAA;QAACb,IAAMA,EAAAA,IAAAA;QAAMc,YAAcL,EAAAA,kBAAAA;AACpC,QAAA,QAAA,gBAAAG,GAACvB,CAAAA,kBAAAA,EAAAA;YAAmB0B,iBAAgB,EAAA,OAAA;AAClC,YAAA,QAAA,gBAAAC,IAACvB,CAAAA,eAAAA,EAAAA;;kCACCmB,GAACK,CAAAA,GAAAA,EAAAA;wBAAIC,QAAS,EAAA,UAAA;wBAAWC,GAAK,EAAA,CAAA;wBAAGC,KAAO,EAAA,CAAA;wBAAGC,OAAS,EAAA,CAAA;AAClD,wBAAA,QAAA,gBAAAT,GAACjB,CAAAA,YAAAA,EAAAA;AACC2B,4BAAAA,YAAAA,EAAYxB,aAAc,CAAA;gCACxByB,EAAI,EAAA,uBAAA;gCACJC,cAAgB,EAAA;AAClB,6BAAA,CAAA;4BACAC,OAAQ,EAAA,UAAA;4BACRC,KAAM,EAAA,QAAA;4BACNC,MAAO,EAAA,QAAA;4BACPC,OAASpB,EAAAA,WAAAA;AAET,4BAAA,QAAA,gBAAAI,GAACiB,CAAAA,KAAAA,EAAAA,EAAAA;;;kCAGLjB,GAACkB,CAAAA,KAAAA,EAAAA;wBAAIC,GAAKC,EAAAA,GAAAA;wBAAmBC,GAAI,EAAA,YAAA;wBAAaP,KAAM,EAAA,MAAA;wBAAOC,MAAO,EAAA;;kCAClEX,IAACkB,CAAAA,IAAAA,EAAAA;wBAAKC,SAAU,EAAA,QAAA;wBAASC,UAAW,EAAA,OAAA;wBAAQC,cAAe,EAAA,SAAA;wBAAUhB,OAAS,EAAA,CAAA;wBAAGiB,GAAK,EAAA,CAAA;;0CACpF1B,GAAC2B,CAAAA,UAAAA,EAAAA;gCAAWd,OAAQ,EAAA,OAAA;gCAAQe,UAAW,EAAA,MAAA;gCAAOC,QAAU,EAAA,CAAA;gCAAGlB,EAAG,EAAA,OAAA;0CAC3DzB,aAAc,CAAA;oCACbyB,EAAI,EAAA,4CAAA;oCACJC,cAAgB,EAAA;AAClB,iCAAA;;0CAEFZ,GAAC2B,CAAAA,UAAAA,EAAAA;0CACEzC,aAAc,CAAA;oCACbyB,EAAI,EAAA,mDAAA;oCACJC,cACE,EAAA;AACJ,iCAAA;;0CAEFZ,GAAC2B,CAAAA,UAAAA,EAAAA;0CACEzC,aAAc,CAAA;oCACbyB,EAAI,EAAA,mDAAA;oCACJC,cACE,EAAA;AACJ,iCAAA;;0CAEFZ,GAACK,CAAAA,GAAAA,EAAAA;gCAAIyB,SAAW,EAAA,CAAA;AACd,gCAAA,QAAA,gBAAA9B,GAAChB,CAAAA,MAAAA,EAAAA;oCAAOgC,OAASpB,EAAAA,WAAAA;8CACdV,aAAc,CAAA;wCACbyB,EAAI,EAAA,6CAAA;wCACJC,cAAgB,EAAA;AAClB,qCAAA;;;;;;;;;AAQhB;;;;"}
|
|
@@ -7,7 +7,7 @@ var symbols = require('@strapi/icons/symbols');
|
|
|
7
7
|
var pluralize = require('pluralize');
|
|
8
8
|
var reactIntl = require('react-intl');
|
|
9
9
|
var semver = require('semver');
|
|
10
|
-
var
|
|
10
|
+
var styled = require('styled-components');
|
|
11
11
|
var logoStrapi2022 = require('../../../assets/images/logo-strapi-2022.svg.js');
|
|
12
12
|
var Notifications = require('../../../features/Notifications.js');
|
|
13
13
|
var Tracking = require('../../../features/Tracking.js');
|
|
@@ -33,7 +33,7 @@ function _interopNamespaceDefault(e) {
|
|
|
33
33
|
var semver__namespace = /*#__PURE__*/_interopNamespaceDefault(semver);
|
|
34
34
|
|
|
35
35
|
// Custom component to have an ellipsis after the 2nd line
|
|
36
|
-
const EllipsisText =
|
|
36
|
+
const EllipsisText = styled.styled(designSystem.Typography)`
|
|
37
37
|
display: -webkit-box;
|
|
38
38
|
-webkit-box-orient: vertical;
|
|
39
39
|
-webkit-line-clamp: 2;
|
|
@@ -320,7 +320,7 @@ const PackageStats = ({ githubStars = 0, npmDownloads = 0, npmPackageType })=>{
|
|
|
320
320
|
]
|
|
321
321
|
});
|
|
322
322
|
};
|
|
323
|
-
const VerticalDivider =
|
|
323
|
+
const VerticalDivider = styled.styled(designSystem.Divider)`
|
|
324
324
|
width: 1.2rem;
|
|
325
325
|
transform: rotate(90deg);
|
|
326
326
|
`;
|