Skip to content

Commit d3ed8fa

Browse files
committed
Show an error message in the Classic Editor if Excerpt Generation fails
1 parent 9cc73c5 commit d3ed8fa

File tree

2 files changed

+30
-9
lines changed

2 files changed

+30
-9
lines changed

src/js/openai/classic-editor-excerpt-generator.js

+24-9
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,12 @@ const classifaiExcerptData = window.classifaiGenerateExcerpt || {};
4040
)
4141
.insertAfter( excerptContainer );
4242

43+
$( '<p>', {
44+
class: 'classifai-openai__excerpt-generate-error',
45+
} ).insertAfter(
46+
document.getElementById( 'classifai-openai__excerpt-generate-btn' )
47+
);
48+
4349
// Append disable feature link.
4450
if (
4551
ClassifAI?.opt_out_enabled_features?.includes(
@@ -79,25 +85,34 @@ const classifaiExcerptData = window.classifaiGenerateExcerpt || {};
7985
const spinnerEl = $(
8086
'.classifai-openai__excerpt-generate-btn--spinner'
8187
);
88+
const errorEl = $( '.classifai-openai__excerpt-generate-error' );
8289

8390
generateTextEl.css( 'opacity', '0' );
8491
spinnerEl.show();
92+
errorEl.text( '' ).hide();
8593
isProcessing = true;
8694

8795
const path = classifaiExcerptData?.path + postId;
8896

8997
apiFetch( {
9098
path,
91-
} ).then( ( result ) => {
92-
generateTextEl.css( 'opacity', '1' );
93-
spinnerEl.hide();
94-
isProcessing = false;
99+
} )
100+
.then( ( result ) => {
101+
generateTextEl.css( 'opacity', '1' );
102+
spinnerEl.hide();
103+
isProcessing = false;
95104

96-
$( excerptContainer ).val( result ).trigger( 'input' );
97-
generateTextEl.text(
98-
classifaiExcerptData?.regenerateText ?? ''
99-
);
100-
} );
105+
$( excerptContainer ).val( result ).trigger( 'input' );
106+
generateTextEl.text(
107+
classifaiExcerptData?.regenerateText ?? ''
108+
);
109+
} )
110+
.catch( ( error ) => {
111+
generateTextEl.css( 'opacity', '1' );
112+
spinnerEl.hide();
113+
isProcessing = false;
114+
errorEl.text( error?.message ).show();
115+
} );
101116
};
102117

103118
// Event handler registration to generate the excerpt.

src/scss/openai/classic-editor-title-generator.scss

+6
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@
3737
}
3838
}
3939

40+
.classifai-openai__excerpt-generate-error {
41+
display: none;
42+
color: #dc3232;
43+
text-align: right;
44+
}
45+
4046
.classifai-openai__excerpt-generate-disable-link {
4147
text-align: right;
4248
margin-top: 6px;

0 commit comments

Comments
 (0)