discourse/app/assets/stylesheets/mobile/menu-panel.scss

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

116 lines
2.3 KiB
SCSS
Raw Normal View History

.hamburger-panel .menu-panel.slide-in {
left: 0;
.panel-body {
display: block;
}
.panel-body-contents {
max-height: unset;
}
}
.header-cloak {
height: 100%;
width: 100%;
position: fixed;
background-color: black;
--opacity: 0.5;
opacity: var(--opacity);
top: 0;
left: 0;
display: none;
touch-action: pan-y pinch-zoom;
@media (prefers-reduced-motion: no-preference) {
&.animate {
transition: opacity 0.1s linear;
}
}
}
.menu-panel.slide-in {
transform: translateX(var(--offset));
@media (prefers-reduced-motion: no-preference) {
&.animate {
transition: transform 0.1s linear;
}
}
&.moving,
&.animate {
// PERF: only render first 20 items in a list to allow for smooth
// pan events
li:nth-child(n + 20) {
display: none;
}
}
}
.user-menu .quick-access-panel.quick-access-profile li:not(.show-all) {
border-bottom: 1px solid var(--primary-low);
a,
button {
// accounts for menu "ears" 4px + border 1px
padding: 0.75em calc(0.5em + 4px + 1px);
margin: 0.25em;
@media screen and (max-height: 500px) {
// reduce padding to avoid scroll
padding-top: 0.25em;
padding-bottom: 0.25em;
}
}
}
.panel-body-contents {
// 2em padding very useful for iOS Safari's overlayed bottom nav
// padding-bottom: calc(env(safe-area-inset-bottom) + 2em);
.user-menu.revamped & {
height: 100%;
}
}
.hamburger-panel .revamped {
--d-sidebar-row-horizontal-padding: 1rem;
--d-sidebar-highlight-color: var(--primary-low);
box-sizing: border-box;
padding: 0;
.panel-body-contents {
.sidebar-hamburger-dropdown {
display: flex;
flex-direction: column;
}
}
.sidebar-row {
padding: 1.2rem var(--d-sidebar-row-horizontal-padding);
height: 27px;
align-items: center;
font-size: var(--font-0);
}
.sidebar-section-wrapper {
margin-bottom: 0.5em;
}
.sidebar-footer-wrapper {
margin-top: 0;
}
.sidebar-footer-container {
&:before {
background: linear-gradient(
to bottom,
rgba(var(--primary-very-low-rgb), 0),
rgba(var(--primary-very-low-rgb), 1)
);
}
}
.sidebar-sections {
display: flex;
flex-direction: column;
box-sizing: border-box;
}
}