From 9a088b9b5ff284b0cd4359ca4d98873187d000eb Mon Sep 17 00:00:00 2001 From: Damien Broqua Date: Sun, 6 Mar 2022 15:11:42 +0100 Subject: [PATCH] #29 - Avoir un titre distinct par page (#34) Co-authored-by: dbroqua Reviewed-on: https://git.darkou.fr/dbroqua/MusicTopus/pulls/34 --- README.md | 1 + docker-compose.yml.dev | 1 + docker-compose.yml.prod | 1 + src/config/index.js | 1 + src/middleware/Albums.js | 5 +++++ src/middleware/Pages.js | 4 ++++ src/routes/index.js | 12 ++++++++++++ src/routes/ma-collection.js | 2 ++ views/index.ejs | 2 +- 9 files changed, 28 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 929ccbf..cf26bf1 100644 --- a/README.md +++ b/README.md @@ -196,6 +196,7 @@ SECRET # Hash utilisé pour pour sauvegardé les dessions (par défaut waemaeMe5 DISCOGS_TOKEN # Token Discogs (vous devez créer un compte sur discogs afin d'en obtenir un gratuitement) FORMSPREE_ID # Id du formulaire formspree pour la page "nous-contacter" MATOMO_URL # Url vers l'instance matomo (exemple: https://analytics.darkou.fr/) +SITE_NAME # Nom du site (utilisé dans le titre des pages) ``` ## Contributeurs diff --git a/docker-compose.yml.dev b/docker-compose.yml.dev index 9ae57ee..0d49feb 100644 --- a/docker-compose.yml.dev +++ b/docker-compose.yml.dev @@ -26,6 +26,7 @@ services: DISCOGS_TOKEN: ${DISCOGS_TOKEN} FORMSPREE_ID: ${FORMSPREE_ID} MATOMO_URL: ${MATOMO_URL} + SITE_NAME: ${SITE_NAME} networks: - musictopus musictopus-db: diff --git a/docker-compose.yml.prod b/docker-compose.yml.prod index ba4b3ef..90031d8 100644 --- a/docker-compose.yml.prod +++ b/docker-compose.yml.prod @@ -26,6 +26,7 @@ services: DISCOGS_TOKEN: ${DISCOGS_TOKEN} FORMSPREE_ID: ${FORMSPREE_ID} MATOMO_URL: ${MATOMO_URL} + SITE_NAME: ${SITE_NAME} networks: - musictopus musictopus-db: diff --git a/src/config/index.js b/src/config/index.js index 7c01f09..44d1402 100644 --- a/src/config/index.js +++ b/src/config/index.js @@ -6,4 +6,5 @@ module.exports = { discogsToken: process.env.DISCOGS_TOKEN, formspreeId: process.env.FORMSPREE_ID, matomoUrl: process.env.MATOMO_URL || "", + siteName: process.env.SITE_NAME || "MusicTopus", }; diff --git a/src/middleware/Albums.js b/src/middleware/Albums.js index 8025973..6caa29b 100644 --- a/src/middleware/Albums.js +++ b/src/middleware/Albums.js @@ -641,6 +641,7 @@ class Albums extends Pages { this.setPageContent("artists", artists); this.setPageContent("formats", formats); + this.setPageTitle("Ma collection"); } /** @@ -655,6 +656,9 @@ class Albums extends Pages { }); this.setPageContent("item", item); + this.setPageTitle( + `Détails de l'album ${item.title} de ${item.artists_sort}` + ); } /** @@ -676,6 +680,7 @@ class Albums extends Pages { const formats = await Albums.getAllDistincts("formats.name", userId); this.setPageContent("username", user.username); + this.setPageTitle(`Collection publique de ${user.username}`); this.setPageContent("artists", artists); this.setPageContent("formats", formats); } diff --git a/src/middleware/Pages.js b/src/middleware/Pages.js index e5a59af..eb3ea75 100644 --- a/src/middleware/Pages.js +++ b/src/middleware/Pages.js @@ -34,6 +34,10 @@ class Pages { } } + setPageTitle(title) { + this.pageContent.page.title = title; + } + setPageContent(field, value) { this.pageContent.page[field] = value; } diff --git a/src/routes/index.js b/src/routes/index.js index 95c9a45..ac43a51 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -14,6 +14,8 @@ router.route("/").get((req, res, next) => { try { const page = new Pages(req, "home"); + page.setPageTitle("Présentation du projet"); + render(res, page); } catch (err) { next(err); @@ -26,6 +28,8 @@ router try { const page = new Pages(req, "connexion"); + page.setPageTitle("Connexion"); + render(res, page); } catch (err) { next(err); @@ -61,6 +65,8 @@ router try { const page = new Pages(req, "inscription"); + page.setPageTitle("Inscription"); + render(res, page); } catch (err) { next(err); @@ -82,6 +88,8 @@ router try { const page = new Pages(req, "ajouter-un-album"); + page.setPageTitle("Ajouter un album"); + render(res, page); } catch (err) { next(err); @@ -92,6 +100,8 @@ router.route("/nous-contacter").get(async (req, res, next) => { try { const page = new Pages(req, "nous-contacter"); + page.setPageTitle("Nous contacter"); + render(res, page); } catch (err) { next(err); @@ -102,6 +112,8 @@ router.route("/composants").get(async (req, res, next) => { try { const page = new Pages(req, "composants"); + page.setPageTitle("Les composants"); + render(res, page); } catch (err) { next(err); diff --git a/src/routes/ma-collection.js b/src/routes/ma-collection.js index 653c844..9c217bf 100644 --- a/src/routes/ma-collection.js +++ b/src/routes/ma-collection.js @@ -30,6 +30,8 @@ router try { const page = new Albums(req, "mon-compte/ma-collection/exporter"); + page.setPageTitle("Exporter ma collection"); + render(res, page); } catch (err) { next(err); diff --git a/views/index.ejs b/views/index.ejs index c45c557..2fd6eab 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -4,7 +4,7 @@ - <% if (page.title) { %><%= page.title %> <% } else { %> DarKou - MusicTopus <% } %> + <%= config.siteName %> :: <%= page.title %>