PluginProbe
Tableberg – Simple Gutenberg Table Block / 1.1.5
Tableberg – Simple Gutenberg Table Block v1.1.5
1.1.5 1.1.4 1.1.3 1.1.2 1.1.1 1.1.0 1.0.5 1.0.4 1.0.3 1.0.2 1.0.1 trunk 0.0.2 0.2.1 0.3.2 0.3.3 0.4.1 0.5.0 0.5.1 0.5.2 0.5.3 0.5.4 0.5.5 0.5.6 0.5.7 All 42 releases
tableberg / admin / src / pages / BlocksPage.jsx

BlocksPage.jsx in Tableberg – Simple Gutenberg Table Block 1.1.5, at admin/src/pages/BlocksPage.jsx

84 lines 3.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import blocks from "@tableberg/shared/blocks";
2 import BlockControlCard from "../components/BlockControlCard";
3 import UpgradeBoxContent from "../components/UpgradeBoxContent";
4 import { useState } from "react";
5 import AssetProvider from "../components/AssetProvider";
6
7 function UpsellModal({ info, onClose }) {
8 return (
9 <div className="tableberg-upsell-modal">
10 <div className="tableberg-upsell-modal-backdrop"></div>
11 <div className="tableberg-upsell-modal-container">
12 <div className="tableberg-upsell-modal-area">
13 <h2>
14 {info.icon} {info.title}
15 </h2>
16 <div className="tableberg-upsell-modal-content">
17 <img
18 src={
19 TABLEBERG_CFG.plugin_url +
20 "includes/Admin/images/upsell/" +
21 info.image
22 }
23 alt={info.title + " Demo"}
24 />
25 <p>{info.upsellText}</p>
26 <p>
27 Limited Time: Use code <b>TB20</b> to get a 20%
28 discount.
29 </p>
30 </div>
31 <div className="tableberg-upsell-modal-footer">
32 <button onClick={onClose}>Cancel</button>
33 <AssetProvider assetIds={["proBuyUrl"]}>
34 {({ proBuyUrl }) => <a href={proBuyUrl}>Buy PRO</a>}
35 </AssetProvider>
36 </div>
37 </div>
38 </div>
39 </div>
40 );
41 }
42
43 export default function BlocksPage() {
44 const [upsellView, setUpsellView] = useState(null);
45
46 return (
47 <div
48 style={{
49 display: "flex",
50 flexFlow: "column",
51 gap: "30px",
52 }}
53 >
54 <div
55 className={"tableberg-controls-container controls-container"}
56 data-show-info="false"
57 >
58 {blocks.map(info => {
59 const { title, name, icon, isPro, demoUrl } = info;
60 return (
61 <BlockControlCard
62 name={name}
63 key={name}
64 title={title}
65 iconElement={icon}
66 isPro={isPro}
67 showUpsell={() => setUpsellView(info)}
68 isProPlugin={tablebergAdminMenuData.misc.pro_status}
69 demoUrl={demoUrl}
70 />
71 );
72 })}
73 </div>
74 {!tablebergAdminMenuData.misc.pro_status && <UpgradeBoxContent />}
75 {upsellView && (
76 <UpsellModal
77 info={upsellView}
78 onClose={() => setUpsellView(null)}
79 />
80 )}
81 </div>
82 );
83 }
84