yggdrasil/components/skeletons/
profile_skeleton.rs1use dioxus::prelude::*;
7
8use crate::components::skeletons::atoms::{SkeletonBox, SkeletonCard};
9
10#[component]
12pub fn ProfileSkeleton() -> Element {
13 rsx! {
14 div { class: "w-full max-w-2xl mx-auto space-y-8",
15 div { class: "space-y-2 pb-6 border-b border-[var(--color-paper-border)]/50",
17 SkeletonBox { class: "h-9 w-32 rounded-lg" }
18 SkeletonBox { class: "h-4 w-72 rounded" }
19 }
20
21 SkeletonCard { class: Some("p-6 md:p-8 flex items-center gap-6"),
23 SkeletonBox { class: "h-24 w-24 rounded-full flex-shrink-0" }
24 div { class: "flex-1 space-y-2.5",
25 SkeletonBox { class: "h-6 w-40 rounded" }
26 SkeletonBox { class: "h-4 w-24 rounded" }
27 SkeletonBox { class: "h-3 w-32 rounded" }
28 }
29 }
30
31 SkeletonCard { class: Some("p-6 md:p-8 space-y-6"),
33 div { class: "flex items-center gap-3",
34 SkeletonBox { class: "h-10 w-10 rounded-full flex-shrink-0" }
35 div { class: "space-y-2",
36 SkeletonBox { class: "h-5 w-24 rounded" }
37 SkeletonBox { class: "h-3.5 w-56 rounded" }
38 }
39 }
40 div { class: "space-y-2 max-w-xl",
41 SkeletonBox { class: "h-3.5 w-16 rounded" }
42 SkeletonBox { class: "h-9 w-full rounded-2xl" }
43 }
44 div { class: "space-y-2 max-w-xl",
45 SkeletonBox { class: "h-3.5 w-16 rounded" }
46 SkeletonBox { class: "h-9 w-full rounded-2xl" }
47 }
48 div { class: "flex justify-end",
49 SkeletonBox { class: "h-9 w-24 rounded-full" }
50 }
51 }
52
53 SkeletonCard { class: Some("p-6 md:p-8 space-y-6"),
55 div { class: "flex items-center gap-3",
56 SkeletonBox { class: "h-10 w-10 rounded-full flex-shrink-0" }
57 div { class: "space-y-2",
58 SkeletonBox { class: "h-5 w-16 rounded" }
59 SkeletonBox { class: "h-3.5 w-48 rounded" }
60 }
61 }
62 div { class: "space-y-2 max-w-xl",
63 SkeletonBox { class: "h-3.5 w-16 rounded" }
64 SkeletonBox { class: "h-9 w-full rounded-2xl" }
65 }
66 div { class: "grid sm:grid-cols-2 gap-4 max-w-xl",
67 SkeletonBox { class: "h-9 w-full rounded-2xl" }
68 SkeletonBox { class: "h-9 w-full rounded-2xl" }
69 }
70 div { class: "flex justify-end",
71 SkeletonBox { class: "h-9 w-24 rounded-full" }
72 }
73 }
74 }
75 }
76}