diff --git a/src/components/audio-trimmer/audio-selector.jsx b/src/components/audio-trimmer/audio-selector.jsx index 65d18c31a..3a7692216 100644 --- a/src/components/audio-trimmer/audio-selector.jsx +++ b/src/components/audio-trimmer/audio-selector.jsx @@ -3,7 +3,8 @@ import React from 'react'; import classNames from 'classnames'; import Box from '../box/box.jsx'; import styles from './audio-trimmer.css'; -import handleIcon from './icon--handle.svg'; +import SelectionHandle from './selection-handle.jsx'; +import Playhead from './playhead.jsx'; const AudioSelector = props => (
( }} > - - - - - - - - - + - - - - - - - + /> )} {props.playhead ? ( -
-
-
+ ) : null}
); diff --git a/src/components/audio-trimmer/audio-trimmer.css b/src/components/audio-trimmer/audio-trimmer.css index 8c0e23dc6..ce7d60213 100644 --- a/src/components/audio-trimmer/audio-trimmer.css +++ b/src/components/audio-trimmer/audio-trimmer.css @@ -88,20 +88,20 @@ $hover-scale: 2; border-right: none; } -.start-trim-line { - right: 0; +.selector .left-handle { + left: 0 } -.start-selection-line { - left: 0; +.selector .right-handle { + right: 0 } -.end-trim-line { - left: 0; +.trimmer .left-handle { + right: 0 } -.end-selection-line { - right: 0; +.trimmer .right-handle { + left: 0 } .trim-handle { diff --git a/src/components/audio-trimmer/audio-trimmer.jsx b/src/components/audio-trimmer/audio-trimmer.jsx index 87ca75a98..d9874ddd1 100644 --- a/src/components/audio-trimmer/audio-trimmer.jsx +++ b/src/components/audio-trimmer/audio-trimmer.jsx @@ -3,11 +3,12 @@ import React from 'react'; import classNames from 'classnames'; import Box from '../box/box.jsx'; import styles from './audio-trimmer.css'; -import handleIcon from './icon--handle.svg'; +import SelectionHandle from './selection-handle.jsx'; +import Playhead from './playhead.jsx'; const AudioTrimmer = props => (
{props.trimStart === null ? null : ( @@ -20,28 +21,16 @@ const AudioTrimmer = props => ( onTouchStart={props.onTrimStartMouseDown} > - - - - - - - - + )} - {props.playhead ? ( -
-
-
+ ) : null} - {props.trimEnd === null ? null : ( ( onTouchStart={props.onTrimEndMouseDown} > - - - - - - - - + )}
diff --git a/src/components/audio-trimmer/playhead.jsx b/src/components/audio-trimmer/playhead.jsx new file mode 100644 index 000000000..5b3adddd6 --- /dev/null +++ b/src/components/audio-trimmer/playhead.jsx @@ -0,0 +1,21 @@ +import PropTypes from 'prop-types'; +import React from 'react'; +import classNames from 'classnames'; +import styles from './audio-trimmer.css'; + +const Playhead = props => ( +
+
+
+); + +Playhead.propTypes = { + playbackPosition: PropTypes.number +}; + +export default Playhead; diff --git a/src/components/audio-trimmer/selection-handle.jsx b/src/components/audio-trimmer/selection-handle.jsx new file mode 100644 index 000000000..f182ce6a4 --- /dev/null +++ b/src/components/audio-trimmer/selection-handle.jsx @@ -0,0 +1,28 @@ +import PropTypes from 'prop-types'; +import React from 'react'; +import classNames from 'classnames'; +import Box from '../box/box.jsx'; +import styles from './audio-trimmer.css'; +import handleIcon from './icon--handle.svg'; + +const SelectionHandle = props => ( + + + + + + + + +); + +SelectionHandle.propTypes = { + handleStyle: PropTypes.string, + onMouseDown: PropTypes.func +}; + +export default SelectionHandle;