@@ -79,6 +79,8 @@ import { ensureJsxTransformSource } from './modules/preview/jsx-transform-runtim
7979import { createEditorPoolManager } from './modules/editor/editor-pool-manager.js'
8080import { createWorkspaceTabsState } from './modules/workspace/workspace-tabs-state.js'
8181import { createWorkspacesDrawer } from './modules/workspace/workspaces-drawer/drawer.js'
82+ import { createApplyWorkspaceFontCssUrl } from './modules/app-core/workspace-font-css-url-load.js'
83+ import { createPreviewFontSetup } from './modules/app-core/preview-font-setup.js'
8284import {
8385 createDebouncedWorkspaceSaver ,
8486 createWorkspaceStorageAdapter ,
@@ -356,18 +358,12 @@ const previewBackground = createPreviewBackgroundController({
356358 } ,
357359} )
358360
359- const previewFont = createPreviewFontController ( {
361+ const previewFont = createPreviewFontSetup ( {
362+ createPreviewFontController,
360363 previewFontCssUrlInput : workspacesFontCssUrlInput ,
361- getDefaultPreviewFontCssUrl : ( ) => defaultPreviewFontCssUrl ,
362- onFontConfigChange : ( { fontCssUrl, fontFamily } ) => {
363- if ( renderRuntime && typeof renderRuntime . updatePreviewFont === 'function' ) {
364- renderRuntime . updatePreviewFont ( { fontCssUrl, fontFamily } )
365- }
366-
367- if ( typeof queueWorkspaceSave === 'function' ) {
368- queueWorkspaceSave ( )
369- }
370- } ,
364+ defaultPreviewFontCssUrl,
365+ getRenderRuntime : ( ) => renderRuntime ,
366+ queueWorkspaceSave : ( ) => queueWorkspaceSave ?. ( ) ,
371367} )
372368
373369const layoutTheme = createLayoutThemeController ( {
@@ -976,6 +972,13 @@ const {
976972 onWorkspaceRecordApplied : onWorkspaceRecordAppliedWithStatusMetadata ,
977973} )
978974
975+ const applyWorkspaceFontCssUrl = createApplyWorkspaceFontCssUrl ( {
976+ previewFont,
977+ flushWorkspaceSave,
978+ normalizePreviewFontCssUrl,
979+ defaultPreviewFontCssUrl,
980+ } )
981+
979982const { syncActiveWorkspaceRepositoryScope, forkWorkspaceFromCurrentState } =
980983 createWorkspaceScopeForkActions ( {
981984 toNonEmptyWorkspaceText,
@@ -1250,14 +1253,7 @@ const githubWorkflows = createGitHubWorkflowsSetup({
12501253 listLocalContextRecords,
12511254 refreshLocalContextOptions,
12521255 applyWorkspaceRecord,
1253- applyWorkspaceFontCssUrl : async fontCssUrl => {
1254- previewFont . applyPreviewFontCssUrl ( fontCssUrl , {
1255- emitChange : true ,
1256- syncInputValue : true ,
1257- } )
1258- await flushWorkspaceSave ( { preserveRecordId : true } )
1259- return true
1260- } ,
1256+ applyWorkspaceFontCssUrl,
12611257 syncActiveWorkspaceRepositoryScope,
12621258 forkWorkspaceFromCurrentState,
12631259 flushWorkspaceSave,
0 commit comments