Skip to content

Commit

Permalink
[default-layout] Update Studio hints
Browse files Browse the repository at this point in the history
  • Loading branch information
mariuslundgard authored and rexxars committed Oct 6, 2020
1 parent dbad20d commit f4b54fb
Show file tree
Hide file tree
Showing 18 changed files with 168 additions and 212 deletions.
8 changes: 8 additions & 0 deletions packages/@sanity/base/sanity.json
Original file line number Diff line number Diff line change
Expand Up @@ -523,6 +523,14 @@
"implements": "part:@sanity/base/angle-up-icon",
"path": "components/icons/AngleUpIcon.js"
},
{
"name": "part:@sanity/base/help-circle-icon",
"description": "Used in help buttons"
},
{
"implements": "part:@sanity/base/help-circle-icon",
"path": "components/icons/HelpCircle"
},
{
"name": "part:@sanity/base/spinner-icon",
"description": "Used selects and dropdowns"
Expand Down
5 changes: 5 additions & 0 deletions packages/@sanity/default-layout/src/@types/parts.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,11 @@ declare module 'part:@sanity/base/cog-icon' {
export default CogIcon
}

declare module 'part:@sanity/base/help-circle-icon' {
const HelpIcon: React.ComponentType<{}>
export default HelpIcon
}

declare module 'part:@sanity/base/link-icon' {
const LinkIcon: React.ComponentType<{}>
export default LinkIcon
Expand Down
37 changes: 28 additions & 9 deletions packages/@sanity/default-layout/src/DefaultLayout.css
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,17 @@
display: none;
}

.mainArea {
flex: 1;
min-height: 0;
display: flex;

@nest .root.isOverlayVisible & {
overflow: hidden;
height: 100%;
}
}

.toolContainer {
position: relative;
height: 100%;
Expand All @@ -76,19 +87,27 @@

@media (--screen-medium) {
overflow: auto;
flex: 1;
min-width: 0;
}
}

.sideMenuContainer {
/* semantic class name */
}
.sidecarContainer {
position: relative;

.mainArea {
flex: 1;
min-height: 0;
@media (--max-screen-medium) {
display: none;
}

@nest .root.isOverlayVisible & {
overflow: hidden;
height: 100%;
@media (--screen-medium) {
width: 420px;

@nest &:empty {
display: none;
}
}
}

.sideMenuContainer {
/* semantic class name */
}
5 changes: 4 additions & 1 deletion packages/@sanity/default-layout/src/DefaultLayout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,10 @@ class DefaultLayout extends React.PureComponent<Props, State> {
<RenderTool tool={router.state.tool} />
</RouteScope>
</div>
<Sidecar />

<div className={styles.sidecarContainer}>
<Sidecar />
</div>
</div>

{createMenuIsOpen && (
Expand Down
29 changes: 8 additions & 21 deletions packages/@sanity/default-layout/src/addons/Sidecar.css
Original file line number Diff line number Diff line change
@@ -1,30 +1,17 @@
@import 'part:@sanity/base/theme/variables-style';

:root {
--nav-bar-box: 3.0625em; /* 49px */
}

.root {
display: none;
max-width: 0;
width: 100%;
min-height: calc(100vh - var(--nav-bar-box));
max-height: calc(100vh - var(--nav-bar-box));
transition: transform 500ms ease-in-out, max-width 500ms ease-in-out;
transform: translate3d(420px, 0, 0);
z-index: var(--zindex-pane);
@media (--screen-medium) {
position: fixed;
top: var(--nav-bar-box);
right: 0;
display: block;
height: calc(100vh - var(--nav-bar-box));
@media (--max-screen-medium) {
display: none;
}

@media (--screen-large) {
position: relative;
display: block;
@media (--screen-medium) {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: var(--zindex-pane);
}
}

Expand Down
2 changes: 1 addition & 1 deletion packages/@sanity/default-layout/src/addons/Sidecar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ class Sidecar extends React.PureComponent<{}, State> {
render() {
const {isOpen, isVisible} = this.state

if (!(isSidecarEnabled && isSidecarEnabled())) {
if (!isVisible || !(isSidecarEnabled && isSidecarEnabled())) {
return null
}

Expand Down
38 changes: 20 additions & 18 deletions packages/@sanity/default-layout/src/navbar/Navbar.css
Original file line number Diff line number Diff line change
Expand Up @@ -4,35 +4,35 @@
display: grid;
box-sizing: border-box;
/* prettier-ignore */
grid-template-areas: 'hamburger createButton branding sidecarStatus presence searchButton';
grid-template-areas: 'hamburger createButton branding helpButton presence searchButton';
/* prettier-ignore */
grid-template-columns: min-content min-content minmax(0, 1fr) min-content min-content min-content;
grid-template-columns: min-content min-content minmax(0, 1fr) min-content min-content min-content;

@media (--screen-medium) {
/* prettier-ignore */
grid-template-areas: 'hamburger branding createButton search presence sidecarStatus extras';
grid-template-areas: 'hamburger branding createButton search helpButton presence extras';
/* prettier-ignore */
grid-template-columns: max-content max-content min-content minmax(240px, 100%) max-content min-content max-content;
grid-template-columns: max-content max-content min-content minmax(240px, 100%) min-content max-content max-content;

@nest &.withToolSwitcher {
/* prettier-ignore */
grid-template-areas: 'branding datasetSelect createButton search toolSwitcher extras sanityStatus presence sidecarStatus loginStatus';
grid-template-areas: 'branding datasetSelect createButton search toolSwitcher extras sanityStatus helpButton presence loginStatus';
/* prettier-ignore */
grid-template-columns: max-content max-content min-content minmax(240px, 400px) auto max-content max-content max-content min-content min-content;
grid-template-columns: max-content max-content min-content minmax(240px, 400px) auto max-content max-content min-content max-content min-content;
}
}
}

.branding {
grid-area: branding;
padding: 4px;
padding: var(--extra-small-padding);
}

.brandingLink {
text-decoration: none;
color: inherit;
outline: none;
border-radius: 4px;
border-radius: var(--extra-small-padding);

@nest &:focus {
background-color: color(var(--focus-color) a(20%));
Expand All @@ -41,7 +41,7 @@

.hamburger {
grid-area: hamburger;
padding: 4px;
padding: var(--extra-small-padding);

@media (--screen-medium) {
@nest .withToolSwitcher & {
Expand All @@ -53,7 +53,8 @@
.datasetSelect {
display: none;
grid-area: datasetSelect;
font-size: calc(13 / 16 * 1em);
font-size: var(--font-size-small);
line-height: var(--line-height-small);
padding: var(--small-padding);
box-sizing: border-box;

Expand All @@ -67,7 +68,7 @@
.toolSwitcher {
display: none;
grid-area: toolSwitcher;
padding: 4px;
padding: var(--extra-small-padding);

@media (--screen-medium) {
@nest .withToolSwitcher & {
Expand All @@ -79,7 +80,7 @@
.sanityStatus {
grid-area: sanityStatus;
display: none;
padding: 4px;
padding: var(--extra-small-padding);

@media (--screen-medium) {
@nest .withToolSwitcher & {
Expand All @@ -90,13 +91,13 @@

.presenceStatus {
grid-area: presence;
padding: 4px;
padding: var(--extra-small-padding);
}

.loginStatus {
grid-area: loginStatus;
display: none;
padding: 4px;
padding: var(--extra-small-padding);

@media (--screen-medium) {
@nest .withToolSwitcher & {
Expand All @@ -105,8 +106,9 @@
}
}

.sidecarStatus {
grid-area: sidecarStatus;
.helpButton {
grid-area: helpButton;
padding: var(--extra-small-padding);
}

.extras {
Expand Down Expand Up @@ -149,7 +151,7 @@

.createButton {
grid-area: createButton;
padding: 4px;
padding: var(--extra-small-padding);
}

.createButtonInner {
Expand Down Expand Up @@ -188,7 +190,7 @@

.searchButton {
grid-area: searchButton;
padding: 4px;
padding: var(--extra-small-padding);

@media (--screen-medium) {
display: none;
Expand Down
10 changes: 5 additions & 5 deletions packages/@sanity/default-layout/src/navbar/Navbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -126,14 +126,14 @@ function Navbar(props: Props) {
<div className={styles.sanityStatus}>
<SanityStatusContainer />
</div>
<div className={styles.presenceStatus}>
<PresenceMenu />
</div>
{sidecar && sidecar.isSidecarEnabled && sidecar.isSidecarEnabled() && (
<div className={styles.sidecarStatus}>
{sidecar && sidecar.SidecarLayout && createElement(sidecar.SidecarLayout)}
<div className={styles.helpButton}>
{sidecar && createElement(sidecar.SidecarToggleButton)}
</div>
)}
<div className={styles.presenceStatus}>
<PresenceMenu />
</div>
<div className={styles.loginStatus} ref={onSetLoginStatusElement}>
<LoginStatus onLogout={onUserLogout} />
</div>
Expand Down
9 changes: 5 additions & 4 deletions packages/@sanity/studio-hints/src/components/HintCard.css
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@
padding: var(--medium-padding);
border-radius: var(--border-radius-medium);
border: 1px solid var(--hairline-color);
margin: var(--small-padding) 0;
cursor: pointer;
display: flex;
text-decoration: none;
color: inherit;
color: var(--main-navigation-color--inverted-muted);

@nest &:hover {
color: var(--main-navigation-color--inverted);
Expand All @@ -22,7 +21,7 @@
font-weight: var(--headings-font-weight);
align-items: center;
justify-content: space-between;
margin: 0;
margin: -2px 0 1px;
}

.externalIcon {
Expand All @@ -32,5 +31,7 @@
}

.cardSummary {
margin: 0;
margin: calc(var(--small-padding) - 3px) 0 -2px;
font-size: var(--font-size-small);
line-height: var(--line-height-small);
}
1 change: 1 addition & 0 deletions packages/@sanity/studio-hints/src/components/HintCard.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ function HintCard(props) {
<span className={styles.cardTitle}>{card.titleOverride || card.hint.title}</span>
<p className={styles.cardSummary}>{card.hint.description}</p>
</div>

<span className={styles.externalIcon}>
<LaunchIcon />
</span>
Expand Down
43 changes: 24 additions & 19 deletions packages/@sanity/studio-hints/src/components/HintsPackage.css
Original file line number Diff line number Diff line change
@@ -1,12 +1,29 @@
@import 'part:@sanity/base/theme/variables-style';

.root {
padding: var(--medium-padding);
position: relative;
display: flex;
flex-direction: column;
background: var(--main-navigation-color);
color: var(--main-navigation-color--inverted);
}

.header {
background: var(--main-navigation-color);
padding: var(--medium-padding);
border-bottom: 1px solid var(--hairline-color);
}

.content {
padding: var(--medium-padding);
flex: 1;
color: color(var(--main-navigation-color--inverted) a(70%));
min-height: 0;
overflow: auto;
padding: var(--large-padding) var(--medium-padding);

@nest & > div + div {
margin-top: var(--extra-large-padding);
}
}

.withError {
Expand Down Expand Up @@ -43,23 +60,11 @@
}

.footer {
position: fixed;
left: 0;
right: 0;
bottom: 0;
max-width: 100%;
padding: 0 var(--medium-padding);
padding: calc(var(--medium-padding) - var(--extra-small-padding)) var(--medium-padding);
background: var(--main-navigation-color);
}
border-top: 1px solid var(--hairline-color);

.removeHintsLink {
display: flex;
align-items: center;
justify-content: center;
background: var(--brand-primary);
color: var(--brand-primary--inverted);
border-radius: var(--border-radius-medium);
text-decoration: none;
min-height: calc(var(--font-size-large) * 2.2);
margin: var(--small-padding) 0;
@nest & > a {
width: 100%;
}
}

0 comments on commit f4b54fb

Please sign in to comment.