@bigbinary/neeto-seo-frontend 3.0.13 → 3.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.ready +1 -0
- package/dist/SeoSettingsPage.js +4 -3
- package/dist/SeoSettingsPage.js.map +1 -1
- package/dist/SeoSettingsPane.js +4 -37
- package/dist/SeoSettingsPane.js.map +1 -1
- package/dist/cjs/SeoSettingsPage.js +1 -0
- package/dist/cjs/SeoSettingsPage.js.map +1 -1
- package/dist/cjs/SeoSettingsPane.js +6 -39
- package/dist/cjs/SeoSettingsPane.js.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/v2/SeoSettingsPage.js +115 -0
- package/dist/cjs/v2/SeoSettingsPage.js.map +1 -0
- package/dist/cjs/v2/SeoSettingsPane.js +392 -0
- package/dist/cjs/v2/SeoSettingsPane.js.map +1 -0
- package/dist/cjs/v2/WelcomeScreen.js +15 -0
- package/dist/cjs/v2/WelcomeScreen.js.map +1 -0
- package/dist/cjs/v2/index.js +33 -0
- package/dist/cjs/v2/index.js.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/useSeoSettingsApi-BpSjL-Sq.js +41 -0
- package/dist/useSeoSettingsApi-BpSjL-Sq.js.map +1 -0
- package/dist/useSeoSettingsApi-CDihidUg.js +44 -0
- package/dist/useSeoSettingsApi-CDihidUg.js.map +1 -0
- package/dist/v2/SeoSettingsPage.js +113 -0
- package/dist/v2/SeoSettingsPage.js.map +1 -0
- package/dist/v2/SeoSettingsPane.js +371 -0
- package/dist/v2/SeoSettingsPane.js.map +1 -0
- package/dist/v2/WelcomeScreen.js +13 -0
- package/dist/v2/WelcomeScreen.js.map +1 -0
- package/dist/v2/index.js +26 -0
- package/dist/v2/index.js.map +1 -0
- package/package.json +41 -30
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
6
|
+
var CardLayout = require('@bigbinary/neeto-molecules/v2/CardLayout');
|
|
7
|
+
var Container = require('@bigbinary/neeto-molecules/v2/Container');
|
|
8
|
+
var reactI18next = require('react-i18next');
|
|
9
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/v2/react-utils');
|
|
10
|
+
var NeetoHeader = require('@bigbinary/neeto-molecules/v2/Header');
|
|
11
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
12
|
+
var v2_SeoSettingsPane = require('./SeoSettingsPane.js');
|
|
13
|
+
require('@bigbinary/neeto-atoms/formik');
|
|
14
|
+
require('@bigbinary/neeto-molecules/v2/PageLoader');
|
|
15
|
+
require('ramda');
|
|
16
|
+
require('../../useSeoSettingsApi-CDihidUg.js');
|
|
17
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
18
|
+
require('@tanstack/react-query');
|
|
19
|
+
require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
|
|
20
|
+
require('axios');
|
|
21
|
+
require('i18next');
|
|
22
|
+
require('yup');
|
|
23
|
+
require('@bigbinary/neeto-image-uploader-frontend/ImageUploader');
|
|
24
|
+
require('formik');
|
|
25
|
+
require('@bigbinary/neeto-molecules/v2/HelpPopover');
|
|
26
|
+
require('@bigbinary/neeto-cist');
|
|
27
|
+
|
|
28
|
+
var Header = reactUtils.withT(function (_ref) {
|
|
29
|
+
var t = _ref.t,
|
|
30
|
+
breadcrumbs = _ref.breadcrumbs,
|
|
31
|
+
helpDocUrl = _ref.helpDocUrl,
|
|
32
|
+
_ref$helpPopoverDescr = _ref.helpPopoverDescription,
|
|
33
|
+
helpPopoverDescription = _ref$helpPopoverDescr === void 0 ? "" : _ref$helpPopoverDescr;
|
|
34
|
+
return /*#__PURE__*/jsxRuntime.jsx(NeetoHeader, {
|
|
35
|
+
breadcrumbs: breadcrumbs,
|
|
36
|
+
size: "small",
|
|
37
|
+
title: t("neetoSeo.title"),
|
|
38
|
+
titleHelpPopoverProps: {
|
|
39
|
+
title: t("neetoSeo.title"),
|
|
40
|
+
description: helpPopoverDescription || t("neetoSeo.helpPopovers.seo"),
|
|
41
|
+
helpLinkProps: {
|
|
42
|
+
href: helpDocUrl
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
var Header$1 = /*#__PURE__*/react.memo(Header);
|
|
48
|
+
|
|
49
|
+
var Page = function Page(_ref) {
|
|
50
|
+
var breadcrumbs = _ref.breadcrumbs,
|
|
51
|
+
helpDocUrl = _ref.helpDocUrl,
|
|
52
|
+
entity = _ref.entity,
|
|
53
|
+
seoFormFields = _ref.seoFormFields,
|
|
54
|
+
apiEndpointUrl = _ref.apiEndpointUrl,
|
|
55
|
+
_ref$helpPopoverDescr = _ref.helpPopoverDescription,
|
|
56
|
+
helpPopoverDescription = _ref$helpPopoverDescr === void 0 ? "" : _ref$helpPopoverDescr,
|
|
57
|
+
_ref$additionalCompon = _ref.additionalComponent,
|
|
58
|
+
additionalComponent = _ref$additionalCompon === void 0 ? null : _ref$additionalCompon;
|
|
59
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
60
|
+
t = _useTranslation.t;
|
|
61
|
+
var _useState = react.useState(false),
|
|
62
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
63
|
+
isPaneOpen = _useState2[0],
|
|
64
|
+
setIsPaneOpen = _useState2[1];
|
|
65
|
+
var openPane = function openPane() {
|
|
66
|
+
return setIsPaneOpen(true);
|
|
67
|
+
};
|
|
68
|
+
var closePane = function closePane() {
|
|
69
|
+
return setIsPaneOpen(false);
|
|
70
|
+
};
|
|
71
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
72
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs(Container, {
|
|
73
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Header$1, {
|
|
74
|
+
breadcrumbs: breadcrumbs,
|
|
75
|
+
helpDocUrl: helpDocUrl,
|
|
76
|
+
helpPopoverDescription: helpPopoverDescription
|
|
77
|
+
}), /*#__PURE__*/jsxRuntime.jsx(CardLayout, {
|
|
78
|
+
title: t("neetoSeo.manageSeoSettings"),
|
|
79
|
+
actionBlock: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
80
|
+
"data-testid": "neeto-seo-configure-button",
|
|
81
|
+
label: t("neetoSeo.buttons.configure"),
|
|
82
|
+
onClick: openPane
|
|
83
|
+
}),
|
|
84
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
85
|
+
"data-testid": "neeto-seo-help-text",
|
|
86
|
+
variant: "body1",
|
|
87
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
88
|
+
i18nKey: "neetoSeo.readHelpArticle",
|
|
89
|
+
components: {
|
|
90
|
+
Link: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
91
|
+
"data-testid": "neeto-seo-read-help-article-button",
|
|
92
|
+
href: helpDocUrl,
|
|
93
|
+
rel: "noreferrer",
|
|
94
|
+
size: "lg",
|
|
95
|
+
target: "_blank",
|
|
96
|
+
variant: "link"
|
|
97
|
+
})
|
|
98
|
+
}
|
|
99
|
+
})
|
|
100
|
+
})
|
|
101
|
+
})]
|
|
102
|
+
}), /*#__PURE__*/jsxRuntime.jsx(v2_SeoSettingsPane, {
|
|
103
|
+
additionalComponent: additionalComponent,
|
|
104
|
+
apiEndpointUrl: apiEndpointUrl,
|
|
105
|
+
entity: entity,
|
|
106
|
+
seoFormFields: seoFormFields,
|
|
107
|
+
defaultHelpDocUrl: helpDocUrl,
|
|
108
|
+
isOpen: isPaneOpen,
|
|
109
|
+
onClose: closePane
|
|
110
|
+
})]
|
|
111
|
+
});
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
module.exports = Page;
|
|
115
|
+
//# sourceMappingURL=SeoSettingsPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SeoSettingsPage.js","sources":["../../../app/javascript/src/v2/components/SeoSettings/Header.jsx","../../../app/javascript/src/v2/components/SeoSettings/Page.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\n\nconst Header = withT(\n ({ t, breadcrumbs, helpDocUrl, helpPopoverDescription = \"\" }) => (\n <NeetoHeader\n {...{ breadcrumbs }}\n size=\"small\"\n title={t(\"neetoSeo.title\")}\n titleHelpPopoverProps={{\n title: t(\"neetoSeo.title\"),\n description: helpPopoverDescription || t(\"neetoSeo.helpPopovers.seo\"),\n helpLinkProps: { href: helpDocUrl },\n }}\n />\n )\n);\n\nexport default memo(Header);\n","import { useState } from \"react\";\n\nimport { Typography, Button } from \"@bigbinary/neeto-atoms\";\nimport CardLayout from \"neetomolecules/v2/CardLayout\";\nimport Container from \"neetomolecules/v2/Container\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport Header from \"./Header\";\nimport Pane from \"./Pane\";\n\nconst Page = ({\n breadcrumbs,\n helpDocUrl,\n entity,\n seoFormFields,\n apiEndpointUrl,\n helpPopoverDescription = \"\",\n additionalComponent = null,\n}) => {\n const { t } = useTranslation();\n\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n\n const openPane = () => setIsPaneOpen(true);\n const closePane = () => setIsPaneOpen(false);\n\n return (\n <>\n <Container>\n <Header {...{ breadcrumbs, helpDocUrl, helpPopoverDescription }} />\n <CardLayout\n title={t(\"neetoSeo.manageSeoSettings\")}\n actionBlock={\n <Button\n data-testid=\"neeto-seo-configure-button\"\n label={t(\"neetoSeo.buttons.configure\")}\n onClick={openPane}\n />\n }\n >\n <Typography data-testid=\"neeto-seo-help-text\" variant=\"body1\">\n <Trans\n i18nKey=\"neetoSeo.readHelpArticle\"\n components={{\n Link: (\n <Button\n data-testid=\"neeto-seo-read-help-article-button\"\n href={helpDocUrl}\n rel=\"noreferrer\"\n size=\"lg\"\n target=\"_blank\"\n variant=\"link\"\n />\n ),\n }}\n />\n </Typography>\n </CardLayout>\n </Container>\n <Pane\n {...{ additionalComponent, apiEndpointUrl, entity, seoFormFields }}\n defaultHelpDocUrl={helpDocUrl}\n isOpen={isPaneOpen}\n onClose={closePane}\n />\n </>\n );\n};\n\nexport default Page;\n"],"names":["Header","withT","_ref","t","breadcrumbs","helpDocUrl","_ref$helpPopoverDescr","helpPopoverDescription","_jsx","NeetoHeader","size","title","titleHelpPopoverProps","description","helpLinkProps","href","memo","Page","entity","seoFormFields","apiEndpointUrl","_ref$additionalCompon","additionalComponent","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","openPane","closePane","_jsxs","_Fragment","children","Container","CardLayout","actionBlock","Button","label","onClick","Typography","variant","Trans","i18nKey","components","Link","rel","target","Pane","defaultHelpDocUrl","isOpen","onClose"],"mappings":"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"}
|
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
5
|
+
var formik$1 = require('@bigbinary/neeto-atoms/formik');
|
|
6
|
+
var PageLoader = require('@bigbinary/neeto-molecules/v2/PageLoader');
|
|
7
|
+
var ramda = require('ramda');
|
|
8
|
+
var reactI18next = require('react-i18next');
|
|
9
|
+
var useSeoSettingsApi = require('../../useSeoSettingsApi-CDihidUg.js');
|
|
10
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
11
|
+
var i18next = require('i18next');
|
|
12
|
+
var yup = require('yup');
|
|
13
|
+
var ImageUploader = require('@bigbinary/neeto-image-uploader-frontend/ImageUploader');
|
|
14
|
+
var formik = require('formik');
|
|
15
|
+
var HelpPopover = require('@bigbinary/neeto-molecules/v2/HelpPopover');
|
|
16
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
17
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
18
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/v2/react-utils');
|
|
19
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
20
|
+
require('@tanstack/react-query');
|
|
21
|
+
require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
|
|
22
|
+
require('axios');
|
|
23
|
+
|
|
24
|
+
function _interopNamespaceDefault(e) {
|
|
25
|
+
var n = Object.create(null);
|
|
26
|
+
if (e) {
|
|
27
|
+
Object.keys(e).forEach(function (k) {
|
|
28
|
+
if (k !== 'default') {
|
|
29
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
30
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () { return e[k]; }
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
n.default = e;
|
|
38
|
+
return Object.freeze(n);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
|
|
42
|
+
|
|
43
|
+
var CoverImage = function CoverImage(_ref) {
|
|
44
|
+
var popOverDescription = _ref.popOverDescription,
|
|
45
|
+
helpDocUrl = _ref.helpDocUrl,
|
|
46
|
+
defaultHelpDocUrl = _ref.defaultHelpDocUrl;
|
|
47
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
48
|
+
t = _useTranslation.t;
|
|
49
|
+
var _useFormikContext = formik.useFormikContext(),
|
|
50
|
+
values = _useFormikContext.values,
|
|
51
|
+
setFieldValue = _useFormikContext.setFieldValue;
|
|
52
|
+
var onImageUploadComplete = function onImageUploadComplete(_ref2) {
|
|
53
|
+
var signedId = _ref2.signedId,
|
|
54
|
+
url = _ref2.url;
|
|
55
|
+
setFieldValue("coverImage", signedId);
|
|
56
|
+
setFieldValue("coverImageUrl", url);
|
|
57
|
+
};
|
|
58
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
59
|
+
className: "space-y-2",
|
|
60
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
61
|
+
className: "flex items-center space-x-2",
|
|
62
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Label, {
|
|
63
|
+
children: t("neetoSeo.labels.coverImage")
|
|
64
|
+
}), /*#__PURE__*/jsxRuntime.jsx(HelpPopover, {
|
|
65
|
+
helpLinkProps: {
|
|
66
|
+
href: helpDocUrl || defaultHelpDocUrl
|
|
67
|
+
},
|
|
68
|
+
description: popOverDescription || t("neetoSeo.helpPopovers.coverImage")
|
|
69
|
+
})]
|
|
70
|
+
}), /*#__PURE__*/jsxRuntime.jsx(ImageUploader, {
|
|
71
|
+
className: "h-56",
|
|
72
|
+
defaultImageSize: {
|
|
73
|
+
width: 1200,
|
|
74
|
+
height: 628
|
|
75
|
+
},
|
|
76
|
+
fixedAspectRatio: {
|
|
77
|
+
width: 1.91,
|
|
78
|
+
height: 1
|
|
79
|
+
},
|
|
80
|
+
src: values.coverImageUrl,
|
|
81
|
+
onUploadComplete: onImageUploadComplete
|
|
82
|
+
})]
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
var GoogleAnalyticsTracking = function GoogleAnalyticsTracking(_ref) {
|
|
87
|
+
var helpDocUrl = _ref.helpDocUrl,
|
|
88
|
+
popOverDescription = _ref.popOverDescription,
|
|
89
|
+
entity = _ref.entity,
|
|
90
|
+
defaultHelpDocUrl = _ref.defaultHelpDocUrl,
|
|
91
|
+
seoSetting = _ref.seoSetting;
|
|
92
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
93
|
+
t = _useTranslation.t;
|
|
94
|
+
var _useState = react.useState(!!(seoSetting !== null && seoSetting !== void 0 && seoSetting.googleAnalyticsTrackingId)),
|
|
95
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
96
|
+
googleAnalyticsEnabled = _useState2[0],
|
|
97
|
+
setGoogleAnalyticsEnabled = _useState2[1];
|
|
98
|
+
var _useFormikContext = formik.useFormikContext(),
|
|
99
|
+
setFieldValue = _useFormikContext.setFieldValue;
|
|
100
|
+
var handleSwitchChange = function handleSwitchChange() {
|
|
101
|
+
setGoogleAnalyticsEnabled(!googleAnalyticsEnabled);
|
|
102
|
+
setFieldValue("googleAnalyticsEnabled", !googleAnalyticsEnabled);
|
|
103
|
+
setFieldValue("googleAnalyticsTrackingId", "");
|
|
104
|
+
};
|
|
105
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
106
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
107
|
+
className: "flex items-center space-x-2",
|
|
108
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(formik$1.Switch, {
|
|
109
|
+
checked: googleAnalyticsEnabled,
|
|
110
|
+
label: t("neetoSeo.labels.googleAnalytics"),
|
|
111
|
+
name: "googleAnalyticsEnabled",
|
|
112
|
+
onChange: handleSwitchChange
|
|
113
|
+
}), /*#__PURE__*/jsxRuntime.jsx(HelpPopover, {
|
|
114
|
+
helpLinkProps: {
|
|
115
|
+
href: helpDocUrl || defaultHelpDocUrl
|
|
116
|
+
},
|
|
117
|
+
description: popOverDescription || t("neetoSeo.helpPopovers.googleAnalytics", {
|
|
118
|
+
entity: entity
|
|
119
|
+
})
|
|
120
|
+
})]
|
|
121
|
+
}), googleAnalyticsEnabled && /*#__PURE__*/jsxRuntime.jsx(formik$1.Input, {
|
|
122
|
+
className: "mt-4",
|
|
123
|
+
name: "googleAnalyticsTrackingId",
|
|
124
|
+
placeholder: t("neetoSeo.placeholders.googleAnalyticsTrackingId")
|
|
125
|
+
})]
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
var Input = reactUtils.withT(function (_ref) {
|
|
130
|
+
var t = _ref.t,
|
|
131
|
+
name = _ref.name,
|
|
132
|
+
helpDocUrl = _ref.helpDocUrl,
|
|
133
|
+
popOverDescription = _ref.popOverDescription,
|
|
134
|
+
entity = _ref.entity,
|
|
135
|
+
defaultHelpDocUrl = _ref.defaultHelpDocUrl,
|
|
136
|
+
altLabel = _ref.altLabel,
|
|
137
|
+
altPlaceholder = _ref.altPlaceholder,
|
|
138
|
+
maxLength = _ref.maxLength;
|
|
139
|
+
return /*#__PURE__*/jsxRuntime.jsx(formik$1.Input, {
|
|
140
|
+
name: name,
|
|
141
|
+
label: altLabel || t("neetoSeo.labels.".concat(name), {
|
|
142
|
+
entity: entity
|
|
143
|
+
}),
|
|
144
|
+
maxLength: maxLength || 160,
|
|
145
|
+
unlimitedChars: false,
|
|
146
|
+
labelProps: {
|
|
147
|
+
helpIconProps: {
|
|
148
|
+
"data-testid": "help-popover-button",
|
|
149
|
+
popoverProps: {
|
|
150
|
+
description: popOverDescription || t("neetoSeo.helpPopovers.".concat(name)),
|
|
151
|
+
helpLinkProps: {
|
|
152
|
+
label: t("neetoSeo.labels.viewHelpArticle"),
|
|
153
|
+
href: helpDocUrl || defaultHelpDocUrl
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
placeholder: altPlaceholder || t("neetoSeo.placeholders.".concat(name), {
|
|
159
|
+
entity: entity
|
|
160
|
+
})
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
var Switch = reactUtils.withT(function (_ref) {
|
|
165
|
+
var t = _ref.t,
|
|
166
|
+
name = _ref.name,
|
|
167
|
+
entity = _ref.entity,
|
|
168
|
+
altLabel = _ref.altLabel,
|
|
169
|
+
helpDocUrl = _ref.helpDocUrl,
|
|
170
|
+
defaultHelpDocUrl = _ref.defaultHelpDocUrl,
|
|
171
|
+
popOverDescription = _ref.popOverDescription;
|
|
172
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
173
|
+
className: "flex items-center space-x-2",
|
|
174
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(formik$1.Switch, {
|
|
175
|
+
name: name,
|
|
176
|
+
label: altLabel || t("neetoSeo.labels.".concat(name), {
|
|
177
|
+
entity: entity
|
|
178
|
+
})
|
|
179
|
+
}), /*#__PURE__*/jsxRuntime.jsx(HelpPopover, {
|
|
180
|
+
helpLinkProps: {
|
|
181
|
+
href: helpDocUrl || defaultHelpDocUrl
|
|
182
|
+
},
|
|
183
|
+
description: popOverDescription || t("neetoSeo.helpPopovers.allowSearchEngineCrawl")
|
|
184
|
+
})]
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
var populateKeywords = function populateKeywords(keywords) {
|
|
189
|
+
return keywords === null || keywords === void 0 ? void 0 : keywords.map(function (keyword) {
|
|
190
|
+
return keyword === null || keyword === void 0 ? void 0 : keyword.trim();
|
|
191
|
+
}).join(", ");
|
|
192
|
+
};
|
|
193
|
+
var extractKeywords = function extractKeywords(stringOfKeywords) {
|
|
194
|
+
return stringOfKeywords === null || stringOfKeywords === void 0 ? void 0 : stringOfKeywords.split(",").map(ramda.trim).filter(neetoCist.isNot(""));
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
var Textarea = function Textarea(_ref) {
|
|
198
|
+
var name = _ref.name,
|
|
199
|
+
helpDocUrl = _ref.helpDocUrl,
|
|
200
|
+
popOverDescription = _ref.popOverDescription,
|
|
201
|
+
entity = _ref.entity,
|
|
202
|
+
defaultHelpDocUrl = _ref.defaultHelpDocUrl,
|
|
203
|
+
altLabel = _ref.altLabel,
|
|
204
|
+
altPlaceholder = _ref.altPlaceholder,
|
|
205
|
+
maxLength = _ref.maxLength,
|
|
206
|
+
seoSetting = _ref.seoSetting;
|
|
207
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
208
|
+
t = _useTranslation.t;
|
|
209
|
+
var _useState = react.useState(populateKeywords(seoSetting.keywords)),
|
|
210
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
211
|
+
keywordString = _useState2[0],
|
|
212
|
+
setKeywordString = _useState2[1];
|
|
213
|
+
var _useFormikContext = formik.useFormikContext(),
|
|
214
|
+
setFieldValue = _useFormikContext.setFieldValue,
|
|
215
|
+
values = _useFormikContext.values;
|
|
216
|
+
var handleChangeKeyword = function handleChangeKeyword(event) {
|
|
217
|
+
var string = event.target.value;
|
|
218
|
+
setKeywordString(string);
|
|
219
|
+
if (name === SEO_FIELDS.KEYWORDS) {
|
|
220
|
+
var newKeywords = extractKeywords(string);
|
|
221
|
+
setFieldValue(name, newKeywords);
|
|
222
|
+
} else {
|
|
223
|
+
setFieldValue(name, string);
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
227
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(formik$1.Textarea, {
|
|
228
|
+
name: name,
|
|
229
|
+
label: altLabel || t("neetoSeo.labels.".concat(name)),
|
|
230
|
+
maxLength: maxLength || 150,
|
|
231
|
+
placeholder: altPlaceholder || t("neetoSeo.placeholders.".concat(name)),
|
|
232
|
+
value: name === SEO_FIELDS.KEYWORDS ? keywordString : values[name],
|
|
233
|
+
labelProps: {
|
|
234
|
+
helpIconProps: {
|
|
235
|
+
"data-testid": "help-popover-button",
|
|
236
|
+
popoverProps: {
|
|
237
|
+
description: popOverDescription || t("neetoSeo.helpPopovers.".concat(name), {
|
|
238
|
+
entity: entity
|
|
239
|
+
}),
|
|
240
|
+
helpLinkProps: {
|
|
241
|
+
label: t("neetoSeo.labels.viewHelpArticle"),
|
|
242
|
+
href: helpDocUrl || defaultHelpDocUrl
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
onChange: handleChangeKeyword
|
|
248
|
+
}), name === SEO_FIELDS.KEYWORDS && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
249
|
+
className: "text-muted-foreground text-xs leading-tight",
|
|
250
|
+
children: t("neetoSeo.subLabels.keywords")
|
|
251
|
+
})]
|
|
252
|
+
});
|
|
253
|
+
};
|
|
254
|
+
|
|
255
|
+
var GOOGLE_ANALYTICS_TRACKING_ID_REGEX = /^((UA|YT|MO)-\d+-\d+)$|^(G-[a-zA-Z0-9]+)$/i;
|
|
256
|
+
var SEO_FIELDS = {
|
|
257
|
+
TITLE: "title",
|
|
258
|
+
TITLE_SUFFIX: "titleSuffix",
|
|
259
|
+
DESCRIPTION: "description",
|
|
260
|
+
KEYWORDS: "keywords",
|
|
261
|
+
ALLOW_SEARCH_ENGINE_CRAWL: "allowSearchEngineCrawl",
|
|
262
|
+
GOOGLE_ANALYTICS_TRACKING_ID: "googleAnalyticsTrackingId",
|
|
263
|
+
COVER_IMAGE: "coverImage"
|
|
264
|
+
};
|
|
265
|
+
var SEO_FIELDS_COMPONENT = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, SEO_FIELDS.TITLE, Input), SEO_FIELDS.TITLE_SUFFIX, Input), SEO_FIELDS.DESCRIPTION, Textarea), SEO_FIELDS.KEYWORDS, Textarea), SEO_FIELDS.ALLOW_SEARCH_ENGINE_CRAWL, Switch), SEO_FIELDS.GOOGLE_ANALYTICS_TRACKING_ID, GoogleAnalyticsTracking), SEO_FIELDS.COVER_IMAGE, CoverImage);
|
|
266
|
+
var SEO_SETTINGS_INITIAL_VALUES = {
|
|
267
|
+
title: "",
|
|
268
|
+
titleSuffix: "",
|
|
269
|
+
description: "",
|
|
270
|
+
keywords: [],
|
|
271
|
+
allowSearchEngineCrawl: false,
|
|
272
|
+
googleAnalyticsTrackingId: ""
|
|
273
|
+
};
|
|
274
|
+
var SEO_SETTINGS_VALIDATION_SCHEMA = yup__namespace.object().shape({
|
|
275
|
+
googleAnalyticsTrackingId: yup__namespace.string().when("googleAnalyticsEnabled", {
|
|
276
|
+
is: true,
|
|
277
|
+
then: yup__namespace.string().trim().required(i18next.t("neetoSeo.validations.required", {
|
|
278
|
+
what: i18next.t("neetoSeo.labels.googleAnalyticsTrackingId")
|
|
279
|
+
})).matches(GOOGLE_ANALYTICS_TRACKING_ID_REGEX, i18next.t("neetoSeo.validations.valid", {
|
|
280
|
+
what: i18next.t("neetoSeo.labels.googleAnalyticsTrackingId")
|
|
281
|
+
})),
|
|
282
|
+
otherwise: yup__namespace.string().nullable()
|
|
283
|
+
})
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
var Pane = function Pane(_ref) {
|
|
287
|
+
var apiEndpointUrl = _ref.apiEndpointUrl,
|
|
288
|
+
isOpen = _ref.isOpen,
|
|
289
|
+
onClose = _ref.onClose,
|
|
290
|
+
entity = _ref.entity,
|
|
291
|
+
defaultHelpDocUrl = _ref.defaultHelpDocUrl,
|
|
292
|
+
seoFormFields = _ref.seoFormFields,
|
|
293
|
+
_ref$additionalCompon = _ref.additionalComponent,
|
|
294
|
+
additionalComponent = _ref$additionalCompon === void 0 ? null : _ref$additionalCompon;
|
|
295
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
296
|
+
t = _useTranslation.t;
|
|
297
|
+
var _useFetchSeoSettings = useSeoSettingsApi.useFetchSeoSettings(apiEndpointUrl, {
|
|
298
|
+
enabled: isOpen
|
|
299
|
+
}),
|
|
300
|
+
_useFetchSeoSettings$ = _useFetchSeoSettings.data,
|
|
301
|
+
seoSetting = _useFetchSeoSettings$ === void 0 ? {} : _useFetchSeoSettings$,
|
|
302
|
+
isLoading = _useFetchSeoSettings.isLoading,
|
|
303
|
+
refetch = _useFetchSeoSettings.refetch;
|
|
304
|
+
react.useEffect(function () {
|
|
305
|
+
if (isOpen) {
|
|
306
|
+
refetch();
|
|
307
|
+
}
|
|
308
|
+
}, [isOpen, refetch]);
|
|
309
|
+
var _useUpdateSeoSettings = useSeoSettingsApi.useUpdateSeoSettings(apiEndpointUrl, {
|
|
310
|
+
onSuccess: onClose
|
|
311
|
+
}),
|
|
312
|
+
updateSeoSettings = _useUpdateSeoSettings.mutate;
|
|
313
|
+
var handleSubmit = function handleSubmit(values) {
|
|
314
|
+
var payload = ramda.omit(["googleAnalyticsEnabled"], values);
|
|
315
|
+
updateSeoSettings({
|
|
316
|
+
url: apiEndpointUrl,
|
|
317
|
+
payload: payload
|
|
318
|
+
});
|
|
319
|
+
};
|
|
320
|
+
if (isLoading) {
|
|
321
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet, {
|
|
322
|
+
isOpen: isOpen,
|
|
323
|
+
onClose: onClose,
|
|
324
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
325
|
+
className: "flex h-screen w-full items-center justify-center",
|
|
326
|
+
children: /*#__PURE__*/jsxRuntime.jsx(PageLoader, {})
|
|
327
|
+
})
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet, {
|
|
331
|
+
isOpen: isOpen,
|
|
332
|
+
onClose: onClose,
|
|
333
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Header, {
|
|
334
|
+
className: "space-y-2",
|
|
335
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Title, {
|
|
336
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
337
|
+
variant: "h2",
|
|
338
|
+
children: t("neetoSeo.title")
|
|
339
|
+
})
|
|
340
|
+
})
|
|
341
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(formik$1.Form, {
|
|
342
|
+
className: "w-full",
|
|
343
|
+
formikProps: {
|
|
344
|
+
enableReinitialize: true,
|
|
345
|
+
initialValues: seoSetting || SEO_SETTINGS_INITIAL_VALUES,
|
|
346
|
+
validationSchema: SEO_SETTINGS_VALIDATION_SCHEMA,
|
|
347
|
+
onSubmit: handleSubmit
|
|
348
|
+
},
|
|
349
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet.Body, {
|
|
350
|
+
className: "pb-6",
|
|
351
|
+
children: [seoFormFields.map(function (_ref2) {
|
|
352
|
+
var name = _ref2.name,
|
|
353
|
+
helpDocUrl = _ref2.helpDocUrl,
|
|
354
|
+
popOverDescription = _ref2.popOverDescription,
|
|
355
|
+
altLabel = _ref2.altLabel,
|
|
356
|
+
altPlaceholder = _ref2.altPlaceholder,
|
|
357
|
+
maxLength = _ref2.maxLength;
|
|
358
|
+
var FieldComponent = SEO_FIELDS_COMPONENT[name];
|
|
359
|
+
if (!FieldComponent) {
|
|
360
|
+
return null;
|
|
361
|
+
}
|
|
362
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
363
|
+
className: "mt-4 w-full",
|
|
364
|
+
children: /*#__PURE__*/jsxRuntime.jsx(FieldComponent, {
|
|
365
|
+
altLabel: altLabel,
|
|
366
|
+
altPlaceholder: altPlaceholder,
|
|
367
|
+
defaultHelpDocUrl: defaultHelpDocUrl,
|
|
368
|
+
entity: entity,
|
|
369
|
+
helpDocUrl: helpDocUrl,
|
|
370
|
+
maxLength: maxLength,
|
|
371
|
+
name: name,
|
|
372
|
+
popOverDescription: popOverDescription,
|
|
373
|
+
seoSetting: seoSetting
|
|
374
|
+
})
|
|
375
|
+
}, name);
|
|
376
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
377
|
+
className: "mt-4 w-full",
|
|
378
|
+
children: additionalComponent
|
|
379
|
+
})]
|
|
380
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Footer, {
|
|
381
|
+
children: /*#__PURE__*/jsxRuntime.jsx(formik$1.ActionBlock, {
|
|
382
|
+
cancelButtonProps: {
|
|
383
|
+
onClick: onClose
|
|
384
|
+
}
|
|
385
|
+
})
|
|
386
|
+
})]
|
|
387
|
+
})]
|
|
388
|
+
});
|
|
389
|
+
};
|
|
390
|
+
|
|
391
|
+
module.exports = Pane;
|
|
392
|
+
//# sourceMappingURL=SeoSettingsPane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SeoSettingsPane.js","sources":["../../../app/javascript/src/v2/components/SeoSettings/Pane/CoverImage.jsx","../../../app/javascript/src/v2/components/SeoSettings/Pane/GoogleAnalyticsTracking.jsx","../../../app/javascript/src/v2/components/SeoSettings/Pane/Input.jsx","../../../app/javascript/src/v2/components/SeoSettings/Pane/Switch.jsx","../../../app/javascript/src/v2/components/SeoSettings/Pane/utils.js","../../../app/javascript/src/v2/components/SeoSettings/Pane/Textarea.jsx","../../../app/javascript/src/v2/components/SeoSettings/Pane/constants.js","../../../app/javascript/src/v2/components/SeoSettings/Pane/index.jsx"],"sourcesContent":["import { Label } from \"@bigbinary/neeto-atoms\";\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { ImageUploader } from \"@bigbinary/neeto-image-uploader-frontend\";\nimport { useFormikContext } from \"formik\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport { useTranslation } from \"react-i18next\";\n\nconst CoverImage = ({ popOverDescription, helpDocUrl, defaultHelpDocUrl }) => {\n const { t } = useTranslation();\n const { values, setFieldValue } = useFormikContext();\n\n const onImageUploadComplete = ({ signedId, url }) => {\n setFieldValue(\"coverImage\", signedId);\n setFieldValue(\"coverImageUrl\", url);\n };\n\n return (\n <div className=\"space-y-2\">\n <div className=\"flex items-center space-x-2\">\n <Label>{t(\"neetoSeo.labels.coverImage\")}</Label>\n <HelpPopover\n helpLinkProps={{ href: helpDocUrl || defaultHelpDocUrl }}\n description={\n popOverDescription || t(\"neetoSeo.helpPopovers.coverImage\")\n }\n />\n </div>\n <ImageUploader\n className=\"h-56\"\n defaultImageSize={{ width: 1200, height: 628 }}\n fixedAspectRatio={{ width: 1.91, height: 1 }}\n src={values.coverImageUrl}\n onUploadComplete={onImageUploadComplete}\n />\n </div>\n );\n};\n\nexport default CoverImage;\n","import { useState } from \"react\";\n\nimport { Switch, Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport { useTranslation } from \"react-i18next\";\n\nconst GoogleAnalyticsTracking = ({\n helpDocUrl,\n popOverDescription,\n entity,\n defaultHelpDocUrl,\n seoSetting,\n}) => {\n const { t } = useTranslation();\n\n const [googleAnalyticsEnabled, setGoogleAnalyticsEnabled] = useState(\n !!seoSetting?.googleAnalyticsTrackingId\n );\n\n const { setFieldValue } = useFormikContext();\n\n const handleSwitchChange = () => {\n setGoogleAnalyticsEnabled(!googleAnalyticsEnabled);\n setFieldValue(\"googleAnalyticsEnabled\", !googleAnalyticsEnabled);\n setFieldValue(\"googleAnalyticsTrackingId\", \"\");\n };\n\n return (\n <>\n <div className=\"flex items-center space-x-2\">\n <Switch\n checked={googleAnalyticsEnabled}\n label={t(\"neetoSeo.labels.googleAnalytics\")}\n name=\"googleAnalyticsEnabled\"\n onChange={handleSwitchChange}\n />\n <HelpPopover\n helpLinkProps={{ href: helpDocUrl || defaultHelpDocUrl }}\n description={\n popOverDescription ||\n t(\"neetoSeo.helpPopovers.googleAnalytics\", { entity })\n }\n />\n </div>\n {googleAnalyticsEnabled && (\n <Input\n className=\"mt-4\"\n name=\"googleAnalyticsTrackingId\"\n placeholder={t(\"neetoSeo.placeholders.googleAnalyticsTrackingId\")}\n />\n )}\n </>\n );\n};\n\nexport default GoogleAnalyticsTracking;\n","import { Input as NeetoUIInput } from \"@bigbinary/neeto-atoms/formik\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst Input = withT(\n ({\n t,\n name,\n helpDocUrl,\n popOverDescription,\n entity,\n defaultHelpDocUrl,\n altLabel,\n altPlaceholder,\n maxLength,\n }) => (\n <NeetoUIInput\n {...{ name }}\n label={altLabel || t(`neetoSeo.labels.${name}`, { entity })}\n maxLength={maxLength || 160}\n unlimitedChars={false}\n labelProps={{\n helpIconProps: {\n \"data-testid\": \"help-popover-button\",\n popoverProps: {\n description:\n popOverDescription || t(`neetoSeo.helpPopovers.${name}`),\n helpLinkProps: {\n label: t(\"neetoSeo.labels.viewHelpArticle\"),\n href: helpDocUrl || defaultHelpDocUrl,\n },\n },\n },\n }}\n placeholder={\n altPlaceholder || t(`neetoSeo.placeholders.${name}`, { entity })\n }\n />\n )\n);\n\nexport default Input;\n","import { Switch as NeetoUISwitch } from \"@bigbinary/neeto-atoms/formik\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\n\nconst Switch = withT(\n ({\n t,\n name,\n entity,\n altLabel,\n helpDocUrl,\n defaultHelpDocUrl,\n popOverDescription,\n }) => (\n <div className=\"flex items-center space-x-2\">\n <NeetoUISwitch\n {...{ name }}\n label={altLabel || t(`neetoSeo.labels.${name}`, { entity })}\n />\n <HelpPopover\n helpLinkProps={{ href: helpDocUrl || defaultHelpDocUrl }}\n description={\n popOverDescription ||\n t(\"neetoSeo.helpPopovers.allowSearchEngineCrawl\")\n }\n />\n </div>\n )\n);\n\nexport default Switch;\n","import { isNot } from \"neetocist\";\nimport { trim } from \"ramda\";\n\nexport const populateKeywords = keywords =>\n keywords?.map(keyword => keyword?.trim()).join(\", \");\n\nexport const extractKeywords = stringOfKeywords =>\n stringOfKeywords?.split(\",\").map(trim).filter(isNot(\"\"));\n","import { useState } from \"react\";\n\nimport { Textarea as NeetoUITextarea } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SEO_FIELDS } from \"./constants\";\nimport { extractKeywords, populateKeywords } from \"./utils\";\n\nconst Textarea = ({\n name,\n helpDocUrl,\n popOverDescription,\n entity,\n defaultHelpDocUrl,\n altLabel,\n altPlaceholder,\n maxLength,\n seoSetting,\n}) => {\n const { t } = useTranslation();\n const [keywordString, setKeywordString] = useState(\n populateKeywords(seoSetting.keywords)\n );\n const { setFieldValue, values } = useFormikContext();\n\n const handleChangeKeyword = event => {\n const string = event.target.value;\n setKeywordString(string);\n\n if (name === SEO_FIELDS.KEYWORDS) {\n const newKeywords = extractKeywords(string);\n setFieldValue(name, newKeywords);\n } else {\n setFieldValue(name, string);\n }\n };\n\n return (\n <>\n <NeetoUITextarea\n {...{ name }}\n label={altLabel || t(`neetoSeo.labels.${name}`)}\n maxLength={maxLength || 150}\n placeholder={altPlaceholder || t(`neetoSeo.placeholders.${name}`)}\n value={name === SEO_FIELDS.KEYWORDS ? keywordString : values[name]}\n labelProps={{\n helpIconProps: {\n \"data-testid\": \"help-popover-button\",\n popoverProps: {\n description:\n popOverDescription ||\n t(`neetoSeo.helpPopovers.${name}`, { entity }),\n helpLinkProps: {\n label: t(\"neetoSeo.labels.viewHelpArticle\"),\n href: helpDocUrl || defaultHelpDocUrl,\n },\n },\n },\n }}\n onChange={handleChangeKeyword}\n />\n {name === SEO_FIELDS.KEYWORDS && (\n <span className=\"text-muted-foreground text-xs leading-tight\">\n {t(\"neetoSeo.subLabels.keywords\")}\n </span>\n )}\n </>\n );\n};\n\nexport default Textarea;\n","import i18next from \"i18next\";\nimport * as yup from \"yup\";\n\nimport CoverImage from \"./CoverImage\";\nimport GoogleAnalyticsTracking from \"./GoogleAnalyticsTracking\";\nimport Input from \"./Input\";\nimport Switch from \"./Switch\";\nimport Textarea from \"./Textarea\";\n\nconst GOOGLE_ANALYTICS_TRACKING_ID_REGEX =\n /^((UA|YT|MO)-\\d+-\\d+)$|^(G-[a-zA-Z0-9]+)$/i;\n\nexport const TITLE_MAX_LENGTH = 160;\n\nexport const SEO_FIELDS = {\n TITLE: \"title\",\n TITLE_SUFFIX: \"titleSuffix\",\n DESCRIPTION: \"description\",\n KEYWORDS: \"keywords\",\n ALLOW_SEARCH_ENGINE_CRAWL: \"allowSearchEngineCrawl\",\n GOOGLE_ANALYTICS_TRACKING_ID: \"googleAnalyticsTrackingId\",\n COVER_IMAGE: \"coverImage\",\n};\n\nexport const SEO_FIELDS_COMPONENT = {\n [SEO_FIELDS.TITLE]: Input,\n [SEO_FIELDS.TITLE_SUFFIX]: Input,\n [SEO_FIELDS.DESCRIPTION]: Textarea,\n [SEO_FIELDS.KEYWORDS]: Textarea,\n [SEO_FIELDS.ALLOW_SEARCH_ENGINE_CRAWL]: Switch,\n [SEO_FIELDS.GOOGLE_ANALYTICS_TRACKING_ID]: GoogleAnalyticsTracking,\n [SEO_FIELDS.COVER_IMAGE]: CoverImage,\n};\n\nexport const SEO_SETTINGS_INITIAL_VALUES = {\n title: \"\",\n titleSuffix: \"\",\n description: \"\",\n keywords: [],\n allowSearchEngineCrawl: false,\n googleAnalyticsTrackingId: \"\",\n};\n\nexport const SEO_SETTINGS_VALIDATION_SCHEMA = yup.object().shape({\n googleAnalyticsTrackingId: yup.string().when(\"googleAnalyticsEnabled\", {\n is: true,\n then: yup\n .string()\n .trim()\n .required(\n i18next.t(\"neetoSeo.validations.required\", {\n what: i18next.t(\"neetoSeo.labels.googleAnalyticsTrackingId\"),\n })\n )\n .matches(\n GOOGLE_ANALYTICS_TRACKING_ID_REGEX,\n i18next.t(\"neetoSeo.validations.valid\", {\n what: i18next.t(\"neetoSeo.labels.googleAnalyticsTrackingId\"),\n })\n ),\n otherwise: yup.string().nullable(),\n }),\n});\n","import { useEffect } from \"react\";\n\nimport { Sheet, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Form, ActionBlock } from \"@bigbinary/neeto-atoms/formik\";\nimport PageLoader from \"neetomolecules/v2/PageLoader\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchSeoSettings,\n useUpdateSeoSettings,\n} from \"hooks/reactQuery/useSeoSettingsApi\";\n\nimport {\n SEO_FIELDS_COMPONENT,\n SEO_SETTINGS_VALIDATION_SCHEMA,\n SEO_SETTINGS_INITIAL_VALUES,\n} from \"./constants\";\n\nconst Pane = ({\n apiEndpointUrl,\n isOpen,\n onClose,\n entity,\n defaultHelpDocUrl,\n seoFormFields,\n additionalComponent = null,\n}) => {\n const { t } = useTranslation();\n\n const {\n data: seoSetting = {},\n isLoading,\n refetch,\n } = useFetchSeoSettings(apiEndpointUrl, { enabled: isOpen });\n\n useEffect(() => {\n if (isOpen) {\n refetch();\n }\n }, [isOpen, refetch]);\n\n const { mutate: updateSeoSettings } = useUpdateSeoSettings(apiEndpointUrl, {\n onSuccess: onClose,\n });\n\n const handleSubmit = values => {\n const payload = omit([\"googleAnalyticsEnabled\"], values);\n updateSeoSettings({ url: apiEndpointUrl, payload });\n };\n\n if (isLoading) {\n return (\n <Sheet {...{ isOpen, onClose }}>\n <div className=\"flex h-screen w-full items-center justify-center\">\n <PageLoader />\n </div>\n </Sheet>\n );\n }\n\n return (\n <Sheet {...{ isOpen, onClose }}>\n <Sheet.Header className=\"space-y-2\">\n <Sheet.Title>\n <Typography variant=\"h2\">{t(\"neetoSeo.title\")}</Typography>\n </Sheet.Title>\n </Sheet.Header>\n <Form\n className=\"w-full\"\n formikProps={{\n enableReinitialize: true,\n initialValues: seoSetting || SEO_SETTINGS_INITIAL_VALUES,\n validationSchema: SEO_SETTINGS_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Sheet.Body className=\"pb-6\">\n {seoFormFields.map(\n ({\n name,\n helpDocUrl,\n popOverDescription,\n altLabel,\n altPlaceholder,\n maxLength,\n }) => {\n const FieldComponent = SEO_FIELDS_COMPONENT[name];\n\n if (!FieldComponent) {\n return null;\n }\n\n return (\n <div className=\"mt-4 w-full\" key={name}>\n <FieldComponent\n {...{\n altLabel,\n altPlaceholder,\n defaultHelpDocUrl,\n entity,\n helpDocUrl,\n maxLength,\n name,\n popOverDescription,\n seoSetting,\n }}\n />\n </div>\n );\n }\n )}\n <div className=\"mt-4 w-full\">{additionalComponent}</div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock cancelButtonProps={{ onClick: onClose }} />\n </Sheet.Footer>\n </Form>\n </Sheet>\n );\n};\n\nexport default Pane;\n"],"names":["CoverImage","_ref","popOverDescription","helpDocUrl","defaultHelpDocUrl","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","values","setFieldValue","onImageUploadComplete","_ref2","signedId","url","_jsxs","className","children","_jsx","Label","HelpPopover","helpLinkProps","href","description","ImageUploader","defaultImageSize","width","height","fixedAspectRatio","src","coverImageUrl","onUploadComplete","GoogleAnalyticsTracking","entity","seoSetting","_useState","useState","googleAnalyticsTrackingId","_useState2","_slicedToArray","googleAnalyticsEnabled","setGoogleAnalyticsEnabled","handleSwitchChange","_Fragment","Switch","checked","label","name","onChange","Input","placeholder","withT","altLabel","altPlaceholder","maxLength","NeetoUIInput","concat","unlimitedChars","labelProps","helpIconProps","popoverProps","NeetoUISwitch","populateKeywords","keywords","map","keyword","trim","join","extractKeywords","stringOfKeywords","split","filter","isNot","Textarea","keywordString","setKeywordString","handleChangeKeyword","event","string","target","value","SEO_FIELDS","KEYWORDS","newKeywords","NeetoUITextarea","GOOGLE_ANALYTICS_TRACKING_ID_REGEX","TITLE","TITLE_SUFFIX","DESCRIPTION","ALLOW_SEARCH_ENGINE_CRAWL","GOOGLE_ANALYTICS_TRACKING_ID","COVER_IMAGE","SEO_FIELDS_COMPONENT","_defineProperty","SEO_SETTINGS_INITIAL_VALUES","title","titleSuffix","allowSearchEngineCrawl","SEO_SETTINGS_VALIDATION_SCHEMA","yup","object","shape","when","is","then","required","i18next","what","matches","otherwise","nullable","Pane","apiEndpointUrl","isOpen","onClose","seoFormFields","_ref$additionalCompon","additionalComponent","_useFetchSeoSettings","useFetchSeoSettings","enabled","_useFetchSeoSettings$","data","isLoading","refetch","useEffect","_useUpdateSeoSettings","useUpdateSeoSettings","onSuccess","updateSeoSettings","mutate","handleSubmit","payload","omit","Sheet","PageLoader","Header","Title","Typography","variant","Form","formikProps","enableReinitialize","initialValues","validationSchema","onSubmit","Body","FieldComponent","Footer","ActionBlock","cancelButtonProps","onClick"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var reactI18next = require('react-i18next');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
|
|
6
|
+
var WelcomeScreen = function WelcomeScreen() {
|
|
7
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
8
|
+
t = _useTranslation.t;
|
|
9
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
10
|
+
children: t("neetoWheel.welcomeScreen")
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
module.exports = WelcomeScreen;
|
|
15
|
+
//# sourceMappingURL=WelcomeScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WelcomeScreen.js","sources":["../../../app/javascript/src/v2/components/WelcomeScreen/index.jsx"],"sourcesContent":["import { useTranslation } from \"react-i18next\";\n\nconst WelcomeScreen = () => {\n const { t } = useTranslation();\n\n return <div>{t(\"neetoWheel.welcomeScreen\")}</div>;\n};\nexport default WelcomeScreen;\n"],"names":["WelcomeScreen","_useTranslation","useTranslation","t","_jsx","children"],"mappings":";;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AAC1B,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,oBAAOC,cAAA,CAAA,KAAA,EAAA;IAAAC,QAAA,EAAMF,CAAC,CAAC,0BAA0B;AAAC,GAAM,CAAC;AACnD;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var v2_SeoSettingsPage = require('./SeoSettingsPage.js');
|
|
4
|
+
var v2_SeoSettingsPane = require('./SeoSettingsPane.js');
|
|
5
|
+
require('@babel/runtime/helpers/slicedToArray');
|
|
6
|
+
require('react');
|
|
7
|
+
require('@bigbinary/neeto-atoms');
|
|
8
|
+
require('@bigbinary/neeto-molecules/v2/CardLayout');
|
|
9
|
+
require('@bigbinary/neeto-molecules/v2/Container');
|
|
10
|
+
require('react-i18next');
|
|
11
|
+
require('@bigbinary/neeto-commons-frontend/v2/react-utils');
|
|
12
|
+
require('@bigbinary/neeto-molecules/v2/Header');
|
|
13
|
+
require('react/jsx-runtime');
|
|
14
|
+
require('@bigbinary/neeto-atoms/formik');
|
|
15
|
+
require('@bigbinary/neeto-molecules/v2/PageLoader');
|
|
16
|
+
require('ramda');
|
|
17
|
+
require('../../useSeoSettingsApi-CDihidUg.js');
|
|
18
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
19
|
+
require('@tanstack/react-query');
|
|
20
|
+
require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
|
|
21
|
+
require('axios');
|
|
22
|
+
require('i18next');
|
|
23
|
+
require('yup');
|
|
24
|
+
require('@bigbinary/neeto-image-uploader-frontend/ImageUploader');
|
|
25
|
+
require('formik');
|
|
26
|
+
require('@bigbinary/neeto-molecules/v2/HelpPopover');
|
|
27
|
+
require('@bigbinary/neeto-cist');
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
exports.SeoSettingsPage = v2_SeoSettingsPage;
|
|
32
|
+
exports.SeoSettingsPane = v2_SeoSettingsPane;
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -15,6 +15,7 @@ import '@bigbinary/neetoui/Pane';
|
|
|
15
15
|
import '@bigbinary/neetoui/formik/Form';
|
|
16
16
|
import '@bigbinary/neetoui/formik/ActionBlock';
|
|
17
17
|
import 'ramda';
|
|
18
|
+
import './useSeoSettingsApi-BpSjL-Sq.js';
|
|
18
19
|
import '@babel/runtime/helpers/defineProperty';
|
|
19
20
|
import '@tanstack/react-query';
|
|
20
21
|
import '@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|