diff --git a/packages/bruno-app/src/components/CollectionSettings/Headers/index.js b/packages/bruno-app/src/components/CollectionSettings/Headers/index.js index 9ae6e1e07..d0968c425 100644 --- a/packages/bruno-app/src/components/CollectionSettings/Headers/index.js +++ b/packages/bruno-app/src/components/CollectionSettings/Headers/index.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useState } from 'react'; import get from 'lodash/get'; import cloneDeep from 'lodash/cloneDeep'; import { IconTrash } from '@tabler/icons'; @@ -7,19 +7,30 @@ import { useTheme } from 'providers/Theme'; import { addCollectionHeader, updateCollectionHeader, - deleteCollectionHeader + deleteCollectionHeader, + setCollectionHeaders } from 'providers/ReduxStore/slices/collections'; import { saveCollectionRoot } from 'providers/ReduxStore/slices/collections/actions'; import SingleLineEditor from 'components/SingleLineEditor'; import StyledWrapper from './StyledWrapper'; import { headers as StandardHTTPHeaders } from 'know-your-http-well'; import { MimeTypes } from 'utils/codemirror/autocompleteConstants'; +import BulkEditor from 'components/BulkEditor/index'; const headerAutoCompleteList = StandardHTTPHeaders.map((e) => e.header); const Headers = ({ collection }) => { const dispatch = useDispatch(); const { storedTheme } = useTheme(); const headers = get(collection, 'root.request.headers', []); + const [isBulkEditMode, setIsBulkEditMode] = useState(false); + + const toggleBulkEditMode = () => { + setIsBulkEditMode(!isBulkEditMode); + }; + + const handleBulkHeadersChange = (newHeaders) => { + dispatch(setCollectionHeaders({ collectionUid: collection.uid, headers: newHeaders })); + }; const addHeader = () => { dispatch( @@ -63,6 +74,22 @@ const Headers = ({ collection }) => { ); }; + if (isBulkEditMode) { + return ( + +
+ Add request headers that will be sent with every request in this collection. +
+ +
+ ); + } + return (
@@ -141,9 +168,14 @@ const Headers = ({ collection }) => { : null} - +
+ + +
+
+ + +