Skip to content

Commit eee69eb

Browse files
authored
fix(layout): sidebar height on mobile (#84)
1 parent 358379f commit eee69eb

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

src/components/layout/index.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
transition: var(--jdd-sidebar-transition);
4747
z-index: 50;
4848
max-width: 90vw;
49+
height: 100dvh;
4950
}
5051

5152
.layout-sidebar:first-child {

src/components/layout/index.tsx

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { WindowEventListener } from "@solid-primitives/event-listener";
22
import { createBreakpoints } from "@solid-primitives/media";
33
import { combineProps } from "@solid-primitives/props";
44
import { Show, createEffect, createSignal } from "solid-js";
5+
import { isServer } from "solid-js/web";
56
import { IntrinsicComponentProps } from "../types";
67
import { processProps } from "../utilities";
78
import LayoutContent from "./content";
@@ -57,6 +58,7 @@ function InnerLayout(props: LayoutProps) {
5758
const [sidebarTransition, setSidebarTransition] = createSignal(false);
5859

5960
createEffect(() => {
61+
if (isServer) return;
6062
setSidebarTransition(true);
6163

6264
setTimeout(() => {
@@ -88,7 +90,7 @@ function InnerLayout(props: LayoutProps) {
8890
? "transform 0.3s var(--jdd-transition-function), opacity 0.3s var(--jdd-transition-function)"
8991
: "",
9092
get "--jdd-layout-backdrop-opacity"() {
91-
if (leftSidebarOpen() || rightSidebarOpen()) {
93+
if (isServer || leftSidebarOpen() || rightSidebarOpen()) {
9294
return "";
9395
}
9496

@@ -140,13 +142,19 @@ function InnerLayout(props: LayoutProps) {
140142

141143
let swipeDirection: "left" | "right" | undefined;
142144

143-
// Left swipe
144-
if (swipeStart().x < local.swipeDistanceFromSides) {
145+
// Swipe from left to right
146+
if (
147+
getSidebarLeft() !== undefined &&
148+
swipeStart().x < local.swipeDistanceFromSides
149+
) {
145150
swipeDirection = "right";
146151
}
147152

148-
// Right swipe
149-
if (window.innerWidth - swipeStart().x < local.swipeDistanceFromSides) {
153+
// Swipe from right to left
154+
if (
155+
getSidebarRight() !== undefined &&
156+
window.innerWidth - swipeStart().x < local.swipeDistanceFromSides
157+
) {
150158
swipeDirection = "left";
151159
}
152160

src/components/sidenav/index.scss

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,11 @@
4646
color: var(--jdd-blue-6);
4747
}
4848

49-
&:hover:not(:disabled):not([aria-disabled]) {
50-
background: var(--jdd-blue-6);
51-
color: var(--jdd-gray-1);
49+
&:not(:disabled):not([aria-disabled]) {
50+
&:hover, &:focus-visible {
51+
background: var(--jdd-blue-6);
52+
color: var(--jdd-gray-1);
53+
}
5254
}
5355

5456
> svg, span > svg {

0 commit comments

Comments
 (0)