Skip to content

feat: design updates#6345

Merged
helloanoop merged 3 commits intomainfrom
feat/design-updates
Dec 8, 2025
Merged

feat: design updates#6345
helloanoop merged 3 commits intomainfrom
feat/design-updates

Conversation

@helloanoop
Copy link
Contributor

@helloanoop helloanoop commented Dec 8, 2025

Design Updates for v3

Summary by CodeRabbit

  • Style
    • Converted fixed spacings to theme-driven spacing for tabs and related UI, improving consistency with themes.
    • Adjusted various component heights and vertical spacing for tighter layout.
    • Reduced several icon sizes for better proportion.
    • Tweaked color tones and focused border styling in light/dark themes.
    • Refined collection/sidebar padding and active-item focus visuals for clearer item state feedback.

✏️ Tip: You can customize this high-level summary in your review settings.

Copilot AI review requested due to automatic review settings December 8, 2025 08:37
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 8, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

A broad theming and spacing refactor: hard-coded margins, radii, heights, and a few font-weight/padding values were replaced or adjusted to use theme tokens; light/dark theme objects were updated (added tabs.marginRight, replaced keyboardFocusBg → focusBorder, and tweaked some colors).

Changes

Cohort / File(s) Summary
Tab margin-right theming
packages/bruno-app/src/components/CollectionSettings/StyledWrapper.js, packages/bruno-app/src/components/FolderSettings/StyledWrapper.js, packages/bruno-app/src/components/RequestPane/GraphQLRequestPane/StyledWrapper.js, packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js, packages/bruno-app/src/components/RequestPane/HttpRequestPane/StyledWrapper.js, packages/bruno-app/src/components/RequestPane/WSRequestPane/StyledWrapper.js, packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/StyledWrapper.js, packages/bruno-app/src/components/ResponsePane/StyledWrapper.js, packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js, packages/bruno-app/src/components/ResponseExample/ResponseExampleResponsePane/StyledWrapper.js, packages/bruno-app/src/components/RunnerResults/ResponsePane/StyledWrapper.js, packages/bruno-app/src/components/ShareCollection/StyledWrapper.js
Replaced fixed margin-right: 1.25rem with props.theme.tabs.marginRight (theme-driven spacing).
Wrapper / query heights
packages/bruno-app/src/components/RequestPane/QueryUrl/StyledWrapper.js, packages/bruno-app/src/components/RequestPane/GrpcQueryUrl/StyledWrapper.js, packages/bruno-app/src/components/RequestPane/WsQueryUrl/StyledWrapper.js, packages/bruno-app/src/components/Sidebar/NewRequest/StyledWrapper.js
Reduced container heights from 2.3rem2.1rem.
Collection item sizing & focus
packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/StyledWrapper.js, packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/ExampleItem/StyledWrapper.js, packages/bruno-app/src/components/Sidebar/Collections/Collection/StyledWrapper.js, packages/bruno-app/src/components/Sidebar/Collections/StyledWrapper.js, packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/index.js
Reduced .collection-item-name height 1.75rem1.6rem; replaced keyboard-focus background with border-based focus (keyboardFocusBgfocusBorder in theme usage); removed horizontal padding from .collections-list; changed "item-focused-in-tab" class to apply when isTabForItemActive is true regardless of isKeyboardFocused.
Tab & request-tab refinements
packages/bruno-app/src/components/RequestTabs/RequestTab/StyledWrapper.js, packages/bruno-app/src/components/RequestTabs/StyledWrapper.js, packages/bruno-app/src/components/RequestTabs/RequestTab/GradientCloseButton/StyledWrapper.js, packages/bruno-app/src/components/RequestTabPanel/index.js
Removed some font-weight rules; decreased margin-bottom (4px → 3px); adjusted mask-image offsets (100% - 24px100% - 12px); close-button border-radius now uses props.theme.border.radius.base; .has-changes-icon reduced from 10×10 → 8×8; reduced container padding-top pt-4pt-3.
Icon and micro-spacing changes
packages/bruno-app/src/components/RequestPane/QueryUrl/index.js
Reduced icon sizes from 22 → 20 for several icons (IconCode, IconDeviceFloppy, IconSquareRoundedX, IconArrowRight).
Misc. small spacing / method styles
packages/bruno-app/src/components/RequestTabs/RequestTab/GradientCloseButton/StyledWrapper.js, packages/bruno-app/src/components/RequestTabs/RequestTab/StyledWrapper.js, packages/bruno-app/src/components/Environments/EnvironmentSelector/StyledWrapper.js
Border-radius and method font-weight adjustments to use theme tokens; minor size tweaks.
Theme updates
packages/bruno-app/src/themes/light.js, packages/bruno-app/src/themes/dark.js
Added tabs.marginRight ('1.2rem' in light, '1.1rem'/'1.2rem' variants noted), replaced sidebar.collection.item.keyboardFocusBg with focusBorder, updated light color tokens (colors.text.yellow, tabs.active.border) and requestTabs.bg.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Areas requiring extra attention:

  • CSS/template literal syntax (watch for stray semicolons inside styled templates).
  • Theme migration: ensure all usages of keyboardFocusBg were updated to focusBorder.
  • Visual regression: verify heights, margins, mask-image changes across key screens and both themes.
  • Class logic change in CollectionItem index — confirm keyboard navigation/ARIA behavior unchanged.

Possibly related PRs

Suggested labels

size/XL

Suggested reviewers

  • bijin-bruno
  • lohit-bruno
  • naman-bruno

Poem

✨ Spacing swapped for theme's embrace,

margins follow a single trace,
smaller icons, borders aligned,
pixels tidy, tokens refined,
a gentler UI takes its place.

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'feat: design updates' is vague and generic, using non-descriptive language that doesn't convey what specific design changes were made despite 30+ files being modified. Use a more specific title that captures the main design updates, such as 'feat: refactor spacing and styling with theme-based values' or 'feat: design system updates for v3'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/design-updates

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements design updates for v3, focusing on visual refinements and UI polish. The changes include color adjustments, spacing modifications, and border/focus styling improvements.

  • Updated yellow accent color from #d97706 to #cf8730 across themes
  • Replaced keyboard focus background with border-based focus indicators in collection items
  • Standardized tab margins using theme variables and adjusted element heights/sizes for better visual consistency

Reviewed changes

Copilot reviewed 30 out of 30 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
packages/bruno-app/src/themes/light.js Updated yellow color, changed focus styling from background to border, added marginRight property, and adjusted requestTabs background color
packages/bruno-app/src/themes/dark.js Changed focus styling from background to border and added marginRight property
packages/bruno-app/src/components/Sidebar/NewRequest/StyledWrapper.js Reduced input container height from 2.3rem to 2.1rem
packages/bruno-app/src/components/Sidebar/Collections/StyledWrapper.js Removed horizontal padding from collections list
packages/bruno-app/src/components/Sidebar/Collections/Collection/StyledWrapper.js Reduced collection name height from 1.75rem to 1.6rem
packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/index.js Removed keyboard focus condition from item-focused-in-tab class
packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/StyledWrapper.js Updated item height and replaced background-based keyboard focus with border-based focus indicator
packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/ExampleItem/StyledWrapper.js Reduced collection item name height from 1.75rem to 1.6rem
packages/bruno-app/src/components/ShareCollection/StyledWrapper.js Changed hardcoded margin-right to use theme variable
packages/bruno-app/src/components/RunnerResults/ResponsePane/StyledWrapper.js Changed hardcoded margin-right to use theme variable
packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js Changed hardcoded margin-right to use theme variable
packages/bruno-app/src/components/ResponsePane/StyledWrapper.js Changed hardcoded margin-right to use theme variable
packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/StyledWrapper.js Changed hardcoded margin-right to use theme variable
packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/GrpcQueryResult/StyledWrapper.js Changed hardcoded margin-right to use theme variable
packages/bruno-app/src/components/ResponseExample/ResponseExampleResponsePane/StyledWrapper.js Changed hardcoded margin-right to use theme variable
packages/bruno-app/src/components/RequestTabs/StyledWrapper.js Adjusted margin-bottom, mask gradients, and removed font-weight from active tab
packages/bruno-app/src/components/RequestTabs/RequestTab/StyledWrapper.js Removed font-weight from tab-method class
packages/bruno-app/src/components/RequestTabs/RequestTab/GradientCloseButton/StyledWrapper.js Changed hardcoded border-radius to theme variable and reduced has-changes icon size
packages/bruno-app/src/components/RequestTabPanel/index.js Reduced top padding from pt-4 to pt-3
packages/bruno-app/src/components/RequestPane/WsQueryUrl/StyledWrapper.js Reduced height from 2.3rem to 2.1rem
packages/bruno-app/src/components/RequestPane/WSRequestPane/StyledWrapper.js Changed hardcoded margin-right to use theme variable
packages/bruno-app/src/components/RequestPane/QueryUrl/index.js Reduced icon sizes from 22 to 20 for all action icons
packages/bruno-app/src/components/RequestPane/QueryUrl/StyledWrapper.js Reduced height from 2.3rem to 2.1rem
packages/bruno-app/src/components/RequestPane/HttpRequestPane/StyledWrapper.js Changed hardcoded margin-right to use theme variable
packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js Changed hardcoded margin-right to use theme variable
packages/bruno-app/src/components/RequestPane/GrpcQueryUrl/StyledWrapper.js Reduced height from 2.3rem to 2.1rem
packages/bruno-app/src/components/RequestPane/GraphQLRequestPane/StyledWrapper.js Changed hardcoded margin-right to use theme variable
packages/bruno-app/src/components/FolderSettings/StyledWrapper.js Changed hardcoded margin-right to use theme variable
packages/bruno-app/src/components/Environments/EnvironmentSelector/StyledWrapper.js Changed hardcoded border-radius to use theme variable
packages/bruno-app/src/components/CollectionSettings/StyledWrapper.js Changed hardcoded margin-right to use theme variable

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

border: none;
border-bottom: solid 2px transparent;
margin-right: 1.25rem;
margin-right: ${(props) => props.theme.tabs.marginRight};;
Copy link

Copilot AI Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Double semicolon detected. Remove the extra semicolon at the end of the line.

Suggested change
margin-right: ${(props) => props.theme.tabs.marginRight};;
margin-right: ${(props) => props.theme.tabs.marginRight};

Copilot uses AI. Check for mistakes.
border: none;
border-bottom: solid 2px transparent;
margin-right: 1.25rem;
margin-right: ${(props) => props.theme.tabs.marginRight};;
Copy link

Copilot AI Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Double semicolon detected. Remove the extra semicolon at the end of the line.

Suggested change
margin-right: ${(props) => props.theme.tabs.marginRight};;
margin-right: ${(props) => props.theme.tabs.marginRight};

Copilot uses AI. Check for mistakes.
border: none;
border-bottom: solid 2px transparent;
margin-right: 1.25rem;
margin-right: ${(props) => props.theme.tabs.marginRight};;
Copy link

Copilot AI Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Double semicolon detected. Remove the extra semicolon at the end of the line.

Suggested change
margin-right: ${(props) => props.theme.tabs.marginRight};;
margin-right: ${(props) => props.theme.tabs.marginRight};

Copilot uses AI. Check for mistakes.
border: none;
border-bottom: solid 2px transparent;
margin-right: 1.25rem;
margin-right: ${(props) => props.theme.tabs.marginRight};;
Copy link

Copilot AI Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Double semicolon detected. Remove the extra semicolon at the end of the line.

Suggested change
margin-right: ${(props) => props.theme.tabs.marginRight};;
margin-right: ${(props) => props.theme.tabs.marginRight};

Copilot uses AI. Check for mistakes.
border: none;
border-bottom: solid 2px transparent;
margin-right: 1.25rem;
margin-right: ${(props) => props.theme.tabs.marginRight};;
Copy link

Copilot AI Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Double semicolon detected. Remove the extra semicolon at the end of the line.

Suggested change
margin-right: ${(props) => props.theme.tabs.marginRight};;
margin-right: ${(props) => props.theme.tabs.marginRight};

Copilot uses AI. Check for mistakes.
border: none;
border-bottom: solid 2px transparent;
margin-right: 1.25rem;
margin-right: ${(props) => props.theme.tabs.marginRight};;
Copy link

Copilot AI Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Double semicolon detected. Remove the extra semicolon at the end of the line.

Suggested change
margin-right: ${(props) => props.theme.tabs.marginRight};;
margin-right: ${(props) => props.theme.tabs.marginRight};

Copilot uses AI. Check for mistakes.
border: none;
border-bottom: solid 2px transparent;
margin-right: 1.25rem;
margin-right: ${(props) => props.theme.tabs.marginRight};;
Copy link

Copilot AI Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Double semicolon detected. Remove the extra semicolon at the end of the line.

Suggested change
margin-right: ${(props) => props.theme.tabs.marginRight};;
margin-right: ${(props) => props.theme.tabs.marginRight};

Copilot uses AI. Check for mistakes.
border: none;
border-bottom: solid 2px transparent;
margin-right: 1.25rem;
margin-right: ${(props) => props.theme.tabs.marginRight};;
Copy link

Copilot AI Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Double semicolon detected. Remove the extra semicolon at the end of the line.

Suggested change
margin-right: ${(props) => props.theme.tabs.marginRight};;
margin-right: ${(props) => props.theme.tabs.marginRight};

Copilot uses AI. Check for mistakes.
border: none;
border-bottom: solid 2px transparent;
margin-right: 1.25rem;
margin-right: ${(props) => props.theme.tabs.marginRight};;
Copy link

Copilot AI Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Double semicolon detected. Remove the extra semicolon at the end of the line.

Suggested change
margin-right: ${(props) => props.theme.tabs.marginRight};;
margin-right: ${(props) => props.theme.tabs.marginRight};

Copilot uses AI. Check for mistakes.
},

tabs: {
marginRight: '1.2rem',
Copy link

Copilot AI Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent marginRight value between light and dark themes. The light theme uses '1.2rem' while the dark theme uses '1.1rem' (line 330). Consider using the same value for consistency unless this difference is intentional.

Suggested change
marginRight: '1.2rem',
marginRight: '1.1rem',

Copilot uses AI. Check for mistakes.
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (4)
packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js (1)

9-48: Align tab margin with theme (good) and fix small styling issues

The switch to props.theme.tabs.marginRight for WS tabs is correct, but there’s an extra semicolon to clean up, and .stream-status.streaming is referencing props.theme.colors.text.blue, which does not exist in either theme’s colors.text map, so the color is effectively undefined.

-      margin-right: ${(props) => props.theme.tabs.marginRight};;
+      margin-right: ${(props) => props.theme.tabs.marginRight};

@@
-    &.streaming {
-      color: ${(props) => props.theme.colors.text.blue};
-    }
+    &.streaming {
+      /* Consider reusing an existing blue-ish theme token instead of a missing colors.text.blue */
+      color: ${(props) => props.theme.textLink};
+    }

If you prefer a dedicated stream blue, you could instead add blue to colors.text in both light.js and dark.js and keep this selector as-is.

packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/GrpcQueryResult/StyledWrapper.js (1)

35-56: gRPC tabs now respect theme spacing; address extra semicolon and missing blue token

Using props.theme.tabs.marginRight is consistent with the new theme token, but there’s an extra semicolon, and .stream-status.streaming again references props.theme.colors.text.blue, which isn’t defined in the themes.

-      margin-right: ${(props) => props.theme.tabs.marginRight};;
+      margin-right: ${(props) => props.theme.tabs.marginRight};

@@
-    &.streaming {
-      color: ${(props) => props.theme.colors.text.blue};
-    }
+    &.streaming {
+      /* Mirror whatever blue/brand you choose for WS streaming state */
+      color: ${(props) => props.theme.textLink};
+    }

As with the WS pane, alternatively introduce a colors.text.blue token in both themes and keep the selector unchanged.

Also applies to: 60-75

packages/bruno-app/src/themes/light.js (1)

117-126: Update StyledWrapper.js to use focusBorder instead of keyboardFocusBg

The token rename in both light and dark themes is breaking the StyledWrapper.js component, which still references the old keyboardFocusBg property at lines 99 and 103. Update the component to use focusBorder to match the renamed theme tokens.

packages/bruno-app/src/themes/dark.js (1)

114-123: Update StyledWrapper.js to use the renamed focusBorder token instead of keyboardFocusBg

The theme token was renamed from keyboardFocusBg to focusBorder in dark.js, but the styled component still references the old token name at lines 99 and 103 in packages/bruno-app/src/components/Sidebar/Collections/Collection/StyledWrapper.js. Replace props.theme.sidebar.collection.item.keyboardFocusBg with props.theme.sidebar.collection.item.focusBorder in both locations to match the updated theme definition.

🧹 Nitpick comments (11)
packages/bruno-app/src/components/RequestTabPanel/index.js (1)

246-254: Header padding change is safe; aligns with design updates

The pt-4pt-3 adjustment on Line 246 is a straightforward visual tweak with no behavioral impact and is consistent with existing utility-class usage in this component. If the long‑term plan is to centralize spacing via theme tokens, this header block could eventually be migrated to use those as well, but that’s not blocking for this PR.

packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/StyledWrapper.js (1)

134-138: Keyboard focus via borders: check layout shift and focus visibility

Switching to top/bottom focusBorder lines is a nice move towards tokenized focus styling, but the added 1px borders may cause a tiny vertical layout shift when focus appears and relies entirely on this custom indicator after outline: none. Consider either:

  • using box-sizing: border-box (or equivalent) to avoid any jump, and/or
  • verifying that focusBorder has sufficient contrast and is clearly visible in all themes.

This generally aligns with the theming approach of keeping colors in styled components rather than Tailwind utilities. Based on learnings, ...

packages/bruno-app/src/components/CollectionSettings/StyledWrapper.js (1)

9-9: Theme-based spacing looks good; drop the extra semicolon for consistency

Using props.theme.tabs.marginRight aligns with the theme-first styling guidelines, but the trailing ;; is unnecessary noise. Recommend keeping a single semicolon:

-      margin-right: ${(props) => props.theme.tabs.marginRight};;
+      margin-right: ${(props) => props.theme.tabs.marginRight};

Based on learnings, this matches the preferred use of theme tokens; this is just a small cleanup.

packages/bruno-app/src/components/RequestPane/HttpRequestPane/StyledWrapper.js (1)

9-9: Remove redundant semicolon after theme-based margin

Good move switching to props.theme.tabs.marginRight, but there’s an extra semicolon:

-      margin-right: ${(props) => props.theme.tabs.marginRight};;
+      margin-right: ${(props) => props.theme.tabs.marginRight};

Keeps the CSS tidy and consistent with other StyledWrapper files.

packages/bruno-app/src/components/RequestPane/GraphQLRequestPane/StyledWrapper.js (1)

9-9: Tidy up duplicated semicolon in margin declaration

The theme-aware margin is correct, but the extra semicolon can be dropped:

-      margin-right: ${(props) => props.theme.tabs.marginRight};;
+      margin-right: ${(props) => props.theme.tabs.marginRight};

Helps keep the styling consistent with other tab wrappers.

packages/bruno-app/src/components/ResponsePane/StyledWrapper.js (1)

9-9: Consistent theme usage; remove extra semicolon

Tabs now use props.theme.tabs.marginRight, which is consistent with the rest of the theming work. Just drop the redundant semicolon:

-      margin-right: ${(props) => props.theme.tabs.marginRight};;
+      margin-right: ${(props) => props.theme.tabs.marginRight};

Based on learnings, the color usage below is correctly driven by the theme.

packages/bruno-app/src/components/FolderSettings/StyledWrapper.js (1)

11-11: Minor CSS cleanup: duplicate semicolon

The switch to props.theme.tabs.marginRight is correct and matches other settings views. Suggest trimming the extra semicolon:

-      margin-right: ${(props) => props.theme.tabs.marginRight};;
+      margin-right: ${(props) => props.theme.tabs.marginRight};
packages/bruno-app/src/components/RequestPane/WSRequestPane/StyledWrapper.js (1)

9-9: Drop the redundant semicolon after margin-right

Theme-based spacing is correct here too. For consistency with other StyledWrapper files, remove the extra ;:

-      margin-right: ${(props) => props.theme.tabs.marginRight};;
+      margin-right: ${(props) => props.theme.tabs.marginRight};
packages/bruno-app/src/themes/light.js (1)

59-67: Yellow accent update is fine; consider centralizing this color

Updating colors.text.yellow to '#cf8730' is reasonable, but the same hex is now duplicated in other places (e.g., tabs.active.border), and older accent usages still reference #D97706. In a follow‑up, it may be worth consolidating these into a single shared token to avoid subtle inconsistencies.

packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js (1)

5-30: Theme-based tab margin is correct; clean up the extra semicolon

Using props.theme.tabs.marginRight is exactly what we want, but there’s a stray extra semicolon at the end of the declaration.

-      margin-right: ${(props) => props.theme.tabs.marginRight};;
+      margin-right: ${(props) => props.theme.tabs.marginRight};
packages/bruno-app/src/components/ResponseExample/ResponseExampleResponsePane/StyledWrapper.js (1)

4-26: Theme-based tab margin is correct; remove redundant semicolon

Hooking the response-example tabs to props.theme.tabs.marginRight is consistent with the rest of the PR; just drop the extra semicolon at the end of the declaration.

-      margin-right: ${(props) => props.theme.tabs.marginRight};;
+      margin-right: ${(props) => props.theme.tabs.marginRight};
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between dc107f8 and 5f5cfbe.

📒 Files selected for processing (30)
  • packages/bruno-app/src/components/CollectionSettings/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/Environments/EnvironmentSelector/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/RequestPane/GraphQLRequestPane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/RequestPane/GrpcQueryUrl/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/RequestPane/HttpRequestPane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/RequestPane/QueryUrl/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/RequestPane/QueryUrl/index.js (3 hunks)
  • packages/bruno-app/src/components/RequestPane/WSRequestPane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/RequestPane/WsQueryUrl/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/RequestTabPanel/index.js (1 hunks)
  • packages/bruno-app/src/components/RequestTabs/RequestTab/GradientCloseButton/StyledWrapper.js (2 hunks)
  • packages/bruno-app/src/components/RequestTabs/RequestTab/StyledWrapper.js (0 hunks)
  • packages/bruno-app/src/components/RequestTabs/StyledWrapper.js (2 hunks)
  • packages/bruno-app/src/components/ResponseExample/ResponseExampleResponsePane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/GrpcQueryResult/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/ResponsePane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/RunnerResults/ResponsePane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/ShareCollection/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/ExampleItem/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/StyledWrapper.js (2 hunks)
  • packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/index.js (1 hunks)
  • packages/bruno-app/src/components/Sidebar/Collections/Collection/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/Sidebar/Collections/StyledWrapper.js (0 hunks)
  • packages/bruno-app/src/components/Sidebar/NewRequest/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/themes/dark.js (2 hunks)
  • packages/bruno-app/src/themes/light.js (4 hunks)
💤 Files with no reviewable changes (2)
  • packages/bruno-app/src/components/RequestTabs/RequestTab/StyledWrapper.js
  • packages/bruno-app/src/components/Sidebar/Collections/StyledWrapper.js
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{js,jsx,ts,tsx}

📄 CodeRabbit inference engine (CODING_STANDARDS.md)

**/*.{js,jsx,ts,tsx}: Use 2 spaces for indentation. No tabs, just spaces
Stick to single quotes for strings. For JSX/TSX attributes, use double quotes (e.g., )
Always add semicolons at the end of statements
No trailing commas
Always use parentheses around parameters in arrow functions, even for single params
For multiline constructs, put opening braces on the same line, and ensure consistency. Minimum 2 elements for multiline
No newlines inside function parentheses
Space before and after the arrow in arrow functions. () => {} is good
No space between function name and parentheses. func() not func ()
Semicolons go at the end of the line, not on a new line
Names for functions need to be concise and descriptive
Add in JSDoc comments to add more details to the abstractions if needed
Add in meaningful comments instead of obvious ones where complex code flow is explained properly

Files:

  • packages/bruno-app/src/components/RequestPane/GrpcQueryUrl/StyledWrapper.js
  • packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/GrpcQueryResult/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/WSRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/WsQueryUrl/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/QueryUrl/index.js
  • packages/bruno-app/src/components/ShareCollection/StyledWrapper.js
  • packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/StyledWrapper.js
  • packages/bruno-app/src/components/CollectionSettings/StyledWrapper.js
  • packages/bruno-app/src/components/ResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/HttpRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestTabs/StyledWrapper.js
  • packages/bruno-app/src/components/RequestTabPanel/index.js
  • packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/ExampleItem/StyledWrapper.js
  • packages/bruno-app/src/components/Sidebar/Collections/Collection/StyledWrapper.js
  • packages/bruno-app/src/components/RunnerResults/ResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/index.js
  • packages/bruno-app/src/themes/dark.js
  • packages/bruno-app/src/components/Environments/EnvironmentSelector/StyledWrapper.js
  • packages/bruno-app/src/components/ResponseExample/ResponseExampleResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/Sidebar/NewRequest/StyledWrapper.js
  • packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestTabs/RequestTab/GradientCloseButton/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/QueryUrl/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/GraphQLRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js
  • packages/bruno-app/src/themes/light.js
🧠 Learnings (3)
📚 Learning: 2025-12-05T20:31:32.975Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:32.975Z
Learning: Applies to **/*.{jsx,tsx} : Styled Components are used as wrappers to define both self and children components style; Tailwind classes are used specifically for layout based styles

Applied to files:

  • packages/bruno-app/src/components/RequestPane/GrpcQueryUrl/StyledWrapper.js
  • packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/GrpcQueryResult/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/WSRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/WsQueryUrl/StyledWrapper.js
  • packages/bruno-app/src/components/ShareCollection/StyledWrapper.js
  • packages/bruno-app/src/components/CollectionSettings/StyledWrapper.js
  • packages/bruno-app/src/components/ResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/HttpRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestTabs/StyledWrapper.js
  • packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/ExampleItem/StyledWrapper.js
  • packages/bruno-app/src/components/Sidebar/Collections/Collection/StyledWrapper.js
  • packages/bruno-app/src/components/RunnerResults/ResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/Environments/EnvironmentSelector/StyledWrapper.js
  • packages/bruno-app/src/components/ResponseExample/ResponseExampleResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/Sidebar/NewRequest/StyledWrapper.js
  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/QueryUrl/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/GraphQLRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js
📚 Learning: 2025-12-05T20:31:32.975Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:32.975Z
Learning: Applies to **/*.{jsx,tsx} : Use styled component's theme prop to manage CSS colors and not CSS variables when in the context of a styled component or any React component using the styled component

Applied to files:

  • packages/bruno-app/src/components/RequestPane/WSRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/WsQueryUrl/StyledWrapper.js
  • packages/bruno-app/src/components/ShareCollection/StyledWrapper.js
  • packages/bruno-app/src/components/CollectionSettings/StyledWrapper.js
  • packages/bruno-app/src/components/ResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/HttpRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/RunnerResults/ResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/Environments/EnvironmentSelector/StyledWrapper.js
  • packages/bruno-app/src/components/ResponseExample/ResponseExampleResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestTabs/RequestTab/GradientCloseButton/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/GraphQLRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js
📚 Learning: 2025-12-05T20:31:32.975Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:32.975Z
Learning: Applies to **/*.{jsx,tsx} : Styled Component CSS might also change layout but Tailwind classes shouldn't define colors

Applied to files:

  • packages/bruno-app/src/components/RequestPane/WSRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/WsQueryUrl/StyledWrapper.js
  • packages/bruno-app/src/components/ShareCollection/StyledWrapper.js
  • packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/StyledWrapper.js
  • packages/bruno-app/src/components/CollectionSettings/StyledWrapper.js
  • packages/bruno-app/src/components/ResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestTabs/StyledWrapper.js
  • packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/ExampleItem/StyledWrapper.js
  • packages/bruno-app/src/components/Sidebar/Collections/Collection/StyledWrapper.js
  • packages/bruno-app/src/components/RunnerResults/ResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/Environments/EnvironmentSelector/StyledWrapper.js
  • packages/bruno-app/src/components/ResponseExample/ResponseExampleResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/Sidebar/NewRequest/StyledWrapper.js
  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestTabs/RequestTab/GradientCloseButton/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/GraphQLRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js
🧬 Code graph analysis (3)
packages/bruno-app/src/components/RequestPane/QueryUrl/index.js (1)
packages/bruno-app/src/components/RequestTabs/RequestTab/index.js (1)
  • theme (28-28)
packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/index.js (1)
packages/bruno-app/src/selectors/tab.js (2)
  • isTabForItemActive (3-5)
  • isTabForItemActive (3-5)
packages/bruno-app/src/themes/light.js (1)
packages/bruno-app/src/themes/dark.js (1)
  • colors (1-22)
🔇 Additional comments (17)
packages/bruno-app/src/components/Sidebar/NewRequest/StyledWrapper.js (1)

14-18: Height reduction looks good; please sanity‑check for clipping across states

The shared height: 2.1rem for .method-selector-container and .input-container keeps them visually aligned and is consistent with theme usage here. Just make sure in the UI that the reduced height doesn’t clip the method label, URL text, or any dropdown icons at common zoom levels and OS font scaling (especially focus state where borders can visually shrink content space).

packages/bruno-app/src/components/RequestPane/QueryUrl/index.js (1)

130-130: New QueryUrl component introduces appropriately sized icons.

This is a new component being introduced in the design updates. All four icons (IconCode, IconDeviceFloppy, IconSquareRoundedX, IconArrowRight) are consistently sized at 20px with proper theme colors and correct formatting following the coding guidelines (2-space indentation, single quotes, semicolons, arrow function parentheses).

Likely an incorrect or invalid review comment.

packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/StyledWrapper.js (1)

22-28: Height reduction on .collection-item-name

The reduced height to 1.6rem looks fine and keeps the row compact; just sanity‑check in the UI that text isn’t getting vertically cropped and that the clickable area still feels comfortable for selection.

packages/bruno-app/src/components/RequestPane/GrpcQueryUrl/StyledWrapper.js (1)

4-4: LGTM! Height adjustment aligns with design updates.

Consistent with similar height changes in QueryUrl and WsQueryUrl wrappers.

packages/bruno-app/src/components/Sidebar/Collections/Collection/StyledWrapper.js (1)

5-5: LGTM! Height adjustment for collection items.

Consistent with the broader design refinement across sidebar components.

packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/ExampleItem/StyledWrapper.js (1)

24-24: LGTM! Height adjustment matches parent collection styling.

Maintains visual consistency across collection hierarchy.

packages/bruno-app/src/components/RequestPane/QueryUrl/StyledWrapper.js (1)

4-4: LGTM! Height adjustment aligns with RequestPane design updates.

Consistent with GrpcQueryUrl and WsQueryUrl wrapper changes.

packages/bruno-app/src/components/RequestPane/WsQueryUrl/StyledWrapper.js (1)

4-4: LGTM! Height adjustment completes RequestPane uniformity.

All RequestPane URL wrappers now use 2.1rem height.

packages/bruno-app/src/components/RequestTabs/RequestTab/GradientCloseButton/StyledWrapper.js (2)

50-50: LGTM! Theme-based border-radius.

Good adoption of theme tokens for consistency.


71-72: LGTM! Icon size reduction for refined UI.

The smaller dimensions (8x8) create a more subtle visual indicator.

packages/bruno-app/src/components/ShareCollection/StyledWrapper.js (1)

9-9: LGTM on theme-based tab spacing

margin-right: ${(props) => props.theme.tabs.marginRight}; is clean and consistent with the new theme-driven spacing approach. No changes needed.

packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/index.js (1)

202-208: Active-tab styling now independent of keyboard focus

Changing 'item-focused-in-tab' to depend solely on isTabForItemActive simplifies the mental model: the row is marked as “active in a tab” regardless of how focus is managed, and can coexist with 'item-keyboard-focused'.

Looks good; just make sure the CSS for .item-focused-in-tab and .item-keyboard-focused plays nicely when both are present (no conflicting colors/borders).

packages/bruno-app/src/themes/dark.js (1)

329-345: New tabs.marginRight token is a good addition

Using props.theme.tabs.marginRight centralizes tab spacing and matches the rest of the PR’s theme‑driven spacing work; no issues from a theme API perspective.

packages/bruno-app/src/themes/light.js (2)

333-338: Tabs spacing and active border changes look consistent

Adding tabs.marginRight and updating the active border to '#cf8730' lines up with the new yellow token and the theme‑driven spacing pattern; no issues from a theming API standpoint.


351-369: Slight request tabs background tweak is safe

The requestTabs.bg adjustment to '#f6f6f6' is a minor visual change and still fits the existing contrast/border setup; nothing blocking here.

packages/bruno-app/src/components/Environments/EnvironmentSelector/StyledWrapper.js (1)

3-46: Good move to use theme radius for .current-environment

Switching to props.theme.border.radius.base removes a hard‑coded radius and stays consistent with the theme‑driven border‑radius scheme; looks solid.

packages/bruno-app/src/components/RequestTabs/StyledWrapper.js (1)

49-96: Tab spacing and overflow gradient tweaks look fine

Reducing the bottom margin and tightening the fade (calc(100% - 12px)) are localized visual refinements and don’t affect theme contracts; this looks good.

@github-actions
Copy link

github-actions bot commented Dec 8, 2025

CLI Test Results

  1 files  ±0  140 suites  ±0   1m 2s ⏱️ +3s
234 tests ±0  234 ✅ ±0  0 💤 ±0  0 ❌ ±0 
300 runs  ±0  299 ✅ ±0  1 💤 ±0  0 ❌ ±0 

Results for commit ffba0a5. ± Comparison against base commit dc107f8.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
packages/bruno-app/src/themes/dark.js (1)

269-275: Fix invalid hex color for notifications.list.bg

notifications.list.bg is set to '3D3D3D' (missing #), which will be treated as an invalid color and fall back to inherited styles.

Suggested fix:

   notifications: {
     bg: '#3D3D3D',
     list: {
-      bg: '3D3D3D',
+      bg: '#3D3D3D',
       borderRight: '#4f4f4f',
       borderBottom: '#545454',
       hoverBg: '#434343',
packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js (1)

46-48: Define colors.text.blue across all theme files or use an existing color token

Three files reference colors.text.blue, which is undefined in all themes (dark.js and light.js only define green, danger, muted, purple, and yellow under colors.text). This causes silent fallback to inherited colors instead of explicit theming.

Affected locations:

  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js:47 (streaming state)
  • packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/StyledWrapper.js:47
  • packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/GrpcQueryResult/StyledWrapper.js:73

Add blue to the colors.text object in all theme files, or update references to use an existing token (e.g., textLink).

🧹 Nitpick comments (1)
packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js (1)

3-31: Consider extracting shared tab styles into a reusable helper

This tab block (padding, borders, margin-right, focus/active states) closely matches other Request/Response pane wrappers. Long term, it may be worth extracting a shared styled component or mixin for tab styling to keep v3 design tweaks DRY and easier to update across panes.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5f5cfbe and ffba0a5.

📒 Files selected for processing (13)
  • packages/bruno-app/src/components/CollectionSettings/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/RequestPane/GraphQLRequestPane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/RequestPane/HttpRequestPane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/RequestPane/WSRequestPane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/ResponseExample/ResponseExampleResponsePane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/GrpcQueryResult/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/ResponsePane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/components/RunnerResults/ResponsePane/StyledWrapper.js (1 hunks)
  • packages/bruno-app/src/themes/dark.js (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (9)
  • packages/bruno-app/src/components/CollectionSettings/StyledWrapper.js
  • packages/bruno-app/src/components/RunnerResults/ResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/GrpcQueryResult/StyledWrapper.js
  • packages/bruno-app/src/components/ResponsePane/GrpcResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/HttpRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/ResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/ResponseExample/ResponseExampleResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/WSRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/GraphQLRequestPane/StyledWrapper.js
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{js,jsx,ts,tsx}

📄 CodeRabbit inference engine (CODING_STANDARDS.md)

**/*.{js,jsx,ts,tsx}: Use 2 spaces for indentation. No tabs, just spaces
Stick to single quotes for strings. For JSX/TSX attributes, use double quotes (e.g., )
Always add semicolons at the end of statements
No trailing commas
Always use parentheses around parameters in arrow functions, even for single params
For multiline constructs, put opening braces on the same line, and ensure consistency. Minimum 2 elements for multiline
No newlines inside function parentheses
Space before and after the arrow in arrow functions. () => {} is good
No space between function name and parentheses. func() not func ()
Semicolons go at the end of the line, not on a new line
Names for functions need to be concise and descriptive
Add in JSDoc comments to add more details to the abstractions if needed
Add in meaningful comments instead of obvious ones where complex code flow is explained properly

Files:

  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js
  • packages/bruno-app/src/themes/dark.js
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js
🧠 Learnings (9)
📚 Learning: 2025-12-05T20:31:32.975Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:32.975Z
Learning: Applies to **/*.{jsx,tsx} : Styled Components are used as wrappers to define both self and children components style; Tailwind classes are used specifically for layout based styles

Applied to files:

  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js
📚 Learning: 2025-12-05T20:31:32.975Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:32.975Z
Learning: Applies to **/*.{jsx,tsx} : Use styled component's theme prop to manage CSS colors and not CSS variables when in the context of a styled component or any React component using the styled component

Applied to files:

  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js
📚 Learning: 2025-12-05T20:31:32.975Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:32.975Z
Learning: Applies to **/*.{jsx,tsx} : Styled Component CSS might also change layout but Tailwind classes shouldn't define colors

Applied to files:

  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js
📚 Learning: 2025-12-05T20:31:32.975Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:32.975Z
Learning: Applies to **/*.{js,jsx,ts,tsx} : Semicolons go at the end of the line, not on a new line

Applied to files:

  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js
📚 Learning: 2025-12-05T20:31:32.975Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:32.975Z
Learning: Applies to **/*.{js,jsx,ts,tsx} : No trailing commas

Applied to files:

  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js
📚 Learning: 2025-12-05T20:31:32.975Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:32.975Z
Learning: Applies to **/*.{js,jsx,ts,tsx} : Always add semicolons at the end of statements

Applied to files:

  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js
📚 Learning: 2025-12-05T20:31:32.975Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:32.975Z
Learning: Applies to **/*.{js,jsx,ts,tsx} : Space before and after the arrow in arrow functions. `() => {}` is good

Applied to files:

  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js
📚 Learning: 2025-12-05T20:31:32.975Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:32.975Z
Learning: Applies to **/*.{js,jsx,ts,tsx} : Use 2 spaces for indentation. No tabs, just spaces

Applied to files:

  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js
📚 Learning: 2025-12-05T20:31:32.975Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:32.975Z
Learning: Applies to **/*.{js,jsx,ts,tsx} : Always use parentheses around parameters in arrow functions, even for single params

Applied to files:

  • packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js
  • packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js
  • packages/bruno-app/src/components/FolderSettings/StyledWrapper.js
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: SSL Tests - Windows
  • GitHub Check: Playwright E2E Tests
  • GitHub Check: CLI Tests
  • GitHub Check: SSL Tests - macOS
  • GitHub Check: SSL Tests - Linux
  • GitHub Check: Unit Tests
🔇 Additional comments (4)
packages/bruno-app/src/components/FolderSettings/StyledWrapper.js (1)

7-27: Tab spacing correctly moved to theme token

margin-right: ${(props) => props.theme.tabs.marginRight}; is syntactically correct, follows the arrow-function and semicolon guidelines, and aligns tab spacing with the shared theme tokens, consistent with the broader v3 theming changes. As per coding guidelines, this is the right direction for layout/theming.

packages/bruno-app/src/themes/dark.js (1)

114-123: Sidebar focus + tabs margin theme tokens look consistent

The new sidebar.collection.item.focusBorder and tabs.marginRight entries plug cleanly into the theme and support the tab spacing/focus refactor. No issues from my side here.

Also applies to: 329-345

packages/bruno-app/src/components/ResponsePane/WsResponsePane/StyledWrapper.js (1)

9-31: Tabs margin now theme-driven – aligned with v3 tokens

Switching margin-right to props.theme.tabs.marginRight keeps this tab strip in sync with the new theme spacing token and other panes. Looks good.

packages/bruno-app/src/components/RequestPane/GrpcRequestPane/StyledWrapper.js (1)

4-25: gRPC tabs now use theme-based right margin

Using props.theme.tabs.marginRight here aligns gRPC tabs with the shared tab spacing token and keeps behavior consistent across panes. No issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants