diff --git a/src/app/[username]/page.jsx b/src/app/[username]/page.jsx index 1a1a6f8..6f2606c 100644 --- a/src/app/[username]/page.jsx +++ b/src/app/[username]/page.jsx @@ -6,6 +6,7 @@ import toast, { Toaster } from 'react-hot-toast'; import { items } from './exportTools'; import { selects } from './selectTools'; import { checks } from './checkboxTools'; +import Loader from "@/components/Loader"; export default function previewCard({ params }) { const username = params.username; @@ -16,6 +17,7 @@ export default function previewCard({ params }) { const configCalled = useRef(false); const userConfigRef = useRef({}); const [imageUrl, setImageUrl] = useState(""); + const [loading, setLoading] = useState(false); const defaultConfig = { theme: "dark", @@ -151,8 +153,11 @@ export default function previewCard({ params }) { const fetchImage = async () => { if (isUrlComplete()) { const url = `${process.env.NEXT_PUBLIC_BASE_URL}/${username}/image?${getUrlParams(config)}`; + // Start loading until the image element confirms onLoad + setLoading(true); setImageUrl(url); } else { + setLoading(false); setImageUrl(""); } }; @@ -163,6 +168,7 @@ export default function previewCard({ params }) { return (
{message}
+