Skip to content
This repository was archived by the owner on Feb 23, 2024. It is now read-only.

Commit 86a1a86

Browse files
committed
Convert to tsx and replace proptypes by ts definitions
1 parent 6339f97 commit 86a1a86

File tree

2 files changed

+43
-10
lines changed

2 files changed

+43
-10
lines changed

assets/js/blocks/reviews/editor-container-block.js renamed to assets/js/blocks/reviews/editor-container-block.tsx

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
* External dependencies
33
*/
44
import { __ } from '@wordpress/i18n';
5-
import PropTypes from 'prop-types';
65
import { debounce } from '@woocommerce/base-utils';
76
import { Placeholder } from '@wordpress/components';
87
import { useBlockProps } from '@wordpress/block-editor';
8+
import { EditorContainerBlockProps } from '@woocommerce/blocks/reviews/types';
99

1010
/**
1111
* Internal dependencies
@@ -18,7 +18,7 @@ const EditorContainerBlock = ( {
1818
icon,
1919
name,
2020
noReviewsPlaceholder,
21-
} ) => {
21+
}: EditorContainerBlockProps ) => {
2222
const {
2323
categoryIds,
2424
productId,
@@ -70,12 +70,4 @@ const EditorContainerBlock = ( {
7070
);
7171
};
7272

73-
EditorContainerBlock.propTypes = {
74-
attributes: PropTypes.object.isRequired,
75-
icon: PropTypes.node.isRequired,
76-
name: PropTypes.string.isRequired,
77-
noReviewsPlaceholder: PropTypes.elementType.isRequired,
78-
className: PropTypes.string,
79-
};
80-
8173
export default EditorContainerBlock;

assets/js/blocks/reviews/types.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
export interface PreviewReviews {
2+
id: number;
3+
date_created: string;
4+
formatted_date_created: string;
5+
date_created_gmt: string;
6+
product_id: number;
7+
product_name: string;
8+
product_permalink: string;
9+
reviewer: string;
10+
review: string;
11+
reviewer_avatar_urls: { [ id: number ]: string };
12+
rating: number;
13+
verified: boolean;
14+
}
15+
16+
export interface Attributes {
17+
categoryIds: number[];
18+
editMode: boolean;
19+
imageType: string;
20+
orderby: string;
21+
productId: number;
22+
reviewsOnLoadMore: number;
23+
reviewsOnPageLoad: number;
24+
showLoadMore: boolean;
25+
showOrderby: boolean;
26+
showProductName: boolean;
27+
showReviewDate: boolean;
28+
showReviewerName: boolean;
29+
showReviewImage: boolean;
30+
showReviewRating: boolean;
31+
showReviewContent: boolean;
32+
previewReviews: PreviewReviews[];
33+
}
34+
35+
export interface EditorContainerBlockProps {
36+
attributes: Attributes;
37+
icon: JSX.Element;
38+
name: string;
39+
noReviewsPlaceholder: React.ReactNode;
40+
className?: string;
41+
}

0 commit comments

Comments
 (0)