Skip to content

Commit 79a953f

Browse files
committed
better sidebar style when extension context is invalid
1 parent b580ea1 commit 79a953f

File tree

6 files changed

+50
-34
lines changed

6 files changed

+50
-34
lines changed

src/components/Logo/Logo.jsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,12 @@ const logo = (props) => {
1313
let src = AppLogo;
1414

1515
if (window.chrome !== undefined && chrome.extension !== undefined) {
16-
src = chrome.runtime.getURL('icon-128.png');
16+
try {
17+
src = chrome.runtime.getURL('icon-128.png');
18+
} catch (err) {
19+
console.log(err);
20+
// return null;
21+
}
1722
}
1823

1924
return (

src/pages/Content/helpers/UpdateNoticeHelper.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import React from 'react';
22
import ReactDOM from 'react-dom';
3+
import { sidebarRoot } from './SidebarHelper';
4+
import { SIDEBAR_CONTAINER_ID } from '../../../shared/constants';
35
import UpdateNotice from '../modules/UpdateNotice/UpdateNotice';
46

57
let updateNoticeRoot = document.createElement('div');
@@ -18,8 +20,16 @@ document.addEventListener('visibilitychange', (info) => {
1820
if (err.toString().indexOf('Extension context invalidated') !== -1) {
1921
if (!document.hidden) {
2022
console.log('should refresh page');
23+
updateNoticeRoot.style.zIndex = '999999999';
2124
ReactDOM.render(<UpdateNotice />, updateNoticeRoot);
25+
const sidebarIframe = sidebarRoot.querySelector('iframe');
26+
sidebarIframe.style.opacity = 0.4;
27+
sidebarIframe.style.pointerEvents = 'none';
28+
sidebarIframe.style.userSelect = 'none';
29+
document.querySelector(`#${SIDEBAR_CONTAINER_ID}`).style.cursor =
30+
'not-allowed';
2231
} else {
32+
updateNoticeRoot.style.zIndex = null;
2333
ReactDOM.unmountComponentAtNode(updateNoticeRoot);
2434
}
2535
}

src/pages/Content/modules/UpdateNotice/UpdateNotice.jsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const UpdateNoticeContainer = styled.div`
1212
padding: 8px 16px;
1313
border-radius: 10px;
1414
color: #000;
15-
background-color: #fff;
15+
background-color: #fff !important;
1616
1717
font-family: sans-serif;
1818
text-align: center;
@@ -21,8 +21,6 @@ const UpdateNoticeContainer = styled.div`
2121
font-style: normal;
2222
box-shadow: 0 4px 10px 0 rgb(0 0 0 / 20%), 0 4px 20px 0 rgb(0 0 0 / 19%);
2323
line-height: 22px;
24-
25-
z-index: 999999999;
2624
`;
2725

2826
const ExtensionNameContainerSpan = styled.span`

src/pages/Content/modules/frame/frame.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const iframeClass = css`
2020
`;
2121

2222
const containerClass = css`
23+
background-color: #fff;
2324
position: fixed;
2425
top: 0px;
2526
/* right: 0px; */

src/pages/Sidebar/Sidebar.jsx

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -260,34 +260,32 @@ class Sidebar extends Component {
260260

261261
return (
262262
<DarkModeContext.Consumer>
263-
{(darkModeContext) => {
264-
return (
265-
<div
266-
className={classNames({
267-
SidebarContainer: true,
268-
Dark: darkModeContext.isDark,
269-
})}
270-
>
271-
<Title
272-
setDisplayTabInFull={this.setDisplayTabInFull}
273-
setDisplayTabPreviewFrame={this.setDisplayTabPreviewFrame}
274-
/>
275-
<TabsList
276-
displayTabInFull={displayTabInFull}
277-
displayTabPreviewFrame={displayTabPreviewFrame}
278-
tabOrders={tabOrders
279-
.filter(({ id }) => tabsDict[id] !== undefined)
280-
.map((tabOrder) => ({
281-
...tabOrder,
282-
...tabsDict[tabOrder.id],
283-
}))}
284-
activeTab={activeTab}
285-
setTabAsLoading={this.setTabAsLoading}
286-
/>
287-
{/* <UpdateNotice /> */}
288-
</div>
289-
);
290-
}}
263+
{({ isDark }) => (
264+
<div
265+
className={classNames({
266+
SidebarContainer: true,
267+
Dark: isDark,
268+
})}
269+
>
270+
<Title
271+
setDisplayTabInFull={this.setDisplayTabInFull}
272+
setDisplayTabPreviewFrame={this.setDisplayTabPreviewFrame}
273+
/>
274+
<TabsList
275+
displayTabInFull={displayTabInFull}
276+
displayTabPreviewFrame={displayTabPreviewFrame}
277+
tabOrders={tabOrders
278+
.filter(({ id }) => tabsDict[id] !== undefined)
279+
.map((tabOrder) => ({
280+
...tabOrder,
281+
...tabsDict[tabOrder.id],
282+
}))}
283+
activeTab={activeTab}
284+
setTabAsLoading={this.setTabAsLoading}
285+
/>
286+
{/* <UpdateNotice /> */}
287+
</div>
288+
)}
291289
</DarkModeContext.Consumer>
292290
);
293291
}

src/pages/Sidebar/containers/ErrorBoundary/ErrorBoundary.jsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Component } from 'react';
1+
import React, { Component } from 'react';
22

33
class ErrorBoundary extends Component {
44
state = { hasError: false };
@@ -13,7 +13,11 @@ class ErrorBoundary extends Component {
1313

1414
render() {
1515
// if (this.state.hasError) {
16-
// return <h1>Oops, we done goofed up</h1>;
16+
// return (
17+
// <h1>
18+
// Oops, please refresh the current page to use Vertical Tabs again.
19+
// </h1>
20+
// );
1721
// }
1822
return this.props.children;
1923
}

0 commit comments

Comments
 (0)