From 3ca511f885b8cdcd1a3099e2f54179f5513aed92 Mon Sep 17 00:00:00 2001 From: brynnchernosky <56202540+brynnchernosky@users.noreply.github.com> Date: Mon, 1 May 2023 17:52:05 -0400 Subject: install material ui dependencies --- .../PhysicsBox/PhysicsSimulationInputField.tsx | 184 +++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx (limited to 'src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx') diff --git a/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx b/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx new file mode 100644 index 000000000..91b0ad84c --- /dev/null +++ b/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx @@ -0,0 +1,184 @@ +import { useState, useEffect } from "react"; +import { TextField, InputAdornment } from "@mui/material"; + +import TaskAltIcon from "@mui/icons-material/TaskAlt"; +import ErrorOutlineIcon from "@mui/icons-material/ErrorOutline"; +export interface IInputProps { + label?: JSX.Element; + lowerBound: number; + changeValue: (val: number) => any; + step: number; + unit: string; + upperBound: number; + value: number | string | Array; + correctValue?: number; + showIcon?: boolean; + effect?: (val: number) => any; + radianEquivalent?: boolean; + small?: boolean; + mode?: string; + update?: boolean; + labelWidth?: string; +} + +export const InputField = (props: IInputProps) => { + const { + changeValue, + correctValue, + effect, + label, + lowerBound, + mode, + radianEquivalent, + showIcon, + small, + step, + unit, + upperBound, + value, + update, + labelWidth, + } = props; + let epsilon: number = 0.01; + + let width = small ? "6em" : "7em"; + let margin = small ? "0px" : "10px"; + + const [tempValue, setTempValue] = useState( + mode != "Freeform" && !showIcon ? 0 : value + ); + + const [tempRadianValue, setTempRadianValue] = useState( + mode != "Freeform" && !showIcon ? 0 : (Number(value) * Math.PI) / 180 + ); + + useEffect(() => { + if (mode == "Freeform") { + if (Math.abs(tempValue - Number(value)) > 1) { + setTempValue(Number(value)); + } + } + }, [value]); + + const externalUpdate = () => { + changeValue(Number(value)); + setTempValue(Number(value)); + setTempRadianValue((Number(value) * Math.PI) / 180); + }; + + useEffect(() => { + externalUpdate(); + }, [update]); + + const onChange = (event: React.ChangeEvent) => { + let value = event.target.value == "" ? 0 : Number(event.target.value); + if (value > upperBound) { + value = upperBound; + } else if (value < lowerBound) { + value = lowerBound; + } + changeValue(value); + setTempValue(event.target.value == "" ? event.target.value : value); + setTempRadianValue((value * Math.PI) / 180); + if (effect) { + effect(value); + } + }; + + const onChangeRadianValue = (event: React.ChangeEvent) => { + let value = event.target.value === "" ? 0 : Number(event.target.value); + if (value > 2 * Math.PI) { + value = 2 * Math.PI; + } else if (value < 0) { + value = 0; + } + changeValue((value * 180) / Math.PI); + setTempValue((value * 180) / Math.PI); + setTempRadianValue(value); + if (effect) { + effect((value * 180) / Math.PI); + } + }; + + return ( +
+ {label && ( +
+ {label} +
+ )} + + {Math.abs(Number(value) - (correctValue ?? 0)) < epsilon && + showIcon && } + {Math.abs(Number(value) - (correctValue ?? 0)) >= epsilon && + showIcon && } + + ), + endAdornment: {unit}, + }} + /> + {radianEquivalent && ( +
+

+
+ )} + {radianEquivalent && ( + rad, + }} + /> + )} +
+ ); +}; -- cgit v1.2.3-70-g09d2 From a2a72e177ef74bd2e81890e002635e67978ecfb3 Mon Sep 17 00:00:00 2001 From: brynnchernosky <56202540+brynnchernosky@users.noreply.github.com> Date: Mon, 1 May 2023 18:08:11 -0400 Subject: start refactor input --- .../nodes/PhysicsBox/PhysicsSimulationBox.tsx | 15 ++-- .../PhysicsBox/PhysicsSimulationInputField.tsx | 80 +++++++++++----------- .../nodes/PhysicsBox/PhysicsSimulationWall.tsx | 2 +- .../nodes/PhysicsBox/PhysicsSimulationWeight.tsx | 2 +- 4 files changed, 49 insertions(+), 50 deletions(-) (limited to 'src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx') diff --git a/src/client/views/nodes/PhysicsBox/PhysicsSimulationBox.tsx b/src/client/views/nodes/PhysicsBox/PhysicsSimulationBox.tsx index 5b9d8f415..1e817a22d 100644 --- a/src/client/views/nodes/PhysicsBox/PhysicsSimulationBox.tsx +++ b/src/client/views/nodes/PhysicsBox/PhysicsSimulationBox.tsx @@ -1,11 +1,11 @@ import "./PhysicsSimulationBox.scss"; -import { FieldView, FieldViewProps } from './FieldView'; +import { FieldView, FieldViewProps } from './../FieldView'; import React = require('react'); -import { ViewBoxAnnotatableComponent } from '../DocComponent'; +import { ViewBoxAnnotatableComponent } from '../../DocComponent'; import { observer } from 'mobx-react'; import "./PhysicsSimulationBox.scss"; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { CheckBox } from "../search/CheckBox"; +import { CheckBox } from "../../search/CheckBox"; import PauseIcon from "@mui/icons-material/Pause"; import PlayArrowIcon from "@mui/icons-material/PlayArrow"; import ReplayIcon from "@mui/icons-material/Replay"; @@ -31,12 +31,12 @@ import { Stack, } from "@mui/material"; import Typography from "@mui/material/Typography"; -import "./App.scss"; +import "./PhysicsSimulationBox.scss"; import { InputField } from "./PhysicsSimulationInputField"; import questions from "./PhysicsSimulationQuestions.json"; import tutorials from "./PhysicsSimulationTutorial.json"; -import { IWallProps, Wall } from "./Wall"; -import { IForce, Weight } from "./Weight"; +import { IWallProps, Wall } from "./PhysicsSimulationWall"; +import { IForce, Weight } from "./PhysicsSimulationWeight"; interface VectorTemplate { top: number; left: number; @@ -2471,4 +2471,5 @@ export default class PhysicsSimulationBox extends ViewBoxAnnotatableComponent - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx b/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx index 91b0ad84c..aa2d1c2cc 100644 --- a/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx +++ b/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx @@ -1,12 +1,13 @@ -import { useState, useEffect } from "react"; import { TextField, InputAdornment } from "@mui/material"; - +import { Doc } from '../../../../fields/Doc'; +import React = require('react'); import TaskAltIcon from "@mui/icons-material/TaskAlt"; import ErrorOutlineIcon from "@mui/icons-material/ErrorOutline"; export interface IInputProps { label?: JSX.Element; lowerBound: number; - changeValue: (val: number) => any; + dataDoc: doc; + prop: string; step: number; unit: string; upperBound: number; @@ -21,36 +22,34 @@ export interface IInputProps { labelWidth?: string; } -export const InputField = (props: IInputProps) => { - const { - changeValue, - correctValue, - effect, - label, - lowerBound, - mode, - radianEquivalent, - showIcon, - small, - step, - unit, - upperBound, - value, - update, - labelWidth, - } = props; - let epsilon: number = 0.01; +interface IState { + tempValue: number, + tempRadianValue: number, +} - let width = small ? "6em" : "7em"; - let margin = small ? "0px" : "10px"; +export default class InputField extends React.Component { + constructor(props: any) { + super(props) + this.state = { + tempValue: this.props.mode != "Freeform" && !this.props.showIcon ? 0 : this.props.value, + tempRadianValue: this.props.mode != "Freeform" && !this.props.showIcon ? 0 : (Number(this.props.value) * Math.PI) / 180 + } + } + + epsilon: number = 0; + width: string = "6em"; + margin: string = "6em"; + componentDidMount() { + this.epsilon = 0.01; + this.width = this.props.small ? "6em" : "7em"; + this.margin = this.props.small ? "0px" : "10px"; + } + + + componentDidUpdate(prevProps: Readonly, prevState: Readonly, snapshot?: any): void { + } - const [tempValue, setTempValue] = useState( - mode != "Freeform" && !showIcon ? 0 : value - ); - const [tempRadianValue, setTempRadianValue] = useState( - mode != "Freeform" && !showIcon ? 0 : (Number(value) * Math.PI) / 180 - ); useEffect(() => { if (mode == "Freeform") { @@ -60,24 +59,23 @@ export const InputField = (props: IInputProps) => { } }, [value]); - const externalUpdate = () => { - changeValue(Number(value)); + externalUpdate = () => { setTempValue(Number(value)); setTempRadianValue((Number(value) * Math.PI) / 180); }; useEffect(() => { - externalUpdate(); + this.externalUpdate(); }, [update]); - const onChange = (event: React.ChangeEvent) => { + onChange = (event: React.ChangeEvent) => { let value = event.target.value == "" ? 0 : Number(event.target.value); - if (value > upperBound) { - value = upperBound; - } else if (value < lowerBound) { - value = lowerBound; + if (value > this.props.upperBound) { + value = this.props.upperBound; + } else if (value < this.props.lowerBound) { + value = this.props.lowerBound; } - changeValue(value); + this.props.dataDoc[this.props.prop] = value setTempValue(event.target.value == "" ? event.target.value : value); setTempRadianValue((value * Math.PI) / 180); if (effect) { @@ -85,14 +83,14 @@ export const InputField = (props: IInputProps) => { } }; - const onChangeRadianValue = (event: React.ChangeEvent) => { + onChangeRadianValue = (event: React.ChangeEvent) => { let value = event.target.value === "" ? 0 : Number(event.target.value); if (value > 2 * Math.PI) { value = 2 * Math.PI; } else if (value < 0) { value = 0; } - changeValue((value * 180) / Math.PI); + this.props.dataDoc[this.props.prop] = (value * 180) / Math.PI setTempValue((value * 180) / Math.PI); setTempRadianValue(value); if (effect) { diff --git a/src/client/views/nodes/PhysicsBox/PhysicsSimulationWall.tsx b/src/client/views/nodes/PhysicsBox/PhysicsSimulationWall.tsx index 9283e8d46..6e60ad85c 100644 --- a/src/client/views/nodes/PhysicsBox/PhysicsSimulationWall.tsx +++ b/src/client/views/nodes/PhysicsBox/PhysicsSimulationWall.tsx @@ -11,7 +11,7 @@ export interface IWallProps { angleInDegrees: number; } -export default class App extends React.Component { +export default class Wall extends React.Component { constructor(props: any) { super(props) diff --git a/src/client/views/nodes/PhysicsBox/PhysicsSimulationWeight.tsx b/src/client/views/nodes/PhysicsBox/PhysicsSimulationWeight.tsx index 3feec1ecb..deecb03de 100644 --- a/src/client/views/nodes/PhysicsBox/PhysicsSimulationWeight.tsx +++ b/src/client/views/nodes/PhysicsBox/PhysicsSimulationWeight.tsx @@ -1,7 +1,7 @@ import { Doc } from '../../../../fields/Doc'; import React = require('react'); import { IWallProps } from "./PhysicsSimulationWall"; -import "./PhysicsSimulationWeight.scss"; +import "./PhysicsSimulationBox.scss"; export interface IForce { description: string; -- cgit v1.2.3-70-g09d2 From c1705ae269f482384fdfa2fb5d7addefc1cba3fe Mon Sep 17 00:00:00 2001 From: brynnchernosky <56202540+brynnchernosky@users.noreply.github.com> Date: Mon, 1 May 2023 18:15:08 -0400 Subject: refactor input --- .../PhysicsBox/PhysicsSimulationInputField.tsx | 90 +++++++++++----------- 1 file changed, 43 insertions(+), 47 deletions(-) (limited to 'src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx') diff --git a/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx b/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx index aa2d1c2cc..645c1995e 100644 --- a/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx +++ b/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx @@ -6,7 +6,7 @@ import ErrorOutlineIcon from "@mui/icons-material/ErrorOutline"; export interface IInputProps { label?: JSX.Element; lowerBound: number; - dataDoc: doc; + dataDoc: Doc; prop: string; step: number; unit: string; @@ -47,27 +47,23 @@ export default class InputField extends React.Component { componentDidUpdate(prevProps: Readonly, prevState: Readonly, snapshot?: any): void { - } - - - - useEffect(() => { - if (mode == "Freeform") { - if (Math.abs(tempValue - Number(value)) > 1) { - setTempValue(Number(value)); + if (prevProps.value != this.props.value) { + if (this.props.mode == "Freeform") { + if (Math.abs(this.state.tempValue - Number(this.props.value)) > 1) { + this.setState({tempValue: Number(this.props.value)}) + } } } - }, [value]); + if (prevProps.update != this.props.update) { + this.externalUpdate(); + } + } externalUpdate = () => { - setTempValue(Number(value)); - setTempRadianValue((Number(value) * Math.PI) / 180); + this.setState({tempValue: Number(this.props.value)}) + this.setState({tempRadianValue: Number(this.props.value) * Math.PI / 180}) }; - useEffect(() => { - this.externalUpdate(); - }, [update]); - onChange = (event: React.ChangeEvent) => { let value = event.target.value == "" ? 0 : Number(event.target.value); if (value > this.props.upperBound) { @@ -76,10 +72,10 @@ export default class InputField extends React.Component { value = this.props.lowerBound; } this.props.dataDoc[this.props.prop] = value - setTempValue(event.target.value == "" ? event.target.value : value); - setTempRadianValue((value * Math.PI) / 180); - if (effect) { - effect(value); + this.setState({tempValue: event.target.value == "" ? event.target.value : value}) + this.setState({tempRadianValue: (value * Math.PI) / 180}) + if (this.props.effect) { + this.props.effect(value); } }; @@ -91,14 +87,14 @@ export default class InputField extends React.Component { value = 0; } this.props.dataDoc[this.props.prop] = (value * 180) / Math.PI - setTempValue((value * 180) / Math.PI); - setTempRadianValue(value); - if (effect) { - effect((value * 180) / Math.PI); + this.setState({tempValue: (value * 180) / Math.PI}) + this.setState({tempRadianValue: value}) + if (this.props.effect) { + this.props.effect((value * 180) / Math.PI); } }; - return ( + render () {
{ alignItems: "center", }} > - {label && ( + {this.props.label && (
- {label} + {this.props.label}
)} - {Math.abs(Number(value) - (correctValue ?? 0)) < epsilon && - showIcon && } - {Math.abs(Number(value) - (correctValue ?? 0)) >= epsilon && - showIcon && } + {Math.abs(Number(this.props.value) - (this.props.correctValue ?? 0)) < this.epsilon && + this.props.showIcon && } + {Math.abs(Number(this.props.value) - (this.props.correctValue ?? 0)) >= this.epsilon && + this.props.showIcon && } ), - endAdornment: {unit}, + endAdornment: {this.props.unit}, }} /> - {radianEquivalent && ( + {this.props.radianEquivalent && (

)} - {radianEquivalent && ( + {this.props.radianEquivalent && ( { /> )}
- ); + } }; -- cgit v1.2.3-70-g09d2 From e680ef59016b5574d765327cabaf5b5acd961adb Mon Sep 17 00:00:00 2001 From: brynnchernosky <56202540+brynnchernosky@users.noreply.github.com> Date: Mon, 1 May 2023 18:32:02 -0400 Subject: debugging --- .../nodes/PhysicsBox/PhysicsSimulationBox.tsx | 96 +++++++++++----------- .../PhysicsBox/PhysicsSimulationInputField.tsx | 1 - .../nodes/PhysicsBox/PhysicsSimulationWeight.tsx | 1 + 3 files changed, 50 insertions(+), 48 deletions(-) (limited to 'src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx') diff --git a/src/client/views/nodes/PhysicsBox/PhysicsSimulationBox.tsx b/src/client/views/nodes/PhysicsBox/PhysicsSimulationBox.tsx index 1e817a22d..b7bc81f38 100644 --- a/src/client/views/nodes/PhysicsBox/PhysicsSimulationBox.tsx +++ b/src/client/views/nodes/PhysicsBox/PhysicsSimulationBox.tsx @@ -35,8 +35,10 @@ import "./PhysicsSimulationBox.scss"; import { InputField } from "./PhysicsSimulationInputField"; import questions from "./PhysicsSimulationQuestions.json"; import tutorials from "./PhysicsSimulationTutorial.json"; -import { IWallProps, Wall } from "./PhysicsSimulationWall"; -import { IForce, Weight } from "./PhysicsSimulationWeight"; +import Wall from "./PhysicsSimulationWall"; +import IWall from "./PhysicsSimulationWall"; +import Weight from "./PhysicsSimulationWeight"; +import IForce from "./PhysicsSimulationWeight"; interface VectorTemplate { top: number; left: number; @@ -99,9 +101,9 @@ export default class PhysicsSimulationBox extends ViewBoxAnnotatableComponent { const normalForce: IForce = { description: "Normal Force", - magnitude: Math.abs(this.gravity) * Math.cos(Math.atan(height / width)) * this.mass, + magnitude: Math.abs(this.dataDoc.gravity) * Math.cos(Math.atan(height / width)) * this.dataDoc.mass, directionInDegrees: 180 - 90 - (Math.atan(height / width) * 180) / Math.PI, component: false, @@ -382,14 +384,14 @@ export default class PhysicsSimulationBox extends ViewBoxAnnotatableComponent + return

Step {this.dataDoc.stepNumber + 1}:{" "} - {this.dataDoc.selectedTutorial.steps[stepNumber].description} + {this.dataDoc.selectedTutorial.steps[this.dataDoc.stepNumber].description}

-

{this.dataDoc.selectedTutorial.steps[stepNumber].content}

+

{this.dataDoc.selectedTutorial.steps[this.dataDoc.stepNumber].content}

{ @@ -1849,7 +1851,7 @@ export default class PhysicsSimulationBox extends ViewBoxAnnotatableComponent { this.dataDoc.simulationReset(!this.dataDoc.simulationReset); }} @@ -1986,9 +1988,9 @@ export default class PhysicsSimulationBox extends ViewBoxAnnotatableComponent { this.dataDoc.startPendulumAngle = (value); - if (simulationType == "Pendulum") { + if (this.dataDoc.simulationType == "Pendulum") { const mag = - mass * + this.dataDoc.mass * Math.abs(this.dataDoc.gravity) * Math.cos((value * Math.PI) / 180); @@ -2027,8 +2029,8 @@ export default class PhysicsSimulationBox extends ViewBoxAnnotatableComponent { - if (simulationType == "Pendulum") { + if (this.dataDoc.simulationType == "Pendulum") { this.dataDoc.adjustPendulumAngle = ({ angle: this.dataDoc.pendulumAngle, length: value, @@ -2413,7 +2415,7 @@ export default class PhysicsSimulationBox extends ViewBoxAnnotatableComponent - {simulationType == "Circular Motion" ? "Z" : "Y"} + {this.dataDoc.simulationType == "Circular Motion" ? "Z" : "Y"}

diff --git a/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx b/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx index 645c1995e..75bc28919 100644 --- a/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx +++ b/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx @@ -45,7 +45,6 @@ export default class InputField extends React.Component { this.margin = this.props.small ? "0px" : "10px"; } - componentDidUpdate(prevProps: Readonly, prevState: Readonly, snapshot?: any): void { if (prevProps.value != this.props.value) { if (this.props.mode == "Freeform") { diff --git a/src/client/views/nodes/PhysicsBox/PhysicsSimulationWeight.tsx b/src/client/views/nodes/PhysicsBox/PhysicsSimulationWeight.tsx index deecb03de..89bdae0a0 100644 --- a/src/client/views/nodes/PhysicsBox/PhysicsSimulationWeight.tsx +++ b/src/client/views/nodes/PhysicsBox/PhysicsSimulationWeight.tsx @@ -891,6 +891,7 @@ export default class Weight extends React.Component { // Render weight, spring, rod(s), vectors render () { + return

Date: Mon, 1 May 2023 19:38:04 -0400 Subject: debugging --- .../nodes/PhysicsBox/PhysicsSimulationInputField.tsx | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx') diff --git a/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx b/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx index 75bc28919..f3491fbd6 100644 --- a/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx +++ b/src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx @@ -25,6 +25,8 @@ export interface IInputProps { interface IState { tempValue: number, tempRadianValue: number, + width: string; + margin: string; } export default class InputField extends React.Component { @@ -32,17 +34,16 @@ export default class InputField extends React.Component { super(props) this.state = { tempValue: this.props.mode != "Freeform" && !this.props.showIcon ? 0 : this.props.value, - tempRadianValue: this.props.mode != "Freeform" && !this.props.showIcon ? 0 : (Number(this.props.value) * Math.PI) / 180 + tempRadianValue: this.props.mode != "Freeform" && !this.props.showIcon ? 0 : (Number(this.props.value) * Math.PI) / 180, + width: this.props.small ? "6em" : "7em", + margin: this.props.small ? "0px" : "10px" + } } epsilon: number = 0; - width: string = "6em"; - margin: string = "6em"; componentDidMount() { this.epsilon = 0.01; - this.width = this.props.small ? "6em" : "7em"; - this.margin = this.props.small ? "0px" : "10px"; } componentDidUpdate(prevProps: Readonly, prevState: Readonly, snapshot?: any): void { @@ -120,8 +121,8 @@ export default class InputField extends React.Component { onChange={this.onChange} sx={{ height: "1em", - width: { this.width }, - marginLeft: { this.margin }, + width: this.state.width, + marginLeft: this.state.margin, zIndex: "modal", }} inputProps={{ @@ -157,8 +158,8 @@ export default class InputField extends React.Component { onChange={this.onChangeRadianValue} sx={{ height: "1em", - width: { this.width }, - marginLeft: { this.margin }, + width: this.state.width, + marginLeft: this.state.margin, zIndex: "modal", }} inputProps={{ -- cgit v1.2.3-70-g09d2 From c4239e9bb5fb6389e3ceac281af8c8c683019a0c Mon Sep 17 00:00:00 2001 From: brynnchernosky <56202540+brynnchernosky@users.noreply.github.com> Date: Mon, 1 May 2023 19:53:29 -0400 Subject: debugging --- .../views/nodes/PhysicsBox/PhysicsSimulationBox.tsx | 20 ++++++++++---------- .../nodes/PhysicsBox/PhysicsSimulationInputField.tsx | 2 +- .../nodes/PhysicsBox/PhysicsSimulationWeight.tsx | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) (limited to 'src/client/views/nodes/PhysicsBox/PhysicsSimulationInputField.tsx') diff --git a/src/client/views/nodes/PhysicsBox/PhysicsSimulationBox.tsx b/src/client/views/nodes/PhysicsBox/PhysicsSimulationBox.tsx index b7bc81f38..671466261 100644 --- a/src/client/views/nodes/PhysicsBox/PhysicsSimulationBox.tsx +++ b/src/client/views/nodes/PhysicsBox/PhysicsSimulationBox.tsx @@ -32,7 +32,7 @@ import { } from "@mui/material"; import Typography from "@mui/material/Typography"; import "./PhysicsSimulationBox.scss"; -import { InputField } from "./PhysicsSimulationInputField"; +import InputField from "./PhysicsSimulationInputField"; import questions from "./PhysicsSimulationQuestions.json"; import tutorials from "./PhysicsSimulationTutorial.json"; import Wall from "./PhysicsSimulationWall"; @@ -86,13 +86,13 @@ export default class PhysicsSimulationBox extends ViewBoxAnnotatableComponent
@@ -1427,7 +1427,7 @@ export default class PhysicsSimulationBox extends ViewBoxAnnotatableComponent