API & Client: fix

This commit is contained in:
Sam
2018-06-07 22:44:52 +02:00
parent 76b2d5aad2
commit e7e0a20f89
10 changed files with 56 additions and 30 deletions

View File

@ -135,9 +135,9 @@ export const getMoreActivities = params => dispatch => FitTrackeeGenericApi
})
.catch(error => dispatch(setError(`activities: ${error}`)))
export const getMonthActivities = (start, end) => dispatch =>
export const getMonthActivities = (from, to) => dispatch =>
FitTrackeeGenericApi
.getData('activities', { start, end, order: 'asc', per_page: 100 })
.getData('activities', { from, to, order: 'asc', per_page: 100 })
.then(ret => {
if (ret.status === 'success') {
if (ret.data.activities.length > 0) {
@ -146,8 +146,8 @@ export const getMonthActivities = (start, end) => dispatch =>
ret.data.activities[i].activity_date
)
}
dispatch(updateCalendar(ret.data.activities))
}
dispatch(updateCalendar(ret.data.activities))
} else {
dispatch(setError(`activities: ${ret.message}`))
}

View File

@ -11,7 +11,10 @@ function FormWithoutGpx (props) {
const { activity, onAddOrEdit, sports } = props
let activityDate, activityTime, sportId = ''
if (activity) {
const activityDateTime = formatActivityDate(activity.activity_date)
const activityDateTime = formatActivityDate(
activity.activity_date,
'YYYY-MM-DD'
)
activityDate = activityDateTime.activity_date
activityTime = activityDateTime.activity_time
sportId = activity.sport_id

View File

@ -302,7 +302,6 @@ input, textarea {
height: 3em;
border-right: 1px solid var(--border-color);
overflow: hidden;
cursor: pointer;
background: var(--neutral-color);
}

View File

@ -128,8 +128,8 @@ export default connect(
loadMonthActivities: (userId, start, end) => {
const dateFormat = 'YYYY-MM-DD'
const params = {
start: format(start, dateFormat),
end: format(end, dateFormat),
from: format(start, dateFormat),
to: format(end, dateFormat),
time: 'week'
}
dispatch(getStats(userId, 'by_time', params))

View File

@ -3,6 +3,13 @@ import React from 'react'
export default function UserStatistics (props) {
const { user } = props
const days = user.totalDuration.match(/day/g)
? `${user.totalDuration.split(',')[0]},`
: '0 days,'
let duration = user.totalDuration.match(/day/g)
? user.totalDuration.split(', ')[1]
: user.totalDuration
duration = `${duration.split(':')[0]}h ${duration.split(':')[1]}min`
return (
<div className="row">
<div className="col">
@ -26,7 +33,7 @@ export default function UserStatistics (props) {
</div>
<div className="col-9 text-right">
<div className="huge">
{Math.round(user.totalDistance * 100) / 100}
{Number(user.totalDistance).toFixed(2)}
</div>
<div>km</div>
</div>
@ -40,8 +47,8 @@ export default function UserStatistics (props) {
<i className="fa fa-clock-o fa-3x fa-color" />
</div>
<div className="col-9 text-right">
<div className="huge">{user.totalDuration}</div>
<div>total duration</div>
<div className="huge">{days}</div>
<div>{duration}</div>
</div>
</div>
</div>

View File

@ -10,10 +10,19 @@ class Logout extends React.Component {
}
render() {
return (
<div>
<p className="App-center">
You are now logged out.
Click <Link to="/login">here</Link> to log back in.</p>
<div className="container dashboard">
<div className="row">
<div className="col-2" />
<div className="card col-8">
<div className="card-body">
<div className="text-center">
You are now logged out.
Click <Link to="/login">here</Link> to log back in.
</div>
</div>
</div>
<div className="col-2" />
</div>
</div>
)
}

View File

@ -63,11 +63,14 @@ export const getGeoJson = gpxContent => {
return { jsonData }
}
export const formatActivityDate = activityDateTime => {
export const formatActivityDate = (activityDateTime, dateFormat = null) => {
if (activityDateTime) {
const dateTime = parse(activityDateTime)
return {
activity_date: format(dateTime, 'DD/MM/YYYY'),
activity_date: format(
dateTime,
dateFormat ? dateFormat : 'DD/MM/YYYY'
),
activity_time: activityDateTime.match(/[0-2][0-9]:[0-5][0-9]/)[0]
}
}