Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
a6cf276
feat(web): introduce unified AppSidebar and retire legacy nav surfaces
zeval May 27, 2026
614c900
test(web): point workflow-filter e2e at AppSidebar's Home link
zeval May 27, 2026
2e24f2b
feat(web): wire app-sidebar primary controls, nested settings, and fo…
zeval May 27, 2026
923b06e
feat(web): make app-sidebar resizable and inline task top bar actions
zeval May 27, 2026
6604215
feat(web): polish app-sidebar headers and consolidate task views
zeval May 28, 2026
b1ac2d0
feat(web): move settings group chevrons to the right
zeval May 28, 2026
8ed3cce
fix(web): drop chat from home topbar; calm tasks group headers
zeval May 28, 2026
77d5a2e
fix(web): restore agent logos on settings tree profile leaves
zeval May 28, 2026
dc1a5da
feat(web): brand the sidebar, move New Task off the kanban top bar
zeval May 28, 2026
83f0359
feat(web): unbind sidebar toggle by default; drop Home from breadcrumbs
zeval May 28, 2026
b456756
feat(web): move New Task into the sidebar, retire the workspace selector
zeval May 28, 2026
9dc94e8
feat(web): sidebar settings mode, subtask shortcut, accordion setting…
zeval May 28, 2026
945fc74
test(web): restore create-task e2e flow after New Task moved to sidebar
zeval May 29, 2026
53853bb
fix(web): sidebar task navigation, settings-mode close + transitions
zeval May 29, 2026
4af3df1
fix(web): clear sidebar task highlight when off the task route
zeval May 29, 2026
b629de9
fix(web): never build the dockview default layout at zero width
zeval May 29, 2026
e80aee4
fix(web): keep the default layout horizontal when swapping chat for t…
zeval May 29, 2026
ce83f68
fix(web): remove the sidebar Settings section; settings is gear-only
zeval May 29, 2026
3046b59
fix(web): show office sidebar sections only while inside Office
zeval May 30, 2026
465a986
fix(web): drop the colorful workspace selector, restore the minimal one
zeval May 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions apps/web/app/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -1459,3 +1459,54 @@
.animate-queue-close {
animation: queue-panel-close 180ms cubic-bezier(0.32, 0.72, 0, 1);
}

/* Unified AppSidebar — header/text content fades in when the rail expands
* from its collapsed (icon-only) state. */
@keyframes app-sidebar-fade-in {
from {
opacity: 0;
transform: translateX(-4px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.sidebar-fade-in {
animation: app-sidebar-fade-in 200ms ease-out;
}

/* AppSidebar section expand/collapse — a quick height animation that pushes
* sibling sections, replacing the old opacity fade. Driven by the Radix
* Collapsible `data-state` + content-height CSS var. */
@keyframes sidebar-section-expand {
from {
height: 0;
}
to {
height: var(--radix-collapsible-content-height);
}
}
@keyframes sidebar-section-collapse {
from {
height: var(--radix-collapsible-content-height);
}
to {
height: 0;
}
}
.sidebar-section-content {
overflow: hidden;
}
.sidebar-section-content[data-state="open"] {
animation: sidebar-section-expand 180ms cubic-bezier(0.32, 0.72, 0, 1);
}
.sidebar-section-content[data-state="closed"] {
animation: sidebar-section-collapse 160ms cubic-bezier(0.32, 0.72, 0, 1);
}
@media (prefers-reduced-motion: reduce) {
.sidebar-section-content[data-state="open"],
.sidebar-section-content[data-state="closed"] {
animation: none;
}
}
8 changes: 7 additions & 1 deletion apps/web/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import { CommandPanel } from "@/components/command-panel";
import { GlobalCommands } from "@/components/global-commands";
import { RecentTaskSwitcher } from "@/components/task/recent-task-switcher";
import { DiffWorkerPoolProvider } from "@/components/diff-worker-pool-provider";
import { AppSidebar } from "@/components/app-sidebar/app-sidebar";
import { QuickChatProvider } from "@/components/quick-chat/quick-chat-provider";
import { ConfigChatProvider } from "@/components/config-chat/config-chat-provider";
import { SessionFailureToastBridge } from "@/components/session-failure-toast-bridge";
Expand Down Expand Up @@ -81,7 +82,12 @@ export default async function RootLayout({
<CommandPanel />
<RecentTaskSwitcher />
<ConfigChatProvider>
<QuickChatProvider>{children}</QuickChatProvider>
<QuickChatProvider>
<div className="flex h-screen min-h-0 w-full overflow-hidden">
<AppSidebar />
<div className="flex-1 min-w-0 min-h-0 flex flex-col">{children}</div>
</div>
</QuickChatProvider>
</ConfigChatProvider>
</CommandRegistryProvider>
</ToastProvider>
Expand Down
138 changes: 0 additions & 138 deletions apps/web/app/office/components/office-sidebar.tsx

This file was deleted.

60 changes: 0 additions & 60 deletions apps/web/app/office/components/sidebar-collapsible-section.tsx

This file was deleted.

40 changes: 0 additions & 40 deletions apps/web/app/office/components/sidebar-nav-item.test.tsx

This file was deleted.

69 changes: 0 additions & 69 deletions apps/web/app/office/components/sidebar-nav-item.tsx

This file was deleted.

Loading