← All changes
|
src/QuickEdit/components/modals/AiImagePickerModal.jsx
+12
-15
3.2.0
→
3.2.2
View file →
| @@ -1,6 +1,7 @@ | ||
| 1 | 1 | import { generateImage } from '@shared/api/DataApi'; |
| 2 | -import { importImage, importImageServer } from '@shared/api/wp'; | |
| 2 | +import { downloadImage } from '@shared/api/wp'; | |
| 3 | +import { useImageCreditsSync } from '@shared/hooks/useImageCreditsSync'; | |
| 3 | 4 | import { useStampedPreview } from '@shared/hooks/useStampedPreview'; |
| 4 | 5 | import { track } from '@shared/lib/track'; |
| 5 | 6 | import { useImageGenerationStore } from '@shared/state/generate-images'; |
| 6 | 7 | import { |
| @@ -57,8 +58,10 @@ | ||
| 57 | 58 | const [preview, setPreview] = useState(null); // { src, id } |
| 58 | 59 | const abortRef = useRef(null); |
| 59 | 60 | const previewSrc = useStampedPreview(preview?.src, disclose); |
| 60 | 61 | |
| 62 | + useImageCreditsSync(); | |
| 63 | + | |
| 61 | 64 | const noCredits = imageCredits.remaining === 0; |
| 62 | 65 | const usedCredits = imageCredits.total - imageCredits.remaining; |
| 63 | 66 | |
| 64 | 67 | const onGenerate = async (e) => { |
| @@ -103,25 +106,19 @@ | ||
| 103 | 106 | if (!preview?.src || applying) return; |
| 104 | 107 | setError(''); |
| 105 | 108 | setApplying(true); |
| 106 | 109 | try { |
| 107 | - let attachment; | |
| 108 | - try { | |
| 109 | - attachment = await importImage(preview.src, { | |
| 110 | + const attachment = await downloadImage( | |
| 111 | + preview.id, | |
| 112 | + preview.src, | |
| 113 | + 'ai-generated', | |
| 114 | + null, | |
| 115 | + { | |
| 110 | 116 | alt: preview.alt, |
| 111 | - filename: 'ai-image.jpg', | |
| 112 | 117 | caption: '', |
| 113 | - aiGenerated: true, | |
| 114 | 118 | disclose, |
| 115 | - }); | |
| 116 | - } catch (_e) { | |
| 117 | - attachment = await importImageServer(preview.src, { | |
| 118 | - alt: preview.alt, | |
| 119 | - caption: '', | |
| 120 | - aiGenerated: true, | |
| 121 | - disclose, | |
| 122 | - }); | |
| 123 | - } | |
| 119 | + }, | |
| 120 | + ); | |
| 124 | 121 | const mediaId = attachment?.id; |
| 125 | 122 | if (!mediaId) throw new Error('No media id returned'); |
| 126 | 123 | |
| 127 | 124 | // Product image: write the featured image via WC's save |