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 / PluginRecommendations.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
PluginRecommendations.js
113 lines
1 import React from "react";
2 const { __ } = wp.i18n;
3 import { Container, Label } from "@bsf/force-ui";
4
5 const PluginRecommendations = ({
6 integrations = [],
7 renderActionButton,
8 layout = "inline",
9 }) => {
10 const isGridLayout = layout === "grid";
11
12 return (
13 <div className="h-auto shadow-sm bg-background-primary rounded-xl">
14 <Container
15 containerType="flex"
16 gap="xs"
17 direction="column"
18 className="p-3 border-solid rounded-xl border-border-subtle border-0.5 gap-1"
19 >
20 <Container.Item className="md:w-full lg:w-full">
21 <Container className="p-1" justify="between" gap="xs" align="center">
22 <Container.Item>
23 <Label className="font-semibold">
24 {__("Extend your Community", "presto-player")}
25 </Label>
26 </Container.Item>
27 </Container>
28 </Container.Item>
29 <Container.Item className="rounded-lg md:w-full lg:w-full bg-field-primary-background">
30 <Container
31 containerType={isGridLayout ? "grid" : "flex"}
32 direction={isGridLayout ? undefined : "row"}
33 className={
34 isGridLayout
35 ? "gap-1 p-1 grid-cols-2 md:grid-cols-1 min-[1020px]:grid-cols-1 xl:grid-cols-2"
36 : "gap-1.5 p-1"
37 }
38 >
39 {integrations.map((card) => (
40 <Container.Item
41 key={card.id}
42 className={isGridLayout ? "flex" : "flex flex-1"}
43 >
44 <Container
45 containerType="flex"
46 direction="column"
47 className={
48 isGridLayout
49 ? "w-[190px] min-w-[144px] min-h-[135px] flex-1 gap-1 p-2 rounded-md shadow-soft-shadow-inner bg-background-primary"
50 : "w-full min-h-[110px] gap-1 p-1.5 rounded-md shadow-soft-shadow-inner bg-background-primary"
51 }
52 >
53 <Container.Item>
54 <Container
55 className={
56 isGridLayout
57 ? "items-center gap-1.5 p-1"
58 : "items-center gap-1 p-0.5"
59 }
60 >
61 <Container.Item
62 className={
63 isGridLayout
64 ? "[&>svg]:size-5 flex"
65 : "[&>svg]:size-4 flex"
66 }
67 grow={0}
68 shrink={0}
69 >
70 {card.svg}
71 </Container.Item>
72 <Container.Item className="flex">
73 <Label className="text-sm font-medium">
74 {card.title}
75 </Label>
76 </Container.Item>
77 </Container>
78 </Container.Item>
79 <Container.Item
80 className={isGridLayout ? "gap-0.5 p-1" : "gap-0.5 px-0.5"}
81 >
82 <Label
83 variant="help"
84 className={
85 isGridLayout
86 ? "text-sm font-normal text-text-tertiary"
87 : "text-sm font-normal text-text-tertiary line-clamp-2"
88 }
89 >
90 {card.description}
91 </Label>
92 </Container.Item>
93 <Container.Item
94 className={
95 isGridLayout
96 ? "gap-0.5 px-1 pt-2 pb-1 mt-auto"
97 : "gap-0.5 px-0.5 pt-1 mt-auto"
98 }
99 >
100 {renderActionButton && renderActionButton(card)}
101 </Container.Item>
102 </Container>
103 </Container.Item>
104 ))}
105 </Container>
106 </Container.Item>
107 </Container>
108 </div>
109 );
110 };
111
112 export default PluginRecommendations;
113