Added basic admin interface

This commit is contained in:
Julian Appel 2024-04-21 12:54:37 +02:00
parent 7d181ca315
commit d8b400c371
5 changed files with 66 additions and 21 deletions

View File

@ -5,7 +5,7 @@ var cookieParser = require('cookie-parser');
var logger = require('morgan'); var logger = require('morgan');
var indexRouter = require('./routes/index'); var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users'); var adminRouter = require('./routes/admin');
var app = express(); var app = express();
@ -20,7 +20,7 @@ app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public'))); app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter); app.use('/', indexRouter);
app.use('/users', usersRouter); app.use('/admin', adminRouter);
// catch 404 and forward to error handler // catch 404 and forward to error handler
app.use(function(req, res, next) { app.use(function(req, res, next) {

View File

@ -0,0 +1,31 @@
var express = require('express');
var router = express.Router();
let timer = require('../controllers/timer');
router.post('/timerStart', function(req, res, next) {
console.log("Timer gestartet");
timer.start()
res.render('admin');
});
router.post('/timerReset', function(req, res, next) {
console.log("Timer Zurückgesetzt");
timer.reset();
res.render('admin');
});
router.post('/timerPause', function(req, res, next) {
console.log("Timer pausiert");
timer.pause();
res.render('admin');
});
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('admin', {});
});
module.exports = router;

View File

@ -1,9 +0,0 @@
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
module.exports = router;

View File

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html>
<head>
<title>Scoreboard Admin</title>
<link rel='stylesheet' href='/stylesheets/bootstrap/bootstrap.min.css' />
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
Interface zur Bedienung des Zeit-/Scoreboards.
<!-- Timer buttons -->
<div class="row mt-2">
<div class="col-lg-4">
<form method="post" action="/admin/timerStart">
<button class="btn btn-lg btn-success" type="submit" name="startButton">
<span class="glyphicon glyphicon-play" aria-hidden="false"> </span>
</button>
</form>
</div>
<div class="col-lg-4">
<form method="post" action="/admin/timerPause">
<button class="btn btn-lg btn-warning" type="submit" name="pauseButton">Pause</button>
</form>
<div class="col-lg-4">
<form method="post" action="/admin/timerReset">
<button class="btn btn-lg btn-danger" type="submit" name="resetButton">Reset</button>
</form>
</div>
</div>
</div>
</body>
<script src='/javascripts/bootstrap/bootstrap.bundle.min.js'></script>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>{{title}}</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
{{{body}}}
</body>
</html>