Skip to content

Commit 2ab1940

Browse files
committed
fix(app): remove sidebar slide animation
1 parent 1da3604 commit 2ab1940

2 files changed

Lines changed: 6 additions & 30 deletions

File tree

‎packages/app/src/shell/shell.tsx‎

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { createEffect, on, Show, Suspense, type ParentProps } from "solid-js"
1+
import { Show, Suspense, type ParentProps } from "solid-js"
22
import { createStore } from "solid-js/store"
33
import { createMediaQuery } from "@solid-primitives/media"
44
import { ResizeHandle } from "@opencode/ui/resize-handle"
@@ -26,26 +26,13 @@ export default function Layout(props: ParentProps) {
2626
const [state, setState] = createStore<{
2727
tabsWidth: number
2828
tabsMount: HTMLElement | undefined
29-
tabsAnimating: boolean
3029
}>({
3130
tabsWidth: 260,
3231
tabsMount: undefined,
33-
tabsAnimating: false,
3432
})
3533

3634
const verticalTabs = () => preferences.appearance.tabLayout() === "vertical" && !mobile()
3735

38-
// Animate only open/close; resize drags must track the pointer.
39-
createEffect(
40-
on(
41-
preferences.appearance.sidebarOpen,
42-
() => {
43-
if (verticalTabs()) setState("tabsAnimating", true)
44-
},
45-
{ defer: true },
46-
),
47-
)
48-
4936
command.register("sidebar", () =>
5037
verticalTabs()
5138
? [
@@ -87,19 +74,9 @@ export default function Layout(props: ParentProps) {
8774
id="vertical-tabs-sidebar"
8875
data-slot="vertical-tabs-sidebar"
8976
data-state={preferences.appearance.sidebarOpen() ? "open" : "closed"}
90-
classList={{
91-
"relative h-full min-h-0 shrink-0": true,
92-
"transition-[width] duration-[240ms] ease-[cubic-bezier(0.4,0,0.2,1)] motion-reduce:transition-none":
93-
state.tabsAnimating,
94-
}}
77+
class="relative h-full min-h-0 shrink-0"
9578
style={{ width: preferences.appearance.sidebarOpen() ? `${state.tabsWidth}px` : "0px" }}
9679
inert={!preferences.appearance.sidebarOpen()}
97-
onTransitionEnd={(event) => {
98-
if (event.target === event.currentTarget) setState("tabsAnimating", false)
99-
}}
100-
onTransitionCancel={(event) => {
101-
if (event.target === event.currentTarget) setState("tabsAnimating", false)
102-
}}
10380
>
10481
<div class="absolute inset-0 overflow-hidden">
10582
<div

‎packages/app/src/shell/sidebar-toggle.tsx‎

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,10 @@ function useCollapsedSlot() {
7171
}
7272
}
7373

74-
const slotClass =
75-
"flex shrink-0 justify-end overflow-hidden transition-[width] duration-[240ms] ease-[cubic-bezier(0.4,0,0.2,1)] motion-reduce:transition-none"
74+
const slotClass = "flex shrink-0 justify-end overflow-hidden"
7675

77-
// Floats over the top of every screen, centered on the session header's 48px row. Slides in from the content's start
78-
// edge as the sidebar closes.
76+
// Floats over the top of every screen, centered on the session header's 48px row. Appears at the content's start edge
77+
// when the sidebar closes.
7978
export function CollapsedSidebarToggle() {
8079
const slot = useCollapsedSlot()
8180

@@ -94,7 +93,7 @@ export function CollapsedSidebarToggle() {
9493
)
9594
}
9695

97-
// Reserves the floating toggle's room in a header, pushing its contents along as the toggle slides in. `start` is where
96+
// Reserves the floating toggle's room in a header, pushing its contents along while the toggle is shown. `start` is where
9897
// the space begins, in pixels from the content area's start edge, so every header's contents line up after the toggle.
9998
export function CollapsedSidebarToggleSpace(props: { start?: number; class?: string }) {
10099
const slot = useCollapsedSlot()

0 commit comments

Comments
 (0)