node_modules ignore

This commit is contained in:
oier committed 2025-05-08 23:43:47 +02:00
1 parent e19d52f172
commit 4574544c9f
65041 files changed
+10593536

No files matched your search

+37
View File
@@ -0,0 +1,37 @@
Copyright (c) 2015-present Strapi Solutions SAS
Portions of the Strapi software are licensed as follows:
* All software that resides under an "ee/" directory (the “EE Software”), if that directory exists, is licensed under the license defined below.
Enterprise License
If you or the company you represent has entered into a written agreement referencing the Enterprise Edition of the Strapi source code available at
https://github.com/strapi/strapi, then such agreement applies to your use of the Enterprise Edition of the Strapi Software. If you or the company you
represent is using the Enterprise Edition of the Strapi Software in connection with a subscription to our cloud offering, then the agreement you have
agreed to with respect to our cloud offering and the licenses included in such agreement apply to your use of the Enterprise Edition of the Strapi Software.
Otherwise, the Strapi Enterprise Software License Agreement (found here https://strapi.io/enterprise-terms) applies to your use of the Enterprise Edition of the Strapi Software.
BY ACCESSING OR USING THE ENTERPRISE EDITION OF THE STRAPI SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE RELEVANT REFERENCED AGREEMENT.
IF YOU ARE NOT AUTHORIZED TO ACCEPT THESE TERMS ON BEHALF OF THE COMPANY YOU REPRESENT OR IF YOU DO NOT AGREE TO ALL OF THE RELEVANT TERMS AND CONDITIONS REFERENCED AND YOU
HAVE NOT OTHERWISE EXECUTED A WRITTEN AGREEMENT WITH STRAPI, YOU ARE NOT AUTHORIZED TO ACCESS OR USE OR ALLOW ANY USER TO ACCESS OR USE ANY PART OF
THE ENTERPRISE EDITION OF THE STRAPI SOFTWARE. YOUR ACCESS RIGHTS ARE CONDITIONAL ON YOUR CONSENT TO THE RELEVANT REFERENCED TERMS TO THE EXCLUSION OF ALL OTHER TERMS;
IF THE RELEVANT REFERENCED TERMS ARE CONSIDERED AN OFFER BY YOU, ACCEPTANCE IS EXPRESSLY LIMITED TO THE RELEVANT REFERENCED TERMS.
* All software outside of the above-mentioned directories or restrictions above is available under the "MIT Expat" license as set forth below.
MIT Expat License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+3
View File
@@ -0,0 +1,3 @@
# Strapi plugin
> :warning: The Shipper Email may also need to be changed in the `Email Templates` tab on the admin panel for emails to send properly
+17
View File
@@ -0,0 +1,17 @@
'use strict';
const PERMISSIONS = {
// This permission regards the main component (App) and is used to tell
// If the plugin link should be displayed in the menu
// And also if the plugin is accessible. This use case is found when a user types the url of the
// plugin directly in the browser
settings: [
{
action: 'plugin::email.settings.read',
subject: null
}
]
};
exports.PERMISSIONS = PERMISSIONS;
//# sourceMappingURL=constants.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"constants.js","sources":["../../admin/src/constants.ts"],"sourcesContent":["export const PERMISSIONS = {\n // This permission regards the main component (App) and is used to tell\n // If the plugin link should be displayed in the menu\n // And also if the plugin is accessible. This use case is found when a user types the url of the\n // plugin directly in the browser\n settings: [{ action: 'plugin::email.settings.read', subject: null }],\n};\n"],"names":["PERMISSIONS","settings","action","subject"],"mappings":";;MAAaA,WAAc,GAAA;;;;;IAKzBC,QAAU,EAAA;AAAC,QAAA;YAAEC,MAAQ,EAAA,6BAAA;YAA+BC,OAAS,EAAA;AAAK;AAAE;AACtE;;;;"}
+15
View File
@@ -0,0 +1,15 @@
const PERMISSIONS = {
// This permission regards the main component (App) and is used to tell
// If the plugin link should be displayed in the menu
// And also if the plugin is accessible. This use case is found when a user types the url of the
// plugin directly in the browser
settings: [
{
action: 'plugin::email.settings.read',
subject: null
}
]
};
export { PERMISSIONS };
//# sourceMappingURL=constants.mjs.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"constants.mjs","sources":["../../admin/src/constants.ts"],"sourcesContent":["export const PERMISSIONS = {\n // This permission regards the main component (App) and is used to tell\n // If the plugin link should be displayed in the menu\n // And also if the plugin is accessible. This use case is found when a user types the url of the\n // plugin directly in the browser\n settings: [{ action: 'plugin::email.settings.read', subject: null }],\n};\n"],"names":["PERMISSIONS","settings","action","subject"],"mappings":"MAAaA,WAAc,GAAA;;;;;IAKzBC,QAAU,EAAA;AAAC,QAAA;YAAEC,MAAQ,EAAA,6BAAA;YAA+BC,OAAS,EAAA;AAAK;AAAE;AACtE;;;;"}
+92
View File
@@ -0,0 +1,92 @@
'use strict';
var constants = require('./constants.js');
var prefixPluginTranslations = require('./utils/prefixPluginTranslations.js');
function _interopNamespaceDefaultOnly (e) { return Object.freeze({ __proto__: null, default: e }); }
function __variableDynamicImportRuntime1__(path) {
switch (path) {
case './translations/ar.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/ar.json.js')); });
case './translations/cs.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/cs.json.js')); });
case './translations/de.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/de.json.js')); });
case './translations/dk.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/dk.json.js')); });
case './translations/en.json': return Promise.resolve().then(function () { return require('./translations/en.json.js'); });
case './translations/es.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/es.json.js')); });
case './translations/fr.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/fr.json.js')); });
case './translations/id.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/id.json.js')); });
case './translations/it.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/it.json.js')); });
case './translations/ja.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/ja.json.js')); });
case './translations/ko.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/ko.json.js')); });
case './translations/ms.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/ms.json.js')); });
case './translations/nl.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/nl.json.js')); });
case './translations/pl.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/pl.json.js')); });
case './translations/pt-BR.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/pt-BR.json.js')); });
case './translations/pt.json': return Promise.resolve().then(function () { return require('./translations/pt.json.js'); });
case './translations/ru.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/ru.json.js')); });
case './translations/sk.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/sk.json.js')); });
case './translations/th.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/th.json.js')); });
case './translations/tr.json': return Promise.resolve().then(function () { return require('./translations/tr.json.js'); });
case './translations/uk.json': return Promise.resolve().then(function () { return require('./translations/uk.json.js'); });
case './translations/vi.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/vi.json.js')); });
case './translations/zh-Hans.json': return Promise.resolve().then(function () { return require('./translations/zh-Hans.json.js'); });
case './translations/zh.json': return Promise.resolve().then(function () { return require('./translations/zh.json.js'); });
default: return new Promise(function(resolve, reject) {
(typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(
reject.bind(null, new Error("Unknown variable dynamic import: " + path))
);
})
}
}
const admin = {
// TODO typing app in strapi/types as every plugin needs it
// eslint-disable-next-line @typescript-eslint/no-explicit-any
register (app) {
// Create the email settings section
app.createSettingSection({
id: 'email',
intlLabel: {
id: 'email.SettingsNav.section-label',
defaultMessage: 'Email Plugin'
}
}, [
{
intlLabel: {
id: 'email.Settings.email.plugin.title',
defaultMessage: 'Settings'
},
id: 'settings',
to: 'email',
Component: ()=>Promise.resolve().then(function () { return require('./pages/Settings.js'); }).then((mod)=>({
default: mod.ProtectedSettingsPage
})),
permissions: constants.PERMISSIONS.settings
}
]);
app.registerPlugin({
id: 'email',
name: 'email'
});
},
// eslint-disable-next-line @typescript-eslint/no-empty-function
bootstrap () {},
async registerTrads ({ locales }) {
const importedTrads = await Promise.all(locales.map((locale)=>{
return __variableDynamicImportRuntime1__(`./translations/${locale}.json`).then(({ default: data })=>{
return {
data: prefixPluginTranslations.prefixPluginTranslations(data, 'email'),
locale
};
}).catch(()=>{
return {
data: {},
locale
};
});
}));
return Promise.resolve(importedTrads);
}
};
module.exports = admin;
//# sourceMappingURL=index.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { PERMISSIONS } from './constants';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\n\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n // TODO typing app in strapi/types as every plugin needs it\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n register(app: any) {\n // Create the email settings section\n app.createSettingSection(\n {\n id: 'email',\n intlLabel: { id: 'email.SettingsNav.section-label', defaultMessage: 'Email Plugin' },\n },\n [\n {\n intlLabel: {\n id: 'email.Settings.email.plugin.title',\n defaultMessage: 'Settings',\n },\n id: 'settings',\n to: 'email',\n Component: () =>\n import('./pages/Settings').then((mod) => ({\n default: mod.ProtectedSettingsPage,\n })),\n permissions: PERMISSIONS.settings,\n },\n ]\n );\n app.registerPlugin({\n id: 'email',\n name: 'email',\n });\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n bootstrap() {},\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, 'email'),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","createSettingSection","id","intlLabel","defaultMessage","to","Component","then","mod","default","ProtectedSettingsPage","permissions","PERMISSIONS","settings","registerPlugin","name","bootstrap","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,KAAkC,GAAA;;;AAGtCC,IAAAA,QAAAA,CAAAA,CAASC,GAAQ,EAAA;;AAEfA,QAAAA,GAAAA,CAAIC,oBAAoB,CACtB;YACEC,EAAI,EAAA,OAAA;YACJC,SAAW,EAAA;gBAAED,EAAI,EAAA,iCAAA;gBAAmCE,cAAgB,EAAA;AAAe;SAErF,EAAA;AACE,YAAA;gBACED,SAAW,EAAA;oBACTD,EAAI,EAAA,mCAAA;oBACJE,cAAgB,EAAA;AAClB,iBAAA;gBACAF,EAAI,EAAA,UAAA;gBACJG,EAAI,EAAA,OAAA;gBACJC,SAAW,EAAA,IACT,oDAAO,qBAAA,KAAA,CAAoBC,IAAI,CAAC,CAACC,OAAS;AACxCC,4BAAAA,OAAAA,EAASD,IAAIE;yBACf,CAAA,CAAA;AACFC,gBAAAA,WAAAA,EAAaC,sBAAYC;AAC3B;AACD,SAAA,CAAA;AAEHb,QAAAA,GAAAA,CAAIc,cAAc,CAAC;YACjBZ,EAAI,EAAA,OAAA;YACJa,IAAM,EAAA;AACR,SAAA,CAAA;AACF,KAAA;;IAEAC,SAAa,CAAA,GAAA,EAAA;IACb,MAAMC,aAAAA,CAAAA,CAAc,EAAEC,OAAO,EAAyB,EAAA;QACpD,MAAMC,aAAAA,GAAgB,MAAMC,OAAQC,CAAAA,GAAG,CACrCH,OAAQI,CAAAA,GAAG,CAAC,CAACC,MAAAA,GAAAA;AACX,YAAA,OAAO,iCAAM,CAAC,CAAC,eAAe,EAAEA,MAAO,CAAA,KAAK,CAAC,CAAA,CAC1ChB,IAAI,CAAC,CAAC,EAAEE,OAAAA,EAASe,IAAI,EAAE,GAAA;gBACtB,OAAO;AACLA,oBAAAA,IAAAA,EAAMC,kDAAyBD,IAAM,EAAA,OAAA,CAAA;AACrCD,oBAAAA;AACF,iBAAA;AACF,aAAA,CAAA,CACCG,KAAK,CAAC,IAAA;gBACL,OAAO;AACLF,oBAAAA,IAAAA,EAAM,EAAC;AACPD,oBAAAA;AACF,iBAAA;AACF,aAAA,CAAA;AACJ,SAAA,CAAA,CAAA;QAGF,OAAOH,OAAAA,CAAQO,OAAO,CAACR,aAAAA,CAAAA;AACzB;AACF;;;;"}
+88
View File
@@ -0,0 +1,88 @@
import { PERMISSIONS } from './constants.mjs';
import { prefixPluginTranslations } from './utils/prefixPluginTranslations.mjs';
function __variableDynamicImportRuntime1__(path) {
switch (path) {
case './translations/ar.json': return import('./translations/ar.json.mjs');
case './translations/cs.json': return import('./translations/cs.json.mjs');
case './translations/de.json': return import('./translations/de.json.mjs');
case './translations/dk.json': return import('./translations/dk.json.mjs');
case './translations/en.json': return import('./translations/en.json.mjs');
case './translations/es.json': return import('./translations/es.json.mjs');
case './translations/fr.json': return import('./translations/fr.json.mjs');
case './translations/id.json': return import('./translations/id.json.mjs');
case './translations/it.json': return import('./translations/it.json.mjs');
case './translations/ja.json': return import('./translations/ja.json.mjs');
case './translations/ko.json': return import('./translations/ko.json.mjs');
case './translations/ms.json': return import('./translations/ms.json.mjs');
case './translations/nl.json': return import('./translations/nl.json.mjs');
case './translations/pl.json': return import('./translations/pl.json.mjs');
case './translations/pt-BR.json': return import('./translations/pt-BR.json.mjs');
case './translations/pt.json': return import('./translations/pt.json.mjs');
case './translations/ru.json': return import('./translations/ru.json.mjs');
case './translations/sk.json': return import('./translations/sk.json.mjs');
case './translations/th.json': return import('./translations/th.json.mjs');
case './translations/tr.json': return import('./translations/tr.json.mjs');
case './translations/uk.json': return import('./translations/uk.json.mjs');
case './translations/vi.json': return import('./translations/vi.json.mjs');
case './translations/zh-Hans.json': return import('./translations/zh-Hans.json.mjs');
case './translations/zh.json': return import('./translations/zh.json.mjs');
default: return new Promise(function(resolve, reject) {
(typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(
reject.bind(null, new Error("Unknown variable dynamic import: " + path))
);
})
}
}
const admin = {
// TODO typing app in strapi/types as every plugin needs it
// eslint-disable-next-line @typescript-eslint/no-explicit-any
register (app) {
// Create the email settings section
app.createSettingSection({
id: 'email',
intlLabel: {
id: 'email.SettingsNav.section-label',
defaultMessage: 'Email Plugin'
}
}, [
{
intlLabel: {
id: 'email.Settings.email.plugin.title',
defaultMessage: 'Settings'
},
id: 'settings',
to: 'email',
Component: ()=>import('./pages/Settings.mjs').then((mod)=>({
default: mod.ProtectedSettingsPage
})),
permissions: PERMISSIONS.settings
}
]);
app.registerPlugin({
id: 'email',
name: 'email'
});
},
// eslint-disable-next-line @typescript-eslint/no-empty-function
bootstrap () {},
async registerTrads ({ locales }) {
const importedTrads = await Promise.all(locales.map((locale)=>{
return __variableDynamicImportRuntime1__(`./translations/${locale}.json`).then(({ default: data })=>{
return {
data: prefixPluginTranslations(data, 'email'),
locale
};
}).catch(()=>{
return {
data: {},
locale
};
});
}));
return Promise.resolve(importedTrads);
}
};
export { admin as default };
//# sourceMappingURL=index.mjs.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { PERMISSIONS } from './constants';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\n\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n // TODO typing app in strapi/types as every plugin needs it\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n register(app: any) {\n // Create the email settings section\n app.createSettingSection(\n {\n id: 'email',\n intlLabel: { id: 'email.SettingsNav.section-label', defaultMessage: 'Email Plugin' },\n },\n [\n {\n intlLabel: {\n id: 'email.Settings.email.plugin.title',\n defaultMessage: 'Settings',\n },\n id: 'settings',\n to: 'email',\n Component: () =>\n import('./pages/Settings').then((mod) => ({\n default: mod.ProtectedSettingsPage,\n })),\n permissions: PERMISSIONS.settings,\n },\n ]\n );\n app.registerPlugin({\n id: 'email',\n name: 'email',\n });\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n bootstrap() {},\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, 'email'),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","createSettingSection","id","intlLabel","defaultMessage","to","Component","then","mod","default","ProtectedSettingsPage","permissions","PERMISSIONS","settings","registerPlugin","name","bootstrap","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,KAAkC,GAAA;;;AAGtCC,IAAAA,QAAAA,CAAAA,CAASC,GAAQ,EAAA;;AAEfA,QAAAA,GAAAA,CAAIC,oBAAoB,CACtB;YACEC,EAAI,EAAA,OAAA;YACJC,SAAW,EAAA;gBAAED,EAAI,EAAA,iCAAA;gBAAmCE,cAAgB,EAAA;AAAe;SAErF,EAAA;AACE,YAAA;gBACED,SAAW,EAAA;oBACTD,EAAI,EAAA,mCAAA;oBACJE,cAAgB,EAAA;AAClB,iBAAA;gBACAF,EAAI,EAAA,UAAA;gBACJG,EAAI,EAAA,OAAA;gBACJC,SAAW,EAAA,IACT,OAAO,sBAAA,CAAA,CAAoBC,IAAI,CAAC,CAACC,OAAS;AACxCC,4BAAAA,OAAAA,EAASD,IAAIE;yBACf,CAAA,CAAA;AACFC,gBAAAA,WAAAA,EAAaC,YAAYC;AAC3B;AACD,SAAA,CAAA;AAEHb,QAAAA,GAAAA,CAAIc,cAAc,CAAC;YACjBZ,EAAI,EAAA,OAAA;YACJa,IAAM,EAAA;AACR,SAAA,CAAA;AACF,KAAA;;IAEAC,SAAa,CAAA,GAAA,EAAA;IACb,MAAMC,aAAAA,CAAAA,CAAc,EAAEC,OAAO,EAAyB,EAAA;QACpD,MAAMC,aAAAA,GAAgB,MAAMC,OAAQC,CAAAA,GAAG,CACrCH,OAAQI,CAAAA,GAAG,CAAC,CAACC,MAAAA,GAAAA;AACX,YAAA,OAAO,iCAAM,CAAC,CAAC,eAAe,EAAEA,MAAO,CAAA,KAAK,CAAC,CAAA,CAC1ChB,IAAI,CAAC,CAAC,EAAEE,OAAAA,EAASe,IAAI,EAAE,GAAA;gBACtB,OAAO;AACLA,oBAAAA,IAAAA,EAAMC,yBAAyBD,IAAM,EAAA,OAAA,CAAA;AACrCD,oBAAAA;AACF,iBAAA;AACF,aAAA,CAAA,CACCG,KAAK,CAAC,IAAA;gBACL,OAAO;AACLF,oBAAAA,IAAAA,EAAM,EAAC;AACPD,oBAAAA;AACF,iBAAA;AACF,aAAA,CAAA;AACJ,SAAA,CAAA,CAAA;QAGF,OAAOH,OAAAA,CAAQO,OAAO,CAACR,aAAAA,CAAAA;AACzB;AACF;;;;"}
+361
View File
@@ -0,0 +1,361 @@
'use strict';
var jsxRuntime = require('react/jsx-runtime');
var React = require('react');
var strapiAdmin = require('@strapi/admin/strapi-admin');
var designSystem = require('@strapi/design-system');
var icons = require('@strapi/icons');
var reactIntl = require('react-intl');
var reactQuery = require('react-query');
var styledComponents = require('styled-components');
var yup = require('yup');
var constants = require('../constants.js');
var getYupInnerErrors = require('../utils/getYupInnerErrors.js');
var schema = require('../utils/schema.js');
function _interopNamespaceDefault(e) {
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () { return e[k]; }
});
}
});
}
n.default = e;
return Object.freeze(n);
}
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
const DocumentationLink = styledComponents.styled.a`
color: ${({ theme })=>theme.colors.primary600};
`;
const ProtectedSettingsPage = ()=>/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Protect, {
permissions: constants.PERMISSIONS.settings,
children: /*#__PURE__*/ jsxRuntime.jsx(SettingsPage, {})
});
const SettingsPage = ()=>{
const { toggleNotification } = strapiAdmin.useNotification();
const { formatMessage } = reactIntl.useIntl();
const { get, post } = strapiAdmin.useFetchClient();
const [testAddress, setTestAddress] = React__namespace.useState('');
const [isTestAddressValid, setIsTestAddressValid] = React__namespace.useState(false);
// TODO: I'm not sure how to type this. I think it should be Record<string, TranslationMessage> but that type is defined in the helper-plugin
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const [formErrors, setFormErrors] = React__namespace.useState({});
const { data, isLoading } = reactQuery.useQuery([
'email',
'settings'
], async ()=>{
const res = await get('/email/settings');
const { data: { config } } = res;
return config;
});
const mutation = reactQuery.useMutation(async (body)=>{
await post('/email/test', body);
}, {
onError () {
toggleNotification({
type: 'danger',
message: formatMessage({
id: 'email.Settings.email.plugin.notification.test.error',
defaultMessage: 'Failed to send a test mail to {to}'
}, {
to: testAddress
})
});
},
onSuccess () {
toggleNotification({
type: 'success',
message: formatMessage({
id: 'email.Settings.email.plugin.notification.test.success',
defaultMessage: 'Email test succeeded, check the {to} mailbox'
}, {
to: testAddress
})
});
},
retry: false
});
React__namespace.useEffect(()=>{
schema.schema.validate({
email: testAddress
}, {
abortEarly: false
}).then(()=>setIsTestAddressValid(true)).catch(()=>setIsTestAddressValid(false));
}, [
testAddress
]);
const handleChange = (event)=>{
setTestAddress(()=>event.target.value);
};
const handleSubmit = async (event)=>{
event.preventDefault();
try {
await schema.schema.validate({
email: testAddress
}, {
abortEarly: false
});
} catch (error) {
if (error instanceof yup.ValidationError) {
setFormErrors(getYupInnerErrors.getYupInnerErrors(error));
}
}
mutation.mutate({
to: testAddress
});
};
if (isLoading) {
return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Loading, {});
}
return /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Page.Main, {
labelledBy: "title",
"aria-busy": isLoading || mutation.isLoading,
children: [
/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Title, {
children: formatMessage({
id: 'Settings.PageTitle',
defaultMessage: 'Settings - {name}'
}, {
name: formatMessage({
id: 'email.Settings.email.plugin.title',
defaultMessage: 'Configuration'
})
})
}),
/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Header, {
id: "title",
title: formatMessage({
id: 'email.Settings.email.plugin.title',
defaultMessage: 'Configuration'
}),
subtitle: formatMessage({
id: 'email.Settings.email.plugin.subTitle',
defaultMessage: 'Test the settings for the Email plugin'
})
}),
/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Content, {
children: data && /*#__PURE__*/ jsxRuntime.jsx("form", {
onSubmit: handleSubmit,
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
direction: "column",
alignItems: "stretch",
gap: 7,
children: [
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
background: "neutral0",
hasRadius: true,
shadow: "filterShadow",
paddingTop: 6,
paddingBottom: 6,
paddingLeft: 7,
paddingRight: 7,
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
direction: "column",
alignItems: "stretch",
gap: 4,
children: [
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
direction: "column",
alignItems: "stretch",
gap: 1,
children: [
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
variant: "delta",
tag: "h2",
children: formatMessage({
id: 'email.Settings.email.plugin.title.config',
defaultMessage: 'Configuration'
})
}),
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
children: formatMessage({
id: 'email.Settings.email.plugin.text.configuration',
defaultMessage: 'The plugin is configured through the {file} file, checkout this {link} for the documentation.'
}, {
file: './config/plugins.js',
link: /*#__PURE__*/ jsxRuntime.jsx(DocumentationLink, {
href: "https://docs.strapi.io/developer-docs/latest/plugins/email.html",
target: "_blank",
rel: "noopener noreferrer",
children: formatMessage({
id: 'email.link',
defaultMessage: 'Link'
})
})
})
})
]
}),
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Grid.Root, {
gap: 5,
children: [
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "stretch",
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
name: "shipper-email",
children: [
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
children: formatMessage({
id: 'email.Settings.email.plugin.label.defaultFrom',
defaultMessage: 'Default sender email'
})
}),
/*#__PURE__*/ jsxRuntime.jsx(designSystem.TextInput, {
placeholder: formatMessage({
id: 'email.Settings.email.plugin.placeholder.defaultFrom',
defaultMessage: "ex: Strapi No-Reply '<'no-reply@strapi.io'>'"
}),
disabled: true,
value: data.settings.defaultFrom
})
]
})
}),
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "stretch",
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
name: "response-email",
children: [
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
children: formatMessage({
id: 'email.Settings.email.plugin.label.defaultReplyTo',
defaultMessage: 'Default response email'
})
}),
/*#__PURE__*/ jsxRuntime.jsx(designSystem.TextInput, {
placeholder: formatMessage({
id: 'email.Settings.email.plugin.placeholder.defaultReplyTo',
defaultMessage: `ex: Strapi '<'example@strapi.io'>'`
}),
disabled: true,
value: data.settings.defaultReplyTo
})
]
})
}),
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "stretch",
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
name: "email-provider",
children: [
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
children: formatMessage({
id: 'email.Settings.email.plugin.label.provider',
defaultMessage: 'Email provider'
})
}),
/*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelect, {
disabled: true,
value: data.provider,
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
value: data.provider,
children: data.provider
})
})
]
})
})
]
})
]
})
}),
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
alignItems: "stretch",
background: "neutral0",
direction: "column",
gap: 4,
hasRadius: true,
shadow: "filterShadow",
paddingTop: 6,
paddingBottom: 6,
paddingLeft: 7,
paddingRight: 7,
children: [
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
variant: "delta",
tag: "h2",
children: formatMessage({
id: 'email.Settings.email.plugin.title.test',
defaultMessage: 'Test email delivery'
})
}),
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Grid.Root, {
gap: 5,
children: [
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "stretch",
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
name: "test-address",
error: formErrors.email?.id && formatMessage({
id: `email.${formErrors.email?.id}`,
defaultMessage: 'This is not a valid email'
}),
children: [
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
children: formatMessage({
id: 'email.Settings.email.plugin.label.testAddress',
defaultMessage: 'Recipient email'
})
}),
/*#__PURE__*/ jsxRuntime.jsx(designSystem.TextInput, {
onChange: handleChange,
value: testAddress,
placeholder: formatMessage({
id: 'email.Settings.email.plugin.placeholder.testAddress',
defaultMessage: 'ex: developer@example.com'
})
})
]
})
}),
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
col: 7,
s: 12,
direction: "column",
alignItems: "start",
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
loading: mutation.isLoading,
disabled: !isTestAddressValid,
type: "submit",
startIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.Mail, {}),
children: formatMessage({
id: 'email.Settings.email.plugin.button.test-email',
defaultMessage: 'Send test email'
})
})
})
]
})
]
})
]
})
})
})
]
});
};
exports.ProtectedSettingsPage = ProtectedSettingsPage;
//# sourceMappingURL=Settings.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"Settings.js","sources":["../../../admin/src/pages/Settings.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Page, useNotification, useFetchClient, Layouts } from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Button,\n Flex,\n Grid,\n SingleSelectOption,\n SingleSelect,\n TextInput,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { Mail } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useQuery, useMutation } from 'react-query';\nimport { styled } from 'styled-components';\nimport { ValidationError } from 'yup';\n\nimport { PERMISSIONS } from '../constants';\nimport { getYupInnerErrors } from '../utils/getYupInnerErrors';\nimport { schema } from '../utils/schema';\n\nimport type { EmailSettings } from '../../../shared/types';\n\nconst DocumentationLink = styled.a`\n color: ${({ theme }) => theme.colors.primary600};\n`;\n\ninterface MutationBody {\n to: string;\n}\n\nexport const ProtectedSettingsPage = () => (\n <Page.Protect permissions={PERMISSIONS.settings}>\n <SettingsPage />\n </Page.Protect>\n);\n\nconst SettingsPage = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { get, post } = useFetchClient();\n\n const [testAddress, setTestAddress] = React.useState('');\n const [isTestAddressValid, setIsTestAddressValid] = React.useState(false);\n\n // TODO: I'm not sure how to type this. I think it should be Record<string, TranslationMessage> but that type is defined in the helper-plugin\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [formErrors, setFormErrors] = React.useState<Record<string, any>>({});\n\n const { data, isLoading } = useQuery(['email', 'settings'], async () => {\n const res = await get<EmailSettings>('/email/settings');\n const {\n data: { config },\n } = res;\n\n return config;\n });\n\n const mutation = useMutation<void, Error, MutationBody>(\n async (body) => {\n await post('/email/test', body);\n },\n {\n onError() {\n toggleNotification!({\n type: 'danger',\n message: formatMessage(\n {\n id: 'email.Settings.email.plugin.notification.test.error',\n defaultMessage: 'Failed to send a test mail to {to}',\n },\n { to: testAddress }\n ),\n });\n },\n onSuccess() {\n toggleNotification!({\n type: 'success',\n message: formatMessage(\n {\n id: 'email.Settings.email.plugin.notification.test.success',\n defaultMessage: 'Email test succeeded, check the {to} mailbox',\n },\n { to: testAddress }\n ),\n });\n },\n retry: false,\n }\n );\n\n React.useEffect(() => {\n schema\n .validate({ email: testAddress }, { abortEarly: false })\n .then(() => setIsTestAddressValid(true))\n .catch(() => setIsTestAddressValid(false));\n }, [testAddress]);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setTestAddress(() => event.target.value);\n };\n\n const handleSubmit = async (event: React.FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n try {\n await schema.validate({ email: testAddress }, { abortEarly: false });\n } catch (error) {\n if (error instanceof ValidationError) {\n setFormErrors(getYupInnerErrors(error));\n }\n }\n\n mutation.mutate({ to: testAddress });\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main labelledBy=\"title\" aria-busy={isLoading || mutation.isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'email.Settings.email.plugin.title',\n defaultMessage: 'Configuration',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n id=\"title\"\n title={formatMessage({\n id: 'email.Settings.email.plugin.title',\n defaultMessage: 'Configuration',\n })}\n subtitle={formatMessage({\n id: 'email.Settings.email.plugin.subTitle',\n defaultMessage: 'Test the settings for the Email plugin',\n })}\n />\n\n <Layouts.Content>\n {data && (\n <form onSubmit={handleSubmit}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex direction=\"columnLine truncated
+340
View File
@@ -0,0 +1,340 @@
import { jsx, jsxs } from 'react/jsx-runtime';
import * as React from 'react';
import { Page, useNotification, useFetchClient, Layouts } from '@strapi/admin/strapi-admin';
import { Flex, Box, Typography, Grid, Field, TextInput, SingleSelect, SingleSelectOption, Button } from '@strapi/design-system';
import { Mail } from '@strapi/icons';
import { useIntl } from 'react-intl';
import { useQuery, useMutation } from 'react-query';
import { styled } from 'styled-components';
import { ValidationError } from 'yup';
import { PERMISSIONS } from '../constants.mjs';
import { getYupInnerErrors } from '../utils/getYupInnerErrors.mjs';
import { schema } from '../utils/schema.mjs';
const DocumentationLink = styled.a`
color: ${({ theme })=>theme.colors.primary600};
`;
const ProtectedSettingsPage = ()=>/*#__PURE__*/ jsx(Page.Protect, {
permissions: PERMISSIONS.settings,
children: /*#__PURE__*/ jsx(SettingsPage, {})
});
const SettingsPage = ()=>{
const { toggleNotification } = useNotification();
const { formatMessage } = useIntl();
const { get, post } = useFetchClient();
const [testAddress, setTestAddress] = React.useState('');
const [isTestAddressValid, setIsTestAddressValid] = React.useState(false);
// TODO: I'm not sure how to type this. I think it should be Record<string, TranslationMessage> but that type is defined in the helper-plugin
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const [formErrors, setFormErrors] = React.useState({});
const { data, isLoading } = useQuery([
'email',
'settings'
], async ()=>{
const res = await get('/email/settings');
const { data: { config } } = res;
return config;
});
const mutation = useMutation(async (body)=>{
await post('/email/test', body);
}, {
onError () {
toggleNotification({
type: 'danger',
message: formatMessage({
id: 'email.Settings.email.plugin.notification.test.error',
defaultMessage: 'Failed to send a test mail to {to}'
}, {
to: testAddress
})
});
},
onSuccess () {
toggleNotification({
type: 'success',
message: formatMessage({
id: 'email.Settings.email.plugin.notification.test.success',
defaultMessage: 'Email test succeeded, check the {to} mailbox'
}, {
to: testAddress
})
});
},
retry: false
});
React.useEffect(()=>{
schema.validate({
email: testAddress
}, {
abortEarly: false
}).then(()=>setIsTestAddressValid(true)).catch(()=>setIsTestAddressValid(false));
}, [
testAddress
]);
const handleChange = (event)=>{
setTestAddress(()=>event.target.value);
};
const handleSubmit = async (event)=>{
event.preventDefault();
try {
await schema.validate({
email: testAddress
}, {
abortEarly: false
});
} catch (error) {
if (error instanceof ValidationError) {
setFormErrors(getYupInnerErrors(error));
}
}
mutation.mutate({
to: testAddress
});
};
if (isLoading) {
return /*#__PURE__*/ jsx(Page.Loading, {});
}
return /*#__PURE__*/ jsxs(Page.Main, {
labelledBy: "title",
"aria-busy": isLoading || mutation.isLoading,
children: [
/*#__PURE__*/ jsx(Page.Title, {
children: formatMessage({
id: 'Settings.PageTitle',
defaultMessage: 'Settings - {name}'
}, {
name: formatMessage({
id: 'email.Settings.email.plugin.title',
defaultMessage: 'Configuration'
})
})
}),
/*#__PURE__*/ jsx(Layouts.Header, {
id: "title",
title: formatMessage({
id: 'email.Settings.email.plugin.title',
defaultMessage: 'Configuration'
}),
subtitle: formatMessage({
id: 'email.Settings.email.plugin.subTitle',
defaultMessage: 'Test the settings for the Email plugin'
})
}),
/*#__PURE__*/ jsx(Layouts.Content, {
children: data && /*#__PURE__*/ jsx("form", {
onSubmit: handleSubmit,
children: /*#__PURE__*/ jsxs(Flex, {
direction: "column",
alignItems: "stretch",
gap: 7,
children: [
/*#__PURE__*/ jsx(Box, {
background: "neutral0",
hasRadius: true,
shadow: "filterShadow",
paddingTop: 6,
paddingBottom: 6,
paddingLeft: 7,
paddingRight: 7,
children: /*#__PURE__*/ jsxs(Flex, {
direction: "column",
alignItems: "stretch",
gap: 4,
children: [
/*#__PURE__*/ jsxs(Flex, {
direction: "column",
alignItems: "stretch",
gap: 1,
children: [
/*#__PURE__*/ jsx(Typography, {
variant: "delta",
tag: "h2",
children: formatMessage({
id: 'email.Settings.email.plugin.title.config',
defaultMessage: 'Configuration'
})
}),
/*#__PURE__*/ jsx(Typography, {
children: formatMessage({
id: 'email.Settings.email.plugin.text.configuration',
defaultMessage: 'The plugin is configured through the {file} file, checkout this {link} for the documentation.'
}, {
file: './config/plugins.js',
link: /*#__PURE__*/ jsx(DocumentationLink, {
href: "https://docs.strapi.io/developer-docs/latest/plugins/email.html",
target: "_blank",
rel: "noopener noreferrer",
children: formatMessage({
id: 'email.link',
defaultMessage: 'Link'
})
})
})
})
]
}),
/*#__PURE__*/ jsxs(Grid.Root, {
gap: 5,
children: [
/*#__PURE__*/ jsx(Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "stretch",
children: /*#__PURE__*/ jsxs(Field.Root, {
name: "shipper-email",
children: [
/*#__PURE__*/ jsx(Field.Label, {
children: formatMessage({
id: 'email.Settings.email.plugin.label.defaultFrom',
defaultMessage: 'Default sender email'
})
}),
/*#__PURE__*/ jsx(TextInput, {
placeholder: formatMessage({
id: 'email.Settings.email.plugin.placeholder.defaultFrom',
defaultMessage: "ex: Strapi No-Reply '<'no-reply@strapi.io'>'"
}),
disabled: true,
value: data.settings.defaultFrom
})
]
})
}),
/*#__PURE__*/ jsx(Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "stretch",
children: /*#__PURE__*/ jsxs(Field.Root, {
name: "response-email",
children: [
/*#__PURE__*/ jsx(Field.Label, {
children: formatMessage({
id: 'email.Settings.email.plugin.label.defaultReplyTo',
defaultMessage: 'Default response email'
})
}),
/*#__PURE__*/ jsx(TextInput, {
placeholder: formatMessage({
id: 'email.Settings.email.plugin.placeholder.defaultReplyTo',
defaultMessage: `ex: Strapi '<'example@strapi.io'>'`
}),
disabled: true,
value: data.settings.defaultReplyTo
})
]
})
}),
/*#__PURE__*/ jsx(Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "stretch",
children: /*#__PURE__*/ jsxs(Field.Root, {
name: "email-provider",
children: [
/*#__PURE__*/ jsx(Field.Label, {
children: formatMessage({
id: 'email.Settings.email.plugin.label.provider',
defaultMessage: 'Email provider'
})
}),
/*#__PURE__*/ jsx(SingleSelect, {
disabled: true,
value: data.provider,
children: /*#__PURE__*/ jsx(SingleSelectOption, {
value: data.provider,
children: data.provider
})
})
]
})
})
]
})
]
})
}),
/*#__PURE__*/ jsxs(Flex, {
alignItems: "stretch",
background: "neutral0",
direction: "column",
gap: 4,
hasRadius: true,
shadow: "filterShadow",
paddingTop: 6,
paddingBottom: 6,
paddingLeft: 7,
paddingRight: 7,
children: [
/*#__PURE__*/ jsx(Typography, {
variant: "delta",
tag: "h2",
children: formatMessage({
id: 'email.Settings.email.plugin.title.test',
defaultMessage: 'Test email delivery'
})
}),
/*#__PURE__*/ jsxs(Grid.Root, {
gap: 5,
children: [
/*#__PURE__*/ jsx(Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "stretch",
children: /*#__PURE__*/ jsxs(Field.Root, {
name: "test-address",
error: formErrors.email?.id && formatMessage({
id: `email.${formErrors.email?.id}`,
defaultMessage: 'This is not a valid email'
}),
children: [
/*#__PURE__*/ jsx(Field.Label, {
children: formatMessage({
id: 'email.Settings.email.plugin.label.testAddress',
defaultMessage: 'Recipient email'
})
}),
/*#__PURE__*/ jsx(TextInput, {
onChange: handleChange,
value: testAddress,
placeholder: formatMessage({
id: 'email.Settings.email.plugin.placeholder.testAddress',
defaultMessage: 'ex: developer@example.com'
})
})
]
})
}),
/*#__PURE__*/ jsx(Grid.Item, {
col: 7,
s: 12,
direction: "column",
alignItems: "start",
children: /*#__PURE__*/ jsx(Button, {
loading: mutation.isLoading,
disabled: !isTestAddressValid,
type: "submit",
startIcon: /*#__PURE__*/ jsx(Mail, {}),
children: formatMessage({
id: 'email.Settings.email.plugin.button.test-email',
defaultMessage: 'Send test email'
})
})
})
]
})
]
})
]
})
})
})
]
});
};
export { ProtectedSettingsPage };
//# sourceMappingURL=Settings.mjs.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"Settings.mjs","sources":["../../../admin/src/pages/Settings.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Page, useNotification, useFetchClient, Layouts } from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Button,\n Flex,\n Grid,\n SingleSelectOption,\n SingleSelect,\n TextInput,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { Mail } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useQuery, useMutation } from 'react-query';\nimport { styled } from 'styled-components';\nimport { ValidationError } from 'yup';\n\nimport { PERMISSIONS } from '../constants';\nimport { getYupInnerErrors } from '../utils/getYupInnerErrors';\nimport { schema } from '../utils/schema';\n\nimport type { EmailSettings } from '../../../shared/types';\n\nconst DocumentationLink = styled.a`\n color: ${({ theme }) => theme.colors.primary600};\n`;\n\ninterface MutationBody {\n to: string;\n}\n\nexport const ProtectedSettingsPage = () => (\n <Page.Protect permissions={PERMISSIONS.settings}>\n <SettingsPage />\n </Page.Protect>\n);\n\nconst SettingsPage = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { get, post } = useFetchClient();\n\n const [testAddress, setTestAddress] = React.useState('');\n const [isTestAddressValid, setIsTestAddressValid] = React.useState(false);\n\n // TODO: I'm not sure how to type this. I think it should be Record<string, TranslationMessage> but that type is defined in the helper-plugin\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [formErrors, setFormErrors] = React.useState<Record<string, any>>({});\n\n const { data, isLoading } = useQuery(['email', 'settings'], async () => {\n const res = await get<EmailSettings>('/email/settings');\n const {\n data: { config },\n } = res;\n\n return config;\n });\n\n const mutation = useMutation<void, Error, MutationBody>(\n async (body) => {\n await post('/email/test', body);\n },\n {\n onError() {\n toggleNotification!({\n type: 'danger',\n message: formatMessage(\n {\n id: 'email.Settings.email.plugin.notification.test.error',\n defaultMessage: 'Failed to send a test mail to {to}',\n },\n { to: testAddress }\n ),\n });\n },\n onSuccess() {\n toggleNotification!({\n type: 'success',\n message: formatMessage(\n {\n id: 'email.Settings.email.plugin.notification.test.success',\n defaultMessage: 'Email test succeeded, check the {to} mailbox',\n },\n { to: testAddress }\n ),\n });\n },\n retry: false,\n }\n );\n\n React.useEffect(() => {\n schema\n .validate({ email: testAddress }, { abortEarly: false })\n .then(() => setIsTestAddressValid(true))\n .catch(() => setIsTestAddressValid(false));\n }, [testAddress]);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setTestAddress(() => event.target.value);\n };\n\n const handleSubmit = async (event: React.FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n try {\n await schema.validate({ email: testAddress }, { abortEarly: false });\n } catch (error) {\n if (error instanceof ValidationError) {\n setFormErrors(getYupInnerErrors(error));\n }\n }\n\n mutation.mutate({ to: testAddress });\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main labelledBy=\"title\" aria-busy={isLoading || mutation.isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'email.Settings.email.plugin.title',\n defaultMessage: 'Configuration',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n id=\"title\"\n title={formatMessage({\n id: 'email.Settings.email.plugin.title',\n defaultMessage: 'Configuration',\n })}\n subtitle={formatMessage({\n id: 'email.Settings.email.plugin.subTitle',\n defaultMessage: 'Test the settings for the Email plugin',\n })}\n />\n\n <Layouts.Content>\n {data && (\n <form onSubmit={handleSubmit}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex direction=\"columLine truncated
+6
View File
@@ -0,0 +1,6 @@
export declare const PERMISSIONS: {
settings: {
action: string;
subject: null;
}[];
};
+3
View File
@@ -0,0 +1,3 @@
import type { Plugin } from '@strapi/types';
declare const admin: Plugin.Config.AdminInput;
export default admin;
+1
View File
@@ -0,0 +1 @@
export declare const ProtectedSettingsPage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
import type { MessageDescriptor, PrimitiveType } from 'react-intl';
import type { ValidationError } from 'yup';
interface TranslationMessage extends MessageDescriptor {
values?: Record<string, PrimitiveType>;
}
declare const getYupInnerErrors: (error: ValidationError) => Record<string, TranslationMessage>;
export { getYupInnerErrors };
@@ -0,0 +1,3 @@
type TradOptions = Record<string, string>;
declare const prefixPluginTranslations: (trad: TradOptions, pluginId: string) => TradOptions;
export { prefixPluginTranslations };
+8
View File
@@ -0,0 +1,8 @@
import * as yup from 'yup';
export declare const schema: yup.default<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
email: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
}>, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
email: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
}>>, import("yup/lib/object").AssertsShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
email: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
}>>>;
+6
View File
@@ -0,0 +1,6 @@
'use strict';
var ar = {};
module.exports = ar;
//# sourceMappingURL=ar.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"ar.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,4 @@
var ar = {};
export { ar as default };
//# sourceMappingURL=ar.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"ar.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
+6
View File
@@ -0,0 +1,6 @@
'use strict';
var cs = {};
module.exports = cs;
//# sourceMappingURL=cs.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"cs.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,4 @@
var cs = {};
export { cs as default };
//# sourceMappingURL=cs.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"cs.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
+6
View File
@@ -0,0 +1,6 @@
'use strict';
var de = {};
module.exports = de;
//# sourceMappingURL=de.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"de.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,4 @@
var de = {};
export { de as default };
//# sourceMappingURL=de.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"de.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
+27
View File
@@ -0,0 +1,27 @@
'use strict';
var dk = {
"Settings.email.plugin.button.test-email": "Send test e-mail",
"Settings.email.plugin.label.defaultFrom": "Standard afsender e-mail",
"Settings.email.plugin.label.defaultReplyTo": "Standard svar e-mail",
"Settings.email.plugin.label.provider": "E-mail provider",
"Settings.email.plugin.label.testAddress": "Modtager e-mail",
"Settings.email.plugin.notification.config.error": "Fejlede i at hente e-mail konfiguration",
"Settings.email.plugin.notification.data.loaded": "E-mail indstillinger er blevet hentet",
"Settings.email.plugin.notification.test.error": "Fejlede ved udsendelse af test mail til {to}",
"Settings.email.plugin.notification.test.success": "E-mail test lykkedes, tjek indbakken hos {to}",
"Settings.email.plugin.placeholder.defaultFrom": "f.eks. Strapi No-Reply <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "f.eks. Strapi <example@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "f.eks. developer@example.com",
"Settings.email.plugin.subTitle": "Test indstillingerne for Email plugin",
"Settings.email.plugin.text.configuration": "Pluginnet er konfigureret igennem {file} filen, tjek {link} for dokumentation.",
"Settings.email.plugin.title": "Konfiguration",
"Settings.email.plugin.title.config": "Konfiguration",
"Settings.email.plugin.title.test": "Test e-mail modtagelse",
"SettingsNav.link.settings": "Indstillinger",
"SettingsNav.section-label": "E-mail plugin",
"components.Input.error.validation.email": "Dette er en ugyldig e-mail"
};
module.exports = dk;
//# sourceMappingURL=dk.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"dk.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
+25
View File
@@ -0,0 +1,25 @@
var dk = {
"Settings.email.plugin.button.test-email": "Send test e-mail",
"Settings.email.plugin.label.defaultFrom": "Standard afsender e-mail",
"Settings.email.plugin.label.defaultReplyTo": "Standard svar e-mail",
"Settings.email.plugin.label.provider": "E-mail provider",
"Settings.email.plugin.label.testAddress": "Modtager e-mail",
"Settings.email.plugin.notification.config.error": "Fejlede i at hente e-mail konfiguration",
"Settings.email.plugin.notification.data.loaded": "E-mail indstillinger er blevet hentet",
"Settings.email.plugin.notification.test.error": "Fejlede ved udsendelse af test mail til {to}",
"Settings.email.plugin.notification.test.success": "E-mail test lykkedes, tjek indbakken hos {to}",
"Settings.email.plugin.placeholder.defaultFrom": "f.eks. Strapi No-Reply <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "f.eks. Strapi <example@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "f.eks. developer@example.com",
"Settings.email.plugin.subTitle": "Test indstillingerne for Email plugin",
"Settings.email.plugin.text.configuration": "Pluginnet er konfigureret igennem {file} filen, tjek {link} for dokumentation.",
"Settings.email.plugin.title": "Konfiguration",
"Settings.email.plugin.title.config": "Konfiguration",
"Settings.email.plugin.title.test": "Test e-mail modtagelse",
"SettingsNav.link.settings": "Indstillinger",
"SettingsNav.section-label": "E-mail plugin",
"components.Input.error.validation.email": "Dette er en ugyldig e-mail"
};
export { dk as default };
//# sourceMappingURL=dk.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"dk.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
+32
View File
@@ -0,0 +1,32 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var link = "Link";
var en = {
link: link,
"Settings.email.plugin.button.test-email": "Send test email",
"Settings.email.plugin.label.defaultFrom": "Default sender email",
"Settings.email.plugin.label.defaultReplyTo": "Default response email",
"Settings.email.plugin.label.provider": "Email provider",
"Settings.email.plugin.label.testAddress": "Recipient email",
"Settings.email.plugin.notification.config.error": "Failed to retrieve the email config",
"Settings.email.plugin.notification.data.loaded": "Email settings data has been loaded",
"Settings.email.plugin.notification.test.error": "Failed to send a test mail to {to}",
"Settings.email.plugin.notification.test.success": "Email test succeeded, check the {to} mailbox",
"Settings.email.plugin.placeholder.defaultFrom": "ex: Strapi No-Reply <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "ex: Strapi <example@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "ex: developer@example.com",
"Settings.email.plugin.subTitle": "Test the settings for the Email plugin",
"Settings.email.plugin.text.configuration": "The plugin is configured through the {file} file, checkout this {link} for the documentation.",
"Settings.email.plugin.title": "Configuration",
"Settings.email.plugin.title.config": "Configuration",
"Settings.email.plugin.title.test": "Test email delivery",
"SettingsNav.link.settings": "Settings",
"SettingsNav.section-label": "Email plugin",
"components.Input.error.validation.email": "This is not a valid email"
};
exports.default = en;
exports.link = link;
//# sourceMappingURL=en.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
+27
View File
@@ -0,0 +1,27 @@
var link = "Link";
var en = {
link: link,
"Settings.email.plugin.button.test-email": "Send test email",
"Settings.email.plugin.label.defaultFrom": "Default sender email",
"Settings.email.plugin.label.defaultReplyTo": "Default response email",
"Settings.email.plugin.label.provider": "Email provider",
"Settings.email.plugin.label.testAddress": "Recipient email",
"Settings.email.plugin.notification.config.error": "Failed to retrieve the email config",
"Settings.email.plugin.notification.data.loaded": "Email settings data has been loaded",
"Settings.email.plugin.notification.test.error": "Failed to send a test mail to {to}",
"Settings.email.plugin.notification.test.success": "Email test succeeded, check the {to} mailbox",
"Settings.email.plugin.placeholder.defaultFrom": "ex: Strapi No-Reply <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "ex: Strapi <example@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "ex: developer@example.com",
"Settings.email.plugin.subTitle": "Test the settings for the Email plugin",
"Settings.email.plugin.text.configuration": "The plugin is configured through the {file} file, checkout this {link} for the documentation.",
"Settings.email.plugin.title": "Configuration",
"Settings.email.plugin.title.config": "Configuration",
"Settings.email.plugin.title.test": "Test email delivery",
"SettingsNav.link.settings": "Settings",
"SettingsNav.section-label": "Email plugin",
"components.Input.error.validation.email": "This is not a valid email"
};
export { en as default, link };
//# sourceMappingURL=en.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"en.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
+27
View File
@@ -0,0 +1,27 @@
'use strict';
var es = {
"Settings.email.plugin.button.test-email": "Enviar email de prueba",
"Settings.email.plugin.label.defaultFrom": "Email del remitente predeterminado",
"Settings.email.plugin.label.defaultReplyTo": "Email de respuesta predeterminado",
"Settings.email.plugin.label.provider": "Proveedor de email",
"Settings.email.plugin.label.testAddress": "Receptor de email",
"Settings.email.plugin.notification.config.error": "No se pudo recuperar la configuración del email",
"Settings.email.plugin.notification.data.loaded": "Se han cargado los datos de configuración de email",
"Settings.email.plugin.notification.test.error": "No se pudo enviar un correo de prueba a {to}",
"Settings.email.plugin.notification.test.success": "La prueba de correo electrónico se realizó correctamente, verifique el buzón de {to}",
"Settings.email.plugin.placeholder.defaultFrom": "ej: Strapi No-Reply <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "ej: Strapi <example@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "ej: developer@example.com",
"Settings.email.plugin.subTitle": "Pruebe la configuración del complemento de email",
"Settings.email.plugin.text.configuration": "El complemento se configura a través del archivo {file}, consulte este {link} para ver la documentación.",
"Settings.email.plugin.title": "Configuración",
"Settings.email.plugin.title.config": "Configuración",
"Settings.email.plugin.title.test": "Prueba el envío de email",
"SettingsNav.link.settings": "Ajustes",
"SettingsNav.section-label": "Plugin de email",
"components.Input.error.validation.email": "Este es un correo electrónico inválido"
};
module.exports = es;
//# sourceMappingURL=es.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"es.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
+25
View File
@@ -0,0 +1,25 @@
var es = {
"Settings.email.plugin.button.test-email": "Enviar email de prueba",
"Settings.email.plugin.label.defaultFrom": "Email del remitente predeterminado",
"Settings.email.plugin.label.defaultReplyTo": "Email de respuesta predeterminado",
"Settings.email.plugin.label.provider": "Proveedor de email",
"Settings.email.plugin.label.testAddress": "Receptor de email",
"Settings.email.plugin.notification.config.error": "No se pudo recuperar la configuración del email",
"Settings.email.plugin.notification.data.loaded": "Se han cargado los datos de configuración de email",
"Settings.email.plugin.notification.test.error": "No se pudo enviar un correo de prueba a {to}",
"Settings.email.plugin.notification.test.success": "La prueba de correo electrónico se realizó correctamente, verifique el buzón de {to}",
"Settings.email.plugin.placeholder.defaultFrom": "ej: Strapi No-Reply <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "ej: Strapi <example@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "ej: developer@example.com",
"Settings.email.plugin.subTitle": "Pruebe la configuración del complemento de email",
"Settings.email.plugin.text.configuration": "El complemento se configura a través del archivo {file}, consulte este {link} para ver la documentación.",
"Settings.email.plugin.title": "Configuración",
"Settings.email.plugin.title.config": "Configuración",
"Settings.email.plugin.title.test": "Prueba el envío de email",
"SettingsNav.link.settings": "Ajustes",
"SettingsNav.section-label": "Plugin de email",
"components.Input.error.validation.email": "Este es un correo electrónico inválido"
};
export { es as default };
//# sourceMappingURL=es.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"es.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
+6
View File
@@ -0,0 +1,6 @@
'use strict';
var fr = {};
module.exports = fr;
//# sourceMappingURL=fr.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"fr.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,4 @@
var fr = {};
export { fr as default };
//# sourceMappingURL=fr.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"fr.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
+6
View File
@@ -0,0 +1,6 @@
'use strict';
var id = {};
module.exports = id;
//# sourceMappingURL=id.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"id.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,4 @@
var id = {};
export { id as default };
//# sourceMappingURL=id.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"id.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
+6
View File
@@ -0,0 +1,6 @@
'use strict';
var it = {};
module.exports = it;
//# sourceMappingURL=it.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"it.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,4 @@
var it = {};
export { it as default };
//# sourceMappingURL=it.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"it.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
+27
View File
@@ -0,0 +1,27 @@
'use strict';
var ja = {
"Settings.email.plugin.button.test-email": "メール送信のテスト",
"Settings.email.plugin.label.defaultFrom": "デフォルトの送信アドレス",
"Settings.email.plugin.label.defaultReplyTo": "デフォルトの返信アドレス",
"Settings.email.plugin.label.provider": "Eメール プロバイダ",
"Settings.email.plugin.label.testAddress": "メール送信のテストをする",
"Settings.email.plugin.notification.config.error": "Eメールの設定の取得に失敗しました",
"Settings.email.plugin.notification.data.loaded": "Eメールの設定データはすでに取得済みです",
"Settings.email.plugin.notification.test.error": "{to}へのテストメースの送信に失敗しました",
"Settings.email.plugin.notification.test.success": "テストメースの送信に成功しました、{to}のメールボックスを確認してください",
"Settings.email.plugin.placeholder.defaultFrom": "例: Strapi No-Reply <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "例: Strapi <example@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "例: developer@example.com",
"Settings.email.plugin.subTitle": "Eメールプラグインの設定のテスト",
"Settings.email.plugin.text.configuration": "このプラグインは{file}ファイルを用いて構成されました、このリンク {link} のドキュメントを確認してください。",
"Settings.email.plugin.title": "Eメールの設定",
"Settings.email.plugin.title.config": "構成",
"Settings.email.plugin.title.test": "テストメールの送信",
"SettingsNav.link.settings": "設定",
"SettingsNav.section-label": "Eメール プラグイン",
"components.Input.error.validation.email": "これは無効なEメールアドレスです"
};
module.exports = ja;
//# sourceMappingURL=ja.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"ja.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
+25
View File
@@ -0,0 +1,25 @@
var ja = {
"Settings.email.plugin.button.test-email": "メール送信のテスト",
"Settings.email.plugin.label.defaultFrom": "デフォルトの送信アドレス",
"Settings.email.plugin.label.defaultReplyTo": "デフォルトの返信アドレス",
"Settings.email.plugin.label.provider": "Eメール プロバイダ",
"Settings.email.plugin.label.testAddress": "メール送信のテストをする",
"Settings.email.plugin.notification.config.error": "Eメールの設定の取得に失敗しました",
"Settings.email.plugin.notification.data.loaded": "Eメールの設定データはすでに取得済みです",
"Settings.email.plugin.notification.test.error": "{to}へのテストメースの送信に失敗しました",
"Settings.email.plugin.notification.test.success": "テストメースの送信に成功しました、{to}のメールボックスを確認してください",
"Settings.email.plugin.placeholder.defaultFrom": "例: Strapi No-Reply <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "例: Strapi <example@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "例: developer@example.com",
"Settings.email.plugin.subTitle": "Eメールプラグインの設定のテスト",
"Settings.email.plugin.text.configuration": "このプラグインは{file}ファイルを用いて構成されました、このリンク {link} のドキュメントを確認してください。",
"Settings.email.plugin.title": "Eメールの設定",
"Settings.email.plugin.title.config": "構成",
"Settings.email.plugin.title.test": "テストメールの送信",
"SettingsNav.link.settings": "設定",
"SettingsNav.section-label": "Eメール プラグイン",
"components.Input.error.validation.email": "これは無効なEメールアドレスです"
};
export { ja as default };
//# sourceMappingURL=ja.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"ja.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
+27
View File
@@ -0,0 +1,27 @@
'use strict';
var ko = {
"Settings.email.plugin.button.test-email": "테스트 발송",
"Settings.email.plugin.label.defaultFrom": "기본 발송자 이메일",
"Settings.email.plugin.label.defaultReplyTo": "기본 수신자 이메일",
"Settings.email.plugin.label.provider": "이메일 프로바이더",
"Settings.email.plugin.label.testAddress": "테스트 이메일 주소",
"Settings.email.plugin.notification.config.error": "이메일 설정을 불러오는데 실패했습니다.",
"Settings.email.plugin.notification.data.loaded": "이메일 설정을 불러왔습니다.",
"Settings.email.plugin.notification.test.error": "{to}로 테스트 이메일 보내는 데 실패했습니다.",
"Settings.email.plugin.notification.test.success": "이메일 테스트 성공. {to} 메일함을 확인해주세요.",
"Settings.email.plugin.placeholder.defaultFrom": "예: Strapi No-Reply <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "예: Strapi <example@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "예: developer@example.com",
"Settings.email.plugin.subTitle": "이메일 플러그인에 대한 설정을 테스트합니다.",
"Settings.email.plugin.text.configuration": "플러그인이 {file} 파일을 통해 구성되었습니다. 문서를 확인하시려면 {link}를 참조해주세요.",
"Settings.email.plugin.title": "이메일 설정",
"Settings.email.plugin.title.config": "설정",
"Settings.email.plugin.title.test": "테스트 이메일 발송",
"SettingsNav.link.settings": "설정",
"SettingsNav.section-label": "이메일 플러그인",
"components.Input.error.validation.email": "유효하지 않은 이메일입니다."
};
module.exports = ko;
//# sourceMappingURL=ko.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"ko.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
+25
View File
@@ -0,0 +1,25 @@
var ko = {
"Settings.email.plugin.button.test-email": "테스트 발송",
"Settings.email.plugin.label.defaultFrom": "기본 발송자 이메일",
"Settings.email.plugin.label.defaultReplyTo": "기본 수신자 이메일",
"Settings.email.plugin.label.provider": "이메일 프로바이더",
"Settings.email.plugin.label.testAddress": "테스트 이메일 주소",
"Settings.email.plugin.notification.config.error": "이메일 설정을 불러오는데 실패했습니다.",
"Settings.email.plugin.notification.data.loaded": "이메일 설정을 불러왔습니다.",
"Settings.email.plugin.notification.test.error": "{to}로 테스트 이메일 보내는 데 실패했습니다.",
"Settings.email.plugin.notification.test.success": "이메일 테스트 성공. {to} 메일함을 확인해주세요.",
"Settings.email.plugin.placeholder.defaultFrom": "예: Strapi No-Reply <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "예: Strapi <example@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "예: developer@example.com",
"Settings.email.plugin.subTitle": "이메일 플러그인에 대한 설정을 테스트합니다.",
"Settings.email.plugin.text.configuration": "플러그인이 {file} 파일을 통해 구성되었습니다. 문서를 확인하시려면 {link}를 참조해주세요.",
"Settings.email.plugin.title": "이메일 설정",
"Settings.email.plugin.title.config": "설정",
"Settings.email.plugin.title.test": "테스트 이메일 발송",
"SettingsNav.link.settings": "설정",
"SettingsNav.section-label": "이메일 플러그인",
"components.Input.error.validation.email": "유효하지 않은 이메일입니다."
};
export { ko as default };
//# sourceMappingURL=ko.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"ko.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
+6
View File
@@ -0,0 +1,6 @@
'use strict';
var ms = {};
module.exports = ms;
//# sourceMappingURL=ms.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"ms.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,4 @@
var ms = {};
export { ms as default };
//# sourceMappingURL=ms.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"ms.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
+6
View File
@@ -0,0 +1,6 @@
'use strict';
var nl = {};
module.exports = nl;
//# sourceMappingURL=nl.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"nl.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,4 @@
var nl = {};
export { nl as default };
//# sourceMappingURL=nl.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"nl.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
+27
View File
@@ -0,0 +1,27 @@
'use strict';
var pl = {
"Settings.email.plugin.button.test-email": "Wyślij testowy email",
"Settings.email.plugin.label.defaultFrom": "Domyślny nadawca",
"Settings.email.plugin.label.defaultReplyTo": "Domyślny obiorca",
"Settings.email.plugin.label.provider": "Dostawca",
"Settings.email.plugin.label.testAddress": "Odbiorca",
"Settings.email.plugin.notification.config.error": "Nie udało się uzyskać konfiguracji email",
"Settings.email.plugin.notification.data.loaded": "Dane dotyczące ustawień email zostały załadowane",
"Settings.email.plugin.notification.test.error": "Nie udało się wysłać testowego maila do {to}",
"Settings.email.plugin.notification.test.success": "Testowy email wysłany, sprawdź skrzynkę: {to}",
"Settings.email.plugin.placeholder.defaultFrom": "np: Strapi No-Reply <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "np: Strapi <example@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "np: developer@example.com",
"Settings.email.plugin.subTitle": "Sprawdź ustawienia dla testowego maila",
"Settings.email.plugin.text.configuration": "Ten plugin jest skonfigurowany w pliku {file}, sprawdź {link} do dokumentacji.",
"Settings.email.plugin.title": "Ustawienia",
"Settings.email.plugin.title.config": "Ustawienia",
"Settings.email.plugin.title.test": "Przetestuj dostarczanie maila",
"SettingsNav.link.settings": "Ustawienia",
"SettingsNav.section-label": "Plugin e-mail",
"components.Input.error.validation.email": "Ten email jest niepoprawny."
};
module.exports = pl;
//# sourceMappingURL=pl.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"pl.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
+25
View File
@@ -0,0 +1,25 @@
var pl = {
"Settings.email.plugin.button.test-email": "Wyślij testowy email",
"Settings.email.plugin.label.defaultFrom": "Domyślny nadawca",
"Settings.email.plugin.label.defaultReplyTo": "Domyślny obiorca",
"Settings.email.plugin.label.provider": "Dostawca",
"Settings.email.plugin.label.testAddress": "Odbiorca",
"Settings.email.plugin.notification.config.error": "Nie udało się uzyskać konfiguracji email",
"Settings.email.plugin.notification.data.loaded": "Dane dotyczące ustawień email zostały załadowane",
"Settings.email.plugin.notification.test.error": "Nie udało się wysłać testowego maila do {to}",
"Settings.email.plugin.notification.test.success": "Testowy email wysłany, sprawdź skrzynkę: {to}",
"Settings.email.plugin.placeholder.defaultFrom": "np: Strapi No-Reply <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "np: Strapi <example@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "np: developer@example.com",
"Settings.email.plugin.subTitle": "Sprawdź ustawienia dla testowego maila",
"Settings.email.plugin.text.configuration": "Ten plugin jest skonfigurowany w pliku {file}, sprawdź {link} do dokumentacji.",
"Settings.email.plugin.title": "Ustawienia",
"Settings.email.plugin.title.config": "Ustawienia",
"Settings.email.plugin.title.test": "Przetestuj dostarczanie maila",
"SettingsNav.link.settings": "Ustawienia",
"SettingsNav.section-label": "Plugin e-mail",
"components.Input.error.validation.email": "Ten email jest niepoprawny."
};
export { pl as default };
//# sourceMappingURL=pl.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"pl.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,6 @@
'use strict';
var ptBR = {};
module.exports = ptBR;
//# sourceMappingURL=pt-BR.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"pt-BR.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,4 @@
var ptBR = {};
export { ptBR as default };
//# sourceMappingURL=pt-BR.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"pt-BR.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
+32
View File
@@ -0,0 +1,32 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var link = "Link";
var pt = {
link: link,
"Settings.email.plugin.button.test-email": "Enviar e-mail de teste",
"Settings.email.plugin.label.defaultFrom": "E-mail do remetente padrão",
"Settings.email.plugin.label.defaultReplyTo": "E-mail de resposta padrão",
"Settings.email.plugin.label.provider": "Provedor de E-mail",
"Settings.email.plugin.label.testAddress": "E-mail do destinatário",
"Settings.email.plugin.notification.config.error": "Falha ao recuperar a configuração de e-mail",
"Settings.email.plugin.notification.data.loaded": "Os dados de configurações de e-mail foram carregados",
"Settings.email.plugin.notification.test.error": "Falha ao enviar um e-mail de teste para {to}",
"Settings.email.plugin.notification.test.success": "Teste de e-mail bem-sucedido, verifique a caixa de correio {to}",
"Settings.email.plugin.placeholder.defaultFrom": "ex: Strapi No-Reply <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "ex: Strapi <example@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "ex: developer@example.com",
"Settings.email.plugin.subTitle": "Teste as configurações do plug-in de e-mail",
"Settings.email.plugin.text.configuration": "O plugin é configurado através do ficheiro {file}, acede a este {link} para a documentação.",
"Settings.email.plugin.title": "Configuração",
"Settings.email.plugin.title.config": "Configuração",
"Settings.email.plugin.title.test": "Testar entrega de e-mail",
"SettingsNav.link.settings": "Definições",
"SettingsNav.section-label": "Plug-in de e-mail",
"components.Input.error.validation.email": "Este é um e-mail inválido"
};
exports.default = pt;
exports.link = link;
//# sourceMappingURL=pt.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"pt.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
+27
View File
@@ -0,0 +1,27 @@
var link = "Link";
var pt = {
link: link,
"Settings.email.plugin.button.test-email": "Enviar e-mail de teste",
"Settings.email.plugin.label.defaultFrom": "E-mail do remetente padrão",
"Settings.email.plugin.label.defaultReplyTo": "E-mail de resposta padrão",
"Settings.email.plugin.label.provider": "Provedor de E-mail",
"Settings.email.plugin.label.testAddress": "E-mail do destinatário",
"Settings.email.plugin.notification.config.error": "Falha ao recuperar a configuração de e-mail",
"Settings.email.plugin.notification.data.loaded": "Os dados de configurações de e-mail foram carregados",
"Settings.email.plugin.notification.test.error": "Falha ao enviar um e-mail de teste para {to}",
"Settings.email.plugin.notification.test.success": "Teste de e-mail bem-sucedido, verifique a caixa de correio {to}",
"Settings.email.plugin.placeholder.defaultFrom": "ex: Strapi No-Reply <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "ex: Strapi <example@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "ex: developer@example.com",
"Settings.email.plugin.subTitle": "Teste as configurações do plug-in de e-mail",
"Settings.email.plugin.text.configuration": "O plugin é configurado através do ficheiro {file}, acede a este {link} para a documentação.",
"Settings.email.plugin.title": "Configuração",
"Settings.email.plugin.title.config": "Configuração",
"Settings.email.plugin.title.test": "Testar entrega de e-mail",
"SettingsNav.link.settings": "Definições",
"SettingsNav.section-label": "Plug-in de e-mail",
"components.Input.error.validation.email": "Este é um e-mail inválido"
};
export { pt as default, link };
//# sourceMappingURL=pt.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"pt.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
+6
View File
@@ -0,0 +1,6 @@
'use strict';
var ru = {};
module.exports = ru;
//# sourceMappingURL=ru.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"ru.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,4 @@
var ru = {};
export { ru as default };
//# sourceMappingURL=ru.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"ru.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
+6
View File
@@ -0,0 +1,6 @@
'use strict';
var sk = {};
module.exports = sk;
//# sourceMappingURL=sk.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"sk.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,4 @@
var sk = {};
export { sk as default };
//# sourceMappingURL=sk.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"sk.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
+6
View File
@@ -0,0 +1,6 @@
'use strict';
var th = {};
module.exports = th;
//# sourceMappingURL=th.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"th.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,4 @@
var th = {};
export { th as default };
//# sourceMappingURL=th.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"th.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
+32
View File
@@ -0,0 +1,32 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var link = "Bağlantı";
var tr = {
link: link,
"Settings.email.plugin.button.test-email": "Deneme e-postası gönder",
"Settings.email.plugin.label.defaultFrom": "Varsayılan gönderim adresi",
"Settings.email.plugin.label.defaultReplyTo": "Varsayılan yanıt adresi",
"Settings.email.plugin.label.provider": "E-Posta sağlayıcı",
"Settings.email.plugin.label.testAddress": "Alıcı e-posta adresi",
"Settings.email.plugin.notification.config.error": "E-posta ayarlarını okuma hatası",
"Settings.email.plugin.notification.data.loaded": "E-posta ayarları yüklendi",
"Settings.email.plugin.notification.test.error": "{to} adresine deneme e-postası gönderimi başarısız oldu",
"Settings.email.plugin.notification.test.success": "E-posta denemesi başarılı. {to} adresinin posta kutusunu kontrol edin",
"Settings.email.plugin.placeholder.defaultFrom": "ör: Strapi Yanıtlama <yanitlama@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "ör: Strapi <ornek@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "ör: gelistirici@example.com",
"Settings.email.plugin.subTitle": "E-posta eklentisinin ayarlarını deneyin",
"Settings.email.plugin.text.configuration": "Plugin {file} dosyası üzerinden ayarlanıyor. Detaylar için şu bağlantıya bakın: {link}",
"Settings.email.plugin.title": "Kurulum",
"Settings.email.plugin.title.config": "Kurulum",
"Settings.email.plugin.title.test": "E-posta gönderimini dene",
"SettingsNav.link.settings": "Ayarlar",
"SettingsNav.section-label": "E-posta eklentisi",
"components.Input.error.validation.email": "Geçersiz e-posta adresi"
};
exports.default = tr;
exports.link = link;
//# sourceMappingURL=tr.json.js.map
@@ -0,0 +1 @@
{"version":3,"file":"tr.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
+27
View File
@@ -0,0 +1,27 @@
var link = "Bağlantı";
var tr = {
link: link,
"Settings.email.plugin.button.test-email": "Deneme e-postası gönder",
"Settings.email.plugin.label.defaultFrom": "Varsayılan gönderim adresi",
"Settings.email.plugin.label.defaultReplyTo": "Varsayılan yanıt adresi",
"Settings.email.plugin.label.provider": "E-Posta sağlayıcı",
"Settings.email.plugin.label.testAddress": "Alıcı e-posta adresi",
"Settings.email.plugin.notification.config.error": "E-posta ayarlarını okuma hatası",
"Settings.email.plugin.notification.data.loaded": "E-posta ayarları yüklendi",
"Settings.email.plugin.notification.test.error": "{to} adresine deneme e-postası gönderimi başarısız oldu",
"Settings.email.plugin.notification.test.success": "E-posta denemesi başarılı. {to} adresinin posta kutusunu kontrol edin",
"Settings.email.plugin.placeholder.defaultFrom": "ör: Strapi Yanıtlama <yanitlama@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "ör: Strapi <ornek@strapi.io>",
"Settings.email.plugin.placeholder.testAddress": "ör: gelistirici@example.com",
"Settings.email.plugin.subTitle": "E-posta eklentisinin ayarlarını deneyin",
"Settings.email.plugin.text.configuration": "Plugin {file} dosyası üzerinden ayarlanıyor. Detaylar için şu bağlantıya bakın: {link}",
"Settings.email.plugin.title": "Kurulum",
"Settings.email.plugin.title.config": "Kurulum",
"Settings.email.plugin.title.test": "E-posta gönderimini dene",
"SettingsNav.link.settings": "Ayarlar",
"SettingsNav.section-label": "E-posta eklentisi",
"components.Input.error.validation.email": "Geçersiz e-posta adresi"
};
export { tr as default, link };
//# sourceMappingURL=tr.json.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"tr.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
Loaded 100 of 65041 files, more files were not shown because too many files have changed in this diff. Show more