From 916d90cc2cf51effd4b25feae5e22f304b04068c Mon Sep 17 00:00:00 2001 From: Izan Gil <66965250+SrIzan10@users.noreply.github.com> Date: Mon, 20 May 2024 16:07:00 +0200 Subject: [PATCH] feat: loading skeletons --- src/app/dashboard/[id]/loading.tsx | 5 +++ src/app/dashboard/loading.tsx | 11 ++++++ .../app/BotFormSkeleton/BotFormSkeleton.tsx | 39 +++++++++++++++++++ src/components/app/UserCard/UserCard.tsx | 2 - .../app/UserCardSkeleton/UserCardSkeleton.tsx | 21 ++++++++++ src/components/ui/skeleton.tsx | 15 +++++++ 6 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 src/app/dashboard/[id]/loading.tsx create mode 100644 src/app/dashboard/loading.tsx create mode 100644 src/components/app/BotFormSkeleton/BotFormSkeleton.tsx create mode 100644 src/components/app/UserCardSkeleton/UserCardSkeleton.tsx create mode 100644 src/components/ui/skeleton.tsx diff --git a/src/app/dashboard/[id]/loading.tsx b/src/app/dashboard/[id]/loading.tsx new file mode 100644 index 0000000..654ea92 --- /dev/null +++ b/src/app/dashboard/[id]/loading.tsx @@ -0,0 +1,5 @@ +import BotFormSkeleton from "@/components/app/BotFormSkeleton/BotFormSkeleton"; + +export default function Loading() { + return +} \ No newline at end of file diff --git a/src/app/dashboard/loading.tsx b/src/app/dashboard/loading.tsx new file mode 100644 index 0000000..5e8e57e --- /dev/null +++ b/src/app/dashboard/loading.tsx @@ -0,0 +1,11 @@ +import UserCardSkeleton from "@/components/app/UserCardSkeleton/UserCardSkeleton"; + +export default function Loading() { + return ( +
+ {Array.from({ length: 8 }).map((_, i) => ( + + ))} +
+ ) +} \ No newline at end of file diff --git a/src/components/app/BotFormSkeleton/BotFormSkeleton.tsx b/src/components/app/BotFormSkeleton/BotFormSkeleton.tsx new file mode 100644 index 0000000..b8a0cc0 --- /dev/null +++ b/src/components/app/BotFormSkeleton/BotFormSkeleton.tsx @@ -0,0 +1,39 @@ +import { Skeleton } from "@/components/ui/skeleton" + +export default function BotFormSkeleton() { + return ( +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+
+ +
+
+ ); +} \ No newline at end of file diff --git a/src/components/app/UserCard/UserCard.tsx b/src/components/app/UserCard/UserCard.tsx index 28297f5..9da6f4f 100644 --- a/src/components/app/UserCard/UserCard.tsx +++ b/src/components/app/UserCard/UserCard.tsx @@ -1,7 +1,5 @@ import { Avatar, AvatarImage } from "@/components/ui/avatar" import { Button } from "@/components/ui/button" -import { Label } from "@/components/ui/label" -import { Switch } from "@/components/ui/switch" import type { Bot } from "@prisma/client" import Link from "next/link" import VerifiedSwitch from "../VerifiedSwitch/VerifiedSwitch" diff --git a/src/components/app/UserCardSkeleton/UserCardSkeleton.tsx b/src/components/app/UserCardSkeleton/UserCardSkeleton.tsx new file mode 100644 index 0000000..d32063d --- /dev/null +++ b/src/components/app/UserCardSkeleton/UserCardSkeleton.tsx @@ -0,0 +1,21 @@ +import { Skeleton } from "@/components/ui/skeleton" + +export default function UserCardSkeleton() { + return ( +
+
+ + +
+
+ + +
+
+ + + +
+
+ ); +} \ No newline at end of file diff --git a/src/components/ui/skeleton.tsx b/src/components/ui/skeleton.tsx new file mode 100644 index 0000000..01b8b6d --- /dev/null +++ b/src/components/ui/skeleton.tsx @@ -0,0 +1,15 @@ +import { cn } from "@/lib/utils" + +function Skeleton({ + className, + ...props +}: React.HTMLAttributes) { + return ( +
+ ) +} + +export { Skeleton }