lloydzhou 1 жил өмнө
parent
commit
b3a324b6f5

+ 1 - 2
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" ? (
                     <div className={styles["pre-img"]}>

+ 0 - 1
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();
 

+ 20 - 4
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]);