aboutsummaryrefslogtreecommitdiffstats
path: root/packages/renderer
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-03-09 17:39:07 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-03-15 03:00:04 +0100
commit249b89d51cf4d1ed72118c754af1d26522f8ce3a (patch)
tree9bc126b02884251ad98c8c8c19b2dffb1020a5aa /packages/renderer
parentdesign: Inset sidebar (diff)
downloadsophie-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/renderer')
-rw-r--r--packages/renderer/src/components/App.tsx21
-rw-r--r--packages/renderer/src/components/locationBar/LocationTextField.tsx8
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';
22import React from 'react'; 22import React from 'react';
23 23
24import BrowserViewPlaceholder from './BrowserViewPlaceholder'; 24import BrowserViewPlaceholder from './BrowserViewPlaceholder';
25import { useStore } from './StoreProvider';
25import LocationBar from './locationBar/LocationBar'; 26import LocationBar from './locationBar/LocationBar';
26import Sidebar from './sidebar/Sidebar'; 27import Sidebar from './sidebar/Sidebar';
27 28
28export default function App(): JSX.Element { 29export 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