From adeadd3586ef478e0524ab7e13234b17d0d33d9c Mon Sep 17 00:00:00 2001 From: heimoshuiyu Date: Fri, 10 Nov 2023 22:10:16 +0800 Subject: [PATCH] add image gen api --- src/addImage.tsx | 317 +++++++++++++++++++++++++++++++++++++++++++++++ src/app.tsx | 8 +- src/chatbox.tsx | 143 ++------------------- src/settings.tsx | 14 ++- 4 files changed, 345 insertions(+), 137 deletions(-) create mode 100644 src/addImage.tsx diff --git a/src/addImage.tsx b/src/addImage.tsx new file mode 100644 index 0000000..8cbc4bb --- /dev/null +++ b/src/addImage.tsx @@ -0,0 +1,317 @@ +import { useState } from "preact/hooks"; +import { ChatStore } from "./app"; +import { MessageDetail } from "./chatgpt"; +import { Tr } from "./translate"; + +interface Props { + chatStore: ChatStore; + setChatStore: (cs: ChatStore) => void; + images: MessageDetail[]; + setShowAddImage: (se: boolean) => void; + setImages: (images: MessageDetail[]) => void; +} +interface ImageResponse { + url?: string; + b64_json?: string; + revised_prompt: string; +} +export function AddImage({ + chatStore, + setChatStore, + setShowAddImage, + setImages, + images, +}: Props) { + const [enableHighResolution, setEnableHighResolution] = useState(true); + const [imageGenPrompt, setImageGenPrompt] = useState(""); + const [imageGenModel, setImageGenModel] = useState("dall-e-2"); + const [imageGenN, setImageGenN] = useState(1); + const [imageGenQuality, setImageGEnQuality] = useState("standard"); + const [imageGenResponseFormat, setImageGenResponseFormat] = + useState("b64_json"); + const [imageGenSize, setImageGenSize] = useState("1024x1024"); + const [imageGenStyle, setImageGenStyle] = useState("vivid"); + const [imageGenGenerating, setImageGenGenerating] = useState(false); + useState("b64_json"); + return ( +
{ + setShowAddImage(false); + }} + > +
{ + event.stopPropagation(); + }} + > +

Add Images

+ + + + { + setEnableHighResolution(!enableHighResolution); + }} + > + + + + + {chatStore.image_gen_api && chatStore.image_gen_key && ( +
+
+

Generate Image

+ + +