PluginProbe ʕ •ᴥ•ʔ
Presto Player / trunk
Presto Player vtrunk
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 2 weeks ago ActionBar.scss 2 weeks ago Behavior.js 2 years ago CTA.js 2 weeks ago CTA.scss 2 weeks ago Controls.js 5 years ago Edit.js 2 weeks ago Edit.scss 2 weeks ago Email.js 2 weeks ago Email.scss 2 weeks ago Preset.js 4 years ago Search.js 3 years ago Style.js 2 weeks ago Style.scss 2 weeks ago Watermark.js 4 years ago index.js 2 weeks ago index.scss 2 weeks 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