diff --git a/app.js b/app.js index 5c105e8..5527d33 100644 --- a/app.js +++ b/app.js @@ -16,7 +16,7 @@ const breadcrumb = require('./lib/breadcrumb') const { updateCookie } = require('./lib/cookies') const settings = require('./lib/settings') const routes = require('./routes/index') -const { getSpace } = require('./services/contentful') +const { getSpace, getLocales } = require('./services/contentful') const { catchErrors } = require('./handlers/errorHandlers') const SETTINGS_NAME = 'theExampleAppSettings' @@ -97,12 +97,12 @@ app.use(catchErrors(async function (request, response, next) { // Catch misconfigured space credentials and display settings page try { const space = await getSpace() - + const locales = await getLocales() // Update credentials in cookie when space connection is successful updateCookie(response, SETTINGS_NAME, response.locals.settings) // Get available locales from space - response.locals.locales = space.locales + response.locals.locales = locales const defaultLocale = response.locals.locales .find((locale) => locale.default) diff --git a/i18n/locales/de-DE.json b/i18n/locales/de-DE.json old mode 100644 new mode 100755 diff --git a/i18n/locales/en-US.json b/i18n/locales/en-US.json old mode 100644 new mode 100755 diff --git a/package-lock.json b/package-lock.json index 221d51e..75132c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1488,13 +1488,13 @@ "dev": true }, "contentful": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/contentful/-/contentful-5.1.2.tgz", - "integrity": "sha512-grkUVBMeZpedgBKuJyVJ7ErQz9f7pDchrR2ue9uWtdL+dpje77dUP27s8BKpmf7t9mx+Y+XJeVsuz2AM99D95w==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/contentful/-/contentful-6.0.0.tgz", + "integrity": "sha512-jvYShGAc4pCZUa8jdnXvVQS77v7MJN3qHuJhbvWPV6P5EMnRBR22+ltZOzoc3Zntt5jH7rpgsZQe2MjNH/phvw==", "requires": { "@contentful/axios": "0.18.0", "contentful-resolve-response": "1.1.4", - "contentful-sdk-core": "5.0.3", + "contentful-sdk-core": "6.0.0-beta1", "json-stringify-safe": "5.0.1", "lodash": "4.17.5" } @@ -1508,9 +1508,9 @@ } }, "contentful-sdk-core": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-5.0.3.tgz", - "integrity": "sha512-qY8MtGD51rRsvBTtddqztomMAfTQxlepxZE3QR38LfQcZGEEqaMRs+Isn0YNVY6bdNiAzUfOza9Q9gg9uI30iA==", + "version": "6.0.0-beta1", + "resolved": "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-6.0.0-beta1.tgz", + "integrity": "sha512-X2+pusbgKqgdRzGEZcv5FmA7CkahRtsZXA1ZT/qKjNjal++BhBa4oP0WDSmBZXMl57lZ/LWxca15tpotMEHdYw==", "requires": { "lodash": "4.17.5", "qs": "6.5.1" diff --git a/package.json b/package.json index 254130a..52be667 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ }, "dependencies": { "body-parser": "^1.18.2", - "contentful": "^5.1.2", + "contentful": "^6.0.0", "cookie-parser": "~1.4.3", "dotenv": "^5.0.0", "execa": "^0.9.0", diff --git a/public/fonts/roboto-bold-webfont.woff b/public/fonts/roboto-bold-webfont.woff old mode 100644 new mode 100755 diff --git a/public/fonts/roboto-bold-webfont.woff2 b/public/fonts/roboto-bold-webfont.woff2 old mode 100644 new mode 100755 diff --git a/public/fonts/roboto-bolditalic-webfont.woff b/public/fonts/roboto-bolditalic-webfont.woff old mode 100644 new mode 100755 diff --git a/public/fonts/roboto-bolditalic-webfont.woff2 b/public/fonts/roboto-bolditalic-webfont.woff2 old mode 100644 new mode 100755 diff --git a/public/fonts/roboto-italic-webfont.woff b/public/fonts/roboto-italic-webfont.woff old mode 100644 new mode 100755 diff --git a/public/fonts/roboto-italic-webfont.woff2 b/public/fonts/roboto-italic-webfont.woff2 old mode 100644 new mode 100755 diff --git a/public/fonts/roboto-medium-webfont.woff b/public/fonts/roboto-medium-webfont.woff old mode 100644 new mode 100755 diff --git a/public/fonts/roboto-medium-webfont.woff2 b/public/fonts/roboto-medium-webfont.woff2 old mode 100644 new mode 100755 diff --git a/public/fonts/roboto-mediumitalic-webfont.woff b/public/fonts/roboto-mediumitalic-webfont.woff old mode 100644 new mode 100755 diff --git a/public/fonts/roboto-mediumitalic-webfont.woff2 b/public/fonts/roboto-mediumitalic-webfont.woff2 old mode 100644 new mode 100755 diff --git a/public/fonts/roboto-regular-webfont.woff b/public/fonts/roboto-regular-webfont.woff old mode 100644 new mode 100755 diff --git a/public/fonts/roboto-regular-webfont.woff2 b/public/fonts/roboto-regular-webfont.woff2 old mode 100644 new mode 100755 diff --git a/public/icons/icons.svg b/public/icons/icons.svg old mode 100644 new mode 100755 diff --git a/public/images/badge-app-store.svg b/public/images/badge-app-store.svg old mode 100644 new mode 100755 diff --git a/public/images/badge-google-play.svg b/public/images/badge-google-play.svg old mode 100644 new mode 100755 diff --git a/public/images/contentful-logo.svg b/public/images/contentful-logo.svg old mode 100644 new mode 100755 diff --git a/public/images/icon-android.svg b/public/images/icon-android.svg old mode 100644 new mode 100755 diff --git a/public/images/icon-dotnet.svg b/public/images/icon-dotnet.svg old mode 100644 new mode 100755 diff --git a/public/images/icon-java.svg b/public/images/icon-java.svg old mode 100644 new mode 100755 diff --git a/public/images/icon-javascript.svg b/public/images/icon-javascript.svg old mode 100644 new mode 100755 diff --git a/public/images/icon-nodejs.svg b/public/images/icon-nodejs.svg old mode 100644 new mode 100755 diff --git a/public/images/icon-php.svg b/public/images/icon-php.svg old mode 100644 new mode 100755 diff --git a/public/images/icon-python.svg b/public/images/icon-python.svg old mode 100644 new mode 100755 diff --git a/public/images/icon-ruby.svg b/public/images/icon-ruby.svg old mode 100644 new mode 100755 diff --git a/public/images/icon-swift.svg b/public/images/icon-swift.svg old mode 100644 new mode 100755 diff --git a/public/images/the-example-app-logo-dotnet.svg b/public/images/the-example-app-logo-dotnet.svg old mode 100644 new mode 100755 diff --git a/services/contentful.js b/services/contentful.js index aae4649..74589f2 100644 --- a/services/contentful.js +++ b/services/contentful.js @@ -51,6 +51,16 @@ module.exports.getSpace = throwOnEmptyResult('Space', (api = 'cda') => { return getClient(api).getSpace() }) +/** + * Get the environment locales + * @param api - string - the api to use, cda or cap. Default: 'cda' + * @returns {undefined} + */ +module.exports.getLocales = throwOnEmptyResult('Environment', (api = 'cda') => { + return getClient(api).getLocales() + .then((response) => response.items) +}) + /** * Gets an entry. Used to detect the `Draft` or `Pending Changes` state * @param entryId - string - the entry id diff --git a/views/layout.pug b/views/layout.pug index ad496f0..5342970 100644 --- a/views/layout.pug +++ b/views/layout.pug @@ -1,6 +1,6 @@ doctype html -html - head +html(lang='en') + head(role='header') title= helpers.formatMetaTitle(title, currentLocale.code) link(rel='stylesheet', href='/stylesheets/style.css') meta(name='viewport' content='width=device-width, initial-scale=1') @@ -22,9 +22,9 @@ html link(rel='mask-icon' href='/safari-pinned-tab.svg' color='#4a90e2') meta(name='theme-color' content='#ffffff') body - main.main + main.main(role='main') .main__header - header.header + header.header(role='banner') .header__upper-wrapper .header__upper.layout-centered .header__upper-title @@ -78,7 +78,7 @@ html .header__logo a.header__logo-link(href=`/${queryString}`) img(src='/images/the-example-app-logo-nodejs.svg' alt=translate('logoAlt', currentLocale.code)) - nav.header__navigation.main-navigation + nav.header__navigation.main-navigation(role='navigation') ul li a(href=`/${queryString}` class=(currentPath === '/'? 'active' : '')) #{translate('homeLabel', currentLocale.code)} @@ -91,7 +91,7 @@ html .layout-centered footer.footer .footer__upper - nav.footer__navigation.main-navigation + nav.footer__navigation.main-navigation(role='navigation') ul li a(href=`/${queryString}` class=(currentPath === '/'? 'active' : '')) #{translate('homeLabel', currentLocale.code)}