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 / components / ProGateOverlay.js
presto-player / src / admin / dashboard / components Last commit date
Emails 1 month ago EngagementChart 1 month ago MediaHub 1 month ago Onboarding 1 month ago Popup 1 month ago Skeletons 1 week ago WhatsNew 1 month ago charts 1 month ago test 1 month ago AdminMenuSync.js 1 month ago ChartEmptyState.js 1 month ago ChooseDate.js 1 month ago ColorPicker.js 1 month ago ExtendPlugins.js 1 month ago Filters.js 1 month ago Link.js 1 month ago Navbar.js 1 week ago NoFound.js 1 month ago PageHeader.js 1 month ago PluginRecommendations.js 1 month ago PostScheduleField.js 1 month ago PrestoPlayerIcon.js 1 month ago ProGateOverlay.js 1 month ago QuickAccess.js 1 month ago RankedTable.js 1 month ago StatCard.js 1 month ago TopMedia.js 1 month ago TopPerformingMedia.js 1 month ago TopUsers.js 1 month ago TruncatedTitle.js 1 month ago UpgradeNotice.js 1 month ago UpgradeToPro.js 1 month ago VideoModal.js 1 month ago WelcomeBanner.js 1 month 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