feat: wrap FilePreviewContainerContent in Suspense for improved loading state handling
This commit is contained in:
parent
e1097ba1be
commit
8bc35d979d
@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { useEffect, useState, useRef } from "react";
|
import { useEffect, useState, useRef, Suspense } from "react";
|
||||||
import { useSearchParams, useRouter } from "next/navigation";
|
import { useSearchParams, useRouter } from "next/navigation";
|
||||||
import toast, { Toaster } from "react-hot-toast";
|
import toast, { Toaster } from "react-hot-toast";
|
||||||
import { FilePreview } from "~/app/_components/FilePreview";
|
import { FilePreview } from "~/app/_components/FilePreview";
|
||||||
@ -20,7 +20,7 @@ interface FileDetails {
|
|||||||
description: string;
|
description: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function FilePreviewContainer() {
|
function FilePreviewContainerContent() {
|
||||||
const searchParams = useSearchParams();
|
const searchParams = useSearchParams();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const fileId = searchParams.get("id");
|
const fileId = searchParams.get("id");
|
||||||
@ -49,7 +49,7 @@ export default function FilePreviewContainer() {
|
|||||||
".wav": "audio/wav",
|
".wav": "audio/wav",
|
||||||
};
|
};
|
||||||
return fileTypes[extension] || "unknown";
|
return fileTypes[extension] || "unknown";
|
||||||
}
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!fileId) {
|
if (!fileId) {
|
||||||
@ -139,7 +139,6 @@ export default function FilePreviewContainer() {
|
|||||||
</h1>
|
</h1>
|
||||||
<div className="mt-6">
|
<div className="mt-6">
|
||||||
{fileDetails.type !== "unknown" && (
|
{fileDetails.type !== "unknown" && (
|
||||||
|
|
||||||
<FilePreview fileId={fileDetails.id} fileType={getFileType(fileDetails.type)} />
|
<FilePreview fileId={fileDetails.id} fileType={getFileType(fileDetails.type)} />
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
@ -252,3 +251,11 @@ export default function FilePreviewContainer() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default function FilePreviewContainer() {
|
||||||
|
return (
|
||||||
|
<Suspense fallback={<div>Loading...</div>}>
|
||||||
|
<FilePreviewContainerContent />
|
||||||
|
</Suspense>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user