PluginProbe
Extendify / trunk
Extendify vtrunk
3.2.1 3.2.0 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.6 3.0.5 3.0.4 trunk 0.1.0 0.10.0 0.10.1 0.10.2 0.11.0 0.11.1 0.2.0 0.3.0 0.3.1 0.4.0 0.5.0 0.6.0 All 127 releases
← All changes | src/Draft/pages/GenerateImage.jsx +12 -3 3.0.5 → trunk View file →
@@ -28,8 +28,9 @@
28 28 subtractOneCredit,
29 29 aiImageOptions,
30 30 } = useImageGenerationStore();
31 31 const [isGenerating, setIsGenerating] = useState(false);
32 + const [disclose, setDisclose] = useState(false);
32 33 const [errorMessage, setErrorMessage] = useState('');
33 34 const abortController = useRef(null);
34 35 const noCredits = curCredits.remaining === 0;
35 36 const { imageDetails, setImageDetails } = usePageState();
@@ -48,19 +49,23 @@
48 49 setIsGenerating(true);
49 50 subtractOneCredit();
50 51 abortController.current = new AbortController();
51 52 const { imageCredits, images, id } = await generateImage(
52 - aiImageOptions,
53 + { ...aiImageOptions, source: 'draft' },
53 54 abortController.current.signal,
54 55 );
55 56 updateImageCredits(imageCredits);
56 - setImageDetails({ src: images[0].url, id });
57 + setImageDetails({
58 + src: images[0].url,
59 + id,
60 + alt: images[0].alt ?? aiImageOptions.prompt,
61 + });
57 62 } catch (error) {
58 63 // If the request was aborted (canceled), don't show an error
59 64 if (error?.code === 20) return;
60 65 // If we didn't get back any credit info, it was a server error
61 66 if (!error?.imageCredits) {
62 - // Pause to prefent flickering
67 + // Pause to prevent flickering
63 68 await new Promise((resolve) => setTimeout(resolve, 1000));
64 69 setErrorMessage(error.message);
65 70 // Add back the credit we subtracted
66 71 updateImageCredits({ remaining: curCredits.remaining });
@@ -98,12 +103,14 @@
98 103 <PanelBody className="-mt-4 border-t-0">
99 104 <BaseControl label={__('Image Description', 'extendify-local')}>
100 105 <ImagePreview
101 106 prompt={aiImageOptions.prompt}
107 + alt={imageDetails?.alt}
102 108 size={aiImageOptions.size}
103 109 isGenerating={isGenerating}
104 110 id={imageDetails?.id}
105 111 src={imageDetails?.src}
112 + disclose={disclose}
106 113 clearImageResponse={clearImageResponse}
107 114 />
108 115 {imageDetails.src ? null : (
109 116 <form onSubmit={handleSubmit} className="flex flex-col gap-5">
@@ -109,8 +116,10 @@
109 116 <form onSubmit={handleSubmit} className="flex flex-col gap-5">
110 117 <GenerateForm
111 118 isGenerating={isGenerating}
112 119 errorMessage={errorMessage}
120 + disclose={disclose}
121 + setDisclose={setDisclose}
113 122 />
114 123 </form>
115 124 )}
116 125 </BaseControl>