| @@ -78,9 +78,10 @@ | ||
| 78 | 78 | Boolean(metadata.aiGenerated) && Boolean(metadata.disclose); |
| 79 | 79 | |
| 80 | 80 | const altText = (metadata) => { |
| 81 | 81 | if (!shouldDisclose(metadata)) return metadata.alt ?? ''; |
| 82 | - const pattern = window.extSharedData?.aiImageAltPattern ?? 'AI Generated: %s'; | |
| 82 | + const pattern = | |
| 83 | + window.extSharedData?.aiImageAltPattern ?? '%s (AI-generated)'; | |
| 83 | 84 | return sprintf(pattern, metadata.alt ?? '').trim(); |
| 84 | 85 | }; |
| 85 | 86 | |
| 86 | 87 | export const importImage = async (imageUrl, metadata = {}) => { |
| @@ -155,16 +156,30 @@ | ||
| 155 | 156 | unsplashId, |
| 156 | 157 | metadata = { alt: '', caption: '' }, |
| 157 | 158 | ) => { |
| 158 | 159 | let image; |
| 160 | + const aiGenerated = source === 'ai-generated'; | |
| 159 | 161 | if (unsplashId) { |
| 160 | 162 | await downloadPing(id, source, { unsplashId }); |
| 163 | + } else if (aiGenerated && id) { | |
| 164 | + await downloadPing(id, source, { disclose: metadata.disclose }); | |
| 161 | 165 | } |
| 162 | - const aiGenerated = source === 'ai-generated'; | |
| 166 | + | |
| 167 | + let filename = metadata.filename ?? 'image.jpg'; | |
| 168 | + if (aiGenerated && !filename.includes('ai-generated')) { | |
| 169 | + const parts = filename.split('.'); | |
| 170 | + if (parts.length > 1) { | |
| 171 | + const ext = parts.pop(); | |
| 172 | + filename = `${parts.join('.')}-ai-generated.${ext}`; | |
| 173 | + } else { | |
| 174 | + filename = `${filename}-ai-generated`; | |
| 175 | + } | |
| 176 | + } | |
| 177 | + | |
| 163 | 178 | try { |
| 164 | 179 | image = await importImage(src, { |
| 165 | 180 | alt: metadata.alt, |
| 166 | - filename: 'image.jpg', | |
| 181 | + filename, | |
| 167 | 182 | caption: metadata.caption, |
| 168 | 183 | aiGenerated, |
| 169 | 184 | disclose: metadata.disclose, |
| 170 | 185 | }); |
| @@ -170,9 +185,8 @@ | ||
| 170 | 185 | }); |
| 171 | 186 | } catch (_e) { |
| 172 | 187 | image = await importImageServer(src, { |
| 173 | 188 | alt: metadata.alt, |
| 174 | - filename: 'image.jpg', | |
| 175 | 189 | caption: metadata.caption, |
| 176 | 190 | aiGenerated, |
| 177 | 191 | disclose: metadata.disclose, |
| 178 | 192 | }); |