PluginProbe ʕ •ᴥ•ʔ
Presto Player / 4.3.2
Presto Player v4.3.2
4.3.3 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 / Skeletons / UserAnalyticsDetailSkeleton.js
presto-player / src / admin / dashboard / components / Skeletons Last commit date
AnalyticsDetailSkeleton.js 2 months ago AnalyticsPageSkeleton.js 2 months ago DashboardSkeleton.js 2 months ago MediaHubPageSkeleton.js 1 month ago MediaHubRowSkeleton.js 2 months ago SettingsSectionSkeleton.js 2 months ago SettingsSkeleton.js 2 months ago UserAnalyticsDetailSkeleton.js 2 months ago
UserAnalyticsDetailSkeleton.js
60 lines
1 import { Skeleton, Container } from "@bsf/force-ui";
2
3 const StatCardSkeleton = () => (
4 <div className="bg-background-primary border border-solid border-border-subtle rounded-xl shadow-sm p-5 flex flex-col gap-1">
5 <div className="px-1 py-1">
6 <Skeleton className="w-24 h-3.5 rounded-full" />
7 </div>
8 <div className="px-1 py-1">
9 <Skeleton className="w-20 h-8 rounded-full" />
10 </div>
11 </div>
12 );
13
14 const TableRowSkeleton = () => (
15 <div className="flex items-center gap-4 px-4 py-3 border-b border-border-subtle">
16 <Skeleton className="flex-1 h-4 rounded-full" />
17 <Skeleton className="w-16 h-4 rounded-full" />
18 <Skeleton className="w-20 h-6 rounded-full" />
19 <Skeleton className="w-24 h-6 rounded-full" />
20 </div>
21 );
22
23 const UserAnalyticsDetailSkeleton = () => (
24 <Container
25 className="p-8 bg-background-secondary"
26 direction="column"
27 gap="md"
28 >
29 {/* Header: Back + Avatar + Name + Date Picker */}
30 <div className="flex items-center gap-3">
31 <Skeleton className="w-8 h-8 rounded-md shrink-0" />
32 <Skeleton className="w-10 h-10 rounded-full shrink-0" />
33 <div className="flex flex-col gap-1 flex-1 min-w-0">
34 <Skeleton className="w-32 h-6 rounded-full" />
35 <Skeleton className="w-48 h-3.5 rounded-full" />
36 </div>
37 <Skeleton className="w-60 h-8 rounded-sm shrink-0" />
38 </div>
39
40 {/* Stat Cards */}
41 <div className="grid grid-cols-3 gap-5">
42 <StatCardSkeleton />
43 <StatCardSkeleton />
44 <StatCardSkeleton />
45 </div>
46
47 {/* Table */}
48 <div className="bg-background-primary border border-solid border-border-subtle rounded-xl shadow-sm">
49 <div className="px-3 py-3">
50 <Skeleton className="w-24 h-5 rounded-full" />
51 </div>
52 <TableRowSkeleton />
53 <TableRowSkeleton />
54 <TableRowSkeleton />
55 </div>
56 </Container>
57 );
58
59 export default UserAnalyticsDetailSkeleton;
60