2018-10-25 04:07:10 +02:00
|
|
|
const choo = require('choo');
|
|
|
|
const download = require('./ui/download');
|
2018-11-12 20:13:31 +01:00
|
|
|
const body = require('./ui/body');
|
2018-10-25 04:07:10 +02:00
|
|
|
|
2019-08-26 17:58:34 +02:00
|
|
|
module.exports = function(app = choo({ hash: true })) {
|
2018-10-30 19:37:33 +01:00
|
|
|
app.route('/', body(require('./ui/home')));
|
2018-10-25 04:07:10 +02:00
|
|
|
app.route('/download/:id', body(download));
|
|
|
|
app.route('/download/:id/:key', body(download));
|
|
|
|
app.route('/unsupported/:reason', body(require('./ui/unsupported')));
|
|
|
|
app.route('/error', body(require('./ui/error')));
|
|
|
|
app.route('/blank', body(require('./ui/blank')));
|
2021-05-19 04:49:16 +02:00
|
|
|
app.route('/robots.txt', function() {return 'User-agent: * Disallow: /'});
|
2019-02-25 20:44:44 +01:00
|
|
|
app.route('/oauth', function(state, emit) {
|
2019-02-12 20:50:06 +01:00
|
|
|
emit('authenticate', state.query.code, state.query.state);
|
2018-10-25 04:07:10 +02:00
|
|
|
});
|
2020-07-25 20:22:57 +02:00
|
|
|
app.route('/login', function(state, emit) {
|
|
|
|
emit('replaceState', '/');
|
|
|
|
setTimeout(() => emit('render'));
|
|
|
|
});
|
2018-10-25 04:07:10 +02:00
|
|
|
app.route('*', body(require('./ui/notFound')));
|
|
|
|
return app;
|
|
|
|
};
|