Skip to content

Commit a536a63

Browse files
authored
Merge pull request #2754 from LakshyaSatpal/fix-drag-console
[#2641] Fix sluggish console movement on dragging, in mobile view of browser window
2 parents 3a80ee6 + 636be24 commit a536a63

File tree

2 files changed

+37
-26
lines changed

2 files changed

+37
-26
lines changed

client/modules/IDE/components/PreviewFrame.jsx

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const Frame = styled.iframe`
1111
border-width: 0;
1212
`;
1313

14-
function PreviewFrame({ fullView }) {
14+
function PreviewFrame({ fullView, isOverlayVisible }) {
1515
const iframe = useRef();
1616
const previewUrl = getConfig('PREVIEW_URL');
1717
useEffect(() => {
@@ -28,28 +28,36 @@ function PreviewFrame({ fullView }) {
2828
hid; microphone; magnetometer; midi; payment; usb; serial; vr; xr-spatial-tracking`;
2929

3030
return (
31-
<Frame
32-
title="sketch preview"
33-
src={frameUrl}
34-
sandbox={sandboxAttributes}
35-
allow={allow}
36-
scrolling="auto"
37-
allowtransparency
38-
allowpaymentrequest
39-
allowFullScreen
40-
frameBorder="0"
41-
ref={iframe}
42-
fullView={fullView}
43-
/>
31+
<>
32+
<div
33+
className="preview-frame-overlay"
34+
style={{ display: isOverlayVisible ? 'block' : 'none' }}
35+
/>
36+
<Frame
37+
title="sketch preview"
38+
src={frameUrl}
39+
sandbox={sandboxAttributes}
40+
allow={allow}
41+
scrolling="auto"
42+
allowtransparency
43+
allowpaymentrequest
44+
allowFullScreen
45+
frameBorder="0"
46+
ref={iframe}
47+
fullView={fullView}
48+
/>
49+
</>
4450
);
4551
}
4652

4753
PreviewFrame.propTypes = {
48-
fullView: PropTypes.bool
54+
fullView: PropTypes.bool,
55+
isOverlayVisible: PropTypes.bool
4956
};
5057

5158
PreviewFrame.defaultProps = {
52-
fullView: false
59+
fullView: false,
60+
isOverlayVisible: false
5361
};
5462

5563
export default PreviewFrame;

client/modules/IDE/pages/IDEView.jsx

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,9 @@ const IDEView = () => {
173173
primary="second"
174174
size={ide.consoleIsExpanded ? consoleSize : 29}
175175
minSize={29}
176-
onChange={(size) => setConsoleSize(size)}
176+
onChange={(size) => {
177+
setConsoleSize(size);
178+
}}
177179
allowResize={ide.consoleIsExpanded}
178180
className="editor-preview-subpanel"
179181
>
@@ -191,16 +193,10 @@ const IDEView = () => {
191193
</h2>
192194
</header>
193195
<div className="preview-frame__content">
194-
<div
195-
className="preview-frame-overlay"
196-
style={{ display: isOverlayVisible ? 'block' : 'none' }}
196+
<PreviewFrame
197+
cmController={cmRef.current}
198+
isOverlayVisible={isOverlayVisible}
197199
/>
198-
<div>
199-
{((preferences.textOutput || preferences.gridOutput) &&
200-
ide.isPlaying) ||
201-
ide.isAccessibleOutputPlaying}
202-
</div>
203-
<PreviewFrame cmController={cmRef.current} />
204200
</div>
205201
</section>
206202
</SplitPane>
@@ -215,11 +211,18 @@ const IDEView = () => {
215211
split="horizontal"
216212
primary="second"
217213
minSize={200}
214+
onChange={() => {
215+
setIsOverlayVisible(true);
216+
}}
217+
onDragFinished={() => {
218+
setIsOverlayVisible(false);
219+
}}
218220
>
219221
<PreviewFrame
220222
fullView
221223
hide={!ide.isPlaying}
222224
cmController={cmRef.current}
225+
isOverlayVisible={isOverlayVisible}
223226
/>
224227
<Console />
225228
</SplitPane>

0 commit comments

Comments
 (0)