From b3a324b6f5fe84ab5f0e1774e288d834d23e7500 Mon Sep 17 00:00:00 2001 From: lloydzhou Date: Mon, 15 Jul 2024 21:21:50 +0800 Subject: [PATCH] fixed typescript error --- app/components/sd.tsx | 3 +-- app/page.tsx | 1 - app/utils/file.tsx | 24 ++++++++++++++++++++---- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/app/components/sd.tsx b/app/components/sd.tsx index 5d520bd1a..dfbe640d6 100644 --- a/app/components/sd.tsx +++ b/app/components/sd.tsx @@ -152,7 +152,7 @@ export function Sd() { db={fileDb} src={item.img_data} alt={item.id} - onClick={(data, e) => { + onClick={(data: any, e: any) => { showImageModal( data, true, @@ -164,7 +164,6 @@ export function Sd() { : { width: "100%", height: "100%" }, ); }} - isMobileScreen={isMobileScreen} /> ) : item.status === "error" ? (
diff --git a/app/page.tsx b/app/page.tsx index 6d24b0154..b3f169a9b 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -3,7 +3,6 @@ import { Analytics } from "@vercel/analytics/react"; import { Home } from "./components/home"; import { getServerSideConfig } from "./config/server"; -import { SdDbInit } from "@/app/store/sd"; const serverConfig = getServerSideConfig(); diff --git a/app/utils/file.tsx b/app/utils/file.tsx index 52a258edf..b9b697f56 100644 --- a/app/utils/file.tsx +++ b/app/utils/file.tsx @@ -42,13 +42,17 @@ export function base64Image2Blob(base64Data: string, contentType: string) { return new Blob([byteArray], { type: contentType }); } -export function saveFileData(db, fileId, data) { +export function saveFileData(db: any, fileId: string, data: Blob | string) { // save file content and return url start with `indexeddb://` db.add({ id: fileId, data }); return `indexeddb://${StoreKey.File}@${fileId}`; } -export async function getFileData(db, fileId, contentType = "image/png") { +export async function getFileData( + db: any, + fileId: string, + contentType = "image/png", +) { const { data } = await db.getByID(fileId); if (typeof data == "object") { return URL.createObjectURL(data); @@ -56,14 +60,26 @@ export async function getFileData(db, fileId, contentType = "image/png") { return `data:${contentType};base64,${data}`; } -export function IndexDBImage({ src, alt, onClick, db, className }) { +export function IndexDBImage({ + src, + alt, + onClick, + db, + className, +}: { + src: string; + alt: string; + onClick: any; + db: any; + className: string; +}) { const [data, setData] = useState(src); const imgId = useMemo( () => src.replace("indexeddb://", "").split("@").pop(), [src], ); useEffect(() => { - getFileData(db, imgId) + getFileData(db, imgId as string) .then((data) => setData(data)) .catch((e) => setData(src)); }, [src, imgId]);