Skip to content

Commit 63a384a

Browse files
committed
moved majority of the code into client/utils along with other minor changes as per Rachel's suggestions
1 parent 078b882 commit 63a384a

18 files changed

+41
-32
lines changed

client/index.jsx

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,18 @@ const App = () => (
4343
</div>
4444
);
4545

46-
render(
47-
<Provider store={store}>
48-
<ThemeProvider>
49-
<Suspense fallback={<Loader />}>
50-
<App />
51-
</Suspense>
52-
</ThemeProvider>
53-
</Provider>,
54-
document.getElementById('root')
55-
);
46+
const rootEl = document.getElementById('root');
47+
if (rootEl) {
48+
render(
49+
<Provider store={store}>
50+
<ThemeProvider>
51+
<Suspense fallback={<Loader />}>
52+
<App />
53+
</Suspense>
54+
</ThemeProvider>
55+
</Provider>,
56+
rootEl
57+
);
58+
}
5659

5760
export default store;

client/modules/IDE/components/Editor/index.jsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,12 @@ import { EditorContainer, EditorHolder } from './MobileEditor';
7373
import { FolderIcon } from '../../../../common/icons';
7474
import IconButton from '../../../../common/IconButton';
7575

76-
import contextAwareHinter from '../contextAwareHinter';
77-
import showRenameDialog from '../showRenameDialog';
78-
import { handleRename } from '../rename-variable';
79-
import { jumpToDefinition } from '../jump-to-definition';
80-
import { ensureAriaLiveRegion } from '../../utils/ScreenReaderHelper';
76+
import contextAwareHinter from '../../../../utils/contextAwareHinter';
77+
import showRenameDialog from '../../../../utils/showRenameDialog';
78+
import { handleRename } from '../../../../utils/rename-variable';
79+
import { jumpToDefinition } from '../../../../utils/jump-to-definition';
80+
import { ensureAriaLiveRegion } from '../../../../utils/ScreenReaderHelper';
81+
import isMac from '../../../../utils/device';
8182

8283
emmet(CodeMirror);
8384

@@ -162,8 +163,7 @@ class Editor extends React.Component {
162163
delete this._cm.options.lint.options.errors;
163164

164165
this._cm.getWrapperElement().addEventListener('click', (e) => {
165-
const isMac = /Mac/.test(navigator.platform);
166-
const isCtrlClick = isMac ? e.metaKey : e.ctrlKey;
166+
const isCtrlClick = isMac() ? e.metaKey : e.ctrlKey;
167167

168168
if (isCtrlClick) {
169169
const pos = this._cm.coordsChar({ left: e.clientX, top: e.clientY });

client/modules/IDE/utils/ScreenReaderHelper.jsx renamed to client/utils/ScreenReaderHelper.jsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ export default function announceToScreenReader(message, assertive = false) {
22
const liveRegion = document.getElementById('rename-aria-live');
33
if (!liveRegion) return;
44

5-
// liveRegion.setAttribute('aria-live', assertive ? 'assertive' : 'polite');
65
liveRegion.setAttribute('aria-live', 'assertive');
76

87
liveRegion.textContent = '';

client/utils/device.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

client/utils/device.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/**
2+
* Checks if the user's OS is macOS based on the `navigator.userAgent` string.
3+
* This is the preferred method over `navigator.platform`, which is now deprecated:
4+
* - see https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform
5+
*/
6+
export default function isMac(): boolean {
7+
return navigator?.userAgent?.toLowerCase().includes('mac') ?? false;
8+
}
File renamed without changes.

client/modules/IDE/components/jump-to-def-helper.js renamed to client/utils/jump-to-def-helper.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* eslint-disable */
22
import p5CodeAstAnalyzer from './p5CodeAstAnalyzer';
33
import * as parser from '@babel/parser';
4-
import announceToScreenReader from '../utils/ScreenReaderHelper';
4+
import announceToScreenReader from './ScreenReaderHelper';
55
const traverse = require('@babel/traverse').default;
66

77
export function getScriptLoadOrder(files) {

client/modules/IDE/components/jump-to-definition.js renamed to client/utils/jump-to-definition.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
/* eslint-disable */
22
import p5CodeAstAnalyzer from './p5CodeAstAnalyzer';
33
import * as parser from '@babel/parser';
4-
import { getContext, getAST } from '../utils/renameVariableHelper';
5-
import { selectFiles } from '../selectors/files';
6-
import { setSelectedFile } from '../actions/ide';
7-
import announceToScreenReader from '../utils/ScreenReaderHelper';
4+
import { getContext, getAST } from './renameVariableHelper';
5+
import { selectFiles } from '../modules/IDE/selectors/files';
6+
import { setSelectedFile } from '../modules/IDE/actions/ide';
7+
import announceToScreenReader from './ScreenReaderHelper';
88
import {
99
getScriptLoadOrder,
1010
buildProjectSymbolTable,
1111
announceJump
1212
} from './jump-to-def-helper';
13-
import store from '../../../../client/storeInstance';
13+
import store from '../index';
1414

1515
const traverse = require('@babel/traverse').default;
1616

0 commit comments

Comments
 (0)