diff --git a/app/(editor)/editor/[postId]/loading.tsx b/app/(editor)/editor/[postId]/loading.tsx new file mode 100644 index 0000000..901e37d --- /dev/null +++ b/app/(editor)/editor/[postId]/loading.tsx @@ -0,0 +1,18 @@ +import { Skeleton } from "@/components/ui/skeleton" + +export default function Loading() { + return ( +
+
+ + +
+
+ + + + +
+
+ ) +} diff --git a/components/post-item.tsx b/components/post-item.tsx index 6c3da62..3ce8d84 100644 --- a/components/post-item.tsx +++ b/components/post-item.tsx @@ -1,8 +1,9 @@ -import { formatDate } from "@/lib/utils" import { Post } from "@prisma/client" import Link from "next/link" +import { formatDate } from "@/lib/utils" import { PostOperations } from "@/components/post-operations" +import { Skeleton } from "@/components/ui/skeleton" interface PostItemProps { post: Pick @@ -34,8 +35,8 @@ PostItem.Skeleton = function PostItemSkeleton() { return (
-
-
+ +
) diff --git a/components/ui/card.tsx b/components/ui/card.tsx index f543591..43164c7 100644 --- a/components/ui/card.tsx +++ b/components/ui/card.tsx @@ -1,4 +1,5 @@ import { cn } from "@/lib/utils" +import { Skeleton } from "@/components/ui/skeleton" interface CardProps extends React.HTMLAttributes {} @@ -54,12 +55,12 @@ Card.Skeleton = function CardSeleton() { return ( -
-
+ +
-
+
) diff --git a/components/ui/skeleton.tsx b/components/ui/skeleton.tsx new file mode 100644 index 0000000..e70f102 --- /dev/null +++ b/components/ui/skeleton.tsx @@ -0,0 +1,15 @@ +import { cn } from "@/lib/utils" + +interface SkeletonProps extends React.HTMLAttributes {} + +export function Skeleton({ className, ...props }: SkeletonProps) { + return ( +
+ ) +}