Skip to content
Merged
106 changes: 41 additions & 65 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 10 additions & 2 deletions src/app/components/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ class App extends Component {
isPlaying: false,
isRecording: false,
isPlayingIndex: 0,
eventTimes: [],
};

this.portToExtension = null;
Expand Down Expand Up @@ -76,14 +77,20 @@ class App extends Component {
id: this.state.data.length,
};

// search field
const { searchField } = this.state;
const newDataActionType = newData.action.type.toLowerCase();

// get the date everytime an action fires and add it to state

const eventTime = Date.now();

if (newDataActionType.includes(searchField.toLowerCase())) {
this.setState(state => ({
data: [...state.data, newData],
isPlayingIndex: state.data.length,
filteredData: [...state.filteredData, newData],
eventTimes: [...state.eventTimes, eventTime],
}));
} else {
this.setState(state => ({
Expand Down Expand Up @@ -283,6 +290,7 @@ class App extends Component {
isRecording,
filteredData,
searchField,
eventTimes,
} = this.state;

return (
Expand All @@ -299,6 +307,7 @@ class App extends Component {
searchChange={this.searchChange}
filteredData={filteredData}
searchField={searchField}
eventTimes={eventTimes}
/>
)}
right={
Expand Down Expand Up @@ -326,5 +335,4 @@ class App extends Component {
);
}
}

export default App;
export default App;
24 changes: 22 additions & 2 deletions src/app/components/EventCards/EventCreator.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,32 @@ import { EventCard, EventTimeDiv } from '../../styles/Events.jsx';
export default function EventCreator(props) {
// renders individual action
const {
action, id, addAction, actionTime, selectedEvent,
action, id, addAction, actionTime, selectedEvent, index, eventTimes,
} = props;

let displayTime;
let timeDifference;

if (id === 0) {
displayTime = '00: 00: 00';
} else {
timeDifference = eventTimes[id] - eventTimes[id - 1];
timeDifference = new Date(timeDifference);

let minute = timeDifference.getMinutes();
minute < 10 ? minute = '0' + minute : minute;
let second = timeDifference.getSeconds();
second < 10 ? second = '0' + second : second;
let millisecond = Math.floor(timeDifference.getMilliseconds() / 10);
millisecond < 10 ? millisecond = '0' + millisecond : millisecond;

displayTime = `${minute} : ${second} : ${millisecond}`;
}

return (
<EventCard id={id} onClick={addAction} selectedEvent={selectedEvent}>
&#x2630;{action}
<EventTimeDiv id={id} selectedEvent={selectedEvent}>{actionTime || '00:00:01'}</EventTimeDiv>
<EventTimeDiv id={id} selectedEvent={selectedEvent}>{displayTime}</EventTimeDiv>
</EventCard>

);
Expand Down
6 changes: 5 additions & 1 deletion src/app/components/EventCards/EventsDisplay.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ import EventCreator from './EventCreator.jsx';
import { EventsWrapper } from '../../styles/Events.jsx';

export default function Events(props) {
const { data,
const {
data,
activeEventId,
filteredData,
eventTimes,
} = props;
return (
<EventsWrapper>
Expand All @@ -18,8 +20,10 @@ export default function Events(props) {
selectedEvent={activeEventId === e.id ? 'true' : 'false'}
action={e.action.type}
key={i}
index={i}
id={e.id}
addAction={props.addAction}
eventTimes={eventTimes}
/>
))}
</EventsWrapper>
Expand Down
2 changes: 2 additions & 0 deletions src/app/container/Events.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ class Events extends Component {
searchChange,
filteredData,
searchField,
eventTimes,
} = this.props;
return (
<>
Expand All @@ -29,6 +30,7 @@ class Events extends Component {
filteredData={filteredData}
addAction={addAction}
activeEventId={activeEventId}
eventTimes={eventTimes}
/>
</>
);
Expand Down