mirror of
https://github.com/hydralauncher/hydra.git
synced 2025-03-09 15:40:26 +00:00
better skeleton loading on user profile
This commit is contained in:
parent
4dd0e43611
commit
6b03705d54
2 changed files with 30 additions and 6 deletions
|
@ -1,13 +1,40 @@
|
||||||
import Skeleton from "react-loading-skeleton";
|
import Skeleton from "react-loading-skeleton";
|
||||||
|
import cn from "classnames";
|
||||||
import * as styles from "./user.css";
|
import * as styles from "./user.css";
|
||||||
|
import { SPACING_UNIT } from "@renderer/theme.css";
|
||||||
|
import { useTranslation } from "react-i18next";
|
||||||
|
|
||||||
export const UserSkeleton = () => {
|
export const UserSkeleton = () => {
|
||||||
|
const { t } = useTranslation("user_profile");
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Skeleton className={styles.profileHeaderSkeleton} />
|
<Skeleton className={styles.profileHeaderSkeleton} />
|
||||||
<div className={styles.profileContent}>
|
<div className={styles.profileContent}>
|
||||||
<Skeleton height={140} style={{ flex: 1 }} />
|
<div className={styles.profileGameSection}>
|
||||||
<Skeleton width={300} className={styles.contentSidebar} />
|
<h2>{t("activity")}</h2>
|
||||||
|
{Array.from({ length: 3 }).map((_, index) => (
|
||||||
|
<Skeleton
|
||||||
|
key={index}
|
||||||
|
height={72}
|
||||||
|
style={{ flex: "1", width: "100%" }}
|
||||||
|
/>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={cn(styles.contentSidebar, styles.profileGameSection)}>
|
||||||
|
<h2>{t("library")}</h2>
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
display: "grid",
|
||||||
|
gridTemplateColumns: "repeat(4, 1fr)",
|
||||||
|
gap: `${SPACING_UNIT}px`,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{Array.from({ length: 8 }).map((_, index) => (
|
||||||
|
<Skeleton key={index} style={{ aspectRatio: "1" }} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|
|
@ -132,9 +132,6 @@ export const feedItem = style({
|
||||||
|
|
||||||
export const gameListItem = style({
|
export const gameListItem = style({
|
||||||
color: vars.color.body,
|
color: vars.color.body,
|
||||||
display: "flex",
|
|
||||||
flexDirection: "row",
|
|
||||||
gap: `${SPACING_UNIT}px`,
|
|
||||||
transition: "all ease 0.2s",
|
transition: "all ease 0.2s",
|
||||||
cursor: "pointer",
|
cursor: "pointer",
|
||||||
zIndex: "1",
|
zIndex: "1",
|
||||||
|
@ -153,7 +150,7 @@ export const gameInformation = style({
|
||||||
});
|
});
|
||||||
|
|
||||||
export const profileHeaderSkeleton = style({
|
export const profileHeaderSkeleton = style({
|
||||||
height: "200px",
|
height: "144px",
|
||||||
});
|
});
|
||||||
|
|
||||||
export const editProfileImageBadge = style({
|
export const editProfileImageBadge = style({
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue