PluginProbe ʕ •ᴥ•ʔ
Presto Player / 2.2.2
Presto Player v2.2.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 / analytics / pages / Dashboard.js
presto-player / src / admin / analytics / pages Last commit date
AnalyticsUpgrade.js 5 years ago Dashboard.js 4 years ago User.js 3 years ago Video.js 3 years ago illustration.js 5 years ago
Dashboard.js
83 lines
1 /** @jsx jsx */
2
3 const { __ } = wp.i18n;
4 const { Flex, FlexBlock, FlexItem } = wp.components;
5 const { useState, useEffect } = wp.element;
6
7 import TopUsers from "../components/TopUsers";
8 import TopVideos from "../components/TopVideos";
9 import OverviewPanel from "../components/OverviewPanel";
10 import DatePicker from "../components/DatePicker";
11 import apiFetch from "@wordpress/api-fetch";
12 import { Notice } from "@wordpress/components";
13 import { css, jsx } from "@emotion/core";
14
15 export default function ({ startDate, endDate, setStartDate, setEndDate }) {
16 const [noticeStatus, setNoticeStatus] = useState(false);
17
18 // run this only on mount.
19 useEffect(() => {
20 apiFetch({ path: "/wp/v2/settings" }).then((post) => {
21 if (post?.presto_player_analytics?.enable === false) {
22 setNoticeStatus(true);
23 }
24 });
25 }, []);
26
27 return (
28 <>
29 {/* Component decleared below this code */}
30 {noticeStatus ? <MyNotice /> : ""}
31 <Flex>
32 <FlexBlock>
33 <h1>{__("Analytics", "presto-player")}</h1>
34 </FlexBlock>
35 <FlexItem>
36 <DatePicker
37 startDate={startDate}
38 setStartDate={setStartDate}
39 endDate={endDate}
40 setEndDate={setEndDate}
41 />
42 </FlexItem>
43 </Flex>
44
45 <div className="presto-flow">
46 <div className="presto-dashboard">
47 <div className="presto-dashboard__row">
48 <div className="presto-dashboard__item is-large">
49 <OverviewPanel startDate={startDate} endDate={endDate} />
50 </div>
51 <div className="presto-dashboard__item">
52 <TopUsers startDate={startDate} endDate={endDate} />
53 </div>
54 </div>
55
56 <div className="presto-dashboard__row">
57 <div className="presto-dashboard__item is-large">
58 <TopVideos startDate={startDate} endDate={endDate} />
59 </div>
60 </div>
61 </div>
62 </div>
63 </>
64 );
65 }
66
67 const MyNotice = () => (
68 <Notice
69 css={css`
70 margin: 0 0 1em 0 !important;
71 `}
72 status="warning"
73 isDismissible={false}
74 >
75 <p>
76 {__(
77 "Analytics are currently disabled. To collect analytics, turn them on in your settings page.",
78 "presto-player"
79 )}
80 </p>
81 </Notice>
82 );
83