diff --git a/apps/ui/src/components/site-preview/index.tsx b/apps/ui/src/components/site-preview/index.tsx index 2452025214..17096f38f3 100644 --- a/apps/ui/src/components/site-preview/index.tsx +++ b/apps/ui/src/components/site-preview/index.tsx @@ -2,6 +2,7 @@ import { __ } from '@wordpress/i18n'; import { chevronLeft, chevronRight, external, pencil } from '@wordpress/icons'; import { ariaKeyShortcut, displayShortcut, isKeyboardEvent } from '@wordpress/keycodes'; import { Button, IconButton, Tooltip } from '@wordpress/ui'; +import { clsx } from 'clsx'; import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { useConnector } from '@/data/core'; import { useIsSiteStarting, useStartSite } from '@/data/queries/use-sites'; @@ -297,6 +298,10 @@ export function SitePreview( { return () => document.removeEventListener( 'keydown', handleKeyDown, { capture: true } ); }, [ canPreview, collapsed, sendBrowserCommand ] ); + // Kept mounted while collapsed so the webview stays warm; `active` gates the + // surface's visibility and interactivity. + const active = ! collapsed; + return (