@strapi/content-releases 5.11.0 → 5.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/chunks/{App-nCn9ijZP.mjs → App-BEyv0kMo.mjs} +2 -2
- package/dist/admin/chunks/{App-nCn9ijZP.mjs.map → App-BEyv0kMo.mjs.map} +1 -1
- package/dist/admin/chunks/{App-Ccfr_N2a.js → App-BG-3LItb.js} +2 -2
- package/dist/admin/chunks/{App-Ccfr_N2a.js.map → App-BG-3LItb.js.map} +1 -1
- package/dist/admin/chunks/PurchaseContentReleases-U5sGMPgR.mjs +173 -0
- package/dist/admin/chunks/PurchaseContentReleases-U5sGMPgR.mjs.map +1 -0
- package/dist/admin/chunks/PurchaseContentReleases-hRg6ejD7.js +175 -0
- package/dist/admin/chunks/PurchaseContentReleases-hRg6ejD7.js.map +1 -0
- package/dist/admin/chunks/{ReleasesSettingsPage-DgUoq8_y.js → ReleasesSettingsPage-DV_y1NJZ.js} +7 -8
- package/dist/admin/chunks/ReleasesSettingsPage-DV_y1NJZ.js.map +1 -0
- package/dist/admin/chunks/{ReleasesSettingsPage-BDN7ia8_.mjs → ReleasesSettingsPage-lky_0-wG.mjs} +4 -5
- package/dist/admin/chunks/ReleasesSettingsPage-lky_0-wG.mjs.map +1 -0
- package/dist/admin/chunks/{en-BzpFfVeO.js → en-BOpqX2t_.js} +6 -1
- package/dist/admin/chunks/{en-BzpFfVeO.js.map → en-BOpqX2t_.js.map} +1 -1
- package/dist/admin/chunks/{en-B2EeDoOz.mjs → en-aQo8Bn_U.mjs} +6 -1
- package/dist/admin/chunks/{en-B2EeDoOz.mjs.map → en-aQo8Bn_U.mjs.map} +1 -1
- package/dist/admin/chunks/hooks-CFk_8Q0b.mjs +6 -0
- package/dist/admin/chunks/hooks-CFk_8Q0b.mjs.map +1 -0
- package/dist/admin/chunks/hooks-DA5VbUAp.js +8 -0
- package/dist/admin/chunks/hooks-DA5VbUAp.js.map +1 -0
- package/dist/admin/chunks/{index-BFXwEPqg.js → index-BZaFIG8z.js} +5 -5
- package/dist/admin/chunks/{index-BFXwEPqg.js.map → index-BZaFIG8z.js.map} +1 -1
- package/dist/admin/chunks/{index-TSoOtDGF.mjs → index-DEy-8PzZ.mjs} +5 -5
- package/dist/admin/chunks/{index-TSoOtDGF.mjs.map → index-DEy-8PzZ.mjs.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/package.json +7 -7
- package/dist/admin/chunks/PurchaseContentReleases-BCME5SQU.js +0 -55
- package/dist/admin/chunks/PurchaseContentReleases-BCME5SQU.js.map +0 -1
- package/dist/admin/chunks/PurchaseContentReleases-S1ccDSwp.mjs +0 -53
- package/dist/admin/chunks/PurchaseContentReleases-S1ccDSwp.mjs.map +0 -1
- package/dist/admin/chunks/ReleasesSettingsPage-BDN7ia8_.mjs.map +0 -1
- package/dist/admin/chunks/ReleasesSettingsPage-DgUoq8_y.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/content-releases",
|
|
3
|
-
"version": "5.11.
|
|
3
|
+
"version": "5.11.2",
|
|
4
4
|
"description": "Strapi plugin for organizing and releasing content",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -59,11 +59,11 @@
|
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@reduxjs/toolkit": "1.9.7",
|
|
62
|
-
"@strapi/database": "5.11.
|
|
62
|
+
"@strapi/database": "5.11.2",
|
|
63
63
|
"@strapi/design-system": "2.0.0-rc.18",
|
|
64
64
|
"@strapi/icons": "2.0.0-rc.18",
|
|
65
|
-
"@strapi/types": "5.11.
|
|
66
|
-
"@strapi/utils": "5.11.
|
|
65
|
+
"@strapi/types": "5.11.2",
|
|
66
|
+
"@strapi/utils": "5.11.2",
|
|
67
67
|
"date-fns": "2.30.0",
|
|
68
68
|
"date-fns-tz": "2.0.1",
|
|
69
69
|
"formik": "2.4.5",
|
|
@@ -75,9 +75,9 @@
|
|
|
75
75
|
"yup": "0.32.9"
|
|
76
76
|
},
|
|
77
77
|
"devDependencies": {
|
|
78
|
-
"@strapi/admin": "5.11.
|
|
79
|
-
"@strapi/admin-test-utils": "5.11.
|
|
80
|
-
"@strapi/content-manager": "5.11.
|
|
78
|
+
"@strapi/admin": "5.11.2",
|
|
79
|
+
"@strapi/admin-test-utils": "5.11.2",
|
|
80
|
+
"@strapi/content-manager": "5.11.2",
|
|
81
81
|
"@testing-library/dom": "10.1.0",
|
|
82
82
|
"@testing-library/react": "15.0.7",
|
|
83
83
|
"@testing-library/user-event": "14.5.2",
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var strapiAdmin = require('@strapi/admin/strapi-admin');
|
|
5
|
-
var designSystem = require('@strapi/design-system');
|
|
6
|
-
var icons = require('@strapi/icons');
|
|
7
|
-
var symbols = require('@strapi/icons/symbols');
|
|
8
|
-
var reactIntl = require('react-intl');
|
|
9
|
-
|
|
10
|
-
const PurchaseContentReleases = ()=>{
|
|
11
|
-
const { formatMessage } = reactIntl.useIntl();
|
|
12
|
-
return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Root, {
|
|
13
|
-
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Main, {
|
|
14
|
-
children: [
|
|
15
|
-
/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Header, {
|
|
16
|
-
title: formatMessage({
|
|
17
|
-
id: 'content-releases.pages.Releases.title',
|
|
18
|
-
defaultMessage: 'Releases'
|
|
19
|
-
}),
|
|
20
|
-
subtitle: formatMessage({
|
|
21
|
-
id: 'content-releases.pages.PurchaseRelease.subTitle',
|
|
22
|
-
defaultMessage: 'Manage content updates and releases.'
|
|
23
|
-
})
|
|
24
|
-
}),
|
|
25
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
26
|
-
paddingLeft: 10,
|
|
27
|
-
paddingRight: 10,
|
|
28
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.EmptyStateLayout, {
|
|
29
|
-
icon: /*#__PURE__*/ jsxRuntime.jsx(symbols.EmptyPermissions, {
|
|
30
|
-
width: "16rem"
|
|
31
|
-
}),
|
|
32
|
-
content: formatMessage({
|
|
33
|
-
id: 'content-releases.pages.PurchaseRelease.not-available',
|
|
34
|
-
defaultMessage: 'Releases is only available as part of a paid plan. Upgrade to create and manage releases.'
|
|
35
|
-
}),
|
|
36
|
-
action: /*#__PURE__*/ jsxRuntime.jsx(designSystem.LinkButton, {
|
|
37
|
-
variant: "default",
|
|
38
|
-
endIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.ExternalLink, {}),
|
|
39
|
-
href: "https://strapi.io/features/releases?utm_campaign=In-Product-CTA&utm_source=Releases",
|
|
40
|
-
isExternal: true,
|
|
41
|
-
target: "_blank",
|
|
42
|
-
children: formatMessage({
|
|
43
|
-
id: 'global.learn-more',
|
|
44
|
-
defaultMessage: 'Learn more'
|
|
45
|
-
})
|
|
46
|
-
})
|
|
47
|
-
})
|
|
48
|
-
})
|
|
49
|
-
]
|
|
50
|
-
})
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
exports.PurchaseContentReleases = PurchaseContentReleases;
|
|
55
|
-
//# sourceMappingURL=PurchaseContentReleases-BCME5SQU.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PurchaseContentReleases-BCME5SQU.js","sources":["../../../admin/src/pages/PurchaseContentReleases.tsx"],"sourcesContent":["import { Layouts } from '@strapi/admin/strapi-admin';\nimport { Box, Main, EmptyStateLayout, LinkButton } from '@strapi/design-system';\nimport { ExternalLink } from '@strapi/icons';\nimport { EmptyPermissions } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\n\nconst PurchaseContentReleases = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Layouts.Root>\n <Main>\n <Layouts.Header\n title={formatMessage({\n id: 'content-releases.pages.Releases.title',\n defaultMessage: 'Releases',\n })}\n subtitle={formatMessage({\n id: 'content-releases.pages.PurchaseRelease.subTitle',\n defaultMessage: 'Manage content updates and releases.',\n })}\n />\n <Box paddingLeft={10} paddingRight={10}>\n <EmptyStateLayout\n icon={<EmptyPermissions width=\"16rem\" />}\n content={formatMessage({\n id: 'content-releases.pages.PurchaseRelease.not-available',\n defaultMessage:\n 'Releases is only available as part of a paid plan. Upgrade to create and manage releases.',\n })}\n action={\n <LinkButton\n variant=\"default\"\n endIcon={<ExternalLink />}\n href=\"https://strapi.io/features/releases?utm_campaign=In-Product-CTA&utm_source=Releases\"\n isExternal\n target=\"_blank\"\n >\n {formatMessage({\n id: 'global.learn-more',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n }\n />\n </Box>\n </Main>\n </Layouts.Root>\n );\n};\n\nexport { PurchaseContentReleases };\n"],"names":["PurchaseContentReleases","formatMessage","useIntl","_jsx","Layouts","Root","_jsxs","Main","Header","title","id","defaultMessage","subtitle","Box","paddingLeft","paddingRight","EmptyStateLayout","icon","EmptyPermissions","width","content","action","LinkButton","variant","endIcon","ExternalLink","href","isExternal","target"],"mappings":";;;;;;;;;AAMA,MAAMA,uBAA0B,GAAA,IAAA;IAC9B,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,qBACEC,cAAA,CAACC,oBAAQC,IAAI,EAAA;AACX,QAAA,QAAA,gBAAAC,eAACC,CAAAA,iBAAAA,EAAAA;;AACC,8BAAAJ,cAAA,CAACC,oBAAQI,MAAM,EAAA;AACbC,oBAAAA,KAAAA,EAAOR,aAAc,CAAA;wBACnBS,EAAI,EAAA,uCAAA;wBACJC,cAAgB,EAAA;AAClB,qBAAA,CAAA;AACAC,oBAAAA,QAAAA,EAAUX,aAAc,CAAA;wBACtBS,EAAI,EAAA,iDAAA;wBACJC,cAAgB,EAAA;AAClB,qBAAA;;8BAEFR,cAACU,CAAAA,gBAAAA,EAAAA;oBAAIC,WAAa,EAAA,EAAA;oBAAIC,YAAc,EAAA,EAAA;AAClC,oBAAA,QAAA,gBAAAZ,cAACa,CAAAA,6BAAAA,EAAAA;AACCC,wBAAAA,IAAAA,gBAAMd,cAACe,CAAAA,wBAAAA,EAAAA;4BAAiBC,KAAM,EAAA;;AAC9BC,wBAAAA,OAAAA,EAASnB,aAAc,CAAA;4BACrBS,EAAI,EAAA,sDAAA;4BACJC,cACE,EAAA;AACJ,yBAAA,CAAA;AACAU,wBAAAA,MAAAA,gBACElB,cAACmB,CAAAA,uBAAAA,EAAAA;4BACCC,OAAQ,EAAA,SAAA;AACRC,4BAAAA,OAAAA,gBAASrB,cAACsB,CAAAA,kBAAAA,EAAAA,EAAAA,CAAAA;4BACVC,IAAK,EAAA,qFAAA;4BACLC,UAAU,EAAA,IAAA;4BACVC,MAAO,EAAA,QAAA;sCAEN3B,aAAc,CAAA;gCACbS,EAAI,EAAA,mBAAA;gCACJC,cAAgB,EAAA;AAClB,6BAAA;;;;;;;AAQhB;;;;"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { Layouts } from '@strapi/admin/strapi-admin';
|
|
3
|
-
import { Main, Box, EmptyStateLayout, LinkButton } from '@strapi/design-system';
|
|
4
|
-
import { ExternalLink } from '@strapi/icons';
|
|
5
|
-
import { EmptyPermissions } from '@strapi/icons/symbols';
|
|
6
|
-
import { useIntl } from 'react-intl';
|
|
7
|
-
|
|
8
|
-
const PurchaseContentReleases = ()=>{
|
|
9
|
-
const { formatMessage } = useIntl();
|
|
10
|
-
return /*#__PURE__*/ jsx(Layouts.Root, {
|
|
11
|
-
children: /*#__PURE__*/ jsxs(Main, {
|
|
12
|
-
children: [
|
|
13
|
-
/*#__PURE__*/ jsx(Layouts.Header, {
|
|
14
|
-
title: formatMessage({
|
|
15
|
-
id: 'content-releases.pages.Releases.title',
|
|
16
|
-
defaultMessage: 'Releases'
|
|
17
|
-
}),
|
|
18
|
-
subtitle: formatMessage({
|
|
19
|
-
id: 'content-releases.pages.PurchaseRelease.subTitle',
|
|
20
|
-
defaultMessage: 'Manage content updates and releases.'
|
|
21
|
-
})
|
|
22
|
-
}),
|
|
23
|
-
/*#__PURE__*/ jsx(Box, {
|
|
24
|
-
paddingLeft: 10,
|
|
25
|
-
paddingRight: 10,
|
|
26
|
-
children: /*#__PURE__*/ jsx(EmptyStateLayout, {
|
|
27
|
-
icon: /*#__PURE__*/ jsx(EmptyPermissions, {
|
|
28
|
-
width: "16rem"
|
|
29
|
-
}),
|
|
30
|
-
content: formatMessage({
|
|
31
|
-
id: 'content-releases.pages.PurchaseRelease.not-available',
|
|
32
|
-
defaultMessage: 'Releases is only available as part of a paid plan. Upgrade to create and manage releases.'
|
|
33
|
-
}),
|
|
34
|
-
action: /*#__PURE__*/ jsx(LinkButton, {
|
|
35
|
-
variant: "default",
|
|
36
|
-
endIcon: /*#__PURE__*/ jsx(ExternalLink, {}),
|
|
37
|
-
href: "https://strapi.io/features/releases?utm_campaign=In-Product-CTA&utm_source=Releases",
|
|
38
|
-
isExternal: true,
|
|
39
|
-
target: "_blank",
|
|
40
|
-
children: formatMessage({
|
|
41
|
-
id: 'global.learn-more',
|
|
42
|
-
defaultMessage: 'Learn more'
|
|
43
|
-
})
|
|
44
|
-
})
|
|
45
|
-
})
|
|
46
|
-
})
|
|
47
|
-
]
|
|
48
|
-
})
|
|
49
|
-
});
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export { PurchaseContentReleases };
|
|
53
|
-
//# sourceMappingURL=PurchaseContentReleases-S1ccDSwp.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PurchaseContentReleases-S1ccDSwp.mjs","sources":["../../../admin/src/pages/PurchaseContentReleases.tsx"],"sourcesContent":["import { Layouts } from '@strapi/admin/strapi-admin';\nimport { Box, Main, EmptyStateLayout, LinkButton } from '@strapi/design-system';\nimport { ExternalLink } from '@strapi/icons';\nimport { EmptyPermissions } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\n\nconst PurchaseContentReleases = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Layouts.Root>\n <Main>\n <Layouts.Header\n title={formatMessage({\n id: 'content-releases.pages.Releases.title',\n defaultMessage: 'Releases',\n })}\n subtitle={formatMessage({\n id: 'content-releases.pages.PurchaseRelease.subTitle',\n defaultMessage: 'Manage content updates and releases.',\n })}\n />\n <Box paddingLeft={10} paddingRight={10}>\n <EmptyStateLayout\n icon={<EmptyPermissions width=\"16rem\" />}\n content={formatMessage({\n id: 'content-releases.pages.PurchaseRelease.not-available',\n defaultMessage:\n 'Releases is only available as part of a paid plan. Upgrade to create and manage releases.',\n })}\n action={\n <LinkButton\n variant=\"default\"\n endIcon={<ExternalLink />}\n href=\"https://strapi.io/features/releases?utm_campaign=In-Product-CTA&utm_source=Releases\"\n isExternal\n target=\"_blank\"\n >\n {formatMessage({\n id: 'global.learn-more',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n }\n />\n </Box>\n </Main>\n </Layouts.Root>\n );\n};\n\nexport { PurchaseContentReleases };\n"],"names":["PurchaseContentReleases","formatMessage","useIntl","_jsx","Layouts","Root","_jsxs","Main","Header","title","id","defaultMessage","subtitle","Box","paddingLeft","paddingRight","EmptyStateLayout","icon","EmptyPermissions","width","content","action","LinkButton","variant","endIcon","ExternalLink","href","isExternal","target"],"mappings":";;;;;;;AAMA,MAAMA,uBAA0B,GAAA,IAAA;IAC9B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAE1B,qBACEC,GAAA,CAACC,QAAQC,IAAI,EAAA;AACX,QAAA,QAAA,gBAAAC,IAACC,CAAAA,IAAAA,EAAAA;;AACC,8BAAAJ,GAAA,CAACC,QAAQI,MAAM,EAAA;AACbC,oBAAAA,KAAAA,EAAOR,aAAc,CAAA;wBACnBS,EAAI,EAAA,uCAAA;wBACJC,cAAgB,EAAA;AAClB,qBAAA,CAAA;AACAC,oBAAAA,QAAAA,EAAUX,aAAc,CAAA;wBACtBS,EAAI,EAAA,iDAAA;wBACJC,cAAgB,EAAA;AAClB,qBAAA;;8BAEFR,GAACU,CAAAA,GAAAA,EAAAA;oBAAIC,WAAa,EAAA,EAAA;oBAAIC,YAAc,EAAA,EAAA;AAClC,oBAAA,QAAA,gBAAAZ,GAACa,CAAAA,gBAAAA,EAAAA;AACCC,wBAAAA,IAAAA,gBAAMd,GAACe,CAAAA,gBAAAA,EAAAA;4BAAiBC,KAAM,EAAA;;AAC9BC,wBAAAA,OAAAA,EAASnB,aAAc,CAAA;4BACrBS,EAAI,EAAA,sDAAA;4BACJC,cACE,EAAA;AACJ,yBAAA,CAAA;AACAU,wBAAAA,MAAAA,gBACElB,GAACmB,CAAAA,UAAAA,EAAAA;4BACCC,OAAQ,EAAA,SAAA;AACRC,4BAAAA,OAAAA,gBAASrB,GAACsB,CAAAA,YAAAA,EAAAA,EAAAA,CAAAA;4BACVC,IAAK,EAAA,qFAAA;4BACLC,UAAU,EAAA,IAAA;4BACVC,MAAO,EAAA,QAAA;sCAEN3B,aAAc,CAAA;gCACbS,EAAI,EAAA,mBAAA;gCACJC,cAAgB,EAAA;AAClB,6BAAA;;;;;;;AAQhB;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReleasesSettingsPage-BDN7ia8_.mjs","sources":["../../../admin/src/modules/hooks.ts","../../../admin/src/pages/ReleasesSettingsPage.tsx"],"sourcesContent":["import { Dispatch } from '@reduxjs/toolkit';\nimport { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';\n\nimport type { Store } from '@strapi/admin/strapi-admin';\n\ntype RootState = ReturnType<Store['getState']>;\n\nconst useTypedDispatch: () => Dispatch = useDispatch;\nconst useTypedSelector: TypedUseSelectorHook<RootState> = useSelector;\n\nexport { useTypedSelector, useTypedDispatch };\n","import {\n Form,\n Layouts,\n Page,\n useAPIErrorHandler,\n isFetchError,\n useNotification,\n useField,\n useRBAC,\n} from '@strapi/admin/strapi-admin';\nimport {\n Button,\n Combobox,\n ComboboxOption,\n Field,\n Flex,\n Grid,\n Typography,\n} from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useTypedSelector } from '../modules/hooks';\nimport { useGetReleaseSettingsQuery, useUpdateReleaseSettingsMutation } from '../services/release';\nimport { getTimezones } from '../utils/time';\nimport { SETTINGS_SCHEMA } from '../validation/schemas';\n\nimport type { UpdateSettings } from '../../../shared/contracts/settings';\n\nconst ReleasesSettingsPage = () => {\n const { formatMessage } = useIntl();\n const { formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const { data, isLoading: isLoadingSettings } = useGetReleaseSettingsQuery();\n const [updateReleaseSettings, { isLoading: isSubmittingForm }] =\n useUpdateReleaseSettingsMutation();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions['settings']?.['releases']\n );\n const {\n allowedActions: { canUpdate },\n } = useRBAC(permissions);\n\n const { timezoneList } = getTimezones(new Date());\n\n const handleSubmit = async (body: UpdateSettings.Request['body']) => {\n const { defaultTimezone } = body;\n const isBodyTimezoneValid = timezoneList.some((timezone) => timezone.value === defaultTimezone);\n const newBody =\n !defaultTimezone || !isBodyTimezoneValid ? { defaultTimezone: null } : { ...body };\n try {\n const response = await updateReleaseSettings(newBody);\n\n if ('data' in response) {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-releases.pages.Settings.releases.setting.default-timezone-notification-success',\n defaultMessage: 'Default timezone updated.',\n }),\n });\n } else if (isFetchError(response.error)) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(response.error),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if (isLoadingSettings) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Releases',\n }\n )}\n </Page.Title>\n <Page.Main aria-busy={isLoadingSettings} tabIndex={-1}>\n <Form\n method=\"PUT\"\n initialValues={{\n defaultTimezone: data?.data.defaultTimezone,\n }}\n onSubmit={handleSubmit}\n validationSchema={SETTINGS_SCHEMA}\n >\n {({ modified, isSubmitting }: { modified: boolean; isSubmitting: boolean }) => {\n return (\n <>\n <Layouts.Header\n primaryAction={\n canUpdate ? (\n <Button\n disabled={!modified || isSubmittingForm}\n loading={isSubmitting}\n startIcon={<Check />}\n type=\"submit\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n ) : null\n }\n title={formatMessage({\n id: 'content-releases.pages.Settings.releases.title',\n defaultMessage: 'Releases',\n })}\n subtitle={formatMessage({\n id: 'content-releases.pages.Settings.releases.description',\n defaultMessage: 'Create and manage content updates',\n })}\n />\n <Layouts.Content>\n <Flex\n direction=\"column\"\n background=\"neutral0\"\n alignItems=\"stretch\"\n padding={6}\n gap={6}\n shadow=\"filterShadow\"\n hasRadius\n >\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'content-releases.pages.Settings.releases.preferences.title',\n defaultMessage: 'Preferences',\n })}\n </Typography>\n <Grid.Root>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <TimezoneDropdown />\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Layouts.Content>\n </>\n );\n }}\n </Form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nconst TimezoneDropdown = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions['settings']?.['releases']\n );\n const {\n allowedActions: { canUpdate },\n } = useRBAC(permissions);\n const { formatMessage } = useIntl();\n const { timezoneList } = getTimezones(new Date());\n const field = useField('defaultTimezone');\n return (\n <Field.Root\n name=\"defaultTimezone\"\n hint={formatMessage({\n id: 'content-releases.pages.Settings.releases.timezone.hint',\n defaultMessage: 'The timezone of every release can still be changed individually. ',\n })}\n error={field.error}\n >\n <Field.Label>\n {formatMessage({\n id: 'content-releases.pages.Settings.releases.timezone.label',\n defaultMessage: 'Default timezone',\n })}\n </Field.Label>\n <Combobox\n autocomplete={{ type: 'list', filter: 'contains' }}\n onChange={(value) => field.onChange('defaultTimezone', value)}\n onTextValueChange={(value) => field.onChange('defaultTimezone', value)}\n onClear={() => field.onChange('defaultTimezone', '')}\n value={field.value}\n disabled={!canUpdate}\n >\n {timezoneList.map((timezone) => (\n <ComboboxOption key={timezone.value} value={timezone.value}>\n {timezone.value.replace(/&/, ' ')}\n </ComboboxOption>\n ))}\n </Combobox>\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedSettingsPage\n * -----------------------------------------------------------------------------------------------*/\n\nexport const ProtectedReleasesSettingsPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions['settings']?.['releases']?.read\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ReleasesSettingsPage />\n </Page.Protect>\n );\n};\n"],"names":["useTypedSelector","useSelector","ReleasesSettingsPage","formatMessage","useIntl","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","data","isLoading","isLoadingSettings","useGetReleaseSettingsQuery","updateReleaseSettings","isSubmittingForm","useUpdateReleaseSettingsMutation","permissions","state","admin_app","allowedActions","canUpdate","useRBAC","timezoneList","getTimezones","Date","handleSubmit","body","defaultTimezone","isBodyTimezoneValid","some","timezone","value","newBody","response","type","message","id","defaultMessage","isFetchError","error","_jsx","Page","Loading","_jsxs","Layouts","Root","Title","name","Main","aria-busy","tabIndex","Form","method","initialValues","onSubmit","validationSchema","SETTINGS_SCHEMA","modified","isSubmitting","_Fragment","Header","primaryAction","Button","disabled","loading","startIcon","Check","title","subtitle","Content","Flex","direction","background","alignItems","padding","gap","shadow","hasRadius","Typography","variant","tag","Grid","Item","col","s","TimezoneDropdown","field","useField","Field","hint","Label","Combobox","autocomplete","filter","onChange","onTextValueChange","onClear","map","ComboboxOption","replace","Hint","Error","ProtectedReleasesSettingsPage","read","Protect"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReleasesSettingsPage-DgUoq8_y.js","sources":["../../../admin/src/modules/hooks.ts","../../../admin/src/pages/ReleasesSettingsPage.tsx"],"sourcesContent":["import { Dispatch } from '@reduxjs/toolkit';\nimport { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';\n\nimport type { Store } from '@strapi/admin/strapi-admin';\n\ntype RootState = ReturnType<Store['getState']>;\n\nconst useTypedDispatch: () => Dispatch = useDispatch;\nconst useTypedSelector: TypedUseSelectorHook<RootState> = useSelector;\n\nexport { useTypedSelector, useTypedDispatch };\n","import {\n Form,\n Layouts,\n Page,\n useAPIErrorHandler,\n isFetchError,\n useNotification,\n useField,\n useRBAC,\n} from '@strapi/admin/strapi-admin';\nimport {\n Button,\n Combobox,\n ComboboxOption,\n Field,\n Flex,\n Grid,\n Typography,\n} from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useTypedSelector } from '../modules/hooks';\nimport { useGetReleaseSettingsQuery, useUpdateReleaseSettingsMutation } from '../services/release';\nimport { getTimezones } from '../utils/time';\nimport { SETTINGS_SCHEMA } from '../validation/schemas';\n\nimport type { UpdateSettings } from '../../../shared/contracts/settings';\n\nconst ReleasesSettingsPage = () => {\n const { formatMessage } = useIntl();\n const { formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const { data, isLoading: isLoadingSettings } = useGetReleaseSettingsQuery();\n const [updateReleaseSettings, { isLoading: isSubmittingForm }] =\n useUpdateReleaseSettingsMutation();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions['settings']?.['releases']\n );\n const {\n allowedActions: { canUpdate },\n } = useRBAC(permissions);\n\n const { timezoneList } = getTimezones(new Date());\n\n const handleSubmit = async (body: UpdateSettings.Request['body']) => {\n const { defaultTimezone } = body;\n const isBodyTimezoneValid = timezoneList.some((timezone) => timezone.value === defaultTimezone);\n const newBody =\n !defaultTimezone || !isBodyTimezoneValid ? { defaultTimezone: null } : { ...body };\n try {\n const response = await updateReleaseSettings(newBody);\n\n if ('data' in response) {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-releases.pages.Settings.releases.setting.default-timezone-notification-success',\n defaultMessage: 'Default timezone updated.',\n }),\n });\n } else if (isFetchError(response.error)) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(response.error),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if (isLoadingSettings) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Releases',\n }\n )}\n </Page.Title>\n <Page.Main aria-busy={isLoadingSettings} tabIndex={-1}>\n <Form\n method=\"PUT\"\n initialValues={{\n defaultTimezone: data?.data.defaultTimezone,\n }}\n onSubmit={handleSubmit}\n validationSchema={SETTINGS_SCHEMA}\n >\n {({ modified, isSubmitting }: { modified: boolean; isSubmitting: boolean }) => {\n return (\n <>\n <Layouts.Header\n primaryAction={\n canUpdate ? (\n <Button\n disabled={!modified || isSubmittingForm}\n loading={isSubmitting}\n startIcon={<Check />}\n type=\"submit\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n ) : null\n }\n title={formatMessage({\n id: 'content-releases.pages.Settings.releases.title',\n defaultMessage: 'Releases',\n })}\n subtitle={formatMessage({\n id: 'content-releases.pages.Settings.releases.description',\n defaultMessage: 'Create and manage content updates',\n })}\n />\n <Layouts.Content>\n <Flex\n direction=\"column\"\n background=\"neutral0\"\n alignItems=\"stretch\"\n padding={6}\n gap={6}\n shadow=\"filterShadow\"\n hasRadius\n >\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'content-releases.pages.Settings.releases.preferences.title',\n defaultMessage: 'Preferences',\n })}\n </Typography>\n <Grid.Root>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <TimezoneDropdown />\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Layouts.Content>\n </>\n );\n }}\n </Form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nconst TimezoneDropdown = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions['settings']?.['releases']\n );\n const {\n allowedActions: { canUpdate },\n } = useRBAC(permissions);\n const { formatMessage } = useIntl();\n const { timezoneList } = getTimezones(new Date());\n const field = useField('defaultTimezone');\n return (\n <Field.Root\n name=\"defaultTimezone\"\n hint={formatMessage({\n id: 'content-releases.pages.Settings.releases.timezone.hint',\n defaultMessage: 'The timezone of every release can still be changed individually. ',\n })}\n error={field.error}\n >\n <Field.Label>\n {formatMessage({\n id: 'content-releases.pages.Settings.releases.timezone.label',\n defaultMessage: 'Default timezone',\n })}\n </Field.Label>\n <Combobox\n autocomplete={{ type: 'list', filter: 'contains' }}\n onChange={(value) => field.onChange('defaultTimezone', value)}\n onTextValueChange={(value) => field.onChange('defaultTimezone', value)}\n onClear={() => field.onChange('defaultTimezone', '')}\n value={field.value}\n disabled={!canUpdate}\n >\n {timezoneList.map((timezone) => (\n <ComboboxOption key={timezone.value} value={timezone.value}>\n {timezone.value.replace(/&/, ' ')}\n </ComboboxOption>\n ))}\n </Combobox>\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedSettingsPage\n * -----------------------------------------------------------------------------------------------*/\n\nexport const ProtectedReleasesSettingsPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions['settings']?.['releases']?.read\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ReleasesSettingsPage />\n </Page.Protect>\n );\n};\n"],"names":["useTypedSelector","useSelector","ReleasesSettingsPage","formatMessage","useIntl","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","data","isLoading","isLoadingSettings","useGetReleaseSettingsQuery","updateReleaseSettings","isSubmittingForm","useUpdateReleaseSettingsMutation","permissions","state","admin_app","allowedActions","canUpdate","useRBAC","timezoneList","getTimezones","Date","handleSubmit","body","defaultTimezone","isBodyTimezoneValid","some","timezone","value","newBody","response","type","message","id","defaultMessage","isFetchError","error","_jsx","Page","Loading","_jsxs","Layouts","Root","Title","name","Main","aria-busy","tabIndex","Form","method","initialValues","onSubmit","validationSchema","SETTINGS_SCHEMA","modified","isSubmitting","_Fragment","Header","primaryAction","Button","disabled","loading","startIcon","Check","title","subtitle","Content","Flex","direction","background","alignItems","padding","gap","shadow","hasRadius","Typography","variant","tag","Grid","Item","col","s","TimezoneDropdown","field","useField","Field","hint","Label","Combobox","autocomplete","filter","onChange","onTextValueChange","onClear","map","ComboboxOption","replace","Hint","Error","ProtectedReleasesSettingsPage","read","Protect"],"mappings":"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"}
|