Skip to content

Commit 710b191

Browse files
committed
App :: fix, the sidebar hiding issue on Firefox
1 parent 3bdcb15 commit 710b191

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/App.js

+10-5
Original file line numberDiff line numberDiff line change
@@ -114,13 +114,18 @@ class App extends Component {
114114
const iframe = document.querySelector('iframe');
115115
const sidebar = this.sidebarRef.current;
116116
const opener = this.openerRef.current;
117+
let iframeMouseOver = false;
117118

119+
window.focus();
118120
window.addEventListener('blur', () => {
119-
if (document.activeElement === iframe) {
120-
this.setState({ sidebar: false });
121-
}
121+
if (iframeMouseOver) {
122+
this.setState({ sidebar: false });
123+
}
122124
});
123125

126+
iframe.addEventListener('mouseover', () => iframeMouseOver = true);
127+
iframe.addEventListener('mouseout', () => iframeMouseOver = false);
128+
124129
document.addEventListener('click', (e) => {
125130
if (e.target === opener) {
126131
return;
@@ -197,7 +202,7 @@ class App extends Component {
197202
this.setState({ view, codeView: false });
198203
}
199204

200-
toggleView(e) {
205+
toggleView() {
201206
this.setState({ codeView: !this.state.codeView, view: 'desktop', markup: this.markupRef.current.innerHTML })
202207
}
203208

@@ -225,7 +230,7 @@ class App extends Component {
225230
return viewList.map((v, k) => <button key={k} className={`device${view === v.name ? ' is-active' : ''}`} data-view={v.name} onClick={this.changeView}>{v.icon}</button>);
226231
}
227232

228-
toggleSidebar(e) {
233+
toggleSidebar() {
229234
this.setState({ sidebar: !this.state.sidebar });
230235
}
231236

0 commit comments

Comments
 (0)