|
1 | | -import { createEffect, on, Show, Suspense, type ParentProps } from "solid-js" |
| 1 | +import { Show, Suspense, type ParentProps } from "solid-js" |
2 | 2 | import { createStore } from "solid-js/store" |
3 | 3 | import { createMediaQuery } from "@solid-primitives/media" |
4 | 4 | import { ResizeHandle } from "@opencode/ui/resize-handle" |
@@ -26,26 +26,13 @@ export default function Layout(props: ParentProps) { |
26 | 26 | const [state, setState] = createStore<{ |
27 | 27 | tabsWidth: number |
28 | 28 | tabsMount: HTMLElement | undefined |
29 | | - tabsAnimating: boolean |
30 | 29 | }>({ |
31 | 30 | tabsWidth: 260, |
32 | 31 | tabsMount: undefined, |
33 | | - tabsAnimating: false, |
34 | 32 | }) |
35 | 33 |
|
36 | 34 | const verticalTabs = () => preferences.appearance.tabLayout() === "vertical" && !mobile() |
37 | 35 |
|
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 | | - |
49 | 36 | command.register("sidebar", () => |
50 | 37 | verticalTabs() |
51 | 38 | ? [ |
@@ -87,19 +74,9 @@ export default function Layout(props: ParentProps) { |
87 | 74 | id="vertical-tabs-sidebar" |
88 | 75 | data-slot="vertical-tabs-sidebar" |
89 | 76 | 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" |
95 | 78 | style={{ width: preferences.appearance.sidebarOpen() ? `${state.tabsWidth}px` : "0px" }} |
96 | 79 | 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 | | - }} |
103 | 80 | > |
104 | 81 | <div class="absolute inset-0 overflow-hidden"> |
105 | 82 | <div |
|
0 commit comments