mirror of
https://github.com/PretendoNetwork/website.git
synced 2026-08-01 07:33:10 -05:00
locale checking moved to middleware
This commit is contained in:
parent
b6a7b40840
commit
13c8c24efe
13
src/middleware/locale.js
Normal file
13
src/middleware/locale.js
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
const util = require('../util');
|
||||
|
||||
async function localeMiddleware(request, response, next) {
|
||||
const reqLocale = request.locale;
|
||||
const locale = util.getLocale(reqLocale.region, reqLocale.language);
|
||||
|
||||
response.locals.locale = locale;
|
||||
response.locals.localeString = reqLocale.toString();
|
||||
|
||||
return next();
|
||||
}
|
||||
|
||||
module.exports = localeMiddleware;
|
||||
|
|
@ -33,8 +33,6 @@ router.get('/', async (request, response) => {
|
|||
// Setup the data to be sent to the handlebars renderer
|
||||
const renderData = {
|
||||
layout: 'main',
|
||||
locale: util.getLocale(request.locale.region, request.locale.language),
|
||||
localeString: request.locale.toString(),
|
||||
success: request.cookies.success,
|
||||
error: request.cookies.error
|
||||
};
|
||||
|
|
@ -206,8 +204,6 @@ router.get('/', async (request, response) => {
|
|||
router.get('/login', async (request, response) => {
|
||||
const renderData = {
|
||||
layout: 'main',
|
||||
locale: util.getLocale(request.locale.region, request.locale.language),
|
||||
localeString: request.locale.toString(),
|
||||
error: request.cookies.error
|
||||
};
|
||||
|
||||
|
|
@ -260,8 +256,6 @@ router.post('/login', async (request, response) => {
|
|||
router.get('/register', async (request, response) => {
|
||||
const renderData = {
|
||||
layout: 'main',
|
||||
locale: util.getLocale(request.locale.region, request.locale.language),
|
||||
localeString: request.locale.toString(),
|
||||
error: request.cookies.error,
|
||||
email: request.cookies.email,
|
||||
username: request.cookies.username,
|
||||
|
|
@ -480,10 +474,6 @@ router.get('/online-files', async (request, response) => {
|
|||
});
|
||||
|
||||
router.get('/miieditor', async (request, response) => {
|
||||
|
||||
const reqLocale = request.locale;
|
||||
const locale = util.getLocale(reqLocale.region, reqLocale.language);
|
||||
|
||||
// Should obviously be the user's
|
||||
const encodedUserMiiData = 'AwAAQOlVognnx0GC2X0LLQOzuI0n2QAAAUBiAGUAbABsAGEAAABFAAAAAAAAAEBAEgCBAQRoQxggNEYUgRIXaA0AACkDUkhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP6G';
|
||||
|
||||
|
|
@ -530,8 +520,6 @@ router.get('/miieditor', async (request, response) => {
|
|||
|
||||
response.render('account/miieditor', {
|
||||
layout: 'main',
|
||||
locale,
|
||||
localeString: reqLocale.toString(),
|
||||
encodedUserMiiData,
|
||||
editorToHex
|
||||
});
|
||||
|
|
@ -583,8 +571,6 @@ router.get('/upgrade', async (request, response) => {
|
|||
|
||||
const renderData = {
|
||||
layout: 'main',
|
||||
locale: util.getLocale(request.locale.region, request.locale.language),
|
||||
localeString: request.locale.toString(),
|
||||
error: request.cookies.error,
|
||||
currentTier: pnid.get('connections.stripe.price_id'),
|
||||
donationCache: await cache.getStripeDonationCache()
|
||||
|
|
|
|||
|
|
@ -5,9 +5,7 @@ const router = new Router();
|
|||
router.get('/', async (request, response) => {
|
||||
|
||||
const renderData = {
|
||||
layout: 'main',
|
||||
locale: util.getLocale(request.locale.region, request.locale.language),
|
||||
localeString: request.locale.toString(),
|
||||
layout: 'main'
|
||||
};
|
||||
|
||||
renderData.isLoggedIn = request.cookies.access_token && request.cookies.refresh_token && request.cookies.ph;
|
||||
|
|
|
|||
|
|
@ -38,8 +38,6 @@ const postList = () => {
|
|||
router.get('/', async (request, response) => {
|
||||
const renderData = {
|
||||
layout: 'main',
|
||||
locale: util.getLocale(request.locale.region, request.locale.language),
|
||||
localeString: request.locale.toString(),
|
||||
postList,
|
||||
};
|
||||
|
||||
|
|
@ -74,8 +72,6 @@ router.get('/:slug', async (request, response, next) => {
|
|||
|
||||
const renderData = {
|
||||
layout: 'blog-opengraph',
|
||||
locale: util.getLocale(request.locale.region, request.locale.language),
|
||||
localeString: request.locale.toString(),
|
||||
postList,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -13,8 +13,6 @@ router.get('/', async (request, response) => {
|
|||
router.get('/search', async (request, response) => {
|
||||
const renderData = {
|
||||
layout: 'main',
|
||||
locale: util.getLocale(request.locale.region, request.locale.language),
|
||||
localeString: request.locale.toString(),
|
||||
currentPage: request.params.slug,
|
||||
};
|
||||
|
||||
|
|
@ -31,8 +29,6 @@ router.get('/search', async (request, response) => {
|
|||
router.get('/:slug', async (request, response, next) => {
|
||||
const renderData = {
|
||||
layout: 'main',
|
||||
locale: util.getLocale(request.locale.region, request.locale.language),
|
||||
localeString: request.locale.toString(),
|
||||
currentPage: request.params.slug,
|
||||
};
|
||||
|
||||
|
|
@ -46,10 +42,10 @@ router.get('/:slug', async (request, response, next) => {
|
|||
// Get the name of the page from the URL
|
||||
const pageName = request.params.slug;
|
||||
|
||||
let markdownLocale = renderData.localeString;
|
||||
let markdownLocale = response.locals.localeString;
|
||||
let missingInLocale = false;
|
||||
// Check if the MD file exists in the user's locale, if not try en-US and show notice, or finally log error and show 404.
|
||||
if (fs.existsSync(path.join('docs', renderData.localeString, `${pageName}.md`))) {
|
||||
if (fs.existsSync(path.join('docs', markdownLocale, `${pageName}.md`))) {
|
||||
null;
|
||||
} else if (fs.existsSync(path.join('docs', 'en-US', `${pageName}.md`))) {
|
||||
markdownLocale = 'en-US';
|
||||
|
|
|
|||
|
|
@ -9,9 +9,7 @@ router.get('/', async (request, response) => {
|
|||
|
||||
const renderData = {
|
||||
layout: 'main',
|
||||
boards,
|
||||
locale: util.getLocale(request.locale.region, request.locale.language),
|
||||
localeString: request.locale.toString(),
|
||||
boards
|
||||
};
|
||||
|
||||
renderData.isLoggedIn = request.cookies.access_token && request.cookies.refresh_token && request.cookies.ph;
|
||||
|
|
@ -26,7 +24,7 @@ router.get('/', async (request, response) => {
|
|||
// Builds the arrays of people for the special thanks section
|
||||
|
||||
// Shuffles the special thanks people
|
||||
const specialThanksPeople = renderData.locale.specialThanks.people.slice();
|
||||
const specialThanksPeople = response.locals.locale.specialThanks.people.slice();
|
||||
function shuffleArray(array) {
|
||||
for (let i = array.length - 1; i > 0; i--) {
|
||||
const j = Math.floor(Math.random() * (i + 1));
|
||||
|
|
|
|||
|
|
@ -4,9 +4,7 @@ const router = new Router();
|
|||
|
||||
router.get('/', async (request, response) => {
|
||||
const renderData = {
|
||||
layout: 'main',
|
||||
locale: util.getLocale(request.locale.region, request.locale.language),
|
||||
localeString: request.locale.toString(),
|
||||
layout: 'main'
|
||||
};
|
||||
|
||||
renderData.isLoggedIn = request.cookies.access_token && request.cookies.refresh_token && request.cookies.ph;
|
||||
|
|
|
|||
|
|
@ -8,9 +8,7 @@ const { getTrelloCache, getStripeDonationCache } = require('../cache');
|
|||
router.get('/', async (request, response) => {
|
||||
const renderData = {
|
||||
layout: 'main',
|
||||
boards,
|
||||
locale: util.getLocale(request.locale.region, request.locale.language),
|
||||
localeString: request.locale.toString(),
|
||||
boards
|
||||
};
|
||||
|
||||
renderData.isLoggedIn = request.cookies.access_token && request.cookies.refresh_token && request.cookies.ph;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ const expressLocale = require('express-locale');
|
|||
const cookieParser = require('cookie-parser');
|
||||
const Stripe = require('stripe');
|
||||
const redirectMiddleware = require('./middleware/redirect');
|
||||
const localeMiddleware = require('./middleware/locale');
|
||||
const database = require('./database');
|
||||
const util = require('./util');
|
||||
const logger = require('./logger');
|
||||
|
|
@ -66,6 +67,7 @@ app.use(expressLocale({
|
|||
'default': 'en-US'
|
||||
}));
|
||||
app.use(redirectMiddleware);
|
||||
app.use(localeMiddleware);
|
||||
|
||||
logger.info('Setting up static public folder');
|
||||
app.use(express.static('public'));
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user