From 6e419f815da341bc75eb6b6d4b0f94cef8130483 Mon Sep 17 00:00:00 2001 From: Developer Date: Tue, 16 Jun 2026 15:27:45 +0000 Subject: [PATCH] feat(web/ui): consolidate dialogs, cards, and breakpoints (Pass 3) - Unify modal/dialog system; .modal-* are now aliases of .dialog-* - Migrate WorkspacesPage, start-tool-modal, merge-dialog, workspace-tools-panel to .dialog-* - Add .card-sm/.card-md/.card-lg/.card-elevated/.card-borderless modifiers - Apply card utilities across workspaces, projects, ssh-keys, workspace-detail, git-history - Remove duplicated card-like background/border/padding from page CSS - Remove 860px breakpoint; standardize on 767px/768px mobile split - Add docs/development/ui-review-checklist.md - Archive web-ui-spacing-typography-rework OpenSpec change --- .../components/features/git/merge-dialog.tsx | 12 +- .../features/project/ProjectCard.tsx | 2 +- .../features/tool/instance-list.tsx | 2 +- .../features/tool/start-tool-modal.tsx | 10 +- .../workspace/workspace-file-panel.tsx | 6 +- .../workspace/workspace-git-panel.tsx | 2 +- .../workspace/workspace-settings-panel.tsx | 2 +- .../workspace/workspace-tools-panel.tsx | 6 +- apps/web/src/pages/GitHistoryPage.tsx | 4 +- apps/web/src/pages/WorkspacesPage.tsx | 8 +- apps/web/src/styles/global.css | 265 ++++++------- apps/web/src/styles/pages/git-history.css | 30 +- apps/web/src/styles/pages/projects.css | 16 +- apps/web/src/styles/pages/ssh-keys.css | 3 +- .../web/src/styles/pages/workspace-detail.css | 52 ++- apps/web/src/styles/pages/workspaces.css | 26 +- docs/development/ui-review-checklist.md | 14 + .../web-ui-spacing-typography-rework.md | 0 .../web-ui-spacing-typography-rework-pass2.md | 0 .../web-ui-spacing-typography-rework-pass3.md | 375 ++++++++++++++++++ .../specs/web-ui-spacing-typography-rework.md | 0 .../web-ui-spacing-typography-rework-pass2.md | 0 .../web-ui-spacing-typography-rework-pass3.md | 84 ++++ .../tasks/web-ui-spacing-typography-rework.md | 0 ui-rework-foundations-apply.md | 35 ++ 25 files changed, 752 insertions(+), 202 deletions(-) create mode 100644 docs/development/ui-review-checklist.md rename openspec/{ => changes/archive/web-ui-spacing-typography-rework}/proposals/web-ui-spacing-typography-rework.md (100%) rename openspec/{ => changes/archive/web-ui-spacing-typography-rework}/specs/web-ui-spacing-typography-rework-pass2.md (100%) create mode 100644 openspec/changes/archive/web-ui-spacing-typography-rework/specs/web-ui-spacing-typography-rework-pass3.md rename openspec/{ => changes/archive/web-ui-spacing-typography-rework}/specs/web-ui-spacing-typography-rework.md (100%) rename openspec/{ => changes/archive/web-ui-spacing-typography-rework}/tasks/web-ui-spacing-typography-rework-pass2.md (100%) create mode 100644 openspec/changes/archive/web-ui-spacing-typography-rework/tasks/web-ui-spacing-typography-rework-pass3.md rename openspec/{ => changes/archive/web-ui-spacing-typography-rework}/tasks/web-ui-spacing-typography-rework.md (100%) create mode 100644 ui-rework-foundations-apply.md diff --git a/apps/web/src/components/features/git/merge-dialog.tsx b/apps/web/src/components/features/git/merge-dialog.tsx index bdfdc64..62fef42 100644 --- a/apps/web/src/components/features/git/merge-dialog.tsx +++ b/apps/web/src/components/features/git/merge-dialog.tsx @@ -61,11 +61,13 @@ export const MergeDialog = ({ }; return ( -
-
e.stopPropagation()}> -

Merge Branch

+
+
e.stopPropagation()}> +
+

Merge Branch

+
-
+
{error &&

{error}

} -
+
-
+
{selectedPath ? ( <>
diff --git a/apps/web/src/components/features/workspace/workspace-git-panel.tsx b/apps/web/src/components/features/workspace/workspace-git-panel.tsx index 5d0429f..3f91010 100644 --- a/apps/web/src/components/features/workspace/workspace-git-panel.tsx +++ b/apps/web/src/components/features/workspace/workspace-git-panel.tsx @@ -28,7 +28,7 @@ export function WorkspaceGitPanel({ workspaceId }: WorkspaceGitPanelProps) { {error &&

{error}

}
{history.map((commit) => ( -
+
{commit.hash.slice(0, 7)} {commit.message} {commit.author} diff --git a/apps/web/src/components/features/workspace/workspace-settings-panel.tsx b/apps/web/src/components/features/workspace/workspace-settings-panel.tsx index f55b6c1..fe35a8a 100644 --- a/apps/web/src/components/features/workspace/workspace-settings-panel.tsx +++ b/apps/web/src/components/features/workspace/workspace-settings-panel.tsx @@ -11,7 +11,7 @@ export function WorkspaceSettingsPanel({ }: WorkspaceSettingsPanelProps) { return (
-
+

Workspace Info

diff --git a/apps/web/src/components/features/workspace/workspace-tools-panel.tsx b/apps/web/src/components/features/workspace/workspace-tools-panel.tsx index 1c6e9f3..9af6817 100644 --- a/apps/web/src/components/features/workspace/workspace-tools-panel.tsx +++ b/apps/web/src/components/features/workspace/workspace-tools-panel.tsx @@ -18,7 +18,7 @@ export function WorkspaceToolsPanel({ workspace }: WorkspaceToolsPanelProps) {
{loading &&

Loading instances...

} {instances.length === 0 ? ( -
+

No tools running

Start a tool to begin coding in this workspace

@@ -62,8 +62,8 @@ export function WorkspaceToolsPanel({ workspace }: WorkspaceToolsPanelProps) { )} {showModal && ( -
setShowModal(false)}> -
e.stopPropagation()}> +
setShowModal(false)}> +
e.stopPropagation()}>

Start Tool

{ {commits.map((commit) => (
void handleCommitClick(commit.hash)} role="button" tabIndex={0} @@ -146,7 +146,7 @@ export const GitHistoryPage = () => {
{selectedCommit && ( -
+

Commit Details