From 71233e0b2fc6a897600b509b07138037cda5e0d9 Mon Sep 17 00:00:00 2001 From: Peter Zimon Date: Mon, 13 May 2024 16:28:18 +0200 Subject: [PATCH] Fixed publication lang. empty error --- .../src/hooks/useHandleError.ts | 6 +++--- .../settings/general/PublicationLanguage.tsx | 18 ++++++++++++++++-- .../src/hooks/useSettingGroup.tsx | 8 +------- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/apps/admin-x-framework/src/hooks/useHandleError.ts b/apps/admin-x-framework/src/hooks/useHandleError.ts index 9e5e8d88a990..740ecaf1a3c9 100644 --- a/apps/admin-x-framework/src/hooks/useHandleError.ts +++ b/apps/admin-x-framework/src/hooks/useHandleError.ts @@ -46,17 +46,17 @@ const useHandleError = () => { } else if (error instanceof ValidationError && error.data?.errors[0]) { showToast({ message: error.data.errors[0].context || error.data.errors[0].message, - type: 'pageError' + type: 'error' }); } else if (error instanceof APIError) { showToast({ message: error.message, - type: 'pageError' + type: 'error' }); } else { showToast({ message: 'Something went wrong, please try again.', - type: 'pageError' + type: 'error' }); } }, [sentryDSN]); diff --git a/apps/admin-x-settings/src/components/settings/general/PublicationLanguage.tsx b/apps/admin-x-settings/src/components/settings/general/PublicationLanguage.tsx index fb169a627c22..aca29daf850c 100644 --- a/apps/admin-x-settings/src/components/settings/general/PublicationLanguage.tsx +++ b/apps/admin-x-settings/src/components/settings/general/PublicationLanguage.tsx @@ -13,8 +13,20 @@ const PublicationLanguage: React.FC<{ keywords: string[] }> = ({keywords}) => { handleCancel, updateSetting, focusRef, + errors, + clearError, handleEditingChange - } = useSettingGroup(); + } = useSettingGroup({ + onValidate: () => { + if (!publicationLanguage) { + return { + publicationLanguage: 'Enter a value' + }; + } + + return {}; + } + }); const [publicationLanguage] = getSettingValues(localSettings, ['locale']) as string[]; @@ -42,12 +54,14 @@ const PublicationLanguage: React.FC<{ keywords: string[] }> = ({keywords}) => { const inputFields = ( clearError('password')} /> ); diff --git a/apps/admin-x-settings/src/hooks/useSettingGroup.tsx b/apps/admin-x-settings/src/hooks/useSettingGroup.tsx index 93882b4ceec6..8af1ca7cdd61 100644 --- a/apps/admin-x-settings/src/hooks/useSettingGroup.tsx +++ b/apps/admin-x-settings/src/hooks/useSettingGroup.tsx @@ -2,9 +2,8 @@ import React, {useEffect, useRef, useState} from 'react'; import {ErrorMessages, OkProps, SaveHandler, SaveState, useForm, useHandleError} from '@tryghost/admin-x-framework/hooks'; import {Setting, SettingValue, useEditSettings} from '@tryghost/admin-x-framework/api/settings'; import {SiteData} from '@tryghost/admin-x-framework/api/site'; -import {showToast, useGlobalDirtyState} from '@tryghost/admin-x-design-system'; -import {toast} from 'react-hot-toast'; import {useGlobalData} from '../components/providers/GlobalDataProvider'; +import {useGlobalDirtyState} from '@tryghost/admin-x-design-system'; interface LocalSetting extends Setting { dirty?: boolean; @@ -107,15 +106,10 @@ const useSettingGroup = ({savingDelay, onValidate}: {savingDelay?: number; onVal focusRef, siteData, handleSave: async () => { - toast.remove(); const result = await handleSave(); if (result) { setEditing(false); } else { - showToast({ - title: 'Can\'t save settings', - type: 'error' - }); } return result; },