@@ -163,6 +163,26 @@ const useEditActions = ({
163163 return true ;
164164 } ;
165165
166+ const getErrorMessage = ( error : any ) : string => {
167+ let errorMessage : string = '' ;
168+ if ( error . name === 'AxiosError' ) {
169+ const responseData = error . response ?. data ;
170+ const tagError = Object . entries ( responseData ) ?. find ( ( errItem : [ string , unknown ] ) => (
171+ [ 'tag' , 'value' , 'updated_tag_value' ] . includes ( errItem [ 0 ] . toLowerCase ( ) )
172+ ) ) ;
173+
174+ const errorMessages = tagError ? tagError [ 1 ] : (
175+ ( error as Error ) . message || intl . formatMessage ( globalMessages . unknownError )
176+ ) ;
177+ errorMessage = Array . isArray ( errorMessages ) ? errorMessages . join ( '; ' ) : String ( errorMessages ) ;
178+ } else {
179+ errorMessage = ( error as Error ) . message || intl . formatMessage ( globalMessages . unknownError ) ;
180+ }
181+
182+ errorMessage = errorMessage . replace ( / \. $ / , '' ) ; // Remove trailing period for better message formatting
183+ return errorMessage ;
184+ } ;
185+
166186 const handleCreateTag = async ( value : string , parentTagValue ?: string ) => {
167187 const trimmed = value . trim ( ) ;
168188
@@ -182,9 +202,9 @@ const useEditActions = ({
182202 setIsCreatingTopTag ( false ) ;
183203 setCreatingParentId ( null ) ;
184204 } catch ( error ) {
185- const message = intl . formatMessage ( messages . tagCreationErrorMessage , { errorMessage : ( error as Error ) ?. message } ) ;
186- setDraftError ( ( error as Error ) ?. message || intl . formatMessage ( messages . tagCreationErrorMessage , { errorMessage : '' } ) ) ;
187- setToast ( { show : true , message } ) ;
205+ const errorMessage = getErrorMessage ( error ) ;
206+ setDraftError ( errorMessage ) ;
207+ setToast ( { show : true , message : intl . formatMessage ( messages . tagCreationErrorMessage , { errorMessage } ) } ) ;
188208 }
189209 } ;
190210
@@ -211,9 +231,9 @@ const useEditActions = ({
211231 message : intl . formatMessage ( messages . tagUpdateSuccessMessage , { name : trimmed } ) ,
212232 } ) ;
213233 } catch ( error ) {
214- const message = intl . formatMessage ( messages . tagUpdateErrorMessage , { errorMessage : ( error as Error ) ?. message } ) ;
215- setDraftError ( ( error as Error ) ?. message || intl . formatMessage ( messages . tagUpdateErrorMessage , { errorMessage : '' } ) ) ;
216- setToast ( { show : true , message } ) ;
234+ const errorMessage = getErrorMessage ( error ) ;
235+ setDraftError ( errorMessage ) ;
236+ setToast ( { show : true , message : intl . formatMessage ( messages . tagUpdateErrorMessage , { errorMessage } ) } ) ;
217237 }
218238 } ;
219239
0 commit comments