@@ -96,10 +93,15 @@ export const Help = ({ previewShowing, helpFor, helpPosition, version }) => {
);
};
+Help.defaultProps = {
+ helpFor: '',
+ helpPosition: 0,
+};
+
Help.propTypes = {
previewShowing: PropTypes.bool.isRequired,
- helpFor: PropTypes.string.isRequired,
- helpPosition: PropTypes.string.isRequired,
+ helpFor: PropTypes.string,
+ helpPosition: PropTypes.number,
version: PropTypes.string.isRequired,
};
diff --git a/app/javascript/article-form/components/Meta.jsx b/app/javascript/article-form/components/Meta.jsx
index 76a2cb155..ffba2388d 100644
--- a/app/javascript/article-form/components/Meta.jsx
+++ b/app/javascript/article-form/components/Meta.jsx
@@ -38,7 +38,7 @@ Meta.propTypes = {
titleOnChange: PropTypes.func.isRequired,
tagsDefaultValue: PropTypes.string.isRequired,
tagsOnInput: PropTypes.func.isRequired,
- mainImage: PropTypes.string.isRequired,
+ mainImage: PropTypes.string,
onMainImageUrlChange: PropTypes.func.isRequired,
switchHelpContext: PropTypes.func.isRequired,
};
diff --git a/app/javascript/article-form/components/PageTitle.jsx b/app/javascript/article-form/components/PageTitle.jsx
index 0a307603b..fce83776d 100644
--- a/app/javascript/article-form/components/PageTitle.jsx
+++ b/app/javascript/article-form/components/PageTitle.jsx
@@ -26,9 +26,9 @@ export const PageTitle = ({ organizations, organizationId, onToggle }) => {
};
PageTitle.propTypes = {
- organizations: PropTypes.string.isRequired,
- organizationId: PropTypes.string.isRequired,
- onToggle: PropTypes.string.isRequired,
+ organizations: PropTypes.arrayOf(PropTypes.string).isRequired,
+ organizationId: PropTypes.string,
+ onToggle: PropTypes.func.isRequired,
};
PageTitle.displayName = 'Organization';
diff --git a/app/javascript/article-form/components/Preview.jsx b/app/javascript/article-form/components/Preview.jsx
index 074c23a65..d54d512c7 100644
--- a/app/javascript/article-form/components/Preview.jsx
+++ b/app/javascript/article-form/components/Preview.jsx
@@ -122,7 +122,7 @@ function attachTwitterTimelineScript() {
Preview.propTypes = {
previewResponse: previewResponsePropTypes.isRequired,
- errors: PropTypes.string.isRequired,
+ errors: PropTypes.object,
markdownLintErrors: PropTypes.arrayOf(PropTypes.object),
articleState: PropTypes.shape({
id: PropTypes.number,
diff --git a/app/javascript/article-form/components/TagsField.jsx b/app/javascript/article-form/components/TagsField.jsx
index f06db7afa..40ca702d7 100644
--- a/app/javascript/article-form/components/TagsField.jsx
+++ b/app/javascript/article-form/components/TagsField.jsx
@@ -14,7 +14,7 @@ export const TagsField = ({
{
};
TagsFollowed.displayName = 'TagsFollowed';
-TagsFollowed.propTypes = PropTypes.arrayOf(
- PropTypes.shape({
- id: PropTypes.number.isRequired,
- name: PropTypes.string.isRequired,
- hotness_score: PropTypes.number.isRequired,
- points: PropTypes.number.isRequired,
- bg_color_hex: PropTypes.string.isRequired,
- text_color_hex: PropTypes.string.isRequired,
- }),
-);
+TagsFollowed.propTypes = {
+ tags: PropTypes.arrayOf(
+ PropTypes.shape({
+ id: PropTypes.number.isRequired,
+ name: PropTypes.string.isRequired,
+ hotness_score: PropTypes.number.isRequired,
+ points: PropTypes.number.isRequired,
+ bg_color_hex: PropTypes.string.isRequired,
+ text_color_hex: PropTypes.string.isRequired,
+ }),
+ ),
+};
diff --git a/app/javascript/packs/articleForm.jsx b/app/javascript/packs/articleForm.jsx
index 2bb28ef18..067ea6c48 100644
--- a/app/javascript/packs/articleForm.jsx
+++ b/app/javascript/packs/articleForm.jsx
@@ -16,7 +16,7 @@ function loadForm() {
const snackZone = document.getElementById('snack-zone');
if (snackZone) {
- render(, snackZone);
+ render(, snackZone);
}
getUserDataAndCsrfToken().then(({ currentUser, csrfToken }) => {
diff --git a/app/javascript/shared/components/tags.jsx b/app/javascript/shared/components/tags.jsx
index 614c48fb5..98d6b6b8e 100644
--- a/app/javascript/shared/components/tags.jsx
+++ b/app/javascript/shared/components/tags.jsx
@@ -494,8 +494,8 @@ Tags.propTypes = {
maxTags: PropTypes.number.isRequired,
classPrefix: PropTypes.string.isRequired,
fieldClassName: PropTypes.string.isRequired,
- listing: PropTypes.string.isRequired,
- category: PropTypes.string.isRequired,
+ listing: PropTypes.string,
+ category: PropTypes.string,
onFocus: PropTypes.func.isRequired,
pattern: PropTypes.string.isRequired,
};