diff --git a/src/renderer/src/components/ui/skeleton.tsx b/src/renderer/src/components/ui/skeleton.tsx new file mode 100644 index 000000000..49d0521d4 --- /dev/null +++ b/src/renderer/src/components/ui/skeleton.tsx @@ -0,0 +1,15 @@ +import { cn } from "@renderer/lib/utils" + +function Skeleton({ + className, + ...props +}: React.HTMLAttributes) { + return ( +
+ ) +} + +export { Skeleton } diff --git a/src/renderer/src/modules/entry-column/article-item.tsx b/src/renderer/src/modules/entry-column/article-item.tsx index 768a452d4..db61f23c7 100644 --- a/src/renderer/src/modules/entry-column/article-item.tsx +++ b/src/renderer/src/modules/entry-column/article-item.tsx @@ -1,3 +1,4 @@ +import { Skeleton } from "@renderer/components/ui/skeleton" import { ListItem } from "@renderer/modules/entry-column/list-item-template" import type { UniversalItemProps } from "./types" @@ -21,23 +22,23 @@ export const ArticleItemSkeleton = (
-
+
-
+ · -
+
-
-
+ +
-
-
+ +
-
+
diff --git a/src/renderer/src/modules/entry-column/audio-item.tsx b/src/renderer/src/modules/entry-column/audio-item.tsx index 083255fdc..b5d63fd76 100644 --- a/src/renderer/src/modules/entry-column/audio-item.tsx +++ b/src/renderer/src/modules/entry-column/audio-item.tsx @@ -1,3 +1,4 @@ +import { Skeleton } from "@renderer/components/ui/skeleton" import { ListItem } from "@renderer/modules/entry-column/list-item-template" import type { UniversalItemProps } from "./types" @@ -23,17 +24,17 @@ export const AudioItemSkeleton = (
-
+ · -
+
-
-
+ +
-
+
diff --git a/src/renderer/src/modules/entry-column/notification-item.tsx b/src/renderer/src/modules/entry-column/notification-item.tsx index 765c88692..f14a24971 100644 --- a/src/renderer/src/modules/entry-column/notification-item.tsx +++ b/src/renderer/src/modules/entry-column/notification-item.tsx @@ -1,3 +1,4 @@ +import { Skeleton } from "@renderer/components/ui/skeleton" import { ListItem } from "@renderer/modules/entry-column/list-item-template" import type { UniversalItemProps } from "./types" @@ -19,16 +20,16 @@ export function NotificationItem({ export const NotificationItemSkeleton = (
-
+
-
+ · -
+
-
-
+ +
diff --git a/src/renderer/src/modules/entry-column/picture-item.tsx b/src/renderer/src/modules/entry-column/picture-item.tsx index f0d0dec8d..92556463f 100644 --- a/src/renderer/src/modules/entry-column/picture-item.tsx +++ b/src/renderer/src/modules/entry-column/picture-item.tsx @@ -1,5 +1,6 @@ import { SwipeMedia } from "@renderer/components/ui/media/swipe-media" import { ReactVirtuosoItemPlaceholder } from "@renderer/components/ui/placeholder" +import { Skeleton } from "@renderer/components/ui/skeleton" import { useRouteParamsSelector } from "@renderer/hooks/biz/useRouteParams" import { cn } from "@renderer/lib/utils" import { GridItem } from "@renderer/modules/entry-column/grid-item-template" @@ -51,18 +52,18 @@ export const PictureItemSkeleton = (
-
+
-
+
-
-
+ + · -
+
diff --git a/src/renderer/src/modules/entry-column/social-media-item.tsx b/src/renderer/src/modules/entry-column/social-media-item.tsx index 751ce62b6..2598b8e76 100644 --- a/src/renderer/src/modules/entry-column/social-media-item.tsx +++ b/src/renderer/src/modules/entry-column/social-media-item.tsx @@ -3,6 +3,7 @@ import { ActionButton } from "@renderer/components/ui/button" import { RelativeTime } from "@renderer/components/ui/datetime" import { Media } from "@renderer/components/ui/media" import { usePreviewMedia } from "@renderer/components/ui/media/hooks" +import { Skeleton } from "@renderer/components/ui/skeleton" import { useAsRead } from "@renderer/hooks/biz/useAsRead" import { useEntryActions } from "@renderer/hooks/biz/useEntryActions" import { useRouteParamsSelector } from "@renderer/hooks/biz/useRouteParams" @@ -139,31 +140,22 @@ export const SocialMediaItemSkeleton = (
-
+
-
+ · -
+
-
-
-
+ + +
-
-
-
-
-
-
-
-
-
-
+
diff --git a/src/renderer/src/modules/entry-column/video-item.tsx b/src/renderer/src/modules/entry-column/video-item.tsx index af6608bc4..32c84473d 100644 --- a/src/renderer/src/modules/entry-column/video-item.tsx +++ b/src/renderer/src/modules/entry-column/video-item.tsx @@ -4,6 +4,7 @@ import { Media } from "@renderer/components/ui/media" import type { ModalContentComponent } from "@renderer/components/ui/modal" import { useModalStack } from "@renderer/components/ui/modal" import { NoopChildren } from "@renderer/components/ui/modal/stacked/utils" +import { Skeleton } from "@renderer/components/ui/skeleton" import { useRouteParamsSelector } from "@renderer/hooks/biz/useRouteParams" import { urlToIframe } from "@renderer/lib/url-to-iframe" import { cn } from "@renderer/lib/utils" @@ -157,18 +158,18 @@ export const VideoItemSkeleton = (
-
+
-
+
-
-
+ + · -
+