You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
807 B
JavaScript
25 lines
807 B
JavaScript
3 years ago
|
import { AutoloadPage } from 'vj/misc/Page';
|
||
|
import delay from 'vj/utils/delay';
|
||
|
import i18n from 'vj/utils/i18n';
|
||
|
import request from 'vj/utils/request';
|
||
|
import Notification from 'vj/components/notification';
|
||
|
|
||
|
const contestPage = new AutoloadPage('contestPage', () => {
|
||
|
$('[data-contest-code]').on('click', (ev) => {
|
||
|
ev.preventDefault();
|
||
|
// eslint-disable-next-line no-alert
|
||
|
const code = prompt(i18n('Invitation code:'));
|
||
|
request.post('', {
|
||
|
operation: 'attend',
|
||
|
code,
|
||
|
}).then(() => {
|
||
|
Notification.success(i18n('Successfully attended'));
|
||
|
delay(1000).then(() => window.location.reload());
|
||
|
}).catch((e) => {
|
||
|
Notification.error(e.message || e);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
|
||
|
export default contestPage;
|