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 / MediaHubRowSkeleton.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
MediaHubRowSkeleton.js
64 lines
1 import React from "react";
2 import { Skeleton, Table } from "@bsf/force-ui";
3
4 /**
5 * Single skeleton row mirroring the live MediaRow column layout
6 * (Media, Status, Tags, Shortcode, Published on, Actions).
7 *
8 * Shared between the first-load page skeleton and the in-place
9 * refetch skeleton so paging/filtering/sorting never falls back to
10 * "stale rows with no feedback".
11 */
12 const MediaHubRowSkeleton = () => {
13 return (
14 <Table.Row className="border-b border-border-subtle">
15 {/* Media: poster thumbnail + title */}
16 <Table.Cell className="text-left px-3 py-4" style={{ maxWidth: 0 }}>
17 <div className="flex items-center gap-3">
18 <Skeleton className="flex-shrink-0 rounded w-[75px] h-[42px]" />
19 <Skeleton className="h-4 w-40 rounded-full flex-1" />
20 </div>
21 </Table.Cell>
22
23 {/* Status badge */}
24 <Table.Cell className="text-left px-3 py-4">
25 <Skeleton className="h-5 w-16 rounded-full" />
26 </Table.Cell>
27
28 {/* Tags: a few badges */}
29 <Table.Cell className="text-left px-3 py-4">
30 <div className="flex flex-wrap gap-1">
31 <Skeleton className="h-5 w-16 rounded-full" />
32 <Skeleton className="h-5 w-20 rounded-full" />
33 <Skeleton className="h-5 w-14 rounded-full" />
34 </div>
35 </Table.Cell>
36
37 {/* Shortcode field + copy icon */}
38 <Table.Cell className="whitespace-nowrap text-left px-3 py-4">
39 <div className="flex items-center gap-2">
40 <Skeleton className="h-7 w-40 rounded" />
41 <Skeleton className="h-4 w-4 rounded" />
42 </div>
43 </Table.Cell>
44
45 {/* Published date */}
46 <Table.Cell className="text-left whitespace-nowrap px-3 py-4">
47 <Skeleton className="h-4 w-28 rounded" />
48 </Table.Cell>
49
50 {/* Actions: 4 icon buttons */}
51 <Table.Cell className="text-right px-3 py-4">
52 <div className="flex items-center justify-center gap-2">
53 <Skeleton className="h-5 w-5 rounded-full" />
54 <Skeleton className="h-5 w-5 rounded-full" />
55 <Skeleton className="h-5 w-5 rounded-full" />
56 <Skeleton className="h-5 w-5 rounded-full" />
57 </div>
58 </Table.Cell>
59 </Table.Row>
60 );
61 };
62
63 export default MediaHubRowSkeleton;
64