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 / dashboard / router / router.js
presto-player / src / admin / dashboard / router Last commit date
history.js 1 month ago router.js 1 month ago
router.js
40 lines
1 /**
2 * WordPress dependencies
3 */
4 import {
5 createContext,
6 useContext,
7 useSyncExternalStore,
8 } from '@wordpress/element';
9
10 /**
11 * Internal dependencies
12 */
13 import history from './history';
14
15 const RoutesContext = createContext();
16 const HistoryContext = createContext();
17
18 export function useLocation() {
19 return useContext( RoutesContext );
20 }
21
22 export function useHistory() {
23 return useContext( HistoryContext );
24 }
25
26 export function RouterProvider( { children } ) {
27 const location = useSyncExternalStore(
28 history.listen,
29 history.getLocationWithParams,
30 history.getLocationWithParams
31 );
32
33 return (
34 <HistoryContext.Provider value={ history }>
35 <RoutesContext.Provider value={ location }>
36 { children }
37 </RoutesContext.Provider>
38 </HistoryContext.Provider>
39 );
40 }