Skip to content

Commit

Permalink
Site Editor Hub: Simplify
Browse files Browse the repository at this point in the history
  • Loading branch information
youknowriad committed May 10, 2024
1 parent b2f8c25 commit 94b07ce
Show file tree
Hide file tree
Showing 8 changed files with 71 additions and 269 deletions.
2 changes: 0 additions & 2 deletions packages/base-styles/_z-index.scss
Original file line number Diff line number Diff line change
Expand Up @@ -191,8 +191,6 @@ $z-layers: (
".customize-widgets__block-toolbar": 7,

// Site editor layout
".edit-site-layout__header-container": 4,
".edit-site-layout__hub": 3,
".edit-site-page-header": 2,
".edit-site-page-content": 1,
".edit-site-patterns__header": 2,
Expand Down
11 changes: 10 additions & 1 deletion packages/edit-site/src/components/header-edit-mode/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@
* WordPress dependencies
*/
import { privateApis as editorPrivateApis } from '@wordpress/editor';
import { useSelect } from '@wordpress/data';
import { useSelect, useDispatch } from '@wordpress/data';
import { Button } from '@wordpress/components';

/**
* Internal dependencies
*/
import SiteEditorMoreMenu from './more-menu';
import SiteIcon from '../site-icon';
import { unlock } from '../../lock-unlock';
import SaveButton from '../save-button';
import { isPreviewingTheme } from '../../utils/is-previewing-theme';
Expand All @@ -29,6 +31,7 @@ function Header( { setEntitiesSavedStatesCallback } ) {
).getEditorCanvasContainerView(),
};
}, [] );
const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );

return (
<EditorHeader
Expand All @@ -43,6 +46,12 @@ function Header( { setEntitiesSavedStatesCallback } ) {
: undefined
}
>
<Button
className="edit-site-layout__view-mode-toggle"
onClick={ () => setCanvasMode( 'view' ) }
>
<SiteIcon className="edit-site-layout__view-mode-toggle-icon" />
</Button>
<SiteEditorMoreMenu />
</EditorHeader>
);
Expand Down
3 changes: 0 additions & 3 deletions packages/edit-site/src/components/header-edit-mode/style.scss

This file was deleted.

61 changes: 5 additions & 56 deletions packages/edit-site/src/components/layout/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,27 +122,6 @@ export default function Layout() {
triggerAnimationOnChange: canvasMode + '__' + routeKey,
} );

// This determines which animation variant should apply to the header.
// There is also a `isDistractionFreeHovering` state that gets priority
// when hovering the `edit-site-layout__header-container` in distraction
// free mode. It's set via framer and trickles down to all the children
// so they can use this variant state too.
//
// TODO: The issue with this is we want to have the hover state stick when hovering
// a popover opened via the header. We'll probably need to lift this state to
// handle it ourselves. Also, focusWithin the header needs to be handled.
let headerAnimationState;

if ( canvasMode === 'view' ) {
// We need 'view' to always take priority so 'isDistractionFree'
// doesn't bleed over into the view (sidebar) state
headerAnimationState = 'view';
} else if ( isDistractionFree ) {
headerAnimationState = 'isDistractionFree';
} else {
headerAnimationState = canvasMode; // edit, view, init
}

// Sets the right context for the command palette
let commandContext = 'site-editor';

Expand Down Expand Up @@ -189,41 +168,6 @@ export default function Layout() {
}
) }
>
<motion.div
className="edit-site-layout__header-container"
variants={ {
isDistractionFree: {
opacity: 0,
transition: {
type: 'tween',
delay: 0.8,
delayChildren: 0.8,
}, // How long to wait before the header exits
},
isDistractionFreeHovering: {
opacity: 1,
transition: {
type: 'tween',
delay: 0.2,
delayChildren: 0.2,
}, // How long to wait before the header shows
},
view: { opacity: 1 },
edit: { opacity: 1 },
} }
whileHover={
isDistractionFree
? 'isDistractionFreeHovering'
: undefined
}
animate={ headerAnimationState }
>
<SiteHub
isTransparent={ isResizableFrameOversized }
className="edit-site-layout__hub"
/>
</motion.div>

<div className="edit-site-layout__content">
{ /*
The NavigableRegion must always be rendered and not use
Expand Down Expand Up @@ -252,6 +196,11 @@ export default function Layout() {
} }
className="edit-site-layout__sidebar"
>
<SiteHub
isTransparent={
isResizableFrameOversized
}
/>
<SidebarContent routeKey={ routeKey }>
{ areas.sidebar }
</SidebarContent>
Expand Down
58 changes: 0 additions & 58 deletions packages/edit-site/src/components/layout/style.scss
Original file line number Diff line number Diff line change
Expand Up @@ -6,37 +6,6 @@
flex-direction: column;
}

.edit-site-layout__hub {
position: fixed;
top: 0;
left: 0;
width: calc(100vw - #{$canvas-padding * 2});
height: $header-height;
z-index: z-index(".edit-site-layout__hub");

@include break-medium {
width: calc(#{$nav-sidebar-width} - #{$grid-unit-15});
}

.edit-site-layout.is-full-canvas & {
padding-right: 0;
border-radius: 0;
width: $header-height;
box-shadow: none;
}
}

.edit-site-layout__header-container:has(+ .edit-site-layout__content > .edit-site-layout__mobile>.edit-site-page) {
margin-bottom: $header-height;
@include break-medium {
margin-bottom: 0;
}
}

.edit-site-layout__header-container {
z-index: z-index(".edit-site-layout__header-container");
}

.edit-site-layout__content {
height: 100%;
flex-grow: 1;
Expand Down Expand Up @@ -244,33 +213,6 @@
}
}

.edit-site-layout.is-distraction-free {
.edit-site-layout__header-container {
height: $header-height;
position: absolute;
top: 0;
left: 0;
right: 0;
z-index: z-index(".edit-site-layout__header-container");
width: 100%;

// We need ! important because we override inline styles
// set by the motion component.
&:focus-within {
opacity: 1 !important;
div {
transform: translateX(0) translateY(0) translateZ(0) !important;
}
}
}

.edit-site-site-hub {
position: absolute;
top: 0;
z-index: z-index(".edit-site-layout__hub");
}
}

.edit-site-layout__area {
flex-grow: 1;
margin: 0;
Expand Down
Loading

0 comments on commit 94b07ce

Please sign in to comment.