PluginProbe ʕ •ᴥ•ʔ
Presto Player / trunk
Presto Player vtrunk
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 / App.js
presto-player / src / admin / dashboard Last commit date
components 1 week ago hooks 1 week ago lib 1 month ago pages 1 week ago router 1 month ago utils 1 month ago App.js 1 month ago Routes.js 1 month ago common.scss 1 month ago index.js 1 month ago main.scss 1 month ago
App.js
52 lines
1 import { useState, useEffect } from "react";
2 import { RouterProvider } from "./router/router";
3 import { Toaster } from "@bsf/force-ui";
4 import Routes from "./Routes";
5 import Onboarding from "./pages/Onboarding";
6
7 // Single Toaster config for every tab. Pin to the extreme top-right just
8 // under the WP admin bar so the toast lands on the navbar corner, and keep
9 // the z-index above every Dialog overlay (999999) so it's never hidden
10 // behind a backdrop. The admin-bar CSS var automatically shifts to 46px on
11 // screens ≤782px, so the offset stays correct on small screens too.
12 const AppToaster = () => (
13 <Toaster
14 position="top-right"
15 dismissAfter={3000}
16 className="!top-[var(--presto-admin-bar-h)] !p-4 !z-[1000050]"
17 />
18 );
19
20 export default () => {
21 const prestoData = window.prestoPlayer || {};
22 const shouldShowOnboarding =
23 !prestoData.onboarding_completed || prestoData.onboarding_redirect;
24
25 const [showOnboarding, setShowOnboarding] = useState(shouldShowOnboarding);
26
27 useEffect(() => {
28 if (showOnboarding) {
29 document.body.classList.add("presto-player-onboarding-page");
30 }
31 return () => {
32 document.body.classList.remove("presto-player-onboarding-page");
33 };
34 }, [showOnboarding]);
35
36 if (showOnboarding) {
37 return (
38 <RouterProvider>
39 <AppToaster />
40 <Onboarding />
41 </RouterProvider>
42 );
43 }
44
45 return (
46 <RouterProvider>
47 <AppToaster />
48 <Routes />
49 </RouterProvider>
50 );
51 };
52