From 9401029b1dda6f39823221f3424bbc878a00ad72 Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Sat, 7 Feb 2026 14:21:50 -0500 Subject: [PATCH] fix(app): move workspace New session into header (#12624) --- .../src/pages/layout/sidebar-workspace.tsx | 37 +++++++++++++++---- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/packages/app/src/pages/layout/sidebar-workspace.tsx b/packages/app/src/pages/layout/sidebar-workspace.tsx index 11bad84b0..44f4b3530 100644 --- a/packages/app/src/pages/layout/sidebar-workspace.tsx +++ b/packages/app/src/pages/layout/sidebar-workspace.tsx @@ -1,3 +1,4 @@ +import { useNavigate, useParams } from "@solidjs/router" import { createEffect, createMemo, For, Show, type Accessor, type JSX } from "solid-js" import { createStore } from "solid-js/store" import { createSortable } from "@thisbeyond/solid-dnd" @@ -86,6 +87,8 @@ export const SortableWorkspace = (props: { project: LocalProject mobile?: boolean }): JSX.Element => { + const navigate = useNavigate() + const params = useParams() const globalSync = useGlobalSync() const language = useLanguage() const sortable = createSortable(props.directory) @@ -111,6 +114,7 @@ export const SortableWorkspace = (props: { const busy = createMemo(() => props.ctx.isBusy(props.directory)) const wasBusy = createMemo((prev) => prev || busy(), false) const loading = createMemo(() => open() && !booted() && sessions().length === 0 && !wasBusy()) + const showNew = createMemo(() => !loading() && (sessions().length === 0 || (active() && !params.id))) const loadMore = async () => { setWorkspaceStore("limit", (limit) => limit + 5) await globalSync.project.loadSessions(props.directory) @@ -260,6 +264,23 @@ export const SortableWorkspace = (props: { + + { + event.preventDefault() + event.stopPropagation() + props.ctx.setHoverSession(undefined) + props.ctx.clearHoverProjectSoon() + navigate(`/${slug()}/session`) + }} + /> + @@ -267,13 +288,15 @@ export const SortableWorkspace = (props: {