PluginProbe ʕ •ᴥ•ʔ
Presto Player / 4.4.1
Presto Player v4.4.1
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 / presets / index.js
presto-player / src / admin / blocks / shared / presets Last commit date
parts 1 month ago ActionBar.js 2 months ago ActionBar.scss 2 months ago Behavior.js 2 years ago CTA.js 2 months ago CTA.scss 2 months ago Controls.js 5 years ago Edit.js 2 months ago Edit.scss 2 months ago Email.js 2 months ago Email.scss 2 months ago Preset.js 4 years ago Search.js 3 years ago Style.js 2 months ago Style.scss 2 months ago Watermark.js 4 years ago index.js 2 months ago index.scss 2 months 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