From 9bdb4a43b1ab5955943eb878fc294c79151c55c7 Mon Sep 17 00:00:00 2001 From: madhusudhand Date: Wed, 24 Jan 2024 18:07:33 +0530 Subject: [PATCH] switch to fonts tab after successfull upload of fonts --- .../global-styles/font-library-modal/index.js | 13 ++++++++++--- .../global-styles/font-library-modal/local-fonts.js | 9 +++++++-- .../font-library-modal/upload-fonts.js | 4 ++-- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/packages/edit-site/src/components/global-styles/font-library-modal/index.js b/packages/edit-site/src/components/global-styles/font-library-modal/index.js index a68c42ec01041..2ff5f54ad8036 100644 --- a/packages/edit-site/src/components/global-styles/font-library-modal/index.js +++ b/packages/edit-site/src/components/global-styles/font-library-modal/index.js @@ -6,7 +6,7 @@ import { Modal, privateApis as componentsPrivateApis, } from '@wordpress/components'; -import { useContext } from '@wordpress/element'; +import { useState, useContext } from '@wordpress/element'; /** * Internal dependencies @@ -44,6 +44,7 @@ function FontLibraryModal( { initialTabId = 'installed-fonts', } ) { const { collections } = useContext( FontLibraryContext ); + const [ selectedTab, setSelectedTab ] = useState( initialTabId ); const tabs = [ ...DEFAULT_TABS, @@ -58,7 +59,7 @@ function FontLibraryModal( { className="font-library-modal" >
- + { tabs.map( ( { id, title } ) => ( @@ -70,7 +71,13 @@ function FontLibraryModal( { let contents; switch ( id ) { case 'upload-fonts': - contents = ; + contents = ( + + setSelectedTab( 'installed-fonts' ) + } + /> + ); break; case 'installed-fonts': contents = ; diff --git a/packages/edit-site/src/components/global-styles/font-library-modal/local-fonts.js b/packages/edit-site/src/components/global-styles/font-library-modal/local-fonts.js index 145f4164a8760..eb28cdd5f4840 100644 --- a/packages/edit-site/src/components/global-styles/font-library-modal/local-fonts.js +++ b/packages/edit-site/src/components/global-styles/font-library-modal/local-fonts.js @@ -27,8 +27,9 @@ import { unlock } from '../../../lock-unlock'; const { ProgressBar } = unlock( componentsPrivateApis ); -function LocalFonts() { - const { installFont } = useContext( FontLibraryContext ); +function LocalFonts( { onUpload } ) { + const { installFont, handleSetLibraryFontSelected } = + useContext( FontLibraryContext ); const [ notice, setNotice ] = useState( null ); const [ isUploading, setIsUploading ] = useState( false ); const supportedFormats = @@ -170,6 +171,10 @@ function LocalFonts() { type: 'success', message: __( 'Fonts were installed successfully.' ), } ); + handleSetLibraryFontSelected( fontFamilies[ 0 ] ); + if ( onUpload ) { + onUpload(); + } } catch ( error ) { setNotice( { type: 'error', diff --git a/packages/edit-site/src/components/global-styles/font-library-modal/upload-fonts.js b/packages/edit-site/src/components/global-styles/font-library-modal/upload-fonts.js index effc4a2a5227c..151857123bb14 100644 --- a/packages/edit-site/src/components/global-styles/font-library-modal/upload-fonts.js +++ b/packages/edit-site/src/components/global-styles/font-library-modal/upload-fonts.js @@ -8,11 +8,11 @@ import { __experimentalSpacer as Spacer } from '@wordpress/components'; */ import LocalFonts from './local-fonts'; -function UploadFonts() { +function UploadFonts( { onUpload } ) { return ( <> - + ); }