PluginProbe ʕ •ᴥ•ʔ
Presto Player / 4.3.2
Presto Player v4.3.2
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 / components / ProGateOverlay.js
presto-player / src / admin / dashboard / components Last commit date
Emails 1 month ago EngagementChart 2 months ago MediaHub 1 month ago Onboarding 2 months ago Popup 2 months ago Skeletons 1 month ago WhatsNew 2 months ago charts 2 months ago test 2 months ago AdminMenuSync.js 2 months ago ChartEmptyState.js 2 months ago ChooseDate.js 2 months ago ColorPicker.js 2 months ago ExtendPlugins.js 2 months ago Filters.js 2 months ago Link.js 2 months ago Navbar.js 1 month ago NoFound.js 2 months ago PageHeader.js 2 months ago PluginRecommendations.js 2 months ago PostScheduleField.js 2 months ago PrestoPlayerIcon.js 2 months ago ProGateOverlay.js 2 months ago QuickAccess.js 2 months ago RankedTable.js 2 months ago StatCard.js 2 months ago TopMedia.js 2 months ago TopPerformingMedia.js 2 months ago TopUsers.js 2 months ago TruncatedTitle.js 2 months ago UpgradeNotice.js 2 months ago UpgradeToPro.js 2 months ago VideoModal.js 2 months ago WelcomeBanner.js 2 months ago
ProGateOverlay.js
45 lines
1 import { useRef, useEffect } from 'react';
2 import UpgradeToPro from "./UpgradeToPro";
3
4 /**
5 * Full-page Pro gate overlay. Renders a blurred skeleton preview
6 * with a centered UpgradeToPro card. Used on Pro-only pages
7 * (Analytics, Emails) to show a frosted "sneak peek" of the content.
8 *
9 * @param {Object} props
10 * @param {JSX.Element} props.children - The skeleton component to blur behind the overlay.
11 */
12 const ProGateOverlay = ({ children }) => {
13 const inertRef = useRef(null);
14
15 useEffect(() => {
16 if (inertRef.current) {
17 inertRef.current.setAttribute('inert', '');
18 }
19 }, []);
20
21 return (
22 <div className="relative flex-1 min-h-0 overflow-hidden">
23 <div
24 ref={inertRef}
25 aria-hidden="true"
26 className="absolute inset-0 overflow-hidden blur-[3px] pointer-events-none select-none opacity-80"
27 >
28 {children}
29 </div>
30 <div className="absolute inset-0 bg-white/30 flex items-center justify-center p-8">
31 {/* max-w-3xl keeps the card tight so the illustration and copy sit
32 close together — wider widths leave too much whitespace between
33 the two columns. -translate-y nudges the card above the geometric
34 center so it sits in the optical center of the viewport (the page
35 chrome above pulls perceived center upward). */}
36 <div className="max-w-xl w-full drop-shadow-2xl -translate-y-[6vh]">
37 <UpgradeToPro layout="horizontal" />
38 </div>
39 </div>
40 </div>
41 );
42 };
43
44 export default ProGateOverlay;
45