Skip to content

Commit 74e6981

Browse files
committed
pass 10
1 parent cf2312e commit 74e6981

File tree

3 files changed

+90
-58
lines changed

3 files changed

+90
-58
lines changed

fission/src/ui/components/Modal.tsx

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,22 @@ export const Modal = <T, P>({ children, modal, parent }: ModalElementProps<T, P>
3636
top: "50%",
3737
left: "50%",
3838
transform: "translate(-50%, -50%)",
39-
p: 4,
39+
p: 2,
40+
bgcolor: "background.paper",
41+
maxHeight: "70vh",
42+
overflowY: "auto",
43+
boxShadow: 6,
4044
}}
4145
>
42-
{props.title && <CardHeader title={props.title} className="select-none" />}
43-
<CardContent>
46+
{props.title && (
47+
<CardHeader
48+
title={props.title}
49+
className="select-none"
50+
sx={{ borderBottom: theme => `1px solid ${theme.palette.divider}`, py: 1, px: 2 }}
51+
titleTypographyProps={{ variant: "subtitle1" }}
52+
/>
53+
)}
54+
<CardContent sx={{ p: 2 }}>
4455
{React.Children.map(children, child => {
4556
if (React.isValidElement(child)) return React.cloneElement(child, { modal, parent })
4657
})}

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

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -265,19 +265,6 @@ const ConfigureGamepiecePickupInterface: React.FC<ConfigPickupProps> = ({ select
265265
}}
266266
step={0.01}
267267
/>
268-
<StatefulSlider
269-
min={MIN_ANIMATION_DURATION}
270-
max={MAX_ANIMATION_DURATION}
271-
defaultValue={animationDuration ?? 0.5}
272-
onChange={v => {
273-
setAnimationDuration(v as number)
274-
EjectableSceneObject.setAnimationDuration(v as number)
275-
}}
276-
step={ANIMATION_DURATION_STEP}
277-
label="Intake Animation Duration (s)"
278-
// TODO:
279-
// format={{ maximumFractionDigits: 2 }}
280-
/>
281268
<StatefulSlider
282269
label="Intake Animation Duration (s)"
283270
min={MIN_ANIMATION_DURATION}

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

Lines changed: 76 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -90,61 +90,95 @@ const SubsystemRowInterface: React.FC<SubsystemRowProps> = ({ robot, driver, seq
9090
return (
9191
<>
9292
<Stack justifyContent={"space-between"} alignItems={"center"} gap={"1rem"}>
93-
<Stack direction="row" gap={8}>
94-
<Label size="sm">
95-
{driver instanceof WheelDriver ? "Drive" : (driver.info?.name ?? "UnnamedMotor")}
96-
</Label>
97-
<StatefulSlider
98-
label="Max Velocity"
99-
min={0.1}
100-
max={driverSwitch(driver, 80, 40, 80) as number}
101-
defaultValue={velocity}
102-
// TODO:
103-
// format={{ minimumFractionDigits: 2, maximumFractionDigits: 2 }}
104-
onChange={velocity => {
105-
setVelocity(velocity as number)
106-
onChange(velocity as number, force, unstickForce)
107-
}}
108-
step={0.01}
109-
/>
110-
{PreferencesSystem.getGlobalPreference("SubsystemGravity") ||
111-
(driver instanceof WheelDriver && (
93+
{driver instanceof WheelDriver ? (
94+
// Drivetrain (wheel) sliders stacked vertically
95+
<Stack direction="column" gap={2} sx={{ minWidth: "260px" }}>
96+
<Label size="sm">Drive</Label>
97+
<StatefulSlider
98+
label="Max Velocity"
99+
min={0.1}
100+
max={driverSwitch(driver, 80, 40, 80) as number}
101+
defaultValue={velocity}
102+
onChange={velocity => {
103+
setVelocity(velocity as number)
104+
onChange(velocity as number, force, unstickForce)
105+
}}
106+
step={0.01}
107+
/>
108+
<StatefulSlider
109+
label={driverSwitch(driver, "Max Force", "Max Torque", "Max Acceleration") as string}
110+
min={driverSwitch(driver, 100, 20, 0.1) as number}
111+
max={driverSwitch(driver, 800, 150, 15) as number}
112+
defaultValue={force}
113+
onChange={force => {
114+
setForce(force as number)
115+
onChange(velocity, force as number, unstickForce)
116+
}}
117+
step={0.01}
118+
/>
119+
<StatefulSlider
120+
min={0}
121+
max={15000}
122+
defaultValue={unstickForce}
123+
label="Unstick Force"
124+
onChange={(value: number | number[]) => {
125+
setUnstickForce(value as number)
126+
onChange(velocity, force, value as number)
127+
}}
128+
step={100}
129+
/>
130+
</Stack>
131+
) : (
132+
// Other subsystems keep horizontal layout
133+
<Stack direction="row" gap={8}>
134+
<Label size="sm">{driver.info?.name ?? "UnnamedMotor"}</Label>
135+
<StatefulSlider
136+
label="Max Velocity"
137+
min={0.1}
138+
max={driverSwitch(driver, 80, 40, 80) as number}
139+
defaultValue={velocity}
140+
onChange={velocity => {
141+
setVelocity(velocity as number)
142+
onChange(velocity as number, force, unstickForce)
143+
}}
144+
step={0.01}
145+
/>
146+
{PreferencesSystem.getGlobalPreference("SubsystemGravity") && (
112147
<StatefulSlider
113148
label={driverSwitch(driver, "Max Force", "Max Torque", "Max Acceleration") as string}
114149
min={driverSwitch(driver, 100, 20, 0.1) as number}
115150
max={driverSwitch(driver, 800, 150, 15) as number}
116151
defaultValue={force}
117-
// TODO:
118-
// format={{ minimumFractionDigits: 2, maximumFractionDigits: 2 }}
119152
onChange={force => {
120153
setForce(force as number)
121154
onChange(velocity, force as number, unstickForce)
122155
}}
123156
step={0.01}
124157
/>
125-
))}
126-
{sequentialBehavior && (
127-
<Checkbox
128-
label="Invert Motor"
129-
checked={sequentialBehavior.inverted}
130-
onClick={checked => {
131-
sequentialBehavior.inverted = checked
132-
saveBehaviors?.()
158+
)}
159+
{sequentialBehavior && (
160+
<Checkbox
161+
label="Invert Motor"
162+
checked={sequentialBehavior.inverted}
163+
onClick={checked => {
164+
sequentialBehavior.inverted = checked
165+
saveBehaviors?.()
166+
}}
167+
/>
168+
)}
169+
<StatefulSlider
170+
min={0}
171+
max={15000}
172+
defaultValue={unstickForce}
173+
label="Unstick Force"
174+
onChange={(value: number | number[]) => {
175+
setUnstickForce(value as number)
176+
onChange(velocity, force, value as number)
133177
}}
178+
step={100}
134179
/>
135-
)}
136-
<StatefulSlider
137-
min={0}
138-
max={15000}
139-
defaultValue={unstickForce}
140-
label="Unstick Force"
141-
onChange={(value: number | number[]) => {
142-
setUnstickForce(value as number)
143-
onChange(velocity, force, value as number)
144-
}}
145-
step={100}
146-
/>
147-
</Stack>
180+
</Stack>
181+
)}
148182
</Stack>
149183
<Divider />
150184
</>

0 commit comments

Comments
 (0)