diff options
| author | Adam <[email protected]> | 2025-12-20 06:25:39 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-20 06:25:39 -0600 |
| commit | 354ac0b493f9e401f2f9375494f4bf58fa37b3d2 (patch) | |
| tree | a9807cd23f63945d80015af92dd36361a459916d | |
| parent | 1d159c68583cbc34028677e263c5795518049ca2 (diff) | |
| download | opencode-354ac0b493f9e401f2f9375494f4bf58fa37b3d2.tar.gz opencode-354ac0b493f9e401f2f9375494f4bf58fa37b3d2.zip | |
fix(desktop): sidebar UX issues
| -rw-r--r-- | packages/desktop/src/pages/layout.tsx | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/packages/desktop/src/pages/layout.tsx b/packages/desktop/src/pages/layout.tsx index d1458558f..ade510069 100644 --- a/packages/desktop/src/pages/layout.tsx +++ b/packages/desktop/src/pages/layout.tsx @@ -1,15 +1,4 @@ -import { - createEffect, - createMemo, - createSignal, - For, - Match, - onMount, - ParentProps, - Show, - Switch, - type JSX, -} from "solid-js" +import { createEffect, createMemo, For, Match, onMount, ParentProps, Show, Switch, type JSX } from "solid-js" import { DateTime } from "luxon" import { A, useNavigate, useParams } from "@solidjs/router" import { useLayout, getAvatarColors, LocalProject } from "@/context/layout" @@ -542,13 +531,21 @@ export default function Layout(props: ParentProps) { setProjectStore("limit", (limit) => limit + 5) await globalSync.project.loadSessions(props.project.worktree) } - const [expanded, setExpanded] = createSignal(true) + const handleOpenChange = (open: boolean) => { + if (open) layout.projects.expand(props.project.worktree) + else layout.projects.collapse(props.project.worktree) + } return ( // @ts-ignore <div use:sortable classList={{ "opacity-30": sortable.isActiveDraggable }}> <Switch> <Match when={layout.sidebar.opened()}> - <Collapsible variant="ghost" defaultOpen class="gap-2 shrink-0" onOpenChange={setExpanded}> + <Collapsible + variant="ghost" + open={props.project.expanded} + class="gap-2 shrink-0" + onOpenChange={handleOpenChange} + > <Button as={"div"} variant="ghost" @@ -559,7 +556,7 @@ export default function Layout(props: ParentProps) { project={props.project} class="group-hover/session:hidden" expandable - notify={!expanded()} + notify={!props.project.expanded} /> <span class="truncate text-14-medium text-text-strong">{name()}</span> </Collapsible.Trigger> |
