Jake Vanderwerf
8 days ago 3b83905603d44b1a08f8b2b36a605808ce686ad6
src/gmbreviews/edit.js
New file
@@ -0,0 +1,69 @@
// src/gmbreviews/edit.js
import { useBlockProps, InspectorControls } from '@wordpress/block-editor';
import { PanelBody, RangeControl, ToggleControl } from '@wordpress/components';
import { __ } from '@wordpress/i18n';
import ServerSideRender from '@wordpress/server-side-render';
export default function Edit({ attributes, setAttributes }) {
   const blockProps = useBlockProps();
   const { count, inheritUser, showStats, minStars, showViewAllLink, showRating, showDate, showReviewLink } = attributes;
   return (
      <>
         <InspectorControls>
            <PanelBody title={__('Review Settings', 'jvb')}>
               <ToggleControl
                  label={__('Inherit User', 'jvb')}
                  checked={inheritUser}
                  onChange={(value) => setAttributes({ inheritUser: value })}
               />
               <RangeControl
                  label={__('Number of Reviews', 'jvb')}
                  value={count}
                  onChange={(value) => setAttributes({ count: value })}
                  min={1}
                  max={20}
               />
               <ToggleControl
                  label={__('Show Rating', 'jvb')}
                  checked={showRating}
                  onChange={(value) => setAttributes({ showRating: value })}
               />
               <ToggleControl
                  label={__('Show Date', 'jvb')}
                  checked={showDate}
                  onChange={(value) => setAttributes({ showDate: value })}
               />
               <ToggleControl
                  label={__('Show Review Link', 'jvb')}
                  checked={showReviewLink}
                  onChange={(value) => setAttributes({ showReviewLink: value })}
               />
               <ToggleControl
                  label={__('Show Stats', 'jvb')}
                  checked={showStats}
                  onChange={(value) => setAttributes({ showStats: value })}
               />
               <ToggleControl
                  label={__('Show All Reviews Link', 'jvb')}
                  checked={showViewAllLink}
                  onChange={(value) => setAttributes({ showViewAllLink: value })}
               />
               <RangeControl
                  label={__('Minimum Rating', 'jvb')}
                  value={minStars}
                  onChange={(value) => setAttributes({ minStars: value })}
                  min={1}
                  max={5}
               />
            </PanelBody>
         </InspectorControls>
         <div {...blockProps}>
            <ServerSideRender
               block="jvb/gmbreviews"
               attributes={attributes}
            />
         </div>
      </>
   );
}