From f0584f0dfb0b574efceef05a009fab7e801427a5 Mon Sep 17 00:00:00 2001 From: dvelo <52332868+DeveloLongScript@users.noreply.github.com> Date: Sun, 18 Aug 2024 01:15:27 -0500 Subject: [PATCH] feat: fade-in + skeletons --- package.json | 2 +- src/app/layout.tsx | 3 +- src/components/AfterServerView.tsx | 60 +- src/components/ClientFadeIn.tsx | 12 + src/components/FavoritesSortView.tsx | 140 ++-- src/components/FavoritesView.tsx | 114 ++-- src/components/NewChart.tsx | 185 +++--- src/components/ServerList.tsx | 934 ++++++++++++++------------- src/components/ServerView.tsx | 297 ++++----- src/version.tsx | 13 +- 10 files changed, 933 insertions(+), 827 deletions(-) create mode 100644 src/components/ClientFadeIn.tsx diff --git a/package.json b/package.json index 1e7a01e..da6439d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mh-stats", - "version": "0.10.0", + "version": "0.10.2", "private": true, "packageManager": "yarn@1.22.22", "scripts": { diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 7fcc4fc..ff73674 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -20,6 +20,7 @@ import { Inter as interFont } from "next/font/google"; import { CommandBarer } from "@/components/CommandBar"; import ThemedToaster from "@/components/misc/ThemedToaster"; import UnofficalDialog from "@/components/misc/UnofficalDialog"; +import ClientFadeIn from "@/components/ClientFadeIn"; const inter = interFont({ variable: "--font-inter", subsets: ["latin"] }); export default async function RootLayout({ @@ -63,7 +64,7 @@ export default async function RootLayout({
- {children} + {children}
{" "} diff --git a/src/components/AfterServerView.tsx b/src/components/AfterServerView.tsx index ec1d322..379b07d 100644 --- a/src/components/AfterServerView.tsx +++ b/src/components/AfterServerView.tsx @@ -4,11 +4,13 @@ import { useEffect, useState } from "react"; import { Card, CardDescription, CardHeader, CardTitle } from "./ui/card"; import Markdown from "react-markdown"; import { useTheme } from "next-themes"; +import FadeIn from "react-fade-in/lib/FadeIn"; export default function AfterServerView({ server }: { server: string }) { const [description, setDescription] = useState(""); const [discord, setDiscord] = useState(""); const { resolvedTheme } = useTheme(); + const [loading, setLoading] = useState(true); useEffect(() => { getCustomization(server).then((b) => { @@ -16,36 +18,42 @@ export default function AfterServerView({ server }: { server: string }) { setDescription(b.description == null ? "" : b.description); setDiscord(b.discord == null ? "" : b.discord); } + setLoading(false); }); }, []); + if (loading) return <>; return ( -
- {description != "" && ( - - - {description} - - - )} - {discord != "" && ( - - - Discord Server - -