diff --git a/apps/studio/src/components/tests/topbar.test.tsx b/apps/studio/src/components/tests/topbar.test.tsx index 7df62080c6..15ba44a02b 100644 --- a/apps/studio/src/components/tests/topbar.test.tsx +++ b/apps/studio/src/components/tests/topbar.test.tsx @@ -58,7 +58,7 @@ describe( 'TopBar', () => { it( 'shows offline indicator', async () => { vi.mocked( useOffline ).mockReturnValue( true ); await act( async () => renderWithProvider( ) ); - const offlineIndicator = screen.getByRole( 'button', { + const offlineIndicator = screen.getByRole( 'status', { name: 'Offline indicator', } ); expect( offlineIndicator ).toHaveAttribute( 'aria-description' ); diff --git a/apps/studio/src/components/top-bar.tsx b/apps/studio/src/components/top-bar.tsx index 154b35750b..37d29a5ccd 100644 --- a/apps/studio/src/components/top-bar.tsx +++ b/apps/studio/src/components/top-bar.tsx @@ -1,4 +1,3 @@ -import { sprintf } from '@wordpress/i18n'; import { Icon, help, drawerLeft, cog } from '@wordpress/icons'; import { useI18n } from '@wordpress/react-i18n'; import Button from 'src/components/button'; @@ -8,6 +7,7 @@ import { Tooltip } from 'src/components/tooltip'; import { WordPressLogo } from 'src/components/wordpress-logo'; import { useAuth } from 'src/hooks/use-auth'; import { useOffline } from 'src/hooks/use-offline'; +import { useSiteDetails } from 'src/hooks/use-site-details'; import { getIpcApi } from 'src/lib/get-ipc-api'; import { getLocalizedLink } from 'src/lib/get-localized-link'; import { useI18nLocale } from 'src/stores'; @@ -20,13 +20,14 @@ const DEFAULT_TOOLTIP_PLACEMENT = 'bottom-start'; function ToggleSidebar( { onToggleSidebar }: TopBarProps ) { const { __ } = useI18n(); return ( -
- - @@ -55,14 +56,14 @@ function OfflineIndicator() { className="h-6" placement={ DEFAULT_TOOLTIP_PLACEMENT } > - + +
) @@ -75,15 +76,16 @@ function Authentication() { const isOffline = useOffline(); if ( isAuthenticated ) { return ( - + + + ); } @@ -110,14 +112,35 @@ function Authentication() { function SettingsButton() { const { __ } = useI18n(); return ( - + + + + ); +} + +function WindowTitle() { + const { __ } = useI18n(); + const { selectedSite } = useSiteDetails(); + return ( +
+ + { __( 'Studio' ) } + { selectedSite && ( + <> + { '\u2022' } + { selectedSite.name } + + ) } + +
); } @@ -130,17 +153,24 @@ export default function TopBar( { onToggleSidebar }: TopBarProps ) { }; return ( -
+
+ +
- -