API & Client - display only active sports when adding an activity

This commit is contained in:
Sam
2019-09-23 14:09:26 +02:00
parent a9cbe220ac
commit 8a4b114af8
13 changed files with 413 additions and 101 deletions

View File

@ -11,7 +11,7 @@ import { translateSports } from '../../../utils/activities'
function FormWithGpx(props) {
const { activity, loading, onAddActivity, onEditActivity, sports, t } = props
const sportId = activity ? activity.sport_id : ''
const translatedSports = translateSports(sports, t)
const translatedSports = translateSports(sports, t, true)
// prettier-ignore
const zipTooltip =
`${t('activities:no folder inside')}, ${gpxLimit} ${

View File

@ -10,7 +10,7 @@ import { formatActivityDate, translateSports } from '../../../utils/activities'
function FormWithoutGpx(props) {
const { activity, onAddOrEdit, sports, t } = props
const translatedSports = translateSports(sports, t)
const translatedSports = translateSports(sports, t, true)
let activityDate,
activityTime,
sportId = ''

View File

@ -62,23 +62,26 @@ class AdminSports extends React.Component {
)}
</td>
<td>
{sport._can_be_disabled ? (
<input
type="submit"
className={`btn btn-${
sport.is_active ? 'dark' : 'primary'
} btn-sm`}
value={
sport.is_active
? t('administration:Disable')
: t('administration:Enable')
}
onClick={() =>
updateSport(sport.id, !sport.is_active)
}
/>
) : (
<input
type="submit"
className={`btn btn-${
sport.is_active ? 'dark' : 'primary'
} btn-sm`}
value={
sport.is_active
? t('administration:Disable')
: t('administration:Enable')
}
onClick={() =>
updateSport(sport.id, !sport.is_active)
}
/>
{sport.has_activities && (
<span className="admin-message">
<i
className="fa fa-warning custom-fa"
aria-hidden="true"
/>
{t('administration:activities exist')}
</span>
)}

View File

@ -167,13 +167,14 @@ label {
}
.admin-items {
list-style-type: square;
list-style-type: square;
}
.admin-message {
color: #7c7c7d;
font-size: 0.9em;
font-style: italic;
font-size: 0.9em;
font-style: italic;
margin-left: 10px;
}
.card {

View File

@ -64,18 +64,6 @@ class NavBar extends React.PureComponent {
</Link>
</li>
)}
{isAuthenticated && (
<li className="nav-item">
<Link
className="nav-link"
to={{
pathname: '/activities/add',
}}
>
<strong>{t('common:Add workout')}</strong>
</Link>
</li>
)}
{admin && (
<li className="nav-item">
<Link
@ -88,6 +76,18 @@ class NavBar extends React.PureComponent {
</Link>
</li>
)}
{isAuthenticated && (
<li className="nav-item">
<Link
className="nav-link"
to={{
pathname: '/activities/add',
}}
>
<strong>{t('common:Add workout')}</strong>
</Link>
</li>
)}
</ul>
{/* prettier-ignore */}
<ul

View File

@ -93,8 +93,9 @@ const sortSports = (a, b) => {
return sportALabel > sportBLabel ? 1 : sportALabel < sportBLabel ? -1 : 0
}
export const translateSports = (sports, t) =>
export const translateSports = (sports, t, onlyActive = false) =>
sports
.filter(sport => (onlyActive ? sport.is_active : true))
.map(sport => ({
...sport,
label: t(`sports:${sport.label}`),