diff options
Diffstat (limited to 'packages/renderer/src/components/App.tsx')
-rw-r--r-- | packages/renderer/src/components/App.tsx | 64 |
1 files changed, 43 insertions, 21 deletions
diff --git a/packages/renderer/src/components/App.tsx b/packages/renderer/src/components/App.tsx index af2e4ec..b647a80 100644 --- a/packages/renderer/src/components/App.tsx +++ b/packages/renderer/src/components/App.tsx | |||
@@ -19,38 +19,46 @@ | |||
19 | */ | 19 | */ |
20 | 20 | ||
21 | import Box from '@mui/material/Box'; | 21 | import Box from '@mui/material/Box'; |
22 | import React from 'react'; | 22 | import Button from '@mui/material/Button'; |
23 | import { observer } from 'mobx-react-lite'; | ||
24 | import React, { useCallback } from 'react'; | ||
23 | 25 | ||
24 | import BrowserViewPlaceholder from './BrowserViewPlaceholder'; | 26 | import BrowserViewPlaceholder from './BrowserViewPlaceholder'; |
25 | import { useStore } from './StoreProvider'; | 27 | import { useStore } from './StoreProvider'; |
26 | import LocationBar from './locationBar/LocationBar'; | 28 | import LocationBar from './locationBar/LocationBar'; |
27 | import Sidebar from './sidebar/Sidebar'; | 29 | import Sidebar from './sidebar/Sidebar'; |
28 | 30 | ||
29 | export default function App(): JSX.Element { | 31 | function App(): JSX.Element { |
30 | const store = useStore(); | 32 | const { |
33 | settings: { selectedService }, | ||
34 | } = useStore(); | ||
31 | 35 | ||
32 | function onClick(event: React.MouseEvent<HTMLDivElement, MouseEvent>): void { | 36 | const handleBackForwardMouseButtons = useCallback( |
33 | switch (event.button) { | 37 | (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => { |
34 | case 3: | 38 | switch (event.button) { |
35 | store.settings.selectedService?.goBack(); | 39 | case 3: |
36 | break; | 40 | selectedService?.goBack(); |
37 | case 4: | 41 | break; |
38 | store.settings.selectedService?.goForward(); | 42 | case 4: |
39 | break; | 43 | selectedService?.goForward(); |
40 | default: | 44 | break; |
41 | // Allow the event to propagate. | 45 | default: |
42 | return; | 46 | // Allow the event to propagate. |
43 | } | 47 | return; |
44 | event.preventDefault(); | 48 | } |
45 | event.stopPropagation(); | 49 | event.preventDefault(); |
46 | } | 50 | event.stopPropagation(); |
51 | }, | ||
52 | [selectedService], | ||
53 | ); | ||
47 | 54 | ||
48 | return ( | 55 | return ( |
49 | <Box | 56 | <Box |
50 | onClick={(event) => onClick(event)} | 57 | onClick={handleBackForwardMouseButtons} |
51 | onAuxClick={(event) => onClick(event)} | 58 | onAuxClick={handleBackForwardMouseButtons} |
52 | sx={{ | 59 | sx={{ |
53 | display: 'flex', | 60 | display: 'flex', |
61 | overflow: 'hidden', | ||
54 | flexDirection: 'row', | 62 | flexDirection: 'row', |
55 | alignItems: 'stretch', | 63 | alignItems: 'stretch', |
56 | height: '100vh', | 64 | height: '100vh', |
@@ -69,8 +77,22 @@ export default function App(): JSX.Element { | |||
69 | }} | 77 | }} |
70 | > | 78 | > |
71 | <LocationBar /> | 79 | <LocationBar /> |
72 | <BrowserViewPlaceholder /> | 80 | <BrowserViewPlaceholder> |
81 | <p>{JSON.stringify(selectedService?.state)}</p> | ||
82 | {selectedService?.state.type === 'certificateError' && ( | ||
83 | <Button | ||
84 | disabled={selectedService.state.trust !== 'pending'} | ||
85 | onClick={() => | ||
86 | selectedService?.temporarilyTrustCurrentCertificate() | ||
87 | } | ||
88 | > | ||
89 | Trust certificate | ||
90 | </Button> | ||
91 | )} | ||
92 | </BrowserViewPlaceholder> | ||
73 | </Box> | 93 | </Box> |
74 | </Box> | 94 | </Box> |
75 | ); | 95 | ); |
76 | } | 96 | } |
97 | |||
98 | export default observer(App); | ||