Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions packages/bruno-app/src/components/StatusBar/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React, { useState } from 'react';
import React from 'react';
import { useSelector, useDispatch } from 'react-redux';
import find from 'lodash/find';
import { IconSettings, IconCookie, IconTool, IconSearch, IconPalette, IconBrandGithub } from '@tabler/icons';
Expand All @@ -12,6 +12,7 @@ import ThemeDropdown from './ThemeDropdown';
import { openConsole } from 'providers/ReduxStore/slices/logs';
import { addTab } from 'providers/ReduxStore/slices/tabs';
import { useApp } from 'providers/App';
import { openCookiesModal, closeCookiesModal } from 'providers/ReduxStore/slices/app';
import StyledWrapper from './StyledWrapper';

const StatusBar = () => {
Expand All @@ -21,11 +22,11 @@ const StatusBar = () => {
const showHomePage = useSelector((state) => state.app.showHomePage);
const showManageWorkspacePage = useSelector((state) => state.app.showManageWorkspacePage);
const showApiSpecPage = useSelector((state) => state.app.showApiSpecPage);
const isCookiesModalOpen = useSelector((state) => state.app.isCookiesModalOpen);
const tabs = useSelector((state) => state.tabs.tabs);
const activeTabUid = useSelector((state) => state.tabs.activeTabUid);
const activeTab = find(tabs, (t) => t.uid === activeTabUid);
const logs = useSelector((state) => state.logs.logs);
const [cookiesOpen, setCookiesOpen] = useState(false);
const { version } = useApp();

const activeWorkspace = workspaces.find((w) => w.uid === activeWorkspaceUid);
Expand Down Expand Up @@ -57,11 +58,11 @@ const StatusBar = () => {

return (
<StyledWrapper>
{cookiesOpen && (
{isCookiesModalOpen && (
<Portal>
<Cookies
onClose={() => {
setCookiesOpen(false);
dispatch(closeCookiesModal());
document.querySelector('[data-trigger="cookies"]').focus();
}}
aria-modal="true"
Expand Down Expand Up @@ -137,7 +138,7 @@ const StatusBar = () => {
<button
className="status-bar-button"
data-trigger="cookies"
onClick={() => setCookiesOpen(true)}
onClick={() => dispatch(openCookiesModal())}
tabIndex={0}
aria-label="Open Cookies"
>
Expand Down
14 changes: 13 additions & 1 deletion packages/bruno-app/src/providers/Hotkeys/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import each from 'lodash/each';
import { findCollectionByUid, findItemInCollection, flattenItems, isItemARequest, hasRequestChanges, findEnvironmentInCollection } from 'utils/collections';
import { addTab, focusTab, reorderTabs } from 'providers/ReduxStore/slices/tabs';
import { saveMultipleRequests, saveMultipleCollections, saveMultipleFolders, saveEnvironment, reopenClosedTab } from 'providers/ReduxStore/slices/collections/actions';
import { toggleSidebarCollapse, toggleSidebarSearch, savePreferences } from 'providers/ReduxStore/slices/app';
import { toggleSidebarCollapse, toggleSidebarSearch, savePreferences, toggleCookiesModal } from 'providers/ReduxStore/slices/app';
import { openDevtoolsAndSwitchToTerminal } from 'utils/terminal';
import { getKeyBindingsForActionAllOS } from './keyMappings';

Expand Down Expand Up @@ -121,6 +121,18 @@ export const HotkeysProvider = (props) => {
};
}, [userKeyBindings, keybindingsEnabled]);

// Toggle cookies modal
useEffect(() => {
bindAction('openCookies', () => {
dispatch(toggleCookiesModal());
return false;
});

return () => {
unbindAction('openCookies');
};
}, [dispatch, userKeyBindings, keybindingsEnabled]);

// Switch to the previous tab (active-collection-tabs-only)
useEffect(() => {
bindAction('switchToPreviousTab', (e) => {
Expand Down
6 changes: 6 additions & 0 deletions packages/bruno-app/src/providers/Hotkeys/keyMappings.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,12 @@ export const KEY_BINDING_SECTIONS = [
globalSearch: { mac: 'command+bind+k', windows: 'ctrl+bind+k', name: 'Global Search' } // D
}
},
{
heading: 'Cookies',
bindings: {
openCookies: { mac: 'shift+bind+alt+bind+c', windows: 'shift+bind+alt+bind+c', name: 'Open Cookies' }
}
},
Comment thread
coderabbitai[bot] marked this conversation as resolved.
{
heading: 'View',
bindings: {
Expand Down
13 changes: 13 additions & 0 deletions packages/bruno-app/src/providers/ReduxStore/slices/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ const initialState = {
library: 'curl',
shouldInterpolate: true
},
isCookiesModalOpen: false,
cookies: [],
taskQueue: [],
gitOperationProgress: {},
Expand Down Expand Up @@ -120,6 +121,15 @@ export const appSlice = createSlice({
updateCookies: (state, action) => {
state.cookies = action.payload;
},
openCookiesModal: (state) => {
state.isCookiesModalOpen = true;
},
closeCookiesModal: (state) => {
state.isCookiesModalOpen = false;
},
toggleCookiesModal: (state) => {
state.isCookiesModalOpen = !state.isCookiesModalOpen;
},
insertTaskIntoQueue: (state, action) => {
state.taskQueue.push(action.payload);
},
Expand Down Expand Up @@ -206,6 +216,9 @@ export const {
updatePreferences,
updateActivePreferencesTab,
updateCookies,
openCookiesModal,
closeCookiesModal,
toggleCookiesModal,
insertTaskIntoQueue,
removeTaskFromQueue,
removeAllTasksFromQueue,
Expand Down