Skip to content

Commit e8fc89e

Browse files
committed
lab supports
1 parent 74e6981 commit e8fc89e

File tree

2 files changed

+27
-47
lines changed

2 files changed

+27
-47
lines changed

fission/src/ui/components/TransformGizmoControl.tsx

Lines changed: 18 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import * as THREE from "three"
44
import InputSystem from "@/systems/input/InputSystem"
55
import GizmoSceneObject, { type GizmoMode } from "@/systems/scene/GizmoSceneObject"
66
import World from "@/systems/World"
7-
import { Button, ToggleButton, ToggleButtonGroup } from "./StyledComponents"
7+
import { Button, ToggleButton, ToggleButtonGroup } from "@mui/material"
8+
import { Tabs, Tab } from "@mui/material"
89
import type TransformGizmoControlProps from "./TransformGizmoControlProps"
910

1011
/**
@@ -56,25 +57,10 @@ const TransformGizmoControl: React.FC<TransformGizmoControlProps> = ({
5657

5758
const disableOptions = 2 <= (translateDisabled ? 1 : 0) + (rotateDisabled ? 1 : 0) + (scaleDisabled ? 1 : 0)
5859

59-
const buttons = []
60-
if (!translateDisabled)
61-
buttons.push(
62-
<ToggleButton key="translate-button" value={"translate"}>
63-
Move
64-
</ToggleButton>
65-
)
66-
if (!rotateDisabled)
67-
buttons.push(
68-
<ToggleButton key="rotate-button" value={"rotate"}>
69-
Rotate
70-
</ToggleButton>
71-
)
72-
if (!scaleDisabled)
73-
buttons.push(
74-
<ToggleButton key="scale-button" value={"scale"}>
75-
Scale
76-
</ToggleButton>
77-
)
60+
const tabs: { label: string; value: GizmoMode }[] = []
61+
if (!translateDisabled) tabs.push({ label: "Move", value: "translate" })
62+
if (!rotateDisabled) tabs.push({ label: "Rotate", value: "rotate" })
63+
if (!scaleDisabled) tabs.push({ label: "Scale", value: "scale" })
7864

7965
useEffect(() => {
8066
const func = () => {
@@ -98,22 +84,20 @@ const TransformGizmoControl: React.FC<TransformGizmoControlProps> = ({
9884
// If there are no modes enabled, consider the UI pointless.
9985
return disableOptions ? undefined : (
10086
<>
101-
<ToggleButtonGroup
102-
value={mode}
103-
exclusive
104-
onChange={(_, v) => {
105-
if (v === undefined) return
106-
107-
setMode(v)
108-
gizmo?.setMode(v)
109-
}}
110-
sx={{
111-
...(sx ?? {}),
112-
alignSelf: "center",
87+
<Tabs
88+
value={tabs.findIndex(t => t.value === mode)}
89+
onChange={(_, idx) => {
90+
const next = tabs[idx]
91+
if (!next) return
92+
setMode(next.value)
93+
gizmo?.setMode(next.value)
11394
}}
95+
sx={{ ...(sx ?? {}), alignSelf: "center" }}
11496
>
115-
{buttons}
116-
</ToggleButtonGroup>
97+
{tabs.map(t => (
98+
<Tab key={t.value} label={t.label} />
99+
))}
100+
</Tabs>
117101
{!rotateDisabled && (
118102
<Button
119103
className="self-center"

fission/src/ui/panels/configuring/assembly-config/ConfigurePanel.tsx

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ import type SynthesisBrain from "@/systems/simulation/synthesis_brain/SynthesisB
1212
import World from "@/systems/World"
1313
import Label from "@/ui/components/Label"
1414
import type { PanelImplProps } from "@/ui/components/Panel"
15-
import { Button, ToggleButton, ToggleButtonGroup } from "@/ui/components/StyledComponents"
15+
import { Button, ToggleButton, ToggleButtonGroup } from "@mui/material"
16+
import { Tabs, Tab } from "@mui/material"
1617
import TransformGizmoControl from "@/ui/components/TransformGizmoControl"
1718
import { CloseType, type UIScreen, useUIContext } from "@/ui/helpers/UIProviderHelpers"
1819
import ChooseInputSchemePanel from "../ChooseInputSchemePanel"
@@ -297,25 +298,20 @@ const ConfigurePanel: React.FC<PanelImplProps<void, ConfigurePanelCustomProps>>
297298

298299
return (
299300
<>
300-
<ToggleButtonGroup
301-
value={configurationType}
302-
exclusive
303-
onChange={(_e, v) => {
304-
if (v !== null) {
305-
setConfigurationType(v)
306-
}
307-
301+
<Tabs
302+
value={CONFIG_OPTS.indexOf(configurationType)}
303+
onChange={(_e, idx) => {
304+
const next = CONFIG_OPTS[idx as number]
305+
if (next) setConfigurationType(next)
308306
setSelectedAssembly(undefined)
309307
new ConfigurationSavedEvent()
310308
setConfigMode(undefined)
311309
}}
312310
>
313311
{CONFIG_OPTS.map(opt => (
314-
<ToggleButton key={opt} value={opt}>
315-
{opt}
316-
</ToggleButton>
312+
<Tab key={opt} label={opt} />
317313
))}
318-
</ToggleButtonGroup>
314+
</Tabs>
319315
{configurationType === "INPUTS" && <ConfigureInputsInterface panel={panel!} />}
320316
{configurationType !== "INPUTS" && (
321317
<>

0 commit comments

Comments
 (0)