diff --git a/web/src/app/loading.tsx b/web/src/app/loading.tsx new file mode 100644 index 000000000..e1ddebd9f --- /dev/null +++ b/web/src/app/loading.tsx @@ -0,0 +1,9 @@ +import { FilterListTableSkeleton } from "@/components/filterlist-table/skeleton"; + +export default function Loading() { + return ( +
+ +
+ ); +} diff --git a/web/src/components/filterlist-table.tsx b/web/src/components/filterlist-table/index.tsx similarity index 100% rename from web/src/components/filterlist-table.tsx rename to web/src/components/filterlist-table/index.tsx diff --git a/web/src/components/filterlist-table/skeleton.tsx b/web/src/components/filterlist-table/skeleton.tsx new file mode 100644 index 000000000..0e8677b02 --- /dev/null +++ b/web/src/components/filterlist-table/skeleton.tsx @@ -0,0 +1,33 @@ +import { Skeleton } from "@/components/ui/skeleton"; + +export function FilterListTableSkeleton() { + return ( +
+
+ + + + + + + + {[...Array(10)].map((_, i) => ( + + + + ))} + +
+ +
+ +
+
+
+ + + +
+
+ ); +} diff --git a/web/src/components/ui/skeleton.tsx b/web/src/components/ui/skeleton.tsx new file mode 100644 index 000000000..01689981c --- /dev/null +++ b/web/src/components/ui/skeleton.tsx @@ -0,0 +1,13 @@ +import { cn } from "@/lib/utils"; + +function Skeleton({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ); +} + +export { Skeleton };