diff --git a/src/renderer-profile.ts b/src/renderer-profile.ts index 92152e1..469a780 100644 --- a/src/renderer-profile.ts +++ b/src/renderer-profile.ts @@ -56,14 +56,14 @@ function renderStreamerProfileSkeleton(login: string): void { el.classList.add('streamer-profile-skeleton'); el.style.display = 'flex'; applyProfileHtml(el, ` -
+
-
-
+
+
-
-
+
+
diff --git a/src/styles.css b/src/styles.css index 782306f..786f816 100644 --- a/src/styles.css +++ b/src/styles.css @@ -4214,6 +4214,37 @@ input[type="number"]::-webkit-outer-spin-button { border-radius: 4px; } +/* Pre-shaped skeleton block variants — each matches one of the + real-profile-card slots so the loading silhouette previews the + final layout. Replaces inline width/height/border-radius declarations. */ +.streamer-profile-skel-block.avatar { + width: 88px; + height: 88px; + border-radius: 50%; + flex-shrink: 0; +} + +.streamer-profile-skel-block.name { + width: 180px; + height: 24px; +} + +.streamer-profile-skel-block.badge { + width: 90px; + height: 18px; + border-radius: 10px; +} + +.streamer-profile-skel-block.subtitle { + width: 60%; + height: 14px; + margin-top: 6px; +} + +.streamer-profile-skel-stats { + margin-top: 8px; +} + @keyframes profile-skel-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; }