diff --git a/ghost/admin-x-settings/src/components/settings/general/Facebook.tsx b/ghost/admin-x-settings/src/components/settings/general/Facebook.tsx new file mode 100644 index 0000000000..aa1b19a96f --- /dev/null +++ b/ghost/admin-x-settings/src/components/settings/general/Facebook.tsx @@ -0,0 +1,68 @@ +import React from 'react'; +import SettingGroup from '../../../admin-x-ds/settings/SettingGroup'; +import SettingGroupContent from '../../../admin-x-ds/settings/SettingGroupContent'; +import TextField from '../../../admin-x-ds/global/TextField'; +import useSettingGroup from '../../../hooks/useSettingGroup'; + +const Facebook: React.FC = () => { + const { + currentState, + focusRef, + handleSave, + handleCancel, + updateSetting, + getSettingValues, + handleStateChange + } = useSettingGroup(); + + const [facebookTitle, facebookDescription, siteTitle, siteDescription] = getSettingValues(['og_title', 'og_description', 'title', 'description']) as string[]; + + const handleTitleChange = (e: React.ChangeEvent) => { + updateSetting('og_title', e.target.value); + }; + + const handleDescriptionChange = (e: React.ChangeEvent) => { + updateSetting('og_description', e.target.value); + }; + + const values = ( +
+ [TBD: facebook card preview] +
+ ); + + const inputFields = ( + + + + + ); + + return ( + + {values} + {currentState !== 'view' ? inputFields : ''} + + ); +}; + +export default Facebook; \ No newline at end of file diff --git a/ghost/admin-x-settings/src/components/settings/general/GeneralSettings.tsx b/ghost/admin-x-settings/src/components/settings/general/GeneralSettings.tsx index 1096870d05..669cc69800 100644 --- a/ghost/admin-x-settings/src/components/settings/general/GeneralSettings.tsx +++ b/ghost/admin-x-settings/src/components/settings/general/GeneralSettings.tsx @@ -1,5 +1,6 @@ import React from 'react'; +import Facebook from './Facebook'; import LockSite from './LockSite'; import Metadata from './Metadata'; import PublicationLanguage from './PublicationLanguage'; @@ -17,6 +18,7 @@ const GeneralSettings: React.FC = () => { + diff --git a/ghost/admin-x-settings/src/components/settings/general/Metadata.tsx b/ghost/admin-x-settings/src/components/settings/general/Metadata.tsx index a98473afe0..a3b236a723 100644 --- a/ghost/admin-x-settings/src/components/settings/general/Metadata.tsx +++ b/ghost/admin-x-settings/src/components/settings/general/Metadata.tsx @@ -15,7 +15,7 @@ const Metadata: React.FC = () => { handleStateChange } = useSettingGroup(); - const [metaTitle, metaDescription] = getSettingValues(['meta_title', 'meta_description']) as string[]; + const [metaTitle, metaDescription, siteTitle, siteDescription] = getSettingValues(['meta_title', 'meta_description', 'title', 'description']) as string[]; const handleTitleChange = (e: React.ChangeEvent) => { updateSetting('meta_title', e.target.value); @@ -36,14 +36,14 @@ const Metadata: React.FC = () => {