[ SYSTEM ]: Linux wordpress 6.1.0-44-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09) x86_64
[ SERVER ]: Apache/2.4.66 (Debian) | PHP: 8.2.30
[ USER ]: www-data | IP: 172.19.30.54
GEFORCE FILE MANAGER
/
var
/
www
/
html
/
wordpress
/
wp-content
/
plugins
/
presto-player
/
src
/
admin
/
analytics
/
components
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📄 DataTable.js
1,235 B
SET
[ EDIT ]
|
[ DEL ]
📄 DatePicker.js
1,421 B
SET
[ EDIT ]
|
[ DEL ]
📄 OverviewPanel.js
1,014 B
SET
[ EDIT ]
|
[ DEL ]
📄 TopUsers.js
1,992 B
SET
[ EDIT ]
|
[ DEL ]
📄 TopVideos.js
2,633 B
SET
[ EDIT ]
|
[ DEL ]
📄 TotalVideoViewsByUser.js
790 B
SET
[ EDIT ]
|
[ DEL ]
📄 TotalViewsGraph.js
3,001 B
SET
[ EDIT ]
|
[ DEL ]
📄 TotalWatchGraph.js
2,949 B
SET
[ EDIT ]
|
[ DEL ]
📄 VideoAverageWatchTime.js
847 B
SET
[ EDIT ]
|
[ DEL ]
📄 VideoAverageWatchTimeByUser.js
861 B
SET
[ EDIT ]
|
[ DEL ]
📄 VideoTimeline.js
2,670 B
SET
[ EDIT ]
|
[ DEL ]
📄 VideoTotalWatchTimeByUser.js
857 B
SET
[ EDIT ]
|
[ DEL ]
📄 VideoViews.js
818 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: TopUsers.js
const { __ } = wp.i18n; const { useEffect } = wp.element; const { compose } = wp.compose; import { history } from "@/router/context"; import withDataList from "../hocs/withDataList"; import { convertDateTimeToAbsoluteDate } from "../util"; import DataTable from "./DataTable"; export default compose([withDataList()])( ({ loading, page, setPage, total, totalPages, data, error, fetchData, startDate, endDate, }) => { // 10 per page const per_page = 5; // fetch data when page changes useEffect(() => { fetchData({ endpoint: "/presto-player/v1/analytics/top-users", params: { per_page, ...(startDate ? { start: convertDateTimeToAbsoluteDate(startDate) } : {}), ...(endDate ? { end: convertDateTimeToAbsoluteDate(endDate) } : {}), }, }); }, [page, startDate, endDate]); // navigate to user screen here const navigate = (id) => { const { search } = history.location; history.push(`${search}#/user/${id}`); }; const columns = [ { key: "name", label: __("Name", "presto-player"), value: (row) => row?.user?.name, }, { key: "total_view", label: __("Total View", "presto-player"), value: (row) => row?.stats?.[0]?.data, }, { key: "avg_view_time", label: __("Avg View Time", "presto-player"), render: (row) => ( <div className="presto-badge">{row?.stats?.[1]?.data}</div> ), }, ]; if (error) { return { error }; } return ( <DataTable title={__("Top Users", "presto-player")} page={page} perPage={per_page} setPage={setPage} loading={loading} total={total} totalPages={totalPages} columns={columns} data={data} onSelect={(row) => navigate(row?.user?.id)} /> ); } );