* feat: implement sidebar accordion sections
- Added SidebarAccordionContext for managing expanded sections.
- Introduced SidebarContent component to render sections dynamically.
- Created CollectionsSection and ApiSpecsSection for sidebar organization.
- Updated Sidebar component to utilize new sections and context.
- Enhanced StyledWrapper for improved layout and styling of sidebar sections.
* refactor: streamline Sidebar component and enhance styling
* feat: enhance SidebarSection with ActionIcon and improved hover styles
* fix: update useEffect dependencies in SidebarAccordionContext and enhance accessibility in SidebarSection
* style: increase gap in StyledWrapper and reintroduce cursor pointer for better user interaction
* style: remove custom scrollbar styles from Sidebar components for a cleaner look
* feat: add response data type selector in response viewer
* chore: fixed lint issue
* test: add test for resonse format change and preview.
* refactor: streamline response format tests with utility functions for navigation and format switching
* refactor: simplify ButtonDropdown component and enhance QueryResultTypeSelector with header and toggle switch
* feat: enhance ButtonDropdown with prefix and suffix props; implement content type detection and update QueryResult for improved format handling
* fix: lint errors resolved
* fix: remove unnecessary blank line to resolve lint issues
* fix: update response format tests
* refactor: remove preview tab locator from response format tests
* fix: update dependency in useEffect to include previewFormatOptions for accurate format handling
* refactor: reorganize imports and enhance QueryResult component for improved format handling and error display
* fix: update error messages in response format preview tests and adjust version in JSON fixture
* feat: add drag detection to HtmlPreview component and update structure for improved user interaction
* refactor: update ResponsePane components for improved structure and functionality;
replace QueryResult with QueryResponse, enhance layout handling, and streamline response actions
* refactor: remove ButtonDropdown component and associated styles;
* refactor: moved ErrorAlert to ui folder
* fix: lint error
* feat: add data-testid attributes to Collection and CollectionItem components for improved testability
* feat: hide dropdown on select in response selector
* fix: update QueryResult component to use detectedContentType for format handling
* test: update ResponseLayoutToggle tests to use data-testid for button selection
* feat: add data-testid attribute to ResponseClear component for improved testability
* refactor: implement clickResponseAction utility for streamlined response action handling in tests
* feat: add data-testid attribute to ResponseCopy component for enhanced testability
* fix: unwanted code in test
* feat: add dropdown for quick request creation in tab bar
- Create reusable CreateUntitledRequest component with customizable trigger
- Add generateUniqueRequestName utility for unique request naming
- Replace modal-based request creation with dropdown in tab bar
- Support HTTP, GraphQL, WebSocket, and gRPC request types
- Generate unique names (Untitled, Untitled1, etc.) automatically
- Create requests at collection root level
* Update request creation and collection components
* Fix dropdown positioning and styling when appended to document.body
- Change appendTo from 'parent' to document.body for absolute positioning
- Add comprehensive styling via onShow handler to ensure proper width, padding, text color, and opacity
- Add global styles as fallback for dropdown elements
- Ensure dropdown overlaps parent without expanding it
* Update RequestTabs and Collection components
* Add curl paste detection and parsing for HTTP requests
* Fix generateUniqueRequestName to check filesystem for existing files
* feat: add placeholder text to HTTP request URL input
Add helpful placeholder text 'Enter URL or paste a cURL request' to the HTTP request URL input field. This guides users on how to use the input field, indicating they can either enter a URL directly or paste a cURL command which will be automatically parsed.
* Simplify request creation in collection menu
* fix: fixed issues with cURL paste for GraphQL requests in the URL input bar
* fix: added icons to create request dropdown
* fix: fixed the icon | text gap in dropdown
* fix: removed unnecessary updates on the Dropdown Component
* added onCreate to Dropdown to remove unwanted diffs
* fix: simplified the generateUniqueRequestName function. ai writes complex code
* chore: formatting and removed unnecessary diffs
* Update packages/bruno-app/src/components/RequestPane/QueryUrl/index.js
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* chore: format
* Fix failing E2E tests by updating to new request creation flow
- Replace #create-new-tab selector with new dropdown flow using createUntitledRequest helper
- Update generateUniqueRequestName to handle .bru, .yml, and .yaml file extensions
- Add createUntitledRequest helper function with optional URL and tag parameters
- Update all failing tests to use the new helper function
- Fix selectors from .collection-item-name to .item-name where needed
- All 13 previously failing tests now pass
* chore: removed unused import
---------
Co-authored-by: Sid <siddharth@usebruno.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* refactor: update AppTitleBar and SidebarHeader components to use MenuDropdown and ActionIcon for improved UI consistency
* refactor: update button locators in tests to use data-testid for consistency and improved readability
* fix: Support @contentType for multiline values
Fixes the issue where the @contentType annotation broke the parsing of multiline values.
* chore: add dotall flag to fileExtractContentType
Not strictly needed since body:file uses single-line values in practice,
but doesn't hurt and matches what multipartExtractContentType does.
---------
Co-authored-by: Márk Dániel Seres <markdaniel.seres@tesco.com>
* Refactor `runCollectionFolder` action to accept `selectedRequestUids` for filtering and ordering requests.
* Update IPC handler to process `selectedRequestUids`, ensuring requests are executed in the specified order while preserving folder data.
* refactor: update sidebar components and styles, replace TitleBar with SidebarHeader, and enhance collections search functionality
* refactor: improve event listener management in AppTitleBar and clean up SidebarHeader styles
* fix: ensure safe access to layout preferences in AppTitleBar and set default order in SidebarHeader
* refactor: centralize toTitleCase utility and remove redundant implementations in AppTitleBar and WorkspaceSelector
* feat: enhance accessibility and testing for sidebar and devtools toggle buttons in AppTitleBar
* chore: quick fix on a flaky test
---------
Co-authored-by: Bijin A B <bijin@usebruno.com>
* Partial Revert "remove: presets and response var (#6195)"
This reverts commit 786a3414b8 while keeping code related to presets deleted
* revert: remove global environment variables assignment