Skip to content

refactor: update Tabs component structure and theme colors - #6638

Merged
bijin-bruno merged 1 commit into
usebruno:mainfrom
abhishek-bruno:feat/script-tabs
Jan 2, 2026
Merged

bijin-bruno merged 1 commit into
usebruno:mainfrom
abhishek-bruno:feat/script-tabs

Conversation

@abhishek-bruno

@abhishek-bruno abhishek-bruno commented Jan 2, 2026 •

Copy link
Copy Markdown
Member

Description

  • Replaced the div wrapper in the Tabs component with StyledWrapper for improved styling.
  • Simplified TabsList and TabsTrigger components by removing theme dependency and using classnames for styling.
  • Updated inactive background colors in multiple theme files to enhance visual consistency across themes.

Contribution Checklist:

  • I've used AI significantly to create this pull request
  • The pull request only addresses one issue or adds one feature.
  • The pull request does not introduce any breaking changes
  • I have added screenshots or gifs to help explain the change if applicable.
  • I have read the contribution guidelines.
  • Create an issue and link to the pull request.

Note: Keeping the PR small and focused helps make it easier to review and merge. If you have multiple changes you want to make, please consider submitting them as separate pull requests.

Publishing to New Package Managers

Please see here for more information.

Summary by CodeRabbit

  • Style

    • Updated secondary tab colors across all dark and light theme variants for improved visual consistency
    • Adjusted colors for both active and inactive tab states throughout theme suite
  • Refactor

    • Restructured tab component styling architecture

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

- Replaced the div wrapper in the Tabs component with StyledWrapper for improved styling.
- Simplified TabsList and TabsTrigger components by removing theme dependency and using classnames for styling.
- Updated inactive background colors in multiple theme files to enhance visual consistency across themes.
@coderabbitai

coderabbitai Bot commented Jan 2, 2026 •

Copy link
Copy Markdown
Contributor

Walkthrough

Introduces a styled component wrapper for Tabs with centralized styling rules, refactors the Tabs component to use class-based styling instead of inline theme logic, and updates secondary tab colors across multiple dark and light themes to improve visual consistency.

Changes

Cohort / File(s) Summary
Tabs Component Structure
packages/bruno-app/src/components/Tabs/StyledWrapper.js, packages/bruno-app/src/components/Tabs/index.js
New styled-component wrapper (StyledWrapper) introduced with .tabs-list and .tab-trigger styles. Tabs component refactored to replace inline theme-based styling with class-based approach using classnames; theme import removed from component logic.
Dark Themes
packages/bruno-app/src/themes/dark/{catppuccin-frappe,catppuccin-macchiato,catppuccin-mocha}.js
tabs.secondary.inactive.bg changed from SURFACE1 → SURFACE0 across all three Catppuccin dark variants.
Dark Themes (Continued)
packages/bruno-app/src/themes/dark/{dark-monochrome,dark-pastel,nord,vscode}.js
Color updates for secondary tabs: dark-monochrome (active.bg #2D2D2D → #3F3F3F, inactive.color #CCCCCC → #999999), dark-pastel & vscode (inactive.bg GRAY_4 → GRAY_3), nord (inactive.bg NORD3 → NORD2).
Dark Theme Refactor
packages/bruno-app/src/themes/dark/dark.js
Secondary tab colors replaced with palette tokens: active.bg #2D2D2D → palette.background.SURFACE0, active.color #CCCCCC → palette.text.BASE, inactive.bg #3F3F3F → palette.background.SURFACE0, inactive.color #CCCCCC → palette.text.SUBTEXT1.
Light Themes
packages/bruno-app/src/themes/light/{catppuccin-latte,light-monochrome,light-pastel,light,vscode}.js
Active secondary tab background color updates: catppuccin-latte (BASE → SURFACE0), light-monochrome (#FFFFFF → #ECECEE), light-pastel (white → GRAY_2), light (BASE → SURFACE1 for active; SURFACE1 → SURFACE0 for inactive; inactive text BASE → SUBTEXT1), vscode (white → gray2).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

size/M

Suggested reviewers

  • helloanoop
  • naman-bruno
  • lohit-bruno

Poem

Tabs wear fresh colors, styled with grace,
Palette tokens find their place,
From inline chaos, classes reign,
Catppuccin dreams, and Nord's refrain—
✨ UI consistency gained! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main changes: refactoring the Tabs component structure and updating theme colors across multiple theme files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

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

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

367-376: Active and inactive tabs unified to the same background.

The change from colors.SURFACE1 to colors.SURFACE0 for inactive tabs means both active (line 369) and inactive (line 373) now share the same background color, relying solely on text color for differentiation.

This pattern appears in all Catppuccin dark themes (Mocha, Frappe, Macchiato). If intentional, consider documenting the design rationale. If not, active tabs typically benefit from visual prominence through distinct backgrounds.

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

373-382: Active and inactive tabs now have identical backgrounds.

Line 375 sets active.bg to colors.GRAY_3, and Line 379 changes inactive.bg to the same colors.GRAY_3. This makes active and inactive tabs visually indistinguishable, breaking the core UX principle of tabs.

Based on the StyledWrapper implementation, hovering over an inactive tab will also apply inactive.bg, making hovered inactive tabs look identical to the active tab.

🔎 Proposed fix

Keep the inactive background as GRAY_4 to maintain visual distinction:

      inactive: {
-        bg: colors.GRAY_3,
+        bg: colors.GRAY_4,
        color: colors.TEXT_MUTED
      }
packages/bruno-app/src/themes/dark/dark-pastel.js (1)

371-381: Active and inactive tabs now have identical backgrounds.

Line 373 sets active.bg to colors.GRAY_3, and Line 377 changes inactive.bg to the same colors.GRAY_3. Users won't be able to distinguish which tab is active, breaking core tab functionality.

🔎 Proposed fix

Revert the inactive background to GRAY_4 for visual distinction:

      inactive: {
-        bg: colors.GRAY_3,
+        bg: colors.GRAY_4,
        color: colors.TEXT_MUTED
      }
♻️ Duplicate comments (1)
packages/bruno-app/src/themes/dark/catppuccin-macchiato.js (1)

367-376: Same background unification as Catppuccin Mocha.

Active and inactive tabs both use colors.SURFACE0. See the review comment on catppuccin-mocha.js for details on this pattern.

🧹 Nitpick comments (3)
packages/bruno-app/src/themes/light/light-monochrome.js (1)

354-354: LGTM - Active tab background updated.

The hex color value is valid and achieves the intended visual update.

Optional: Consider using a color token for maintainability

The file defines GRAY tokens that could be used instead of a literal hex value. For example, GRAY_2 ('#f3f3f3') is close to '#ECECEE'. Using tokens makes theme-wide color adjustments easier in the future.

       active: {
-        bg: '#ECECEE',
+        bg: colors.GRAY_2,
         color: '#343434'
       },

However, if '#ECECEE' is intentionally distinct from existing tokens, the current approach is fine.

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

16-18: Consider using theme tokens for border-radius and font-size.

Lines 16-18 hardcode border-radius: 4px and font-size: 0.75rem. Using theme tokens like theme.border.radius.sm and theme.font.size.sm would improve consistency across the app.

🔎 Proposed refactor
    .tab-trigger {
      display: inline-flex;
      align-items: center;
      justify-content: center;
-     border-radius: 4px;
+     border-radius: ${(props) => props.theme.border.radius.sm};
      padding: 8px;
-     font-size: 0.75rem;
+     font-size: ${(props) => props.theme.font.size.sm};
      white-space: nowrap;
      cursor: pointer;
packages/bruno-app/src/components/Tabs/index.js (1)

10-10: Consider using classnames for className concatenation.

The template literal concatenation works but could be more robust with the classnames utility already imported.

🔎 Proposed refactor
  return (
    <TabsContext.Provider value={{ value, onValueChange }}>
-      <StyledWrapper className={`flex flex-col h-full flex-1 ${className}`}>{children}</StyledWrapper>
+      <StyledWrapper className={classnames('flex flex-col h-full flex-1', className)}>{children}</StyledWrapper>
    </TabsContext.Provider>
  );

Same approach could be applied to TabsContent at line 39.

📜 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 d758645 and 95563dd.

📒 Files selected for processing (15)
  • packages/bruno-app/src/components/Tabs/StyledWrapper.js
  • packages/bruno-app/src/components/Tabs/index.js
  • packages/bruno-app/src/themes/dark/catppuccin-frappe.js
  • packages/bruno-app/src/themes/dark/catppuccin-macchiato.js
  • packages/bruno-app/src/themes/dark/catppuccin-mocha.js
  • packages/bruno-app/src/themes/dark/dark-monochrome.js
  • packages/bruno-app/src/themes/dark/dark-pastel.js
  • packages/bruno-app/src/themes/dark/dark.js
  • packages/bruno-app/src/themes/dark/nord.js
  • packages/bruno-app/src/themes/dark/vscode.js
  • packages/bruno-app/src/themes/light/catppuccin-latte.js
  • packages/bruno-app/src/themes/light/light-monochrome.js
  • packages/bruno-app/src/themes/light/light-pastel.js
  • packages/bruno-app/src/themes/light/light.js
  • packages/bruno-app/src/themes/light/vscode.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/themes/dark/catppuccin-frappe.js
  • packages/bruno-app/src/themes/light/light.js
  • packages/bruno-app/src/themes/dark/dark-monochrome.js
  • packages/bruno-app/src/themes/dark/dark-pastel.js
  • packages/bruno-app/src/themes/dark/vscode.js
  • packages/bruno-app/src/themes/dark/dark.js
  • packages/bruno-app/src/themes/light/light-monochrome.js
  • packages/bruno-app/src/components/Tabs/StyledWrapper.js
  • packages/bruno-app/src/themes/dark/catppuccin-macchiato.js
  • packages/bruno-app/src/themes/light/catppuccin-latte.js
  • packages/bruno-app/src/themes/dark/nord.js
  • packages/bruno-app/src/components/Tabs/index.js
  • packages/bruno-app/src/themes/dark/catppuccin-mocha.js
  • packages/bruno-app/src/themes/light/vscode.js
  • packages/bruno-app/src/themes/light/light-pastel.js
🧠 Learnings (5)
📓 Common learnings
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:33.005Z
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
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:33.005Z
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
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:33.005Z
Learning: Applies to **/*.{jsx,tsx} : Styled Component CSS might also change layout but Tailwind classes shouldn't define colors
📚 Learning: 2025-12-17T21:41:24.730Z
Learnt from: naman-bruno
Repo: usebruno/bruno PR: 6407
File: packages/bruno-app/src/components/Environments/ConfirmCloseEnvironment/index.js:5-41
Timestamp: 2025-12-17T21:41:24.730Z
Learning: Do not suggest PropTypes validation for React components in the Bruno codebase. The project does not use PropTypes, so reviews should avoid proposing PropTypes and rely on the existing typing/validation approach (e.g., TypeScript or alternative runtime checks) if applicable. This guideline applies broadly to all JavaScript/JSX components in the repo.

Applied to files:

  • packages/bruno-app/src/themes/dark/catppuccin-frappe.js
  • packages/bruno-app/src/themes/light/light.js
  • packages/bruno-app/src/themes/dark/dark-monochrome.js
  • packages/bruno-app/src/themes/dark/dark-pastel.js
  • packages/bruno-app/src/themes/dark/vscode.js
  • packages/bruno-app/src/themes/dark/dark.js
  • packages/bruno-app/src/themes/light/light-monochrome.js
  • packages/bruno-app/src/components/Tabs/StyledWrapper.js
  • packages/bruno-app/src/themes/dark/catppuccin-macchiato.js
  • packages/bruno-app/src/themes/light/catppuccin-latte.js
  • packages/bruno-app/src/themes/dark/nord.js
  • packages/bruno-app/src/components/Tabs/index.js
  • packages/bruno-app/src/themes/dark/catppuccin-mocha.js
  • packages/bruno-app/src/themes/light/vscode.js
  • packages/bruno-app/src/themes/light/light-pastel.js
📚 Learning: 2025-12-05T20:31:33.005Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:33.005Z
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/themes/dark/dark-monochrome.js
  • packages/bruno-app/src/themes/dark/dark-pastel.js
  • packages/bruno-app/src/themes/dark/vscode.js
  • packages/bruno-app/src/themes/dark/dark.js
  • packages/bruno-app/src/components/Tabs/StyledWrapper.js
  • packages/bruno-app/src/components/Tabs/index.js
  • packages/bruno-app/src/themes/light/vscode.js
📚 Learning: 2025-12-05T20:31:33.005Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:33.005Z
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/Tabs/StyledWrapper.js
  • packages/bruno-app/src/components/Tabs/index.js
📚 Learning: 2025-12-05T20:31:33.005Z
Learnt from: CR
Repo: usebruno/bruno PR: 0
File: CODING_STANDARDS.md:0-0
Timestamp: 2025-12-05T20:31:33.005Z
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/Tabs/StyledWrapper.js
  • packages/bruno-app/src/components/Tabs/index.js
🧬 Code graph analysis (10)
packages/bruno-app/src/themes/dark/catppuccin-frappe.js (1)
packages/bruno-app/src/themes/dark/catppuccin-mocha.js (1)
  • colors (6-52)
packages/bruno-app/src/themes/light/light.js (1)
packages/bruno-app/src/themes/dark/dark.js (2)
  • palette (3-57)
  • palette (3-57)
packages/bruno-app/src/themes/dark/dark-pastel.js (2)
packages/bruno-app/src/themes/dark/dark-monochrome.js (1)
  • colors (3-39)
packages/bruno-app/src/themes/dark/dark.js (1)
  • colors (88-93)
packages/bruno-app/src/themes/dark/vscode.js (2)
packages/bruno-app/src/themes/dark/dark-monochrome.js (1)
  • colors (3-39)
packages/bruno-app/src/themes/dark/dark.js (1)
  • colors (88-93)
packages/bruno-app/src/themes/dark/dark.js (1)
packages/bruno-app/src/themes/light/light.js (2)
  • palette (2-56)
  • palette (2-56)
packages/bruno-app/src/themes/light/catppuccin-latte.js (2)
packages/bruno-app/src/themes/dark/catppuccin-frappe.js (1)
  • colors (6-52)
packages/bruno-app/src/themes/dark/catppuccin-mocha.js (1)
  • colors (6-52)
packages/bruno-app/src/components/Tabs/index.js (1)
packages/bruno-app/src/components/Tabs/StyledWrapper.js (1)
  • StyledWrapper (3-35)
packages/bruno-app/src/themes/dark/catppuccin-mocha.js (1)
packages/bruno-app/src/themes/light/catppuccin-latte.js (1)
  • colors (6-52)
packages/bruno-app/src/themes/light/vscode.js (2)
packages/bruno-app/src/themes/light/light-monochrome.js (1)
  • colors (3-40)
packages/bruno-app/src/themes/light/light-pastel.js (1)
  • colors (8-57)
packages/bruno-app/src/themes/light/light-pastel.js (3)
packages/bruno-app/src/themes/dark/dark-monochrome.js (1)
  • colors (3-39)
packages/bruno-app/src/themes/dark/dark.js (1)
  • colors (88-93)
packages/bruno-app/src/themes/light/light-monochrome.js (1)
  • colors (3-40)
⏰ 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: Playwright E2E Tests
  • GitHub Check: CLI Tests
  • GitHub Check: Unit Tests
  • GitHub Check: SSL Tests - Linux
  • GitHub Check: SSL Tests - Windows
  • GitHub Check: SSL Tests - macOS
🔇 Additional comments (9)
packages/bruno-app/src/themes/light/light.js (1)

388-397: Verify visual hierarchy: inactive tabs have lighter backgrounds than active tabs.

In this light theme:

  • Active tabs: SURFACE1 (#eaeaea - darker gray)
  • Inactive tabs: SURFACE0 (#f1f1f1 - lighter gray)

This creates an inverted hierarchy where inactive tabs have a lighter, more prominent background. Typically, active elements are visually emphasized, not receded.

Confirm this is the intended design. The muted text color (SUBTEXT1) for inactive tabs helps, but the lighter background may reduce clarity of the active state.

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

354-363: Tab styling follows unified background pattern with proper contrast.

Active and inactive tabs now share background #3F3F3F, with active tabs becoming lighter (more prominent in dark theme) and inactive text more muted (#999999). The text color contrast (#CCCCCC vs #999999) provides clear state differentiation.

This implementation maintains adequate visual hierarchy despite unified backgrounds, consistent with the broader theme refactoring across this PR.

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

364-373: All Catppuccin themes (latte, frappe, macchiato, mocha) have identical tabs.secondary configurations with the same background color (SURFACE0) for both active and inactive states. This is a consistent design choice across all Catppuccin variants, not an inconsistency in latte.

Likely an incorrect or invalid review comment.

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

370-370: LGTM - Active tab background updated to GRAY_2.

The color token is valid and aligns with the PR's objective to enhance visual consistency across theme files.

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

373-373: LGTM - Inactive tab background updated to SURFACE0.

The change from SURFACE1 to SURFACE0 is valid and consistent with similar updates across other Catppuccin theme variants in this PR.

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

374-374: LGTM - Active tab background updated to GRAY_2.

The color token is valid and consistent with similar updates in other light themes in this PR.

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

376-376: LGTM - Inactive tab background updated to NORD2.

The color token is valid and maintains consistency with the Nord theme's Polar Night palette.

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

1-37: LGTM! Styled component approach follows project patterns.

The wrapper correctly uses the theme prop for colors and follows the coding guidelines. The transition and layout styles provide good UX.

Based on learnings, styled components should use theme props for colors (implemented correctly here) and can handle layout (also done correctly with inline-flex, padding, etc.).

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

1-46: LGTM! Clean refactor to class-based styling.

The refactor successfully moves from inline theme-based styling to a cleaner class-based approach using StyledWrapper. This improves maintainability and follows the project's architectural patterns. The public API remains unchanged, ensuring backward compatibility.

Based on learnings, this correctly uses styled components for color management and Tailwind classes for layout.

Comment on lines 399 to 409
secondary: {
active: {
bg: '#2D2D2D',
color: '#CCCCCC'
bg: palette.background.SURFACE0,
color: palette.text.BASE
},
inactive: {
bg: '#3F3F3F',
color: '#CCCCCC'
bg: palette.background.SURFACE0,
color: palette.text.SUBTEXT1
}
}
},

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Active and inactive tabs have identical backgrounds; palette-based approach is good.

Lines 401 and 405 both use palette.background.SURFACE0 for active and inactive backgrounds, making tabs indistinguishable. However, the refactor to use palette tokens instead of hardcoded hex values is a positive improvement for maintainability.

🔎 Proposed fix

Use different surface levels to distinguish active from inactive tabs:

      active: {
        bg: palette.background.SURFACE0,
        color: palette.text.BASE
      },
      inactive: {
-        bg: palette.background.SURFACE0,
+        bg: palette.background.SURFACE1,
        color: palette.text.SUBTEXT1
      }

This leverages the semantic palette structure where SURFACE1 is a different shade from SURFACE0.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
secondary: {
active: {
bg: '#2D2D2D',
color: '#CCCCCC'
bg: palette.background.SURFACE0,
color: palette.text.BASE
},
inactive: {
bg: '#3F3F3F',
color: '#CCCCCC'
bg: palette.background.SURFACE0,
color: palette.text.SUBTEXT1
}
}
},
secondary: {
active: {
bg: palette.background.SURFACE0,
color: palette.text.BASE
},
inactive: {
bg: palette.background.SURFACE1,
color: palette.text.SUBTEXT1
}
}
},
🤖 Prompt for AI Agents
In packages/bruno-app/src/themes/dark/dark.js around lines 399 to 409, the
active and inactive tab backgrounds both use palette.background.SURFACE0 making
them visually identical; change the inactive (or active) bg to a different
surface token (e.g., palette.background.SURFACE1) so active and inactive tabs
are distinguishable while keeping palette tokens.

@bijin-bruno
bijin-bruno merged commit 33361ba into usebruno:main Jan 2, 2026
8 checks passed
bijin-bruno added a commit that referenced this pull request Feb 13, 2026
* fix: use themes within protobuf section (#6575)

* fix: use themes within protobuf section

* chore: fix font weight for protobuf settings

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: radios buttons to use primary color (#6576)

* fix: cookie modal theme (#6580)

* fix: cookie modal theme

* update toggle switch to use primary color

* style: enhance theme dropdown and security settings with improved styles and active indicators (#6582)

* style: enhance CodeMirror dropdown styles with theme integration  (#6577)

* style: enhance CodeMirror dropdown styles with theme integration for improved consistency

* style: refine dropdown and CodeMirror hint styles for improved consistency and usability

* style: clean up scrollbar and CodeMirror hint styles for improved readability

* remove max height for keybinding table (#6586)

* fix: Add New Request CTA alignment in tabs (#6584)

* fix: Add New Request CTA alignment in tabs
- Moved the '+' icon before the chevron to maintain alignment once chevrons appear
- Added padding to the '+' icon for better spacing.

* refactor: streamline New Request button rendering in RequestTabs component

- Simplified the rendering logic for the New Request button by removing unnecessary conditional wrappers.
- Ensured the button remains functional and maintains its styling within the tab layout.

* chore: update delete confirmation modals to use danger button color (#6589)

* refactor: remove size prop from Button components for consistency across modals and improve styling

* style: update confirm button colors in modal components for consistency

* fix: oauth2 callback url field placeholder text update (#6588)

* Fix auth panel UI updates (#6590)

* style: update padding and font size in OAuth2 and Table components for improved consistency

* style: update font styles in OAuth2 components for improved readability

* fix: add missing semicolon in StyledWrapper.js for consistent styling

* fix: standardize table border colors and improve table styling (#6597)

* style: update OAuth2 section labels for improved consistency and readability (#6598)

* fix: prefrence modal width (#6595)

* fix: theme within grpc timeline (#6581)

* fix: theme within grpc timeline

* fix: use font from the theme

* remove y padding to make timeline item more compact

* fix: font

* fix: padding

* fix: use fira code

* fix: icon spacing

* add border to the method  search

* show bg for message section within request

* fix: collection already opened in other workspace (#6574)

* fix: collection already opened in other workspace

* fix

* fixes

* Merge pull request #6583 from naman-bruno/add/collection-docs

add: collection-docs

* add: beta tag for opencollection & fix create collection location behaviour (#6594)

* add: beta tag for opencollection

* fixes

* fix

* feat: improved dark mode color (#6616)

* fix: resolve request pane tooltip visibility issue (#6615)

* Feat/update file picker (#6614)

* styling: file-picker editor component

* use filepicker component within filebody and response example filebody

* edit example to use button components

* fix: hide delete, disable checkbox in preview mode

* make label italic

* chore: change example cta buttons to filled style

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: folder docs save button visibility issue (#6617)

* refactor: improve theme handling in ThemeProvider for better responsiveness to system preferences (#6606)

* refactor: improve theme handling in ThemeProvider for better responsiveness to system preferences

- Introduced helper functions to determine effective theme and apply it to the root element.
- Updated theme application logic to respond to system theme changes more efficiently.
- Simplified theme computation to avoid race conditions by directly using storedTheme.

* fix: update displayedTheme initialization in ThemeProvider to use storedTheme for consistency

* fix: use theme styling within timeline (#6604)

* fix: use theme styling within timeline

* fix: remove inline styling and use css classes

* fix: network logs within dev tools

* compact timeline for grpc

* refactor: standardize CSS class naming in StyledWrapper components for better readability

* remove styling configuration from Network component

* fix: update colors

* update colors

* fix: color

* feat: improve RunnerResults filter bar to use theme system (#6613)

* feat: integrate theme support in RunnerResults component for improved styling

* refactor: simplify RunnerResults component and enhance filter button styling

* style: adjust padding in StyledWrapper and remove aria-pressed from FilterButton

* add: global env and workspace flag (#6534)

* add: global env and workspace flag

* rm: await

* update: option name

* fix

* fix

* fix: invalid collection in workspace (#6612)

* fix: update Notifications and StatusBar components for improved functionality and styling (#6607)

* feat: use theme colors for Console method badges (#6603)

* feat: use theme colors for Console method badges

* chore(theme): bruno devtools UX updates

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: update @opencollection/types to version 0.6.0 and refactor auth handling in request items (#6619)

* feat: enhance HttpMethodSelector to include caret indicator when creating new request (#6620)

* feat(theme): update secondary button styles (#6621)

* feat: update toast UI to match theme (#6622)

* Improve delete collection in workspace overview (#6587)

* Improve delete collection in workspace overview

* fixes

* Feat/v3 UI updates (#6618)

* style: enhance button layout and input styles across multiple components for improved UI consistency

* style: update RequestsNotLoaded component with new warning styles and enhance theme color definitions for status indicators

* refactor: update theme usage across components for consistency

- Changed color references from theme.brand to theme.primary.text in various StyledWrapper components.
- Added hover effects to enhance UI interactivity in CollectionSettings and FolderSettings.
- Removed unnecessary margin and padding adjustments in several components for cleaner layout.
- Improved accessibility by ensuring aria attributes are correctly set in MenuDropdown.
- Standardized styling for method indicators in RequestPane components.

These changes aim to create a more cohesive look and feel across the application while adhering to the updated theme guidelines.

* refactor: clean up method selector styling in NewRequest component

* chore: temp playwright test fixes

* refactor: update modal sizes across various components for consistency

- Changed modal size from "sm" to "md" in RenameWorkspace, CreateApiSpec, CloneCollection, DeleteCollectionItem, and RenameCollection components.
- Improved styling in HttpMethodSelector by adding padding for better layout.
- Updated theme color references in multiple theme files to use a new palette structure for consistency and maintainability.

* refactor: enhance styling and theme integration in TimelineItem components

- Updated HttpMethodSelector to clarify padding calculation in comments.
- Integrated theme colors for OAuth2 indicator and timestamp in TimelineItem for better visual consistency.
- Adjusted Method component to use uppercase styling for method display.
- Modified RelativeTime component to apply muted text color for improved readability.
- Updated INFO color in dark and light themes for better contrast and accessibility.

* refactor: remove duplicate import statements in theme files

- Cleaned up import statements in vscode.js and light-pastel.js by removing redundant lines for improved code clarity and maintainability.

* refactor: improve styling and theme integration in various components

- Added accent color and cursor style for checkbox inputs in Modal's StyledWrapper.
- Updated border-radius values in HttpMethodSelector and NewRequest StyledWrapper components to use theme variables for consistency.
- Introduced a new textbox class in NewRequest StyledWrapper for better styling control.
- Changed modal size from "sm" to "md" in CreateEnvironment for improved layout.

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix(UX): fix sandbox selector options background color (#6626)

* update cdn links (#6628)

* fix: toggle switch color (#6627)

* fix: modal icon colors to match button colors (#6624)

* style: update warning icon color in RemoveCollection and ConfirmSwitchEnv components to use theme colors

* fix: font size in BulkEditor

* style: update error message styling to use theme colors in QueryResult component

* style: update warning icon color

* style: update warning color in ConfirmSwitchEnv

* chore: minor pr comment

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: folder settings var panel table alignment (#6631)

* style: remove font size class from button (#6630)

* fix: authmode in graphql (#6636)

* fix: file picker component overflow (#6635)

* fix: tooltip styling (#6632)

* refactor: update color references in OAuth2 components to use theme.primary.text for improved consistency (#6629)

* refactor: update color references in OAuth2 components to use theme.primary.text for improved consistency

* refactor: update modal size in ImportCollectionLocation component for improved consistency

* refactor: set isActiveTab prop in QueryResponse component and update active color in StyledWrapper for consistency

* feat: update "Show in Folder" label based on platform in ManageWorkspace, Collection, CollectionItem, and WorkspaceHome components (#6623)

* feat: update "Show in Folder" label based on platform in ManageWorkspace, Collection, CollectionItem, and WorkspaceHome components

* refactor: remove duplicate "Rename" item push in CollectionItem component

* style: update text color classes and button hover effects in RunnerResults (#6637)

* style: update text color classes and button hover effects in RunnerResults and StyledWrapper components

* Update StyledWrapper.jsx

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* style: update variable validation colors in StyledWrapper components to use theme colors (#6633)

* refactor: update Tabs component structure and theme colors (#6638)

- Replaced the div wrapper in the Tabs component with StyledWrapper for improved styling.
- Simplified TabsList and TabsTrigger components by removing theme dependency and using classnames for styling.
- Updated inactive background colors in multiple theme files to enhance visual consistency across themes.

* feat: integrate theme support in ImportCollection component (#6639)

* feat: integrate theme support in ImportCollection component for improved styling consistency

* chore: remove debug console log from ImportCollection component

* refactor: update theme import in ImportCollection component for improved consistency

* style: enhance syntax highlighting in GQL Docs and Doc Gen (#6640)

* style: enhance syntax highlighting and theme integration in QueryEditor and GenerateDocs components

* fix: fixed generate code theming issues

* style: update color references to use theme.draftColor for unsaved changes across multiple components (#6641)

* chore: theme updates (#6642)

---------

Co-authored-by: sanish chirayath <sanish@usebruno.com>
Co-authored-by: Abhishek S Lal <abhishek@usebruno.com>
Co-authored-by: Pooja <pooja@usebruno.com>
Co-authored-by: Chirag Chandrashekhar <chirag@usebruno.com>
Co-authored-by: Sanjai Kumar <161328623+sanjaikumar-bruno@users.noreply.github.com>
Co-authored-by: lohit <lohit@usebruno.com>
Co-authored-by: gopu-bruno <gopu@usebruno.com>
Co-authored-by: naman-bruno <naman@usebruno.com>
Co-authored-by: Anoop M D <anoop@usebruno.com>
maxenceleblanc pushed a commit to maxenceleblanc/curly_cats2 that referenced this pull request Jul 20, 2026
…6638)

- Replaced the div wrapper in the Tabs component with StyledWrapper for improved styling.
- Simplified TabsList and TabsTrigger components by removing theme dependency and using classnames for styling.
- Updated inactive background colors in multiple theme files to enhance visual consistency across themes.
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