PluginProbe ʕ •ᴥ•ʔ
Presto Player / 1.5.13
Presto Player v1.5.13
4.5.0 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.4 4.2.3 4.2.2 4.2.0 4.2.1 trunk 1.10.0 1.10.1 1.10.2 1.11.0 1.12.0 1.13.0 1.14.0 1.14.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.10 1.6.11 1.6.12 1.6.13 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.16 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.2.0 2.2.1 2.2.2 2.2.3 2.2.3-beta1 2.3.0 2.3.1 2.3.2 2.3.3 3.0.0 3.0.0-beta1 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.1.0 3.1.1 3.1.2 3.1.3 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4
presto-player / src / admin / blocks / shared / Player.js
presto-player / src / admin / blocks / shared Last commit date
branding 5 years ago chapters 5 years ago components 5 years ago media 5 years ago presets 5 years ago settings 5 years ago styles 5 years ago tracks 5 years ago BlockInspectorControls.js 5 years ago LinkPlaceholder.js 5 years ago Player.js 5 years ago ProUpgradeModal.js 5 years ago VisibilityEditor.js 5 years ago helpers.js 5 years ago options.js 5 years ago placeholder.js 5 years ago
Player.js
92 lines
1 import { PrestoPlayer } from "@presto-player/react";
2
3 const { useSelect } = wp.data;
4
5 export default ({ src, preset, branding, attributes, adminPreview, type }) => {
6 const { chapters, mutedOverlay, mutedPreview } = attributes;
7
8 const youtube = useSelect((select) => {
9 return select("presto-player/player")?.youtube();
10 });
11
12 const css = useSelect((select) => {
13 return select("presto-player/player")?.playerCSS();
14 });
15
16 const mutedOverlayContent = () => {
17 return (
18 <div
19 className="presto-player__overlay is-image"
20 style={{
21 position: "absolute",
22 width: `${mutedOverlay?.width || 100}%`,
23 left: `${(mutedOverlay?.focalPoint?.x || 0.5) * 100}%`,
24 top: `${(mutedOverlay?.focalPoint?.y || 0.5) * 100}%`,
25 }}
26 >
27 <img
28 src={mutedOverlay?.src}
29 style={{
30 transform: "translateX(-50%) translateY(-50%)",
31 }}
32 />
33 </div>
34 );
35 };
36
37 return (
38 <div
39 className="wp-block-video presto-block-video"
40 style={{
41 "--presto-player-border-radius": `${preset?.border_radius}px`,
42 ...(preset?.caption_background
43 ? { "--plyr-captions-background": preset.caption_background }
44 : {}),
45 ...(branding?.color ? { "--plyr-color-main": branding.color } : {}),
46 "--presto-player-email-border-radius": `${
47 preset?.email_collection?.border_radius || 0
48 }px`,
49 "--presto-player-logo-width": `${branding?.logo_width || 75}px`,
50 }}
51 >
52 <PrestoPlayer
53 src={src}
54 css={css}
55 isAdmin={true}
56 preload="metadata"
57 preset={preset}
58 bunny={{
59 thumbnail: attributes?.previewThumbnail,
60 preview: attributes?.preview,
61 }}
62 youtube={{
63 channelId: youtube?.channel_id,
64 }}
65 tracks={
66 !!preset?.captions && [
67 {
68 kind: "captions",
69 label: "English",
70 srclang: "en",
71 src: "/path/to/captions.en.vtt",
72 default: true,
73 },
74 ]
75 }
76 branding={branding}
77 chapters={chapters}
78 blockAttributes={attributes}
79 poster={attributes.poster}
80 provider={type}
81 >
82 <div slot="player-end">
83 {mutedPreview?.enabled &&
84 mutedOverlay?.enabled &&
85 mutedOverlayContent()}
86 {adminPreview}
87 </div>
88 </PrestoPlayer>
89 </div>
90 );
91 };
92