PluginProbe ʕ •ᴥ•ʔ
Presto Player / 2.2.2
Presto Player v2.2.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 3 years ago ActionBar.js 2 years ago Behavior.js 2 years ago CTA.js 2 years ago Controls.js 5 years ago Edit.js 2 years ago Email.js 2 years ago Preset.js 4 years ago Search.js 3 years ago Style.js 2 years ago Watermark.js 4 years ago index.js 4 years ago
index.js
138 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 styled from "@emotion/styled";
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 const PresetWrap = styled.div`
47 display: flex;
48 flex-wrap: wrap;
49 justify-content: space-between;
50 `;
51
52 if (loading) {
53 return (
54 <div className="presto-settings__loading">
55 <Spinner />
56 </div>
57 );
58 }
59
60 return (
61 <>
62 {presets.length ? (
63 <p>
64 {__(
65 "Select a video configuration preset, or add your own.",
66 "presto-player"
67 )}
68 </p>
69 ) : (
70 ""
71 )}
72
73 <BaseControl>
74 <PresetWrap>
75 {(presets || []).length
76 ? presets.map((preset, i) => {
77 return (
78 <Preset
79 setPreset={setPreset}
80 index={i}
81 isActive={attributes?.preset === preset.id}
82 preset={preset}
83 key={preset.id}
84 onEdit={() => {
85 setName(preset.name);
86 setPresetData(preset);
87 setModal("edit");
88 }}
89 remove={removePreset}
90 />
91 );
92 })
93 : __(
94 "No style presets. You can create a new style by clicking 'Add New Style'.",
95 "presto-plugin"
96 )}
97 </PresetWrap>
98 </BaseControl>
99 <BaseControl>
100 <Button
101 isPrimary
102 data-cy="add-new-preset"
103 onClick={() => {
104 if (!prestoPlayer?.isPremium) {
105 dispatch("presto-player/player").setProModal(true);
106 return;
107 }
108 openModal("new");
109 }}
110 >
111 {__("Add New Preset", "presto-player")}
112 </Button>
113 {!prestoPlayer?.isPremium && <ProBadge />}
114 </BaseControl>
115 {modal == "new" && (
116 <EditPreset
117 closeModal={closeModal}
118 addPreset={addPreset}
119 type="new"
120 onSave={setPreset}
121 />
122 )}
123 {modal == "edit" && (
124 <EditPreset
125 closeModal={closeModal}
126 addPreset={addPreset}
127 updatePreset={updatePreset}
128 type="edit"
129 preset={presetData}
130 name={name}
131 />
132 )}
133 </>
134 );
135 }
136
137 export default withNotices(PlayerPresets);
138