PluginProbe ʕ •ᴥ•ʔ
Presto Player / 4.5.0
Presto Player v4.5.0
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 / presets / parts / WebhooksConfig.js
presto-player / src / admin / blocks / shared / presets / parts Last commit date
ActiveCampaignConfig.js 5 years ago ChooseProvider.js 3 months ago FluentCRMConfig.js 1 month ago MailchimpConfig.js 5 years ago MailerLiteConfig.js 5 years ago WebhooksConfig.js 3 years ago YoutubeChannelId.js 2 months ago YoutubeChannelId.scss 2 months ago
WebhooksConfig.js
72 lines
1 /**
2 * WordPress dependencies
3 */
4 const { __ } = wp.i18n;
5 const { SelectControl, Notice } = wp.components;
6 const { useEffect, useState } = wp.element;
7 import LoadSelect from "../../components/LoadSelect";
8
9 export default ({ options, updateEmailState }) => {
10 const [fetching, setFetching] = useState(false);
11 const [groups, setGroups] = useState([
12 { value: null, label: __("Choose a webhook", "presto-player") },
13 ]);
14 const [error, setError] = useState("");
15
16 const fetchGroups = async () => {
17 setFetching(true);
18 try {
19 const fetched = await wp.apiFetch({
20 path: "presto-player/v1/webhook",
21 });
22
23 let listOptions = groups;
24 (fetched || []).forEach((list) => {
25 listOptions = [
26 ...listOptions,
27 ...[
28 {
29 value: list.id,
30 label: list.name,
31 },
32 ],
33 ];
34 });
35 setGroups(listOptions);
36 } catch (e) {
37 if (e?.message) {
38 setError(e.message);
39 }
40 } finally {
41 setFetching(false);
42 }
43 };
44
45 useEffect(() => {
46 fetchGroups();
47 }, []);
48
49 if (fetching) {
50 return <LoadSelect />;
51 }
52
53 if (error) {
54 return (
55 <Notice className="presto-notice" status="error" isDismissible={false}>
56 {error}
57 </Notice>
58 );
59 }
60
61 return (
62 <div>
63 <SelectControl
64 label={__("Choose a webhook", "presto-player")}
65 value={options?.provider_list}
66 options={groups}
67 onChange={(provider_list) => updateEmailState({ provider_list })}
68 />
69 </div>
70 );
71 };
72