improvement: landing, sidebar, globals, buttons#3590
Conversation
PR SummaryMedium Risk Overview Reworks the hero “workspace preview” into a two-view experience: a new Standardizes UI theming by updating the brand tertiary green to Written by Cursor Bugbot for commit dc98812. Configure here. |
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Hero CTA links to non-existent
/enterpriseroute- Reverted the hero CTA href from /enterprise to /login, restoring the working route that existed before the breaking change.
Or push these changes by commenting:
@cursor push 9f56602c98
Preview (9f56602c98)
diff --git a/apps/sim/app/(home)/components/hero/hero.tsx b/apps/sim/app/(home)/components/hero/hero.tsx
--- a/apps/sim/app/(home)/components/hero/hero.tsx
+++ b/apps/sim/app/(home)/components/hero/hero.tsx
@@ -71,11 +71,11 @@
<div className='mt-[12px] flex items-center gap-[8px]'>
<Link
- href='/enterprise'
+ href='/login'
className={`${CTA_BASE} border-[#3d3d3d] text-[#ECECEC] transition-colors hover:bg-[#2A2A2A]`}
- aria-label='Get a demo'
+ aria-label='Log in'
>
- Get a demo
+ Log in
</Link>
<Link
href='/signup'This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.
| aria-label='Get a demo' | ||
| > | ||
| Log in | ||
| Get a demo |
There was a problem hiding this comment.
Hero CTA links to non-existent /enterprise route
High Severity
The hero "Get a demo" button's href was changed from /login (a valid route) to /enterprise, which does not appear to have a corresponding page route. The Enterprise component in enterprise.tsx returns null (it's a stub), there is no enterprise/page.tsx in any route group, and no middleware or next.config rewrite handles this path. This prominent landing-page CTA will likely navigate users to a 404 page.
Greptile SummaryThis PR is a broad UI improvement pass touching 82 files across the landing page, workspace sidebar, modal components, button/button-group design tokens, and the database schema. The primary goals are: refreshing the landing page hero/CTA styling (white buttons replacing the green brand color on the public site), standardising Key observations:
Confidence Score: 3/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[WorkspaceRootLayout\nworkspace/layout.tsx] -->|wraps all children with\ntracking-0.02em div| B[All Workspace Pages]
C[Button CVA\nbutton.tsx] -->|primary variant\nbg-#1D1D1D / dark:bg-white| D[~60 modal & sidebar consumers\nvariants changed tertiary → primary]
C -->|tertiary variant\nbg-brand-tertiary-2 / hover-#2DAC72| D
E[ButtonGroup CVA\nbutton-group.tsx] -->|active variant\nbg-#1D1D1D / dark:bg-white| F[ButtonGroup consumers]
G[globals.css] -->|--brand-tertiary-2: #33C482| H[Design Token Consumers]
G -->|sidebar-collapse-guard keyframe| I[.sidebar-container data-collapsed]
J[schema.ts\ncolor default #33C482] -->|matched by| K[Migration 0176\nALTER TABLE workspace\nSET DEFAULT #33C482]
J -->|matched by| L[emails/base.ts\nbrandTertiary #33C482]
Last reviewed commit: 01c3745 |
...p/(home)/components/landing-preview/components/landing-preview-home/landing-preview-home.tsx
Show resolved
Hide resolved
...p/(home)/components/landing-preview/components/landing-preview-home/landing-preview-home.tsx
Show resolved
Hide resolved
apps/sim/app/workspace/[workspaceId]/w/components/sidebar/sidebar.tsx
Outdated
Show resolved
Hide resolved
d9d5e60 to
fbdae9e
Compare
|
@greptile |
apps/sim/app/workspace/layout.tsx
Outdated
| return ( | ||
| <SocketProvider user={user}> | ||
| <div className='tracking-[0.02em]'>{children}</div> |
There was a problem hiding this comment.
Global letter-spacing via wrapper div
letter-spacing is an inherited CSS property, so adding tracking-[0.02em] to this wrapper div propagates to every descendant in the workspace — including monospace code editors, password inputs, inline code snippets, and any other element that relies on the browser's default tracking. Elements that don't explicitly set their own tracking-* class will silently inherit this value.
A more targeted and conventional approach is to declare this on the <body> (or a relevant root container) in globals.css:
body {
letter-spacing: 0.02em;
}…or, if it should only apply to the workspace, use a dedicated CSS class scoped to the workspace root layout rather than a generic wrapper <div>.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
| @@ -506,7 +509,7 @@ export function WorkspaceHeader({ | |||
| <Plus className='h-[14px] w-[14px] shrink-0 text-[var(--text-icon)]' /> | |||
| Create new workspace | |||
There was a problem hiding this comment.
"Create workspace" button moved outside DropdownMenuGroup
DropdownMenuGroup from Radix UI renders a role="group" element, which is important for keyboard navigation and screen-reader announcement inside the dropdown. Moving the "Create new workspace" button into a plain <div> removes that grouping semantic for the button.
Consider keeping the button inside its own DropdownMenuGroup (or at minimum a DropdownMenuItem-wrapped element) to maintain consistent keyboard navigation behaviour and accessibility parity with the rest of the dropdown items:
<DropdownMenuGroup className='flex flex-col gap-[2px]'>
<button ...>Create new workspace</button>
</DropdownMenuGroup>


Summary
UI improvement
Type of Change
Checklist