MediaProviders
4 days ago
ProvidersPlaceholder
4 days ago
audioPresets
4 days ago
branding
6 months ago
chapters
2 years ago
components
4 days ago
media
4 days ago
overlays
4 days ago
presets
4 days ago
services
4 years ago
settings
1 month ago
styles
1 year ago
tracks
4 days ago
BlockInspectorControls.js
4 days ago
BlockInspectorControls.scss
4 days ago
Editing.js
1 year ago
LinkPlaceholder.js
1 month ago
Player.js
1 month ago
Preview.js
2 years ago
ProUpgradeModal.js
1 month ago
VisibilityEditor.js
6 months ago
audio-placeholder.js
4 days ago
helpers.js
5 years ago
options.js
4 days ago
placeholder.js
4 days ago
BlockInspectorControls.js
105 lines
| 1 | import { |
| 2 | BaseControl, |
| 3 | Button, |
| 4 | Flex, |
| 5 | Icon, |
| 6 | PanelBody, |
| 7 | } from "@wordpress/components"; |
| 8 | import "./BlockInspectorControls.scss"; |
| 9 | import { check, symbol } from "@wordpress/icons"; |
| 10 | import { __ } from "@wordpress/i18n"; |
| 11 | import { useSelect } from "@wordpress/data"; |
| 12 | import { store as coreStore } from "@wordpress/core-data"; |
| 13 | import VideoBranding from "@/admin/blocks/shared/branding"; |
| 14 | import VideoChapters from "@/admin/blocks/shared/chapters"; |
| 15 | import ProBadge from "@/admin/blocks/shared/components/ProBadge"; |
| 16 | import VideoOverlays from "@/admin/blocks/shared/overlays"; |
| 17 | import VideoPresets from "@/admin/blocks/shared/presets"; |
| 18 | import VideoSettings from "@/admin/blocks/shared/settings"; |
| 19 | import InserterShortcodeInput from "../plugins/reusable-videos/ShortcodeInput"; |
| 20 | import EditContext from "../blocks/reusable-display/context"; |
| 21 | import { useContext } from "@wordpress/element"; |
| 22 | |
| 23 | export default function BlockInspectorControls({ attributes, setAttributes }) { |
| 24 | const { isEditing, setIsEditing } = useContext(EditContext); |
| 25 | |
| 26 | const userCanReadSettings = useSelect((select) => |
| 27 | select(coreStore).canUser("read", "settings") |
| 28 | ); |
| 29 | |
| 30 | return ( |
| 31 | <> |
| 32 | {isEditing && ( |
| 33 | <PanelBody> |
| 34 | <Flex align="center" justify="flex-start"> |
| 35 | <Icon icon={symbol} /> |
| 36 | <h2 class="block-editor-block-card__title"> |
| 37 | {__("Editing Synced Media", "presto-player")} |
| 38 | </h2> |
| 39 | </Flex> |
| 40 | |
| 41 | <BaseControl |
| 42 | help={__( |
| 43 | "You are currently editing a synced media hub item that may be reused across your site.", |
| 44 | "presto-player" |
| 45 | )} |
| 46 | className="presto-block-inspector__base-control" |
| 47 | ></BaseControl> |
| 48 | |
| 49 | <Button |
| 50 | icon={check} |
| 51 | onClick={() => setIsEditing(false)} |
| 52 | variant="secondary" |
| 53 | > |
| 54 | {__("Done Editing", "presto-player")} |
| 55 | </Button> |
| 56 | </PanelBody> |
| 57 | )} |
| 58 | <PanelBody |
| 59 | title={ |
| 60 | <> |
| 61 | {__("Chapters", "presto-player")}{" "} |
| 62 | {!prestoPlayer?.isPremium && <ProBadge />} |
| 63 | </> |
| 64 | } |
| 65 | initialOpen={prestoPlayer?.isPremium} |
| 66 | > |
| 67 | <VideoChapters setAttributes={setAttributes} attributes={attributes} /> |
| 68 | </PanelBody> |
| 69 | <PanelBody |
| 70 | title={ |
| 71 | <> |
| 72 | {__("Overlays", "presto-player")}{" "} |
| 73 | {!prestoPlayer?.isPremium && <ProBadge />} |
| 74 | </> |
| 75 | } |
| 76 | initialOpen={prestoPlayer?.isPremium} |
| 77 | > |
| 78 | <VideoOverlays setAttributes={setAttributes} attributes={attributes} /> |
| 79 | </PanelBody> |
| 80 | |
| 81 | <PanelBody title={__("Video settings", "presto-player")}> |
| 82 | <VideoSettings setAttributes={setAttributes} attributes={attributes} /> |
| 83 | </PanelBody> |
| 84 | |
| 85 | <PanelBody title={__("Video Preset", "presto-player")}> |
| 86 | <VideoPresets setAttributes={setAttributes} attributes={attributes} /> |
| 87 | </PanelBody> |
| 88 | |
| 89 | <InserterShortcodeInput /> |
| 90 | |
| 91 | {!!userCanReadSettings && ( |
| 92 | <PanelBody |
| 93 | title={__("Global Player Branding", "presto-player")} |
| 94 | initialOpen={false} |
| 95 | > |
| 96 | <VideoBranding |
| 97 | setAttributes={setAttributes} |
| 98 | attributes={attributes} |
| 99 | /> |
| 100 | </PanelBody> |
| 101 | )} |
| 102 | </> |
| 103 | ); |
| 104 | } |
| 105 |