diff options
author | Kristóf Marussy <kristof@marussy.com> | 2022-03-09 17:39:07 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2022-03-15 03:00:04 +0100 |
commit | 249b89d51cf4d1ed72118c754af1d26522f8ce3a (patch) | |
tree | 9bc126b02884251ad98c8c8c19b2dffb1020a5aa /packages | |
parent | design: Inset sidebar (diff) | |
download | sophie-249b89d51cf4d1ed72118c754af1d26522f8ce3a.tar.gz sophie-249b89d51cf4d1ed72118c754af1d26522f8ce3a.tar.zst sophie-249b89d51cf4d1ed72118c754af1d26522f8ce3a.zip |
feat(renderer): Back and forward mouse buttons
Signed-off-by: Kristóf Marussy <kristof@marussy.com>
Diffstat (limited to 'packages')
-rw-r--r-- | packages/renderer/src/components/App.tsx | 21 | ||||
-rw-r--r-- | packages/renderer/src/components/locationBar/LocationTextField.tsx | 8 |
2 files changed, 25 insertions, 4 deletions
diff --git a/packages/renderer/src/components/App.tsx b/packages/renderer/src/components/App.tsx index 8fab77d..af2e4ec 100644 --- a/packages/renderer/src/components/App.tsx +++ b/packages/renderer/src/components/App.tsx | |||
@@ -22,12 +22,33 @@ import Box from '@mui/material/Box'; | |||
22 | import React from 'react'; | 22 | import React from 'react'; |
23 | 23 | ||
24 | import BrowserViewPlaceholder from './BrowserViewPlaceholder'; | 24 | import BrowserViewPlaceholder from './BrowserViewPlaceholder'; |
25 | import { useStore } from './StoreProvider'; | ||
25 | import LocationBar from './locationBar/LocationBar'; | 26 | import LocationBar from './locationBar/LocationBar'; |
26 | import Sidebar from './sidebar/Sidebar'; | 27 | import Sidebar from './sidebar/Sidebar'; |
27 | 28 | ||
28 | export default function App(): JSX.Element { | 29 | export default function App(): JSX.Element { |
30 | const store = useStore(); | ||
31 | |||
32 | function onClick(event: React.MouseEvent<HTMLDivElement, MouseEvent>): void { | ||
33 | switch (event.button) { | ||
34 | case 3: | ||
35 | store.settings.selectedService?.goBack(); | ||
36 | break; | ||
37 | case 4: | ||
38 | store.settings.selectedService?.goForward(); | ||
39 | break; | ||
40 | default: | ||
41 | // Allow the event to propagate. | ||
42 | return; | ||
43 | } | ||
44 | event.preventDefault(); | ||
45 | event.stopPropagation(); | ||
46 | } | ||
47 | |||
29 | return ( | 48 | return ( |
30 | <Box | 49 | <Box |
50 | onClick={(event) => onClick(event)} | ||
51 | onAuxClick={(event) => onClick(event)} | ||
31 | sx={{ | 52 | sx={{ |
32 | display: 'flex', | 53 | display: 'flex', |
33 | flexDirection: 'row', | 54 | flexDirection: 'row', |
diff --git a/packages/renderer/src/components/locationBar/LocationTextField.tsx b/packages/renderer/src/components/locationBar/LocationTextField.tsx index 3a4f7f5..057dd69 100644 --- a/packages/renderer/src/components/locationBar/LocationTextField.tsx +++ b/packages/renderer/src/components/locationBar/LocationTextField.tsx | |||
@@ -93,20 +93,20 @@ function LocationTextField({ | |||
93 | setValue(newValue); | 93 | setValue(newValue); |
94 | setChanged(true); | 94 | setChanged(true); |
95 | }} | 95 | }} |
96 | onKeyUp={(event) => { | 96 | onKeyDown={(event) => { |
97 | switch (event.key) { | 97 | switch (event.key) { |
98 | case 'Escape': | 98 | case 'Escape': |
99 | resetValue(); | 99 | resetValue(); |
100 | event.preventDefault(); | ||
101 | break; | 100 | break; |
102 | case 'Enter': | 101 | case 'Enter': |
103 | service?.go(value); | 102 | service?.go(value); |
104 | event.preventDefault(); | ||
105 | break; | 103 | break; |
106 | default: | 104 | default: |
107 | // Nothing to do, let the key event through. | 105 | // Nothing to do, let the key event through. |
108 | break; | 106 | return; |
109 | } | 107 | } |
108 | event.preventDefault(); | ||
109 | event.stopPropagation(); | ||
110 | }} | 110 | }} |
111 | size="small" | 111 | size="small" |
112 | fullWidth | 112 | fullWidth |