PluginProbe ʕ •ᴥ•ʔ
Presto Player / 4.3.3
Presto Player v4.3.3
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 / presets / index.js
presto-player / src / admin / blocks / shared / presets Last commit date
parts 2 weeks ago ActionBar.js 1 month ago ActionBar.scss 1 month ago Behavior.js 2 years ago CTA.js 1 month ago CTA.scss 1 month ago Controls.js 5 years ago Edit.js 1 month ago Edit.scss 1 month ago Email.js 1 month ago Email.scss 1 month ago Preset.js 4 years ago Search.js 3 years ago Style.js 1 month ago Style.scss 1 month ago Watermark.js 4 years ago index.js 1 month ago index.scss 1 month ago
index.js
132 lines
1 /**
2 * WordPress dependencies
3 */
4 const { __ } = wp.i18n;
5 const { withNotices, BaseControl, Spinner, Button } = wp.components;
6 const { useState, useEffect } = wp.element;
7 const { useSelect, dispatch } = wp.data;
8
9 import ProBadge from "@/admin/blocks/shared/components/ProBadge";
10 import EditPreset from "./Edit";
11 import Preset from "./Preset";
12 import "./index.scss";
13
14 function PlayerPresets({ attributes, setAttributes }) {
15 // modal
16 const [modal, setModal] = useState(false);
17 const openModal = (type) => setModal(type);
18 const closeModal = () => setModal(false);
19 const [presetData, setPresetData] = useState(null);
20 const [name, setName] = useState(null);
21
22 // preset data
23 const { presets, loading } = useSelect((select) => {
24 return {
25 presets: select("presto-player/player").getPresets(),
26 loading: select("presto-player/player").isResolving("getPresets"),
27 };
28 });
29
30 // preset actions
31 const addPreset = (preset) => {
32 dispatch("presto-player/player").addPreset(preset);
33 };
34 const updatePreset = (preset) => {
35 dispatch("presto-player/player").updatePreset(preset);
36 };
37 const removePreset = (preset) => {
38 dispatch("presto-player/player").removePreset(preset);
39 };
40
41 // set this preset id
42 const setPreset = (preset) => {
43 setAttributes({ preset: preset.id });
44 };
45
46 if (loading) {
47 return (
48 <div className="presto-settings__loading">
49 <Spinner />
50 </div>
51 );
52 }
53
54 return (
55 <>
56 {presets.length ? (
57 <p>
58 {__(
59 "Select a video configuration preset, or add your own.",
60 "presto-player"
61 )}
62 </p>
63 ) : (
64 ""
65 )}
66
67 <BaseControl>
68 <div className="presto-preset-wrap">
69 {(presets || []).length
70 ? presets.map((preset, i) => {
71 return (
72 <Preset
73 setPreset={setPreset}
74 index={i}
75 isActive={attributes?.preset === preset.id}
76 preset={preset}
77 key={preset.id}
78 onEdit={() => {
79 setName(preset.name);
80 setPresetData(preset);
81 setModal("edit");
82 }}
83 remove={removePreset}
84 />
85 );
86 })
87 : __(
88 "No style presets. You can create a new style by clicking 'Add New Style'.",
89 "presto-plugin"
90 )}
91 </div>
92 </BaseControl>
93 <BaseControl>
94 <Button
95 isPrimary
96 data-cy="add-new-preset"
97 onClick={() => {
98 if (!prestoPlayer?.isPremium) {
99 dispatch("presto-player/player").setProModal(true);
100 return;
101 }
102 openModal("new");
103 }}
104 >
105 {__("Add New Preset", "presto-player")}
106 </Button>
107 {!prestoPlayer?.isPremium && <ProBadge />}
108 </BaseControl>
109 {modal == "new" && (
110 <EditPreset
111 closeModal={closeModal}
112 addPreset={addPreset}
113 type="new"
114 onSave={setPreset}
115 />
116 )}
117 {modal == "edit" && (
118 <EditPreset
119 closeModal={closeModal}
120 addPreset={addPreset}
121 updatePreset={updatePreset}
122 type="edit"
123 preset={presetData}
124 name={name}
125 />
126 )}
127 </>
128 );
129 }
130
131 export default withNotices(PlayerPresets);
132