From 9a334a3e05ae417f03489ce33ee5308db9251f7e Mon Sep 17 00:00:00 2001 From: Zach Rutman Date: Wed, 13 Aug 2025 16:45:42 -0700 Subject: [PATCH 1/4] fix: make configure asset panel react to configuration changes and robot removals --- fission/src/mirabuf/MirabufSceneObject.ts | 28 +++++++++++ .../configure/AssemblySelection.tsx | 49 ++++++++++++------- .../initial-config/InitialConfigPanel.tsx | 2 + 3 files changed, 61 insertions(+), 18 deletions(-) diff --git a/fission/src/mirabuf/MirabufSceneObject.ts b/fission/src/mirabuf/MirabufSceneObject.ts index 8eb8b1ee19..614cfe77ac 100644 --- a/fission/src/mirabuf/MirabufSceneObject.ts +++ b/fission/src/mirabuf/MirabufSceneObject.ts @@ -316,6 +316,8 @@ class MirabufSceneObject extends SceneObject implements ContextSupplier { if (this.miraType === MiraType.ROBOT || !cameraControls.focusProvider) { cameraControls.focusProvider = this } + + MirabufObjectChangeEvent.dispatch(this) } public update(): void { @@ -367,6 +369,7 @@ class MirabufSceneObject extends SceneObject implements ContextSupplier { if (this._brain && this._brain instanceof SynthesisBrain) { this._brain.clearControls() } + MirabufObjectChangeEvent.dispatch(null) } public eject() { @@ -949,3 +952,28 @@ export class RigidNodeAssociate extends BodyAssociate { } export default MirabufSceneObject + +export class MirabufObjectChangeEvent extends Event { + private static _eventKey = "MirabufObjectChange" + private _obj: MirabufSceneObject | null + + private constructor(obj: MirabufSceneObject | null) { + super(MirabufObjectChangeEvent._eventKey) + this._obj = obj + } + public static addEventListener(cb: (object: MirabufSceneObject | null) => void): () => void { + const listener = (event: Event) => { + if (event instanceof MirabufObjectChangeEvent) { + cb(event._obj) + } else { + cb(null) + } + } + window.addEventListener(this._eventKey, listener) + return () => window.removeEventListener(this._eventKey, listener) + } + + public static dispatch(obj: MirabufSceneObject | null) { + window.dispatchEvent(new MirabufObjectChangeEvent(obj)) + } +} diff --git a/fission/src/ui/panels/configuring/assembly-config/configure/AssemblySelection.tsx b/fission/src/ui/panels/configuring/assembly-config/configure/AssemblySelection.tsx index f401182249..09b1f49fc5 100644 --- a/fission/src/ui/panels/configuring/assembly-config/configure/AssemblySelection.tsx +++ b/fission/src/ui/panels/configuring/assembly-config/configure/AssemblySelection.tsx @@ -1,8 +1,10 @@ import type React from "react" -import { useMemo, useReducer } from "react" +import { useCallback, useEffect, useState } from "react" +import { ConfigurationSavedEvent } from "@/events/ConfigurationSavedEvent.ts" import type MirabufSceneObject from "@/mirabuf/MirabufSceneObject" -import InputSystem from "@/systems/input/InputSystem" -import type SynthesisBrain from "@/systems/simulation/synthesis_brain/SynthesisBrain" +import { MirabufObjectChangeEvent } from "@/mirabuf/MirabufSceneObject" +import InputSystem from "@/systems/input/InputSystem.ts" +import type SynthesisBrain from "@/systems/simulation/synthesis_brain/SynthesisBrain.ts" import World from "@/systems/World.ts" import type { PanelImplProps } from "@/ui/components/Panel" import SelectMenu, { SelectMenuOption } from "@/ui/components/SelectMenu" @@ -29,7 +31,7 @@ export class AssemblySelectionOption extends SelectMenuOption { } function makeSelectionOption(configurationType: ConfigurationType, assembly: MirabufSceneObject) { - console.log("MAKING SELECTION OPTION FOR", configurationType) + // console.log("MAKING SELECTION OPTION FOR", configurationType) return new AssemblySelectionOption( `${configurationType === "ROBOTS" ? `[${InputSystem.brainIndexSchemeMap.get((assembly.brain as SynthesisBrain).brainIndex)?.schemeName ?? "-"}] ` : ""}${assembly.assemblyName}`, assembly @@ -44,26 +46,37 @@ const AssemblySelection: React.FC { - const [u, update] = useReducer(x => !x, false) const { openPanel, closePanel } = useUIContext() + const [options, setOptions] = useState([]) - const robots = useMemo(() => { - return World.sceneRenderer.mirabufSceneObjects.getRobots().filter(x => !pendingDeletes.includes(x.id)) - }, [u, pendingDeletes]) - - const fields = useMemo(() => { + const getRobots = useCallback( + () => World.sceneRenderer.mirabufSceneObjects.getRobots().filter(x => !pendingDeletes.includes(x.id)), + [pendingDeletes] + ) + const getFields = useCallback(() => { const field = World.sceneRenderer.mirabufSceneObjects.getField() return !field || pendingDeletes.includes(field.id) ? [] : [field] - }, [u, pendingDeletes]) - - console.log(robots[0], fields[0]) + }, [pendingDeletes]) - const options = useMemo(() => { - const list = configurationType === "ROBOTS" ? robots : fields - return list - .filter((assembly): assembly is MirabufSceneObject => assembly != null) + const update = useCallback(() => { + const items: MirabufSceneObject[] = configurationType === "ROBOTS" ? getRobots() : getFields() + const newOptions = items + .filter(assembly => assembly != null) .map(assembly => makeSelectionOption(configurationType, assembly)) - }, [configurationType, robots, fields]) + setOptions(newOptions) + }, [getRobots, getFields, configurationType]) + + MirabufObjectChangeEvent.addEventListener(() => { + update() + }) + + ConfigurationSavedEvent.listen(() => { + update() + }) + + useEffect(() => { + update() + }, [update]) return ( > = ({ panel }) => setSelectedScheme(scheme) } } + new ConfigurationSavedEvent() }, [closePanel, panel, targetAssembly]) const closeDelete = useCallback(() => { From 445868498c4dd5f6ef47053fe0ee3d5b29dbc87a Mon Sep 17 00:00:00 2001 From: Zach Rutman Date: Thu, 14 Aug 2025 08:54:45 -0700 Subject: [PATCH 2/4] Update fission/src/ui/panels/configuring/assembly-config/configure/AssemblySelection.tsx Co-authored-by: Alexey Dmitriev <157652245+AlexD717@users.noreply.github.com> --- .../configuring/assembly-config/configure/AssemblySelection.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/fission/src/ui/panels/configuring/assembly-config/configure/AssemblySelection.tsx b/fission/src/ui/panels/configuring/assembly-config/configure/AssemblySelection.tsx index 09b1f49fc5..53fabafa1a 100644 --- a/fission/src/ui/panels/configuring/assembly-config/configure/AssemblySelection.tsx +++ b/fission/src/ui/panels/configuring/assembly-config/configure/AssemblySelection.tsx @@ -31,7 +31,6 @@ export class AssemblySelectionOption extends SelectMenuOption { } function makeSelectionOption(configurationType: ConfigurationType, assembly: MirabufSceneObject) { - // console.log("MAKING SELECTION OPTION FOR", configurationType) return new AssemblySelectionOption( `${configurationType === "ROBOTS" ? `[${InputSystem.brainIndexSchemeMap.get((assembly.brain as SynthesisBrain).brainIndex)?.schemeName ?? "-"}] ` : ""}${assembly.assemblyName}`, assembly From 812cfd73c1327685ff40954b1cf7d35ddbe7c564 Mon Sep 17 00:00:00 2001 From: Zach Rutman Date: Thu, 14 Aug 2025 08:55:55 -0700 Subject: [PATCH 3/4] Update fission/src/mirabuf/MirabufSceneObject.ts Co-authored-by: Alexey Dmitriev <157652245+AlexD717@users.noreply.github.com> --- fission/src/mirabuf/MirabufSceneObject.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/fission/src/mirabuf/MirabufSceneObject.ts b/fission/src/mirabuf/MirabufSceneObject.ts index dfa00092c8..2d78fc422e 100644 --- a/fission/src/mirabuf/MirabufSceneObject.ts +++ b/fission/src/mirabuf/MirabufSceneObject.ts @@ -998,6 +998,7 @@ export class MirabufObjectChangeEvent extends Event { super(MirabufObjectChangeEvent._eventKey) this._obj = obj } + public static addEventListener(cb: (object: MirabufSceneObject | null) => void): () => void { const listener = (event: Event) => { if (event instanceof MirabufObjectChangeEvent) { From d954fe24cdb671ad730cc5d54dfeffb705f55e7e Mon Sep 17 00:00:00 2001 From: Zach Rutman Date: Thu, 14 Aug 2025 10:21:05 -0700 Subject: [PATCH 4/4] fix: run formatter --- fission/src/mirabuf/MirabufSceneObject.ts | 2 +- fission/src/ui/UIProvider.tsx | 2 +- fission/src/ui/components/AnalyticsConsent.tsx | 2 +- fission/src/ui/components/ContextMenu.tsx | 2 +- fission/src/ui/components/MainHUD.tsx | 3 +-- fission/src/ui/components/Modal.tsx | 2 +- fission/src/ui/components/Panel.tsx | 2 +- fission/src/ui/components/SelectButton.tsx | 3 +-- fission/src/ui/components/SelectMenu.tsx | 3 +-- fission/src/ui/components/StyledComponents.tsx | 12 ++++++------ fission/src/ui/components/TransformGizmoControl.tsx | 3 +-- .../src/ui/components/simulation/FlowControls.tsx | 2 +- fission/src/ui/modals/MainMenuModal.tsx | 2 +- fission/src/ui/modals/MatchResultsModal.tsx | 2 +- fission/src/ui/modals/common/ConfirmModal.tsx | 2 +- fission/src/ui/modals/configuring/RoboRIOModal.tsx | 2 +- fission/src/ui/modals/configuring/SettingsModal.tsx | 3 +-- .../ui/modals/mirabuf/ImportLocalMirabufModal.tsx | 3 +-- fission/src/ui/panels/DebugPanel.tsx | 4 ++-- fission/src/ui/panels/DeveloperToolPanel.tsx | 3 +-- fission/src/ui/panels/RobotSwitchPanel.tsx | 2 +- .../ui/panels/configuring/CameraSelectionPanel.tsx | 2 +- .../ui/panels/configuring/MatchModeConfigPanel.tsx | 3 +-- .../configuring/assembly-config/ConfigurePanel.tsx | 2 +- .../interfaces/AllianceSelectionInterface.tsx | 2 +- .../interfaces/BrainSelectionInterface.tsx | 2 +- .../interfaces/ConfigureGamepiecePickupInterface.tsx | 3 +-- .../interfaces/ConfigureShotTrajectoryInterface.tsx | 3 +-- .../interfaces/SequentialBehaviorsInterface.tsx | 3 +-- .../interfaces/SimulationInterface.tsx | 2 +- .../interfaces/inputs/ConfigureSchemeInterface.tsx | 3 +-- .../interfaces/inputs/EditInputInterface.tsx | 3 +-- .../scoring/ConfigureScoringZonesInterface.tsx | 3 +-- .../scoring/ScoringZoneConfigInterface.tsx | 2 +- .../initial-config/InitialConfigPanel.tsx | 2 +- .../initial-config/InputSchemeSelection.tsx | 3 +-- fission/src/ui/panels/mirabuf/ImportMirabufPanel.tsx | 5 +++-- fission/src/ui/panels/simulation/AutoTestPanel.tsx | 3 +-- .../src/ui/panels/simulation/DriverStationPanel.tsx | 2 +- fission/src/ui/panels/simulation/WiringPanel.tsx | 2 +- 40 files changed, 48 insertions(+), 63 deletions(-) diff --git a/fission/src/mirabuf/MirabufSceneObject.ts b/fission/src/mirabuf/MirabufSceneObject.ts index 2d78fc422e..ed2c9d6427 100644 --- a/fission/src/mirabuf/MirabufSceneObject.ts +++ b/fission/src/mirabuf/MirabufSceneObject.ts @@ -998,7 +998,7 @@ export class MirabufObjectChangeEvent extends Event { super(MirabufObjectChangeEvent._eventKey) this._obj = obj } - + public static addEventListener(cb: (object: MirabufSceneObject | null) => void): () => void { const listener = (event: Event) => { if (event instanceof MirabufObjectChangeEvent) { diff --git a/fission/src/ui/UIProvider.tsx b/fission/src/ui/UIProvider.tsx index 9cb2c7c00f..1bac6eb363 100644 --- a/fission/src/ui/UIProvider.tsx +++ b/fission/src/ui/UIProvider.tsx @@ -1,5 +1,4 @@ import CloseIcon from "@mui/icons-material/Close" -import { IconButton } from "./components/StyledComponents" import type { SnackbarKey, SnackbarMessage, VariantType } from "notistack" import { useSnackbar } from "notistack" import type React from "react" @@ -8,6 +7,7 @@ import { useCallback, useReducer, useState } from "react" import { v4 as uuidv4 } from "uuid" import type { ModalImplProps } from "./components/Modal" import type { PanelImplProps } from "./components/Panel" +import { IconButton } from "./components/StyledComponents" import { CloseType, type ConfigureScreenFn, diff --git a/fission/src/ui/components/AnalyticsConsent.tsx b/fission/src/ui/components/AnalyticsConsent.tsx index 400ff46970..de07f8e758 100644 --- a/fission/src/ui/components/AnalyticsConsent.tsx +++ b/fission/src/ui/components/AnalyticsConsent.tsx @@ -1,7 +1,7 @@ import { Box } from "@mui/material" -import { Button } from "./StyledComponents" import { AiOutlineClose } from "react-icons/ai" import Label from "./Label" +import { Button } from "./StyledComponents" interface AnalyticsConsentProps { onClose: () => void diff --git a/fission/src/ui/components/ContextMenu.tsx b/fission/src/ui/components/ContextMenu.tsx index f1cd8a9937..8440a694aa 100644 --- a/fission/src/ui/components/ContextMenu.tsx +++ b/fission/src/ui/components/ContextMenu.tsx @@ -1,10 +1,10 @@ import { Divider, Stack } from "@mui/material" -import { Button } from "./StyledComponents" import type React from "react" import { useEffect, useState } from "react" import { type ContextData, ContextSupplierEvent } from "./ContextMenuData" import { globalOpenModal, globalOpenPanel } from "./GlobalUIControls" import Label from "./Label" +import { Button } from "./StyledComponents" interface ContextMenuStateData { data: ContextData diff --git a/fission/src/ui/components/MainHUD.tsx b/fission/src/ui/components/MainHUD.tsx index 817ec6e8f8..45db372a0d 100644 --- a/fission/src/ui/components/MainHUD.tsx +++ b/fission/src/ui/components/MainHUD.tsx @@ -1,5 +1,4 @@ import { Box, Stack } from "@mui/material" -import { Button, IconButton } from "./StyledComponents" import { motion } from "framer-motion" import type React from "react" import { useEffect, useState } from "react" @@ -20,7 +19,7 @@ import DebugPanel from "../panels/DebugPanel" import DeveloperToolPanel from "../panels/DeveloperToolPanel" import ImportMirabufPanel from "../panels/mirabuf/ImportMirabufPanel" import { setAddToast, setOpenModal, setOpenPanel } from "./GlobalUIControls" -import { SynthesisIcons } from "./StyledComponents" +import { Button, IconButton, SynthesisIcons } from "./StyledComponents" import { TouchControlsEvent, TouchControlsEventKeys } from "./TouchControls" import UserIcon from "./UserIcon" diff --git a/fission/src/ui/components/Modal.tsx b/fission/src/ui/components/Modal.tsx index 5251540e82..4c659563db 100644 --- a/fission/src/ui/components/Modal.tsx +++ b/fission/src/ui/components/Modal.tsx @@ -1,8 +1,8 @@ import { Card, CardActions, CardContent, CardHeader, Modal as MUIModal } from "@mui/material" -import { Button } from "./StyledComponents" import React, { type ReactElement } from "react" import type { Modal as ModalType, Panel as PanelType } from "../helpers/UIProviderHelpers" import { CloseType, useUIContext } from "../helpers/UIProviderHelpers" +import { Button } from "./StyledComponents" export type ModalImplProps = Partial<{ modal: ModalType diff --git a/fission/src/ui/components/Panel.tsx b/fission/src/ui/components/Panel.tsx index 3e057e56b3..29122bbbfe 100644 --- a/fission/src/ui/components/Panel.tsx +++ b/fission/src/ui/components/Panel.tsx @@ -1,5 +1,4 @@ import { Card, CardActions, CardContent, CardHeader } from "@mui/material" -import { Button } from "./StyledComponents" import React, { type ReactElement } from "react" import Draggable from "react-draggable" import { @@ -9,6 +8,7 @@ import { type Panel as PanelType, useUIContext, } from "../helpers/UIProviderHelpers" +import { Button } from "./StyledComponents" // biome-ignore-start lint/suspicious/noExplicitAny: need to be able to extend export type PanelImplProps = Partial<{ diff --git a/fission/src/ui/components/SelectButton.tsx b/fission/src/ui/components/SelectButton.tsx index 16be53f17e..bd5a82f027 100644 --- a/fission/src/ui/components/SelectButton.tsx +++ b/fission/src/ui/components/SelectButton.tsx @@ -1,11 +1,10 @@ import type Jolt from "@azaleacolburn/jolt-physics" import { Stack } from "@mui/material" -import { Button } from "./StyledComponents" import type React from "react" import { useCallback, useEffect, useRef, useState } from "react" import World from "@/systems/World" import { convertThreeVector3ToJoltVec3 } from "@/util/TypeConversions" -import { LabelWithTooltip } from "./StyledComponents" +import { Button, LabelWithTooltip } from "./StyledComponents" // raycasting constants const RAY_MAX_LENGTH = 20.0 diff --git a/fission/src/ui/components/SelectMenu.tsx b/fission/src/ui/components/SelectMenu.tsx index 09765a098a..4c0c9a08ec 100644 --- a/fission/src/ui/components/SelectMenu.tsx +++ b/fission/src/ui/components/SelectMenu.tsx @@ -1,9 +1,8 @@ import { Divider, Stack } from "@mui/material" -import { Button, IconButton } from "./StyledComponents" import type React from "react" import { useEffect, useState } from "react" import Label from "./Label" -import { CustomTooltip, Spacer, SynthesisIcons } from "./StyledComponents" +import { Button, CustomTooltip, IconButton, Spacer, SynthesisIcons } from "./StyledComponents" /** Extend this to make a type that contains custom data */ export class SelectMenuOption { diff --git a/fission/src/ui/components/StyledComponents.tsx b/fission/src/ui/components/StyledComponents.tsx index 1280851435..a2d1368c4a 100644 --- a/fission/src/ui/components/StyledComponents.tsx +++ b/fission/src/ui/components/StyledComponents.tsx @@ -1,18 +1,17 @@ import InfoIcon from "@mui/icons-material/Info" import { Box, - Button as MuiButton, type ButtonProps, - IconButton as MuiIconButton, type IconButtonProps, - Stack, - Tooltip, + Button as MuiButton, + IconButton as MuiIconButton, ToggleButton as MuiToggleButton, - type ToggleButtonProps, ToggleButtonGroup as MuiToggleButtonGroup, + Stack, type ToggleButtonGroupProps, + type ToggleButtonProps, + Tooltip, } from "@mui/material" -import { SoundPlayer } from "@/systems/sound/SoundPlayer" import { AiFillWarning, AiOutlineDoubleRight, AiOutlineInfoCircle } from "react-icons/ai" import { BiRefresh } from "react-icons/bi" import { BsCodeSquare } from "react-icons/bs" @@ -38,6 +37,7 @@ import { GiSteeringWheel } from "react-icons/gi" import { GrConnect } from "react-icons/gr" import { HiDownload } from "react-icons/hi" import { IoCheckmark, IoPencil, IoPeople, IoTrashBin } from "react-icons/io5" +import { SoundPlayer } from "@/systems/sound/SoundPlayer" import Label from "./Label" export class SynthesisIcons { diff --git a/fission/src/ui/components/TransformGizmoControl.tsx b/fission/src/ui/components/TransformGizmoControl.tsx index cc9bd2a6d8..43d57dd528 100644 --- a/fission/src/ui/components/TransformGizmoControl.tsx +++ b/fission/src/ui/components/TransformGizmoControl.tsx @@ -1,11 +1,10 @@ -import { Button, ToggleButton, ToggleButtonGroup } from "./StyledComponents" import type React from "react" import { useEffect, useState } from "react" import * as THREE from "three" import InputSystem from "@/systems/input/InputSystem" import GizmoSceneObject, { type GizmoMode } from "@/systems/scene/GizmoSceneObject" - import World from "@/systems/World" +import { Button, ToggleButton, ToggleButtonGroup } from "./StyledComponents" import type TransformGizmoControlProps from "./TransformGizmoControlProps" /** diff --git a/fission/src/ui/components/simulation/FlowControls.tsx b/fission/src/ui/components/simulation/FlowControls.tsx index b7baa57455..30da1a7dc9 100644 --- a/fission/src/ui/components/simulation/FlowControls.tsx +++ b/fission/src/ui/components/simulation/FlowControls.tsx @@ -1,8 +1,8 @@ -import { Button } from "../StyledComponents" import { Panel as FlowPanel, useReactFlow } from "@xyflow/react" import { FaPlus } from "react-icons/fa6" import { MdFitScreen, MdZoomInMap, MdZoomOutMap } from "react-icons/md" import type { FlowControlsProps } from "@/systems/simulation/SimConfigShared" +import { Button } from "../StyledComponents" function FlowControls({ onCreateJunction }: FlowControlsProps) { const { zoomIn, zoomOut, fitView } = useReactFlow() diff --git a/fission/src/ui/modals/MainMenuModal.tsx b/fission/src/ui/modals/MainMenuModal.tsx index 82371c0f12..41888bbded 100644 --- a/fission/src/ui/modals/MainMenuModal.tsx +++ b/fission/src/ui/modals/MainMenuModal.tsx @@ -1,10 +1,10 @@ import { Stack } from "@mui/material" -import { Button } from "../components/StyledComponents" import type React from "react" import { useLayoutEffect } from "react" import { globalAddToast } from "@/components/GlobalUIControls.ts" import MirabufCachingService, { MiraType } from "@/mirabuf/MirabufLoader" import type { ModalImplProps } from "../components/Modal" +import { Button } from "../components/StyledComponents" import { useStateContext } from "../helpers/StateProviderHelpers" import { CloseType, useUIContext } from "../helpers/UIProviderHelpers" import { spawnCachedMira } from "../panels/mirabuf/ImportMirabufPanel" diff --git a/fission/src/ui/modals/MatchResultsModal.tsx b/fission/src/ui/modals/MatchResultsModal.tsx index fa5db71f8a..db5b34535c 100644 --- a/fission/src/ui/modals/MatchResultsModal.tsx +++ b/fission/src/ui/modals/MatchResultsModal.tsx @@ -1,11 +1,11 @@ import { Stack, styled, Typography } from "@mui/material" -import { Button } from "../components/StyledComponents" import type React from "react" import { useEffect } from "react" import MatchMode from "@/systems/match_mode/MatchMode" import SimulationSystem from "@/systems/simulation/SimulationSystem" import Label from "../components/Label" import type { ModalImplProps } from "../components/Modal" +import { Button } from "../components/StyledComponents" import { CloseType, useUIContext } from "../helpers/UIProviderHelpers" type Entry = { diff --git a/fission/src/ui/modals/common/ConfirmModal.tsx b/fission/src/ui/modals/common/ConfirmModal.tsx index be180b8a3a..f424fb0ca6 100644 --- a/fission/src/ui/modals/common/ConfirmModal.tsx +++ b/fission/src/ui/modals/common/ConfirmModal.tsx @@ -1,8 +1,8 @@ import { Stack, Typography } from "@mui/material" import type React from "react" import { useEffect } from "react" -import { useUIContext } from "@/ui/helpers/UIProviderHelpers" import type { ModalImplProps } from "@/ui/components/Modal" +import { useUIContext } from "@/ui/helpers/UIProviderHelpers" export type ConfirmModalCustomProps = { message: string diff --git a/fission/src/ui/modals/configuring/RoboRIOModal.tsx b/fission/src/ui/modals/configuring/RoboRIOModal.tsx index c038437e48..32917657c3 100644 --- a/fission/src/ui/modals/configuring/RoboRIOModal.tsx +++ b/fission/src/ui/modals/configuring/RoboRIOModal.tsx @@ -1,8 +1,8 @@ import { FormControlLabel } from "@mui/material" -import { Button } from "@/ui/components/StyledComponents" import type React from "react" import { useEffect } from "react" import type { ModalImplProps } from "@/ui/components/Modal" +import { Button } from "@/ui/components/StyledComponents" import { useUIContext } from "@/ui/helpers/UIProviderHelpers" import RCCreateDeviceModal from "./rio-config/RCCreateDeviceModal" diff --git a/fission/src/ui/modals/configuring/SettingsModal.tsx b/fission/src/ui/modals/configuring/SettingsModal.tsx index ee1fdbc0b8..09b26d5d03 100644 --- a/fission/src/ui/modals/configuring/SettingsModal.tsx +++ b/fission/src/ui/modals/configuring/SettingsModal.tsx @@ -1,5 +1,4 @@ import { Box, Stack, Tab, Tabs, TextField } from "@mui/material" -import { Button } from "@/ui/components/StyledComponents" import type React from "react" import { useCallback, useEffect, useReducer, useState } from "react" import { GiPerspectiveDiceSixFacesOne } from "react-icons/gi" @@ -12,7 +11,7 @@ import Checkbox from "@/ui/components/Checkbox" import Label from "@/ui/components/Label" import type { ModalImplProps } from "@/ui/components/Modal" import StatefulSlider from "@/ui/components/StatefulSlider" -import { Spacer } from "@/ui/components/StyledComponents" +import { Button, Spacer } from "@/ui/components/StyledComponents" import { useThemeContext } from "@/ui/helpers/ThemeProviderHelpers" import { useUIContext } from "@/ui/helpers/UIProviderHelpers" import { randomColor } from "@/util/Random" diff --git a/fission/src/ui/modals/mirabuf/ImportLocalMirabufModal.tsx b/fission/src/ui/modals/mirabuf/ImportLocalMirabufModal.tsx index 671221a15c..ea68c509af 100644 --- a/fission/src/ui/modals/mirabuf/ImportLocalMirabufModal.tsx +++ b/fission/src/ui/modals/mirabuf/ImportLocalMirabufModal.tsx @@ -1,13 +1,12 @@ import { Stack, styled } from "@mui/material" -import { Button, ToggleButton, ToggleButtonGroup } from "@/ui/components/StyledComponents" import { type ChangeEvent, useEffect, useState } from "react" import MirabufCachingService, { MiraType } from "@/mirabuf/MirabufLoader" import { createMirabuf } from "@/mirabuf/MirabufSceneObject" import { PAUSE_REF_ASSEMBLY_SPAWNING } from "@/systems/physics/PhysicsTypes" - import World from "@/systems/World" import Label from "@/ui/components/Label" import type { ModalImplProps } from "@/ui/components/Modal" +import { Button, ToggleButton, ToggleButtonGroup } from "@/ui/components/StyledComponents" import { CloseType, useUIContext } from "@/ui/helpers/UIProviderHelpers" import type { ConfigurationType } from "@/ui/panels/configuring/assembly-config/ConfigTypes" import InitialConfigPanel from "@/ui/panels/configuring/initial-config/InitialConfigPanel" diff --git a/fission/src/ui/panels/DebugPanel.tsx b/fission/src/ui/panels/DebugPanel.tsx index 71783ccf84..68308ce4ab 100644 --- a/fission/src/ui/panels/DebugPanel.tsx +++ b/fission/src/ui/panels/DebugPanel.tsx @@ -1,5 +1,4 @@ import { Box, Stack } from "@mui/material" -import { Button } from "../components/StyledComponents" import type React from "react" import { useEffect } from "react" import APS from "@/aps/APS" @@ -10,14 +9,15 @@ import MirabufCachingService, { } from "@/mirabuf/MirabufLoader" import PreferencesSystem from "@/systems/preferences/PreferencesSystem" import World from "@/systems/World" +import ConfirmModal from "@/ui/modals/common/ConfirmModal" import { random } from "@/util/Random" import { globalAddToast } from "../components/GlobalUIControls" import Label from "../components/Label" import type { PanelImplProps } from "../components/Panel" +import { Button } from "../components/StyledComponents" import { useUIContext } from "../helpers/UIProviderHelpers" import PokerPanel from "./PokerPanel" import WsViewPanel from "./WsViewPanel" -import ConfirmModal from "@/ui/modals/common/ConfirmModal" function toggleDragMode() { const dragSystem = World.dragModeSystem diff --git a/fission/src/ui/panels/DeveloperToolPanel.tsx b/fission/src/ui/panels/DeveloperToolPanel.tsx index fb8a34cbfa..37ac725be3 100644 --- a/fission/src/ui/panels/DeveloperToolPanel.tsx +++ b/fission/src/ui/panels/DeveloperToolPanel.tsx @@ -1,5 +1,4 @@ import { Stack } from "@mui/material" -import { Button } from "../components/StyledComponents" import type React from "react" import { useEffect, useRef, useState } from "react" import MirabufCachingService, { MiraType } from "@/mirabuf/MirabufLoader" @@ -10,7 +9,7 @@ import World from "@/systems/World" import FieldMiraEditor, { type DevtoolKey, devtoolHandlers, devtoolKeys } from "../../mirabuf/FieldMiraEditor" import { globalAddToast } from "../components/GlobalUIControls" import type { PanelImplProps } from "../components/Panel" -import { LabelWithTooltip } from "../components/StyledComponents" +import { Button, LabelWithTooltip } from "../components/StyledComponents" import { useUIContext } from "../helpers/UIProviderHelpers" const DeveloperToolPanel: React.FC> = ({ panel }) => { diff --git a/fission/src/ui/panels/RobotSwitchPanel.tsx b/fission/src/ui/panels/RobotSwitchPanel.tsx index e57b03ee83..b1f0563ff9 100644 --- a/fission/src/ui/panels/RobotSwitchPanel.tsx +++ b/fission/src/ui/panels/RobotSwitchPanel.tsx @@ -1,10 +1,10 @@ import { Stack } from "@mui/material" -import { Button } from "../components/StyledComponents" import type React from "react" import { useEffect, useState } from "react" import Checkbox from "@/components/Checkbox.tsx" import Label from "../components/Label" import type { PanelImplProps } from "../components/Panel" +import { Button } from "../components/StyledComponents" import { useUIContext } from "../helpers/UIProviderHelpers" const RobotSwitchPanel: React.FC> = ({ panel }) => { diff --git a/fission/src/ui/panels/configuring/CameraSelectionPanel.tsx b/fission/src/ui/panels/configuring/CameraSelectionPanel.tsx index 6978cf12a2..c299c168cd 100644 --- a/fission/src/ui/panels/configuring/CameraSelectionPanel.tsx +++ b/fission/src/ui/panels/configuring/CameraSelectionPanel.tsx @@ -1,4 +1,3 @@ -import { ToggleButton, ToggleButtonGroup } from "@/ui/components/StyledComponents" import type React from "react" import { useCallback, useEffect, useState } from "react" import buttonPressSound from "@/assets/sound-files/ButtonPress.mp3" @@ -7,6 +6,7 @@ import { SoundPlayer } from "@/systems/sound/SoundPlayer" import World from "@/systems/World" import Checkbox from "@/ui/components/Checkbox" import type { PanelImplProps } from "@/ui/components/Panel" +import { ToggleButton, ToggleButtonGroup } from "@/ui/components/StyledComponents" import { useUIContext } from "@/ui/helpers/UIProviderHelpers" interface OrbitSettingsProps { diff --git a/fission/src/ui/panels/configuring/MatchModeConfigPanel.tsx b/fission/src/ui/panels/configuring/MatchModeConfigPanel.tsx index 9c14cee51d..ec513c495f 100644 --- a/fission/src/ui/panels/configuring/MatchModeConfigPanel.tsx +++ b/fission/src/ui/panels/configuring/MatchModeConfigPanel.tsx @@ -1,5 +1,4 @@ import { Box, Divider } from "@mui/material" -import { Button } from "@/ui/components/StyledComponents" import { Stack } from "@mui/system" import type React from "react" import { type ChangeEvent, useEffect, useMemo, useRef, useState } from "react" @@ -11,7 +10,7 @@ import Checkbox from "@/ui/components/Checkbox" import { globalAddToast } from "@/ui/components/GlobalUIControls" import Label from "@/ui/components/Label" import type { PanelImplProps } from "@/ui/components/Panel" -import { NegativeButton, PositiveButton, SynthesisIcons } from "@/ui/components/StyledComponents" +import { Button, NegativeButton, PositiveButton, SynthesisIcons } from "@/ui/components/StyledComponents" import { CloseType, useUIContext } from "@/ui/helpers/UIProviderHelpers" /** diff --git a/fission/src/ui/panels/configuring/assembly-config/ConfigurePanel.tsx b/fission/src/ui/panels/configuring/assembly-config/ConfigurePanel.tsx index 7b378e1c62..4ba18a9136 100644 --- a/fission/src/ui/panels/configuring/assembly-config/ConfigurePanel.tsx +++ b/fission/src/ui/panels/configuring/assembly-config/ConfigurePanel.tsx @@ -1,4 +1,3 @@ -import { Button, ToggleButton, ToggleButtonGroup } from "@/ui/components/StyledComponents" import type React from "react" import { useEffect, useMemo, useRef, useState } from "react" import { ConfigurationSavedEvent } from "@/events/ConfigurationSavedEvent" @@ -13,6 +12,7 @@ import type SynthesisBrain from "@/systems/simulation/synthesis_brain/SynthesisB import World from "@/systems/World" import Label from "@/ui/components/Label" import type { PanelImplProps } from "@/ui/components/Panel" +import { Button, ToggleButton, ToggleButtonGroup } from "@/ui/components/StyledComponents" import TransformGizmoControl from "@/ui/components/TransformGizmoControl" import { CloseType, type UIScreen, useUIContext } from "@/ui/helpers/UIProviderHelpers" import ChooseInputSchemePanel from "../ChooseInputSchemePanel" diff --git a/fission/src/ui/panels/configuring/assembly-config/interfaces/AllianceSelectionInterface.tsx b/fission/src/ui/panels/configuring/assembly-config/interfaces/AllianceSelectionInterface.tsx index 86850585ce..6c91f8ce93 100644 --- a/fission/src/ui/panels/configuring/assembly-config/interfaces/AllianceSelectionInterface.tsx +++ b/fission/src/ui/panels/configuring/assembly-config/interfaces/AllianceSelectionInterface.tsx @@ -1,9 +1,9 @@ import { Box, Stack } from "@mui/material" -import { Button } from "@/ui/components/StyledComponents" import { useState } from "react" import type MirabufSceneObject from "@/mirabuf/MirabufSceneObject" import type { Alliance, Station } from "@/systems/preferences/PreferenceTypes" import Label from "@/ui/components/Label" +import { Button } from "@/ui/components/StyledComponents" type AllianceSelectionInterfaceProps = { selectedAssembly: MirabufSceneObject diff --git a/fission/src/ui/panels/configuring/assembly-config/interfaces/BrainSelectionInterface.tsx b/fission/src/ui/panels/configuring/assembly-config/interfaces/BrainSelectionInterface.tsx index b3bdf22eb8..f61f5eb05f 100644 --- a/fission/src/ui/panels/configuring/assembly-config/interfaces/BrainSelectionInterface.tsx +++ b/fission/src/ui/panels/configuring/assembly-config/interfaces/BrainSelectionInterface.tsx @@ -1,9 +1,9 @@ -import { ToggleButton, ToggleButtonGroup } from "@/ui/components/StyledComponents" import { useState } from "react" import type MirabufSceneObject from "@/mirabuf/MirabufSceneObject" import type { BrainType } from "@/systems/simulation/Brain" import SynthesisBrain from "@/systems/simulation/synthesis_brain/SynthesisBrain" import WPILibBrain from "@/systems/simulation/wpilib_brain/WPILibBrain" +import { ToggleButton, ToggleButtonGroup } from "@/ui/components/StyledComponents" type BrainSelectionInterfaceProps = { selectedAssembly: MirabufSceneObject diff --git a/fission/src/ui/panels/configuring/assembly-config/interfaces/ConfigureGamepiecePickupInterface.tsx b/fission/src/ui/panels/configuring/assembly-config/interfaces/ConfigureGamepiecePickupInterface.tsx index 096c4800bc..ebe117ccca 100644 --- a/fission/src/ui/panels/configuring/assembly-config/interfaces/ConfigureGamepiecePickupInterface.tsx +++ b/fission/src/ui/panels/configuring/assembly-config/interfaces/ConfigureGamepiecePickupInterface.tsx @@ -1,6 +1,5 @@ import type Jolt from "@azaleacolburn/jolt-physics" import { Stack } from "@mui/material" -import { Button } from "@/ui/components/StyledComponents" import { useCallback, useEffect, useMemo, useRef, useState } from "react" import * as THREE from "three" import SelectButton from "@/components/SelectButton" @@ -15,7 +14,7 @@ import type GizmoSceneObject from "@/systems/scene/GizmoSceneObject" import World from "@/systems/World" import Checkbox from "@/ui/components/Checkbox" import StatefulSlider from "@/ui/components/StatefulSlider" -import { Spacer } from "@/ui/components/StyledComponents" +import { Button, Spacer } from "@/ui/components/StyledComponents" import TransformGizmoControl from "@/ui/components/TransformGizmoControl" import { convertArrayToThreeMatrix4, diff --git a/fission/src/ui/panels/configuring/assembly-config/interfaces/ConfigureShotTrajectoryInterface.tsx b/fission/src/ui/panels/configuring/assembly-config/interfaces/ConfigureShotTrajectoryInterface.tsx index af99277289..baf294f235 100644 --- a/fission/src/ui/panels/configuring/assembly-config/interfaces/ConfigureShotTrajectoryInterface.tsx +++ b/fission/src/ui/panels/configuring/assembly-config/interfaces/ConfigureShotTrajectoryInterface.tsx @@ -1,6 +1,5 @@ import type Jolt from "@azaleacolburn/jolt-physics" import { Stack } from "@mui/material" -import { Button, ToggleButton, ToggleButtonGroup } from "@/ui/components/StyledComponents" import { useCallback, useEffect, useMemo, useRef, useState } from "react" import * as THREE from "three" import SelectButton from "@/components/SelectButton" @@ -13,7 +12,7 @@ import PreferencesSystem from "@/systems/preferences/PreferencesSystem" import type GizmoSceneObject from "@/systems/scene/GizmoSceneObject" import World from "@/systems/World" import StatefulSlider from "@/ui/components/StatefulSlider" -import { LabelWithTooltip, Spacer } from "@/ui/components/StyledComponents" +import { Button, LabelWithTooltip, Spacer, ToggleButton, ToggleButtonGroup } from "@/ui/components/StyledComponents" import TransformGizmoControl from "@/ui/components/TransformGizmoControl" import { convertArrayToThreeMatrix4, diff --git a/fission/src/ui/panels/configuring/assembly-config/interfaces/SequentialBehaviorsInterface.tsx b/fission/src/ui/panels/configuring/assembly-config/interfaces/SequentialBehaviorsInterface.tsx index 6b1162e7ef..8e1c45c92e 100644 --- a/fission/src/ui/panels/configuring/assembly-config/interfaces/SequentialBehaviorsInterface.tsx +++ b/fission/src/ui/panels/configuring/assembly-config/interfaces/SequentialBehaviorsInterface.tsx @@ -1,5 +1,4 @@ import { Stack } from "@mui/material" -import { Button } from "@/ui/components/StyledComponents" import type React from "react" import { useCallback, useEffect, useReducer, useState } from "react" import { ConfigurationSavedEvent } from "@/events/ConfigurationSavedEvent" @@ -10,7 +9,7 @@ import GenericArmBehavior from "@/systems/simulation/behavior/synthesis/GenericA import SequenceableBehavior from "@/systems/simulation/behavior/synthesis/SequenceableBehavior" import type SynthesisBrain from "@/systems/simulation/synthesis_brain/SynthesisBrain" import Label from "@/ui/components/Label" -import { Spacer, SynthesisIcons } from "@/ui/components/StyledComponents" +import { Button, Spacer, SynthesisIcons } from "@/ui/components/StyledComponents" interface BehaviorCardProps { elementKey: number diff --git a/fission/src/ui/panels/configuring/assembly-config/interfaces/SimulationInterface.tsx b/fission/src/ui/panels/configuring/assembly-config/interfaces/SimulationInterface.tsx index 56beef176f..c6274215ce 100644 --- a/fission/src/ui/panels/configuring/assembly-config/interfaces/SimulationInterface.tsx +++ b/fission/src/ui/panels/configuring/assembly-config/interfaces/SimulationInterface.tsx @@ -1,10 +1,10 @@ -import { Button } from "@/ui/components/StyledComponents" import { useState } from "react" import type MirabufSceneObject from "@/mirabuf/MirabufSceneObject" import { setSpotlightAssembly } from "@/mirabuf/MirabufSceneObject" import PreferencesSystem from "@/systems/preferences/PreferencesSystem" import Checkbox from "@/ui/components/Checkbox" import type { PanelImplProps } from "@/ui/components/Panel" +import { Button } from "@/ui/components/StyledComponents" import { CloseType, useUIContext } from "@/ui/helpers/UIProviderHelpers" import AutoTestPanel from "@/ui/panels/simulation/AutoTestPanel" import WiringPanel from "@/ui/panels/simulation/WiringPanel" diff --git a/fission/src/ui/panels/configuring/assembly-config/interfaces/inputs/ConfigureSchemeInterface.tsx b/fission/src/ui/panels/configuring/assembly-config/interfaces/inputs/ConfigureSchemeInterface.tsx index 3111bd3244..bb29178865 100644 --- a/fission/src/ui/panels/configuring/assembly-config/interfaces/inputs/ConfigureSchemeInterface.tsx +++ b/fission/src/ui/panels/configuring/assembly-config/interfaces/inputs/ConfigureSchemeInterface.tsx @@ -1,5 +1,4 @@ import { Divider, Stack } from "@mui/material" -import { Button, IconButton } from "@/ui/components/StyledComponents" import type React from "react" import { useCallback, useEffect, useReducer, useRef, useState } from "react" import Checkbox from "@/components/Checkbox.tsx" @@ -9,7 +8,7 @@ import type { InputScheme } from "@/systems/input/InputTypes" import AxisInput from "@/systems/input/inputs/AxisInput.ts" import type Input from "@/systems/input/inputs/Input" import Label from "@/ui/components/Label" -import { SynthesisIcons } from "@/ui/components/StyledComponents" +import { Button, IconButton, SynthesisIcons } from "@/ui/components/StyledComponents" import EditInputInterface from "./EditInputInterface" interface ConfigSchemeProps { diff --git a/fission/src/ui/panels/configuring/assembly-config/interfaces/inputs/EditInputInterface.tsx b/fission/src/ui/panels/configuring/assembly-config/interfaces/inputs/EditInputInterface.tsx index 79cfad08f0..180d67e348 100644 --- a/fission/src/ui/panels/configuring/assembly-config/interfaces/inputs/EditInputInterface.tsx +++ b/fission/src/ui/panels/configuring/assembly-config/interfaces/inputs/EditInputInterface.tsx @@ -1,5 +1,4 @@ import { Box, Divider, MenuItem, Select, Stack } from "@mui/material" -import { Button } from "@/ui/components/StyledComponents" import type React from "react" import { useEffect, useState } from "react" import InputSystem from "@/systems/input/InputSystem" @@ -10,7 +9,7 @@ import type Input from "@/systems/input/inputs/Input" import type { KeyCode } from "@/systems/input/KeyboardTypes" import Checkbox from "@/ui/components/Checkbox" import Label from "@/ui/components/Label" -import { SynthesisIcons } from "@/ui/components/StyledComponents" +import { Button, SynthesisIcons } from "@/ui/components/StyledComponents" // Converts camelCase to Title Case for the inputs modal const toTitleCase = (camelCase: string) => { diff --git a/fission/src/ui/panels/configuring/assembly-config/interfaces/scoring/ConfigureScoringZonesInterface.tsx b/fission/src/ui/panels/configuring/assembly-config/interfaces/scoring/ConfigureScoringZonesInterface.tsx index 9b5ea175d2..fc9606106c 100644 --- a/fission/src/ui/panels/configuring/assembly-config/interfaces/scoring/ConfigureScoringZonesInterface.tsx +++ b/fission/src/ui/panels/configuring/assembly-config/interfaces/scoring/ConfigureScoringZonesInterface.tsx @@ -1,5 +1,4 @@ import { Box, Divider, Stack } from "@mui/material" -import { Button } from "@/ui/components/StyledComponents" import type React from "react" import { useState } from "react" import { ConfigurationSavedEvent } from "@/events/ConfigurationSavedEvent" @@ -7,7 +6,7 @@ import type MirabufSceneObject from "@/mirabuf/MirabufSceneObject" import PreferencesSystem from "@/systems/preferences/PreferencesSystem" import type { ScoringZonePreferences } from "@/systems/preferences/PreferenceTypes" import Label from "@/ui/components/Label" -import { SynthesisIcons } from "@/ui/components/StyledComponents" +import { Button, SynthesisIcons } from "@/ui/components/StyledComponents" import ManageScoringZonesInterface from "./ManageScoringZonesInterface" import ZoneConfigInterface from "./ScoringZoneConfigInterface" diff --git a/fission/src/ui/panels/configuring/assembly-config/interfaces/scoring/ScoringZoneConfigInterface.tsx b/fission/src/ui/panels/configuring/assembly-config/interfaces/scoring/ScoringZoneConfigInterface.tsx index 065dc3a5b5..875022fc31 100644 --- a/fission/src/ui/panels/configuring/assembly-config/interfaces/scoring/ScoringZoneConfigInterface.tsx +++ b/fission/src/ui/panels/configuring/assembly-config/interfaces/scoring/ScoringZoneConfigInterface.tsx @@ -1,6 +1,5 @@ import type Jolt from "@azaleacolburn/jolt-physics" import { TextField } from "@mui/material" -import { Button } from "@/ui/components/StyledComponents" import { useCallback, useEffect, useMemo, useRef, useState } from "react" import * as THREE from "three" import { ConfigurationSavedEvent } from "@/events/ConfigurationSavedEvent" @@ -14,6 +13,7 @@ import type GizmoSceneObject from "@/systems/scene/GizmoSceneObject" import World from "@/systems/World" import Checkbox from "@/ui/components/Checkbox" import SelectButton from "@/ui/components/SelectButton" +import { Button } from "@/ui/components/StyledComponents" import TransformGizmoControl from "@/ui/components/TransformGizmoControl" import { convertArrayToThreeMatrix4, diff --git a/fission/src/ui/panels/configuring/initial-config/InitialConfigPanel.tsx b/fission/src/ui/panels/configuring/initial-config/InitialConfigPanel.tsx index a11e17f8c4..8284f34eeb 100644 --- a/fission/src/ui/panels/configuring/initial-config/InitialConfigPanel.tsx +++ b/fission/src/ui/panels/configuring/initial-config/InitialConfigPanel.tsx @@ -1,5 +1,4 @@ import { Box, Stack } from "@mui/material" -import { Button } from "@/ui/components/StyledComponents" import type React from "react" import { useCallback, useEffect, useMemo, useState } from "react" import { ConfigurationSavedEvent } from "@/events/ConfigurationSavedEvent.ts" @@ -15,6 +14,7 @@ import SynthesisBrain from "@/systems/simulation/synthesis_brain/SynthesisBrain" import World from "@/systems/World" import Label from "@/ui/components/Label" import type { PanelImplProps } from "@/ui/components/Panel" +import { Button } from "@/ui/components/StyledComponents" import TransformGizmoControl from "@/ui/components/TransformGizmoControl" import { useStateContext } from "@/ui/helpers/StateProviderHelpers" import { useUIContext } from "@/ui/helpers/UIProviderHelpers" diff --git a/fission/src/ui/panels/configuring/initial-config/InputSchemeSelection.tsx b/fission/src/ui/panels/configuring/initial-config/InputSchemeSelection.tsx index b14ff07fde..9ca9134278 100644 --- a/fission/src/ui/panels/configuring/initial-config/InputSchemeSelection.tsx +++ b/fission/src/ui/panels/configuring/initial-config/InputSchemeSelection.tsx @@ -1,5 +1,4 @@ import { Box, Divider, FormControl, InputLabel, MenuItem, Select, Stack, Tooltip } from "@mui/material" -import { Button } from "@/ui/components/StyledComponents" import { type ReactElement, useCallback, useEffect, useReducer, useState } from "react" import InputSchemeManager from "@/systems/input/InputSchemeManager" import InputSystem from "@/systems/input/InputSystem" @@ -8,7 +7,7 @@ import PreferencesSystem from "@/systems/preferences/PreferencesSystem" import { DriveType } from "@/systems/simulation/behavior/Behavior" import SynthesisBrain from "@/systems/simulation/synthesis_brain/SynthesisBrain" import Label from "@/ui/components/Label" -import { DeleteButton, EditButton, PositiveButton, SynthesisIcons } from "@/ui/components/StyledComponents" +import { Button, DeleteButton, EditButton, PositiveButton, SynthesisIcons } from "@/ui/components/StyledComponents" import { TouchControlsEvent, TouchControlsEventKeys } from "@/ui/components/TouchControls" import { useStateContext } from "@/ui/helpers/StateProviderHelpers" diff --git a/fission/src/ui/panels/mirabuf/ImportMirabufPanel.tsx b/fission/src/ui/panels/mirabuf/ImportMirabufPanel.tsx index b270550563..f31c2351ea 100644 --- a/fission/src/ui/panels/mirabuf/ImportMirabufPanel.tsx +++ b/fission/src/ui/panels/mirabuf/ImportMirabufPanel.tsx @@ -1,5 +1,4 @@ import { Accordion, AccordionDetails, AccordionSummary, Box, CircularProgress, Stack, Tooltip } from "@mui/material" -import { Button, ToggleButton, ToggleButtonGroup } from "@/ui/components/StyledComponents" import type React from "react" import { type ReactNode, useCallback, useEffect, useLayoutEffect, useMemo, useState } from "react" import { MdExpandMore } from "react-icons/md" @@ -21,18 +20,20 @@ import MirabufCachingService, { } from "@/mirabuf/MirabufLoader" import { createMirabuf } from "@/mirabuf/MirabufSceneObject" import { PAUSE_REF_ASSEMBLY_SPAWNING } from "@/systems/physics/PhysicsTypes" - import World from "@/systems/World" import { globalOpenPanel } from "@/ui/components/GlobalUIControls" import Label from "@/ui/components/Label" import type { PanelImplProps } from "@/ui/components/Panel" import { ProgressHandle } from "@/ui/components/ProgressNotificationData" import { + Button, DeleteButton, PositiveButton, PositiveIconButton, RefreshButton, SynthesisIcons, + ToggleButton, + ToggleButtonGroup, } from "@/ui/components/StyledComponents" import { useStateContext } from "@/ui/helpers/StateProviderHelpers" import { CloseType, useUIContext } from "@/ui/helpers/UIProviderHelpers" diff --git a/fission/src/ui/panels/simulation/AutoTestPanel.tsx b/fission/src/ui/panels/simulation/AutoTestPanel.tsx index bdff71fcc1..1ad1d6b7d7 100644 --- a/fission/src/ui/panels/simulation/AutoTestPanel.tsx +++ b/fission/src/ui/panels/simulation/AutoTestPanel.tsx @@ -1,6 +1,5 @@ import type Jolt from "@azaleacolburn/jolt-physics" import { TextField } from "@mui/material" -import { Button, ToggleButton, ToggleButtonGroup } from "@/ui/components/StyledComponents" import { Stack, styled } from "@mui/system" import type React from "react" import { useCallback, useEffect, useMemo, useState } from "react" @@ -9,10 +8,10 @@ import * as THREE from "three" import type MirabufSceneObject from "@/mirabuf/MirabufSceneObject" import SimDriverStation from "@/systems/simulation/wpilib_brain/sim/SimDriverStation" import { type AllianceStation, RobotSimMode } from "@/systems/simulation/wpilib_brain/WPILibTypes" - import World from "@/systems/World" import Label from "@/ui/components/Label" import type { PanelImplProps } from "@/ui/components/Panel" +import { Button, ToggleButton, ToggleButtonGroup } from "@/ui/components/StyledComponents" import TransformGizmoControl from "@/ui/components/TransformGizmoControl" import { useUIContext } from "@/ui/helpers/UIProviderHelpers" import JOLT from "@/util/loading/JoltSyncLoader" diff --git a/fission/src/ui/panels/simulation/DriverStationPanel.tsx b/fission/src/ui/panels/simulation/DriverStationPanel.tsx index 23f74d54cd..1655b32601 100644 --- a/fission/src/ui/panels/simulation/DriverStationPanel.tsx +++ b/fission/src/ui/panels/simulation/DriverStationPanel.tsx @@ -1,8 +1,8 @@ import { MenuItem, Select, Stack } from "@mui/material" -import { Button } from "@/ui/components/StyledComponents" import type React from "react" import { useEffect, useState } from "react" import type { PanelImplProps } from "@/ui/components/Panel" +import { Button } from "@/ui/components/StyledComponents" import { useUIContext } from "@/ui/helpers/UIProviderHelpers" const DriverStationPanel: React.FC> = ({ panel }) => { diff --git a/fission/src/ui/panels/simulation/WiringPanel.tsx b/fission/src/ui/panels/simulation/WiringPanel.tsx index 44ba4b3b83..baf460658d 100644 --- a/fission/src/ui/panels/simulation/WiringPanel.tsx +++ b/fission/src/ui/panels/simulation/WiringPanel.tsx @@ -1,5 +1,4 @@ import { Grid, Stack } from "@mui/material" -import { Button } from "@/ui/components/StyledComponents" import { type Connection, type FinalConnectionState, @@ -33,6 +32,7 @@ import Checkbox from "@/ui/components/Checkbox" import Label from "@/ui/components/Label" import type { PanelImplProps } from "@/ui/components/Panel" import ScrollView from "@/ui/components/ScrollView" +import { Button } from "@/ui/components/StyledComponents" import FlowControls from "@/ui/components/simulation/FlowControls" import FlowInfo from "@/ui/components/simulation/FlowInfo" import { useUIContext } from "../../helpers/UIProviderHelpers"