import React from 'react'; import { motion } from 'framer-motion'; const { formatDuration } = require('./util'); const TimelineSeg = ({ isCutRangeValid, duration: durationRaw, cutStartTime, cutEndTime, apparentCutStart, apparentCutEnd, isActive, segNum, onSegClick, color, }) => { const duration = durationRaw || 1; const cutSectionWidth = `${((apparentCutEnd - apparentCutStart) / duration) * 100}%`; const markerWidth = 4; const startTimePos = `${(apparentCutStart / duration) * 100}%`; const markerBorder = isActive ? `2px solid ${color.lighten(0.5).string()}` : undefined; const backgroundColor = isActive ? color.lighten(0.5).alpha(0.5).string() : color.alpha(0.5).string(); const markerBorderRadius = 5; const startMarkerStyle = { width: markerWidth, borderLeft: markerBorder, borderTopLeftRadius: markerBorderRadius, borderBottomLeftRadius: markerBorderRadius, }; const endMarkerStyle = { width: markerWidth, borderRight: markerBorder, borderTopRightRadius: markerBorderRadius, borderBottomRightRadius: markerBorderRadius, }; const onThisSegClick = () => onSegClick(segNum); return ( {cutStartTime !== undefined && (
)} {isCutRangeValid && (cutStartTime !== undefined || cutEndTime !== undefined) && (
)} {cutEndTime !== undefined && (
)} ); }; export default TimelineSeg;