@@ -167,6 +167,26 @@ const useEditActions = ({
167167 return true ;
168168 } ;
169169
170+ const getErrorMessage = ( error : any ) : string => {
171+ let errorMessage : string = '' ;
172+ if ( error . name === 'AxiosError' ) {
173+ const responseData = error . response ?. data ;
174+ const tagError = Object . entries ( responseData ) ?. find ( ( errItem : [ string , unknown ] ) => (
175+ [ 'tag' , 'value' , 'updated_tag_value' ] . includes ( errItem [ 0 ] . toLowerCase ( ) )
176+ ) ) ;
177+
178+ const errorMessages = tagError ? tagError [ 1 ] : (
179+ ( error as Error ) . message || intl . formatMessage ( globalMessages . unknownError )
180+ ) ;
181+ errorMessage = Array . isArray ( errorMessages ) ? errorMessages . join ( '; ' ) : String ( errorMessages ) ;
182+ } else {
183+ errorMessage = ( error as Error ) . message || intl . formatMessage ( globalMessages . unknownError ) ;
184+ }
185+
186+ errorMessage = errorMessage . replace ( / \. $ / , '' ) ; // Remove trailing period for better message formatting
187+ return errorMessage ;
188+ } ;
189+
170190 const handleCreateTag = async ( value : string , parentTagValue ?: string ) => {
171191 const trimmed = value . trim ( ) ;
172192
@@ -186,11 +206,9 @@ const useEditActions = ({
186206 setIsCreatingTopTag ( false ) ;
187207 setCreatingParentId ( null ) ;
188208 } catch ( error ) {
189- const message = intl . formatMessage ( messages . tagCreationErrorMessage , { errorMessage : ( error as Error ) ?. message } ) ;
190- setDraftError (
191- ( error as Error ) ?. message || intl . formatMessage ( messages . tagCreationErrorMessage , { errorMessage : '' } ) ,
192- ) ;
193- setToast ( { show : true , message } ) ;
209+ const errorMessage = getErrorMessage ( error ) ;
210+ setDraftError ( errorMessage ) ;
211+ setToast ( { show : true , message : intl . formatMessage ( messages . tagCreationErrorMessage , { errorMessage } ) } ) ;
194212 }
195213 } ;
196214
@@ -217,11 +235,9 @@ const useEditActions = ({
217235 message : intl . formatMessage ( messages . tagUpdateSuccessMessage , { name : trimmed } ) ,
218236 } ) ;
219237 } catch ( error ) {
220- const message = intl . formatMessage ( messages . tagUpdateErrorMessage , { errorMessage : ( error as Error ) ?. message } ) ;
221- setDraftError (
222- ( error as Error ) ?. message || intl . formatMessage ( messages . tagUpdateErrorMessage , { errorMessage : '' } ) ,
223- ) ;
224- setToast ( { show : true , message } ) ;
238+ const errorMessage = getErrorMessage ( error ) ;
239+ setDraftError ( errorMessage ) ;
240+ setToast ( { show : true , message : intl . formatMessage ( messages . tagUpdateErrorMessage , { errorMessage } ) } ) ;
225241 }
226242 } ;
227243
0 commit comments