Skip to content

Commit b6a6caf

Browse files
authored
Dropdown Sounds Reimplemented [AARD-2065] (#1282)
2 parents 68c19e6 + 0b98b77 commit b6a6caf

File tree

12 files changed

+64
-27
lines changed

12 files changed

+64
-27
lines changed
-1.09 KB
Binary file not shown.

fission/src/ui/components/StyledComponents.tsx

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ import {
99
ToggleButtonGroup as MuiToggleButtonGroup,
1010
Stack,
1111
type ToggleButtonGroupProps,
12+
Select as MuiSelect,
13+
type SelectProps,
14+
Accordion as MuiAccordion,
15+
type AccordionProps,
16+
AccordionSummary as MuiAccordionSummary,
17+
type AccordionSummaryProps,
18+
AccordionDetails as MuiAccordionDetails,
19+
type AccordionDetailsProps,
1220
type ToggleButtonProps,
1321
Tooltip,
1422
} from "@mui/material"
@@ -130,6 +138,30 @@ export const ToggleButtonGroup: React.FC<ToggleButtonGroupProps> = ({ children,
130138
)
131139
}
132140

141+
export const Select: React.FC<SelectProps> = ({ children, ...props }) => {
142+
return (
143+
<MuiSelect {...SoundPlayer.getInstance().dropdownSoundEffects()} {...props}>
144+
{children}
145+
</MuiSelect>
146+
)
147+
}
148+
149+
export const Accordion: React.FC<AccordionProps> = ({ children, ...props }) => {
150+
return <MuiAccordion {...props}>{children}</MuiAccordion>
151+
}
152+
153+
export const AccordionSummary: React.FC<AccordionSummaryProps> = ({ children, ...props }) => {
154+
return (
155+
<MuiAccordionSummary {...SoundPlayer.getInstance().dropdownSoundEffects()} {...props}>
156+
{children}
157+
</MuiAccordionSummary>
158+
)
159+
}
160+
161+
export const AccordionDetails: React.FC<AccordionDetailsProps> = ({ children, ...props }) => {
162+
return <MuiAccordionDetails {...props}>{children}</MuiAccordionDetails>
163+
}
164+
133165
export const PositiveButton: React.FC<ButtonProps> = ({ children, onClick, ...props }) => {
134166
return (
135167
<Button onClick={onClick} {...props} color="success">
@@ -257,4 +289,4 @@ export const LabelWithTooltip = (labelText: string, tooltipText: string) => {
257289
}
258290

259291
// Export the raw MUI components for cases where sound effects are not wanted
260-
export { MuiButton, MuiIconButton, MuiToggleButton, MuiToggleButtonGroup }
292+
export { MuiButton, MuiIconButton, MuiToggleButton, MuiToggleButtonGroup, MuiSelect }

fission/src/ui/modals/ViewModal.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { FormControl, InputLabel, MenuItem, Select } from "@mui/material"
1+
import { FormControl, InputLabel, MenuItem } from "@mui/material"
2+
import { Select } from "@/ui/components/StyledComponents"
23
import type React from "react"
34
import { useEffect, useState } from "react"
45
import type { ModalImplProps } from "../components/Modal"

fission/src/ui/modals/configuring/inputs/NewInputSchemeModal.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { FormControl, InputLabel, MenuItem, Select, TextField } from "@mui/material"
1+
import { FormControl, InputLabel, MenuItem, TextField } from "@mui/material"
2+
import { Select } from "@/ui/components/StyledComponents"
23
import { Stack } from "@mui/system"
34
import type React from "react"
45
import { useEffect, useMemo, useState } from "react"

fission/src/ui/modals/configuring/rio-config/RCConfigEncoderModal.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { FormControl, InputLabel, MenuItem, Select, TextField } from "@mui/material"
1+
import { FormControl, InputLabel, MenuItem, TextField } from "@mui/material"
2+
import { Select } from "@/ui/components/StyledComponents"
23
import type React from "react"
34
import { useEffect, useState } from "react"
45
import EncoderStimulus from "@/systems/simulation/stimulus/EncoderStimulus"

fission/src/ui/modals/configuring/rio-config/RCCreateDeviceModal.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { FormControl, InputLabel, MenuItem, Select } from "@mui/material"
1+
import { FormControl, InputLabel, MenuItem } from "@mui/material"
2+
import { Select } from "@/ui/components/StyledComponents"
23
import type React from "react"
34
import { useEffect, useState } from "react"
45
import WPILibBrain from "@/systems/simulation/wpilib_brain/WPILibBrain"

fission/src/ui/panels/configuring/assembly-config/interfaces/DrivetrainSelectionInterface.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { FormControl, InputLabel, MenuItem, Select } from "@mui/material"
1+
import { FormControl, InputLabel, MenuItem } from "@mui/material"
2+
import { Select } from "@/ui/components/StyledComponents"
23
import type MirabufSceneObject from "@/mirabuf/MirabufSceneObject"
34
import { DriveType } from "@/systems/simulation/behavior/Behavior.ts"
45
import type SynthesisBrain from "@/systems/simulation/synthesis_brain/SynthesisBrain"

fission/src/ui/panels/configuring/assembly-config/interfaces/inputs/EditInputInterface.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Box, Divider, MenuItem, Select, Stack } from "@mui/material"
1+
import { Box, Divider, MenuItem, Stack } from "@mui/material"
22
import type React from "react"
33
import { useEffect, useState } from "react"
44
import InputSystem from "@/systems/input/InputSystem"
@@ -9,7 +9,7 @@ import type Input from "@/systems/input/inputs/Input"
99
import type { KeyCode } from "@/systems/input/KeyboardTypes"
1010
import Checkbox from "@/ui/components/Checkbox"
1111
import Label from "@/ui/components/Label"
12-
import { Button, SynthesisIcons } from "@/ui/components/StyledComponents"
12+
import { Button, SynthesisIcons, Select } from "@/ui/components/StyledComponents"
1313

1414
// Converts camelCase to Title Case for the inputs modal
1515
const toTitleCase = (camelCase: string) => {
@@ -209,7 +209,7 @@ const EditInputInterface: React.FC<EditInputProps> = ({ input, useGamepad, useTo
209209
value={gamepadAxes[input.gamepadAxisNumber + 1]}
210210
onChange={e => {
211211
setSelectedInput(input.inputName)
212-
setChosenGamepadAxis(gamepadAxes.indexOf(e.target.value))
212+
setChosenGamepadAxis(gamepadAxes.indexOf(e.target.value as string))
213213
}}
214214
>
215215
{gamepadAxes.map(axis => (
@@ -277,7 +277,7 @@ const EditInputInterface: React.FC<EditInputProps> = ({ input, useGamepad, useTo
277277
value={touchControlsAxes[input.touchControlAxis]}
278278
onChange={e => {
279279
setSelectedInput(input.inputName)
280-
setChosenTouchControlsAxis(touchControlsAxes.indexOf(e.target.value))
280+
setChosenTouchControlsAxis(touchControlsAxes.indexOf(e.target.value as string))
281281
}}
282282
>
283283
{touchControlsAxes.map(axis => (

fission/src/ui/panels/configuring/assembly-config/interfaces/scoring/ProtectedZoneConfigInterface.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import {
77
ListItemText,
88
MenuItem,
99
OutlinedInput,
10-
Select,
1110
Stack,
1211
TextField,
1312
} from "@mui/material"
13+
import { Select } from "@/ui/components/StyledComponents"
1414
import { useCallback, useEffect, useMemo, useRef, useState } from "react"
1515
import * as THREE from "three"
1616
import { ConfigurationSavedEvent } from "@/events/ConfigurationSavedEvent"
@@ -308,7 +308,7 @@ const ZoneConfigInterface: React.FC<ZoneConfigProps> = ({ selectedField, selecte
308308
}}
309309
value={activeDuring}
310310
input={<OutlinedInput label="Contact Type" />}
311-
renderValue={selected => selected.join(", ")}
311+
renderValue={selected => (selected as MatchModeType[]).join(", ")}
312312
multiple
313313
>
314314
{MATCH_MODE_OPTIONS.map(opt => (

fission/src/ui/panels/configuring/initial-config/InputSchemeSelection.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Box, Divider, FormControl, InputLabel, MenuItem, Select, Stack, Tooltip } from "@mui/material"
1+
import { Box, Divider, FormControl, InputLabel, MenuItem, Stack, Tooltip } from "@mui/material"
22
import { type ReactElement, useCallback, useEffect, useReducer, useState } from "react"
33
import InputSchemeManager from "@/systems/input/InputSchemeManager"
44
import InputSystem from "@/systems/input/InputSystem"
@@ -7,7 +7,14 @@ import PreferencesSystem from "@/systems/preferences/PreferencesSystem"
77
import { DriveType } from "@/systems/simulation/behavior/Behavior"
88
import SynthesisBrain from "@/systems/simulation/synthesis_brain/SynthesisBrain"
99
import Label from "@/ui/components/Label"
10-
import { Button, DeleteButton, EditButton, PositiveButton, SynthesisIcons } from "@/ui/components/StyledComponents"
10+
import {
11+
Button,
12+
DeleteButton,
13+
EditButton,
14+
PositiveButton,
15+
SynthesisIcons,
16+
Select,
17+
} from "@/ui/components/StyledComponents"
1118
import { TouchControlsEvent, TouchControlsEventKeys } from "@/ui/components/TouchControls"
1219
import { useStateContext } from "@/ui/helpers/StateProviderHelpers"
1320

0 commit comments

Comments
 (0)