import DiscordSelect from '../common/DiscordSelect';
import Icon from '../common/Icon';
import ToggleSwitch from '../common/ToggleSwitch';
+import Tournament from '../../helpers/Tournament';
import i18n from '../../i18n';
const open = async tournament => {
}
};
+const settings = async (tournament, params) => {
+ try {
+ await axios.post(`/api/tournaments/${tournament.id}/settings`, params);
+ toastr.success(i18n.t('tournaments.settingsSuccess'));
+ } catch (e) {
+ toastr.error(i18n.t('tournaments.settingsError'));
+ }
+};
+
const inviteUrl = 'https://discordapp.com/oauth2/authorize?client_id=951113702839549982&scope=bot';
const SettingsDialog = ({
<Modal.Body>
<Row>
<Col sm={tournament.discord ? 6 : 12}>
+ {Tournament.hasSignup(tournament) ?
+ <div className="d-flex align-items-center justify-content-between mb-3">
+ <span>{i18n.t('tournaments.open')}</span>
+ <ToggleSwitch
+ onChange={({ target: { value } }) => value
+ ? open(tournament) : close(tournament)}
+ value={tournament.accept_applications}
+ />
+ </div>
+ : null}
<div className="d-flex align-items-center justify-content-between mb-3">
- <span>{i18n.t('tournaments.open')}</span>
+ <span>{i18n.t('tournaments.locked')}</span>
<ToggleSwitch
onChange={({ target: { value } }) => value
- ? open(tournament) : close(tournament)}
- value={tournament.accept_applications}
+ ? lock(tournament) : unlock(tournament)}
+ value={tournament.locked}
/>
</div>
<div className="d-flex align-items-center justify-content-between mb-3">
- <span>{i18n.t('tournaments.locked')}</span>
+ <span>{i18n.t('tournaments.showNumbers')}</span>
<ToggleSwitch
- onChange={({ target: { value } }) => value
- ? lock(tournament) : unlock(tournament)}
- value={tournament.locked}
+ onChange={({ target: { value } }) =>
+ settings(tournament, { show_numbers: value })}
+ value={tournament.show_numbers}
/>
</div>
<div className="d-flex align-items-center justify-content-between">
accept_applications: PropTypes.bool,
discord: PropTypes.string,
locked: PropTypes.bool,
+ show_numbers: PropTypes.bool,
}),
};