diff --git a/examples/getstarted/api/restaurant/models/Restaurant.settings.json b/examples/getstarted/api/restaurant/models/Restaurant.settings.json index 26ba49bf47..78eac44d6f 100755 --- a/examples/getstarted/api/restaurant/models/Restaurant.settings.json +++ b/examples/getstarted/api/restaurant/models/Restaurant.settings.json @@ -125,6 +125,7 @@ "component": "default.restaurantservice", "repeatable": true, "type": "component", + "max": 1, "pluginOptions": { "i18n": { "localized": true diff --git a/packages/core/admin/admin/src/pages/Admin/index.js b/packages/core/admin/admin/src/pages/Admin/index.js index e90f27e7eb..4091880dff 100644 --- a/packages/core/admin/admin/src/pages/Admin/index.js +++ b/packages/core/admin/admin/src/pages/Admin/index.js @@ -101,7 +101,10 @@ export class Admin extends React.Component { this.props.getInfosDataSucceeded(data); } catch (err) { console.error(err); - strapi.notification.error('notification.error'); + strapi.notification.toggle({ + type: 'warning', + message: { id: 'notification.error' }, + }); } }; diff --git a/packages/core/content-manager/admin/src/components/DynamicZone/index.js b/packages/core/content-manager/admin/src/components/DynamicZone/index.js index f3274219cd..5997c690a4 100644 --- a/packages/core/content-manager/admin/src/components/DynamicZone/index.js +++ b/packages/core/content-manager/admin/src/components/DynamicZone/index.js @@ -71,7 +71,10 @@ const DynamicZone = ({ if (dynamicDisplayedComponentsLength < max) { setIsOpen(prev => !prev); } else { - strapi.notification.info(`${pluginId}.components.notification.info.maximum-requirement`); + strapi.notification.toggle({ + type: 'info', + message: { id: `${pluginId}.components.notification.info.maximum-requirement` }, + }); } }; diff --git a/packages/core/content-manager/admin/src/components/RepeatableComponent/index.js b/packages/core/content-manager/admin/src/components/RepeatableComponent/index.js index 3b397b64c7..9295228e48 100644 --- a/packages/core/content-manager/admin/src/components/RepeatableComponent/index.js +++ b/packages/core/content-manager/admin/src/components/RepeatableComponent/index.js @@ -67,7 +67,10 @@ const RepeatableComponent = ({ setCollapseToOpen(nextTempKey); } else if (componentValueLength >= max) { - strapi.notification.info(`${pluginId}.components.notification.info.maximum-requirement`); + strapi.notification.toggle({ + type: 'info', + message: { id: `${pluginId}.components.notification.info.maximum-requirement` }, + }); } } }, [ diff --git a/packages/core/content-manager/admin/src/containers/CollectionTypeFormWrapper/index.js b/packages/core/content-manager/admin/src/containers/CollectionTypeFormWrapper/index.js index 3c7a32bf40..4e70c5bd80 100644 --- a/packages/core/content-manager/admin/src/containers/CollectionTypeFormWrapper/index.js +++ b/packages/core/content-manager/admin/src/containers/CollectionTypeFormWrapper/index.js @@ -152,7 +152,10 @@ const CollectionTypeFormWrapper = ({ allLayoutData, children, slug, id, origin } // Not allowed to read a document if (resStatus === 403) { - strapi.notification.info(getTrad('permissions.not-allowed.update')); + strapi.notification.toggle({ + type: 'info', + message: { id: getTrad('permissions.not-allowed.update') }, + }); push(redirectionLink); } @@ -192,7 +195,7 @@ const CollectionTypeFormWrapper = ({ allLayoutData, children, slug, id, origin } } if (typeof errorMessage === 'string') { - strapi.notification.error(errorMessage); + strapi.notification.toggle({ type: 'warning', message: errorMessage }); } }, []); @@ -205,7 +208,10 @@ const CollectionTypeFormWrapper = ({ allLayoutData, children, slug, id, origin } method: 'DELETE', }); - strapi.notification.success(getTrad('success.record.delete')); + strapi.notification.toggle({ + type: 'success', + message: { id: getTrad('success.record.delete') }, + }); emitEventRef.current('didDeleteEntry', trackerProperty); @@ -318,7 +324,10 @@ const CollectionTypeFormWrapper = ({ allLayoutData, children, slug, id, origin } const response = await request(endPoint, { method: 'POST' }); emitEventRef.current('didUnpublishEntry'); - strapi.notification.success(getTrad('success.record.unpublish')); + strapi.notification.toggle({ + type: 'success', + message: { id: getTrad('success.record.unpublish') }, + }); dispatch(submitSucceeded(cleanReceivedData(response))); dispatch(setStatus('resolved')); diff --git a/packages/core/content-manager/admin/src/containers/EditSettingsView/index.js b/packages/core/content-manager/admin/src/containers/EditSettingsView/index.js index 5bff9beb6e..5273d8ca51 100644 --- a/packages/core/content-manager/admin/src/containers/EditSettingsView/index.js +++ b/packages/core/content-manager/admin/src/containers/EditSettingsView/index.js @@ -134,7 +134,7 @@ const EditSettingsView = ({ components, mainLayout, isContentTypeView, slug, upd emitEvent('didEditEditSettings'); } catch (err) { - strapi.notification.error('notification.error'); + strapi.notification.toggle({ type: 'warning', message: { id: 'notification.error' } }); } }; diff --git a/packages/core/content-manager/admin/src/containers/EditView/DeleteLink/index.js b/packages/core/content-manager/admin/src/containers/EditView/DeleteLink/index.js index f60023bb2c..a5fe02b228 100644 --- a/packages/core/content-manager/admin/src/containers/EditView/DeleteLink/index.js +++ b/packages/core/content-manager/admin/src/containers/EditView/DeleteLink/index.js @@ -36,7 +36,7 @@ const DeleteLink = ({ isCreatingEntry, onDelete, onDeleteSucceeded, trackerPrope 'response.payload.message', formatMessage({ id: `${pluginId}.error.record.delete` }) ); - strapi.notification.error(errorMessage); + strapi.notification.toggle({ type: 'warning', message: errorMessage }); } finally { setIsModalConfirmButtonLoading(false); toggleWarningDelete(); diff --git a/packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/index.js b/packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/index.js index c980a29a5a..f49a219e9d 100644 --- a/packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/index.js +++ b/packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/index.js @@ -83,7 +83,10 @@ const EditViewDataManagerProvider = ({ useEffect(() => { if (shouldRedirectToHomepageWhenEditingEntry) { - strapi.notification.info(getTrad('permissions.not-allowed.update')); + strapi.notification.toggle({ + type: 'info', + message: { id: getTrad('permissions.not-allowed.update') }, + }); } }, [shouldRedirectToHomepageWhenEditingEntry]); diff --git a/packages/core/content-manager/admin/src/containers/ListView/index.js b/packages/core/content-manager/admin/src/containers/ListView/index.js index 02b77d19ab..6b0d19b50d 100644 --- a/packages/core/content-manager/admin/src/containers/ListView/index.js +++ b/packages/core/content-manager/admin/src/containers/ListView/index.js @@ -142,7 +142,10 @@ function ListView({ if (resStatus === 403) { await fetchPermissionsRef.current(); - strapi.notification.info(getTrad('permissions.not-allowed.update')); + strapi.notification.toggle({ + type: 'info', + message: { id: getTrad('permissions.not-allowed.update') }, + }); push('/'); @@ -151,7 +154,10 @@ function ListView({ if (err.name !== 'AbortError') { console.error(err); - strapi.notification.error(getTrad('error.model.fetch')); + strapi.notification.toggle({ + type: 'warning', + message: { id: getTrad('error.model.fetch') }, + }); } } }, @@ -188,7 +194,10 @@ function ListView({ onDeleteSeveralDataSucceeded(); emitEventRef.current('didBulkDeleteEntries'); } catch (err) { - strapi.notification.error(`${pluginId}.error.record.delete`); + strapi.notification.toggle({ + type: 'warning', + message: { id: getTrad('error.record.delete') }, + }); } }, [entriesToDelete, onDeleteSeveralDataSucceeded, slug, setModalLoadingState]); @@ -213,7 +222,7 @@ function ListView({ strapi.notification.toggle({ type: 'success', - message: { id: `${pluginId}.success.record.delete` }, + message: { id: getTrad('success.record.delete') }, }); // Close the modal and refetch data @@ -223,7 +232,7 @@ function ListView({ const errorMessage = get( err, 'response.payload.message', - formatMessage({ id: `${pluginId}.error.record.delete` }) + formatMessage({ id: getTrad('error.record.delete') }) ); strapi.notification.toggle({ diff --git a/packages/core/content-manager/admin/src/containers/Main/index.js b/packages/core/content-manager/admin/src/containers/Main/index.js index 89644abd58..917e975291 100644 --- a/packages/core/content-manager/admin/src/containers/Main/index.js +++ b/packages/core/content-manager/admin/src/containers/Main/index.js @@ -39,7 +39,7 @@ function Main({ getData, getDataSucceeded, isLoading, resetProps }) { getDataSucceeded(models, components); } catch (err) { console.error(err); - strapi.notification.error('notification.error'); + strapi.notification.toggle({ type: 'warning', message: { id: 'notification.error' } }); } }; diff --git a/packages/core/content-manager/admin/src/containers/SingleTypeFormWrapper/index.js b/packages/core/content-manager/admin/src/containers/SingleTypeFormWrapper/index.js index b24dcb3268..e1a28bf7e7 100644 --- a/packages/core/content-manager/admin/src/containers/SingleTypeFormWrapper/index.js +++ b/packages/core/content-manager/admin/src/containers/SingleTypeFormWrapper/index.js @@ -122,7 +122,10 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => { } if (responseStatus === 403) { - strapi.notification.info(getTrad('permissions.not-allowed.update')); + strapi.notification.toggle({ + type: 'info', + message: { id: getTrad('permissions.not-allowed.update') }, + }); push('/'); } @@ -146,7 +149,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => { } if (typeof errorMessage === 'string') { - strapi.notification.error(errorMessage); + strapi.notification.toggle({ type: 'warning', message: errorMessage }); } }, []); @@ -159,7 +162,10 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => { method: 'DELETE', }); - strapi.notification.success(getTrad('success.record.delete')); + strapi.notification.toggle({ + type: 'success', + message: { id: getTrad('success.record.delete') }, + }); emitEventRef.current('didDeleteEntry', trackerProperty); diff --git a/packages/core/email/admin/src/containers/Settings/index.js b/packages/core/email/admin/src/containers/Settings/index.js index 977388fbde..f933d7c961 100644 --- a/packages/core/email/admin/src/containers/Settings/index.js +++ b/packages/core/email/admin/src/containers/Settings/index.js @@ -50,14 +50,17 @@ const SettingsPage = () => { }); setTestSuccess(true); - - strapi.notification.success( - formatMessage({ id: getTrad('Settings.notification.test.success') }, { to: testAddress }) + const message = formatMessage( + { id: getTrad('Settings.notification.test.success') }, + { to: testAddress } ); + strapi.notification.toggle({ type: 'success', message }); } catch (err) { - strapi.notification.error( - formatMessage({ id: getTrad('Settings.notification.test.error') }, { to: testAddress }) + const message = formatMessage( + { id: getTrad('Settings.notification.test.error') }, + { to: testAddress } ); + strapi.notification.toggle({ type: 'warning', message }); } finally { if (isMounted.current) { setIsTestButtonLoading(false); @@ -83,9 +86,10 @@ const SettingsPage = () => { setTestAddress(get(data, 'config.settings.testAddress')); }) .catch(() => - strapi.notification.error( - formatMessage({ id: getTrad('Settings.notification.config.error') }) - ) + strapi.notification.toggle({ + type: 'warning', + message: { id: getTrad('Settings.notification.config.error') }, + }) ) .finally(() => setShowLoader(false)); };