From f9bcfd67407bfc214180e8807e720554acaf5915 Mon Sep 17 00:00:00 2001 From: ochafik Date: Sun, 26 Mar 2023 16:22:24 +0100 Subject: [PATCH] Move contexts to own file not included by worker --- src/components/App.tsx | 4 ++-- src/components/EditorPanel.tsx | 4 ++-- src/components/Footer.tsx | 2 +- src/components/ViewerPanel.tsx | 2 +- src/components/contexts.ts | 7 +++++++ src/fs/filesystem.ts | 3 --- src/runner/openscad-worker.ts | 2 +- src/state/model.ts | 4 ---- 8 files changed, 14 insertions(+), 14 deletions(-) create mode 100644 src/components/contexts.ts diff --git a/src/components/App.tsx b/src/components/App.tsx index 3e7927c..c56559d 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -2,13 +2,13 @@ import React, { CSSProperties, forwardRef, useContext, useEffect, useRef, useState } from 'react'; import {MultiLayoutComponentId, SingleLayoutComponentId, State} from '../state/app-state' -import { Model, ModelContext } from '../state/model'; +import { Model } from '../state/model'; import { TabMenu } from 'primereact/tabmenu'; import { ToggleButton } from 'primereact/togglebutton'; import EditorPanel from './EditorPanel'; import ViewerPanel from './ViewerPanel'; import Footer from './Footer'; -import { FSContext } from '../fs/filesystem'; +import { ModelContext, FSContext } from './contexts'; // import "primereact/resources/themes/lara-light-indigo/theme.css"; // import "primereact/resources/primereact.min.css"; diff --git a/src/components/EditorPanel.tsx b/src/components/EditorPanel.tsx index daccffc..1bf929f 100644 --- a/src/components/EditorPanel.tsx +++ b/src/components/EditorPanel.tsx @@ -3,16 +3,16 @@ import React, { CSSProperties, useContext, useRef, useState } from 'react'; import Editor, { loader, Monaco } from '@monaco-editor/react'; import openscadEditorOptions from '../language/openscad-editor-options'; -import { ModelContext } from '../state/model'; import * as monaco from 'monaco-editor/esm/vs/editor/editor.api'; import { Button } from 'primereact/button'; import { MenuItem } from 'primereact/menuitem'; import { TreeSelect } from 'primereact/treeselect'; import TreeNode from 'primereact/treenode'; import { Menu } from 'primereact/menu'; -import { FSContext, getParentDir } from '../fs/filesystem'; +import { getParentDir } from '../fs/filesystem'; import { buildUrlForStateParams } from '../state/fragment-state'; import { blankProjectState } from '../state/initial-state'; +import { ModelContext, FSContext } from './contexts'; // import "primereact/resources/themes/lara-light-indigo/theme.css"; // import "primereact/resources/primereact.min.css"; diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index 1368056..897be92 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -2,7 +2,7 @@ import { CSSProperties, useContext, useRef } from 'react'; import { State } from '../state/app-state' -import { ModelContext } from '../state/model'; +import { ModelContext } from './contexts'; import * as monaco from 'monaco-editor/esm/vs/editor/editor.api'; import { Button } from 'primereact/button'; import { ProgressBar } from 'primereact/progressbar'; diff --git a/src/components/ViewerPanel.tsx b/src/components/ViewerPanel.tsx index 73a66d9..4a487c8 100644 --- a/src/components/ViewerPanel.tsx +++ b/src/components/ViewerPanel.tsx @@ -1,7 +1,7 @@ // Portions of this file are Copyright 2021 Google LLC, and licensed under GPL2+. See COPYING. import React, { CSSProperties, forwardRef, useContext, useEffect, useRef, useState } from 'react'; -import { ModelContext } from '../state/model'; +import { ModelContext } from './contexts'; import { StlViewer} from "react-stl-viewer"; export default function ViewerPanel({className, style}: {className?: string, style?: CSSProperties}) { diff --git a/src/components/contexts.ts b/src/components/contexts.ts new file mode 100644 index 0000000..b899c39 --- /dev/null +++ b/src/components/contexts.ts @@ -0,0 +1,7 @@ +import React from "react"; +import { Model } from "../state/model"; + +export const FSContext = React.createContext(undefined); + +export const ModelContext = React.createContext(null); + diff --git a/src/fs/filesystem.ts b/src/fs/filesystem.ts index 5e2f49d..9eaded9 100644 --- a/src/fs/filesystem.ts +++ b/src/fs/filesystem.ts @@ -1,12 +1,9 @@ // Portions of this file are Copyright 2021 Google LLC, and licensed under GPL2+. See COPYING. -import React from "react"; import { zipArchives } from "./zip-archives"; declare var BrowserFS: BrowserFSInterface -export const FSContext = React.createContext(undefined); - export type FSMounts = { [n: string]: {fs: string, options: {zipData: Buffer}} } diff --git a/src/runner/openscad-worker.ts b/src/runner/openscad-worker.ts index c641838..7b4d549 100644 --- a/src/runner/openscad-worker.ts +++ b/src/runner/openscad-worker.ts @@ -49,7 +49,7 @@ addEventListener('message', async (e) => { }, instance.ERRNO_CODES ?? {}); instance.FS.mount(BFS, {root: '/home'}, '/home'); - await symlinkLibraries(allArchiveNames, instance.FS, '/home/libraries', '/home'); + // await symlinkLibraries(allArchiveNames, instance.FS, '/home/libraries', '/home'); instance.FS.chdir('/home'); diff --git a/src/state/model.ts b/src/state/model.ts index dbc9e8e..4e29c1a 100644 --- a/src/state/model.ts +++ b/src/state/model.ts @@ -1,6 +1,5 @@ // Portions of this file are Copyright 2021 Google LLC, and licensed under GPL2+. See COPYING. -import React from "react" import { checkSyntax, render, RenderArgs, RenderOutput } from "../runner/actions"; import { MultiLayoutComponentId, SingleLayoutComponentId, State } from "./app-state"; import { bubbleUpDeepMutations } from "./deep-mutate"; @@ -163,6 +162,3 @@ export class Model { }}) } } - -export const ModelContext = React.createContext(null); -