PluginProbe
Extendify / 3.2.2
Extendify v3.2.2
3.2.2 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 All 128 releases
← All changes | src/Draft/pages/GenerateImage.jsx +13 -1 3.1.3 → 3.2.2 View file →
@@ -3,8 +3,9 @@
3 3 import { useRouter } from '@draft/hooks/useRouter';
4 4 import { pageState } from '@draft/state/factory';
5 5 import { backArrow } from '@draft/svg/BackArrow';
6 6 import { generateImage } from '@shared/api/DataApi';
7 +import { useImageCreditsSync } from '@shared/hooks/useImageCreditsSync';
7 8 import { useImageGenerationStore } from '@shared/state/generate-images';
8 9 import {
9 10 BaseControl,
10 11 __experimentalHeading as Heading,
@@ -28,8 +29,9 @@
28 29 subtractOneCredit,
29 30 aiImageOptions,
30 31 } = useImageGenerationStore();
31 32 const [isGenerating, setIsGenerating] = useState(false);
33 + const [disclose, setDisclose] = useState(false);
32 34 const [errorMessage, setErrorMessage] = useState('');
33 35 const abortController = useRef(null);
34 36 const noCredits = curCredits.remaining === 0;
35 37 const { imageDetails, setImageDetails } = usePageState();
@@ -34,8 +36,10 @@
34 36 const noCredits = curCredits.remaining === 0;
35 37 const { imageDetails, setImageDetails } = usePageState();
36 38 const { goBack } = useRouter();
37 39
40 + useImageCreditsSync();
41 +
38 42 const clearImageResponse = () => setImageDetails({ src: '', id: undefined });
39 43 const handleSubmit = async (event) => {
40 44 event.preventDefault();
41 45 setErrorMessage('');
@@ -52,9 +56,13 @@
52 56 { ...aiImageOptions, source: 'draft' },
53 57 abortController.current.signal,
54 58 );
55 59 updateImageCredits(imageCredits);
56 - setImageDetails({ src: images[0].url, id });
60 + setImageDetails({
61 + src: images[0].url,
62 + id,
63 + alt: images[0].alt ?? aiImageOptions.prompt,
64 + });
57 65 } catch (error) {
58 66 // If the request was aborted (canceled), don't show an error
59 67 if (error?.code === 20) return;
60 68 // If we didn't get back any credit info, it was a server error
@@ -98,12 +106,14 @@
98 106 <PanelBody className="-mt-4 border-t-0">
99 107 <BaseControl label={__('Image Description', 'extendify-local')}>
100 108 <ImagePreview
101 109 prompt={aiImageOptions.prompt}
110 + alt={imageDetails?.alt}
102 111 size={aiImageOptions.size}
103 112 isGenerating={isGenerating}
104 113 id={imageDetails?.id}
105 114 src={imageDetails?.src}
115 + disclose={disclose}
106 116 clearImageResponse={clearImageResponse}
107 117 />
108 118 {imageDetails.src ? null : (
109 119 <form onSubmit={handleSubmit} className="flex flex-col gap-5">
@@ -109,8 +119,10 @@
109 119 <form onSubmit={handleSubmit} className="flex flex-col gap-5">
110 120 <GenerateForm
111 121 isGenerating={isGenerating}
112 122 errorMessage={errorMessage}
123 + disclose={disclose}
124 + setDisclose={setDisclose}
113 125 />
114 126 </form>
115 127 )}
116 128 </BaseControl>