74 lines
1.6 KiB
JavaScript
74 lines
1.6 KiB
JavaScript
import express from 'express'
|
|
import pkg from '../package.json' assert { type: "json" }
|
|
import { setLanguage } from '../charts/utilities.js'
|
|
|
|
const router = express.Router()
|
|
const { name, version, date } = pkg
|
|
|
|
const renderOpts = (sid, cat) => {
|
|
let tit = 'Feinstaub'
|
|
if(cat === 'multigeiger') {
|
|
tit = 'Geiger'
|
|
} else if (cat == 'noise') {
|
|
tit = 'Noise'
|
|
}
|
|
return {
|
|
title: tit,
|
|
version: version,
|
|
date: date.slice(0,10),
|
|
csensor: sid,
|
|
category: cat
|
|
}
|
|
}
|
|
|
|
let i18n;
|
|
|
|
const translate = (x) => {
|
|
return i18n.t(x)
|
|
}
|
|
|
|
const getIndex = (cat) => {
|
|
if (cat == 'noise'){
|
|
return 'index_noise'
|
|
} else if (cat === 'multigeiger') {
|
|
return 'index_geiger'
|
|
}
|
|
}
|
|
|
|
|
|
/* GET home page. If there is no parameter 'lng=xx', check stored language and call
|
|
te page again with correct language (chglang.js))
|
|
*/
|
|
router.get('/', function(req, res, next) {
|
|
// req.i18n.changeLanguage('de')
|
|
if(req.query.lng === undefined) {
|
|
res.render('chglang')
|
|
} else {
|
|
i18n = req.i18n
|
|
let opts = renderOpts(-1, req.app.get('category'))
|
|
setLanguage(req.query.lng)
|
|
res.render(getIndex(opts.category), opts)
|
|
}
|
|
})
|
|
|
|
//
|
|
// router.get('/', function(req, res, next) {
|
|
// // req.i18n.changeLanguage('de')
|
|
// res.render('index', renderOpts(-1))
|
|
// })
|
|
|
|
|
|
router.get('/:sid', async function(req, res, next) {
|
|
const sid = req.params.sid
|
|
let opts
|
|
if(isNaN(sid)) {
|
|
opts = renderOpts(-1, req.app.get('category'))
|
|
} else {
|
|
opts = renderOpts(sid, req.app.get('category'))
|
|
}
|
|
res.render(getIndex(opts.category), opts)
|
|
})
|
|
|
|
//export default router
|
|
|
|
export { router, translate } |