mirror of
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
synced 2025-05-20 04:30:17 +09:00
fixed typescript error
This commit is contained in:
parent
a1117cd4ee
commit
b3a324b6f5
@ -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"]}>
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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]);
|
||||
|
Loading…
Reference in New Issue
Block a user