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 / dashboard / hooks / usePerformanceSettings.js
presto-player / src / admin / dashboard / hooks Last commit date
test 2 months ago useAbilities.js 1 week ago useCompleteOnboarding.js 2 months ago useDateRangePicker.js 3 months ago useEmail.ts 3 months ago useEngagementChartData.js 3 months ago useLicenseSettings.js 3 months ago useLink.js 3 months ago useMcpAdapterInstall.js 1 week ago useMediaDetail.js 3 months ago useMediaLibrary.js 3 months ago useMediaList.ts 3 months ago usePerformanceSettings.js 3 months ago useRegisterActivePage.js 3 months ago useSettingOption.js 1 week ago useSimpleSettingsPage.js 1 week ago useTopPerforming.js 3 months ago useTopVideosPaginated.js 3 months ago useUpgradeCTA.js 3 months ago useUserDetail.js 3 months ago
usePerformanceSettings.js
63 lines
1 import { useState, useEffect } from 'react';
2 import wpApiFetch from '@wordpress/api-fetch';
3
4 const usePerformanceSettings = () => {
5 const [ performance, setPerformance ] = useState( {
6 module_enabled: false,
7 automations: true,
8 } );
9
10 const [ isLoading, setIsLoading ] = useState( true );
11 const [ isSaving, setIsSaving ] = useState( false );
12 const [ isDirty, setIsDirty ] = useState( false );
13
14 useEffect( () => {
15 const fetchAll = async () => {
16 setIsLoading( true );
17 try {
18 const settings = await wpApiFetch( { path: '/wp/v2/settings' } );
19 if ( settings.presto_player_performance ) {
20 setPerformance( settings.presto_player_performance );
21 }
22 } catch ( err ) {
23 console.error( 'usePerformanceSettings: failed to fetch settings', err );
24 } finally {
25 setIsLoading( false );
26 }
27 };
28
29 fetchAll();
30 }, [] );
31
32 const save = async () => {
33 setIsSaving( true );
34 try {
35 await wpApiFetch( {
36 path: '/wp/v2/settings',
37 method: 'POST',
38 data: {
39 presto_player_performance: performance,
40 },
41 } );
42 setIsDirty( false );
43 } catch ( err ) {
44 setIsSaving( false );
45 throw err;
46 }
47 setIsSaving( false );
48 };
49
50 const dirtySetPerformance = ( val ) => { setIsDirty( true ); setPerformance( val ); };
51
52 return {
53 performance,
54 setPerformance: dirtySetPerformance,
55 isLoading,
56 isSaving,
57 isDirty,
58 save,
59 };
60 };
61
62 export default usePerformanceSettings;
63