From cdb0a07ff71c52158fde286e6f4bd92d6f693119 Mon Sep 17 00:00:00 2001 From: JP Wright Date: Fri, 3 Nov 2017 12:45:01 +0100 Subject: [PATCH] Make changes to code to improve readability --- app.js | 2 +- lib/breadcrumb.js | 17 +++++++++-------- routes/settings.js | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/app.js b/app.js index 782a3e1..1f3fc11 100644 --- a/app.js +++ b/app.js @@ -38,7 +38,7 @@ app.use(async function (request, response, next) { deliveryToken: process.env.CONTENTFUL_DELIVERY_TOKEN, previewToken: process.env.CONTENTFUL_PREVIEW_TOKEN, editorialFeatures: false, - // Overwrite default settings using those stored in a cookie + // Overwrite default settings using those stored in cookie, if present ...request.cookies.theExampleAppSettings } diff --git a/lib/breadcrumb.js b/lib/breadcrumb.js index 54536d4..59e6e82 100644 --- a/lib/breadcrumb.js +++ b/lib/breadcrumb.js @@ -3,24 +3,25 @@ const url = require('url') module.exports = (modifier) => { return (request, response, next) => { const baseUrl = url.format({ protocol: request.protocol, host: request.get('host') }) - const parts = url.parse(request.url).pathname.split('/').filter(Boolean) - let items = [] + const urlComponents = url.parse(request.url).pathname.split('/').filter(Boolean) + let breadcrumbs = [] - items.push({ label: 'Home', url: baseUrl }) - items = items.concat(parts.map((part, i, array) => { + breadcrumbs.push({ label: 'Home', url: baseUrl }) + // Map components of the path to breadcrumbs with resolvable URLs + let mappedComponents = urlComponents.map((component, i, array) => { const path = array.slice(0, i + 1).join('/') return { - label: part.replace(/-/g, ' '), + label: component.replace(/-/g, ' '), url: url.resolve(baseUrl, path), path: path } }) - ) + breadcrumbs = breadcrumbs.concat(mappedComponents) if (modifier) { - items = items.map(modifier) + breadcrumbs = breadcrumbs.map(modifier) } // Make it global - request.app.locals.breadcrumb = items + request.app.locals.breadcrumb = breadcrumbs next() } } diff --git a/routes/settings.js b/routes/settings.js index 164c269..e552725 100644 --- a/routes/settings.js +++ b/routes/settings.js @@ -142,7 +142,7 @@ module.exports.postSettings = async (request, response, next) => { } } - // When no errors occurred + // If no errors, then cache the new settings in the cookie if (!errorList.length) { // Store new settings updateCookie(response, SETTINGS_NAME, settings)