File tree Expand file tree Collapse file tree 2 files changed +3
-56
lines changed
Expand file tree Collapse file tree 2 files changed +3
-56
lines changed Original file line number Diff line number Diff line change 6565 text-align : center;
6666}
6767
68- .rateSelector {
69- display : flex;
70- align-items : center;
71- gap : 6px ;
72- margin-left : 12px ;
73- padding-left : 12px ;
74- border-left : 1px solid # 3d3d5c ;
75- }
76-
77- .rateLabel {
78- color : # 888 ;
79- font-size : 0.875rem ;
80- }
81-
82- .rateSelect {
83- padding : 6px 10px ;
84- background : # 2d2d44 ;
85- color : # ccc ;
86- border : 1px solid # 3d3d5c ;
87- border-radius : 4px ;
88- font-size : 0.875rem ;
89- cursor : pointer;
90- transition : all 0.2s ;
91- }
92-
93- .rateSelect : hover {
94- background : # 3d3d5c ;
95- color : # fff ;
96- }
97-
98- .rateSelect : focus {
99- outline : none;
100- border-color : # 4caf50 ;
101- }
102-
10368.progressContainer {
10469 cursor : pointer;
10570 padding : 8px 0 ;
Original file line number Diff line number Diff line change 1- import { PLAYBACK_RATES } from '../hooks/useAlgorithmPlayer '
2- import type { ControlPanelProps , PlaybackRate } from '../types '
1+ import type { ControlPanelProps } from '../types '
2+ import { SpeedSelector } from './SpeedSelector '
33import styles from './ControlPanel.module.css'
44
55export function ControlPanel ( {
@@ -25,11 +25,6 @@ export function ControlPanel({
2525 onSeek ( step )
2626 }
2727
28- const handleRateChange = ( e : React . ChangeEvent < HTMLSelectElement > ) => {
29- const rate = parseFloat ( e . target . value ) as PlaybackRate
30- onPlaybackRateChange ( rate )
31- }
32-
3328 return (
3429 < div className = { styles . container } >
3530 < div className = { styles . controls } >
@@ -84,20 +79,7 @@ export function ControlPanel({
8479 { currentStep + 1 } / { totalSteps }
8580 </ span >
8681
87- < div className = { styles . rateSelector } >
88- < label className = { styles . rateLabel } > 速率:</ label >
89- < select
90- className = { styles . rateSelect }
91- value = { playbackRate }
92- onChange = { handleRateChange }
93- >
94- { PLAYBACK_RATES . map ( ( rate ) => (
95- < option key = { rate } value = { rate } >
96- { rate } x
97- </ option >
98- ) ) }
99- </ select >
100- </ div >
82+ < SpeedSelector value = { playbackRate } onChange = { onPlaybackRateChange } />
10183 </ div >
10284
10385 < div className = { styles . progressContainer } onClick = { handleProgressClick } >
You can’t perform that action at this time.
0 commit comments