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 / QuickAccess.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
QuickAccess.js
101 lines
1 import React from "react";
2 const { __ } = wp.i18n;
3 import { Container, Label, Text } from "@bsf/force-ui";
4 import { HelpCircle, Star, Headphones, Crown, Sparkles } from "lucide-react";
5 import useUpgradeCTA from "../hooks/useUpgradeCTA";
6 import { useHistory } from "../router/router";
7
8 const QuickAccess = () => {
9 // Plugin status data from WordPress
10 const prestoPlayerData = window.prestoPlayer || {};
11 const history = useHistory();
12 const upgrade = useUpgradeCTA(history);
13
14 const quickAccessItems = [
15 {
16 id: "1",
17 icon: <Sparkles className="w-4 h-4" />,
18 label: __("Guided Onboarding", "presto-player"),
19 link: prestoPlayerData?.onboardingUrl || "#",
20 internal: true,
21 },
22 {
23 id: "2",
24 icon: <HelpCircle className="w-4 h-4" />,
25 label: __("Help Center", "presto-player"),
26 link: "https://prestoplayer.com/docs/",
27 },
28 {
29 id: "3",
30 icon: <Headphones className="w-4 h-4" />,
31 label: __("Open Support Ticket", "presto-player"),
32 link: "https://prestoplayer.com/contact/",
33 },
34 {
35 id: "4",
36 icon: <Star className="w-4 h-4" />,
37 label: __("Leave Us a Review", "presto-player"),
38 link: "https://wordpress.org/support/plugin/presto-player/reviews/#new-post",
39 },
40 {
41 id: "5",
42 icon: <Crown className="w-4 h-4" />,
43 label: upgrade.label,
44 link: upgrade.href,
45 internal: upgrade.isProUnlicensed,
46 onClick: upgrade.onClick,
47 condition: !upgrade.isPremium,
48 },
49 ];
50
51 return (
52 <Container
53 containerType="flex"
54 direction="column"
55 className="p-3 border-0.5 border-solid rounded-xl shadow-sm bg-background-primary border-border-subtle"
56 gap="xs"
57 >
58 <Container.Item className="p-1 md:w-full lg:w-full">
59 <Label className="font-semibold">
60 {__("Quick Access", "presto-player")}
61 </Label>
62 </Container.Item>
63 <Container.Item className="flex flex-col gap-1 p-1 rounded-lg md:w-full lg:w-full bg-field-primary-background">
64 {quickAccessItems.map(
65 (button) =>
66 button?.condition !== false && (
67 <Text
68 key={button.id}
69 as="a"
70 href={button.link}
71 target={button.internal ? "_self" : "_blank"}
72 rel={button.internal ? undefined : "noreferrer"}
73 onClick={button.onClick}
74 aria-label={button.label}
75 className="flex items-center gap-1 p-2 rounded-md bg-background-primary shadow-soft-shadow-inner no-underline hover:no-underline cursor-pointer"
76 >
77 <Container
78 containerType="flex"
79 direction="row"
80 className="items-center gap-1 p-1"
81 align="center"
82 >
83 <Container.Item className="flex items-center justify-center text-text-primary">
84 {button.icon}
85 </Container.Item>
86 <Container.Item className="flex items-center">
87 <Text className="px-1 py-0 text-sm font-medium text-text-primary">
88 {button.label}
89 </Text>
90 </Container.Item>
91 </Container>
92 </Text>
93 )
94 )}
95 </Container.Item>
96 </Container>
97 );
98 };
99
100 export default QuickAccess;
101