yggdrasil/components/skeletons/
dashboard_skeleton.rs1use leptos::prelude::*;
7
8use crate::components::skeletons::atoms::{AdminPageHeadSkeleton, SkeletonBox};
9
10#[component]
12pub fn AdminDashboardSkeleton() -> impl IntoView {
13 view! {
14 <div class="admin-dash" aria-hidden="true">
15 <AdminPageHeadSkeleton title_width="w-44" subtitle_width="w-56"/>
16 <div class="dash-tiles">
17 {(0..4)
18 .map(|_| {
19 view! {
20 <div class="admin-panel dash-tile">
21 <SkeletonBox class="h-3.5 w-12 rounded"/>
22 <SkeletonBox class="dash-tile-value-skeleton"/>
23 <SkeletonBox class="h-3 w-24 rounded mt-2"/>
24 </div>
25 }
26 })
27 .collect_view()}
28 </div>
29 <div class="dash-cols">
30 <div class="dash-col">
31 <div class="admin-panel dash-chart">
32 <SkeletonBox class="h-4 w-28 rounded"/>
33 <SkeletonBox class="dash-chart-skeleton"/>
34 </div>
35 <div class="admin-panel dash-list">
36 <div class="dash-panel-head dash-panel-head-rule">
37 <SkeletonBox class="h-4 w-20 rounded"/>
38 </div>
39 <div class="dash-list-body">
40 {(0..5)
41 .map(|_| view! { <SkeletonBox class="dash-row-skeleton"/> })
42 .collect_view()}
43 </div>
44 </div>
45 </div>
46 <div class="dash-col">
47 <div class="admin-panel dash-list">
48 <div class="dash-panel-head dash-panel-head-rule">
49 <SkeletonBox class="h-4 w-20 rounded"/>
50 </div>
51 <div class="dash-list-body">
52 {(0..4)
53 .map(|_| view! { <SkeletonBox class="dash-comment-skeleton"/> })
54 .collect_view()}
55 </div>
56 </div>
57 </div>
58 </div>
59 </div>
60 }
61}