const express = require('express'); const router = express.Router(); const FileHound = require('filehound'); const Models = require('../../models'); const fs = require("fs-extra"); var settings = []; //-------------------------- // SETTINGS //-------------------------- router.get('/', function(req, res) { fs.readJson('site-settings.json').then(obj => { settings = obj; }).catch(err => { //console.error(err) }) let themes = []; FileHound.create().paths('themes').ext('json').find().then(files => { files.forEach(file => { fs.readJson(file).then(theme => { if (theme.name == settings.theme) { themes.push( { theme: theme, current: "true" }) } else { themes.push( { theme: theme, current: "false" }) } }).catch(err => { //console.error(err) }) }); if (req.session.user) { let memberInfo = []; Models.User.findById(req.session.user.id).then((user) => { memberInfo.push( { handle: user.handle, email: user.email, avi: user.avatar }); themes.sort(function(a, b) { var textA = a.theme.name.toUpperCase(); var textB = b.theme.name.toUpperCase(); return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; }); res.render('dash/settings', { title: 'Dashboard | Settings', themes: themes, settings: settings, member: memberInfo[0] }); }) } else { res.redirect('/@/dashboard'); } }); }); module.exports = router;