From e3f47a7bf7ef205309fd2c1bac2cc21be1a2b834 Mon Sep 17 00:00:00 2001 From: Damien Broqua Date: Mon, 5 Aug 2024 17:54:11 +0200 Subject: [PATCH] Set # for share on fediverse --- javascripts/mon-compte/ma-collection/details.js | 4 ++-- src/libs/format.js | 17 +++++++++++++++++ src/middleware/Albums.js | 6 ++++-- src/middleware/Export.js | 4 ++-- src/middleware/Wantlist.js | 7 +++++-- views/pages/mon-compte/index.ejs | 2 ++ .../pages/mon-compte/ma-collection/details.ejs | 2 ++ 7 files changed, 34 insertions(+), 8 deletions(-) diff --git a/javascripts/mon-compte/ma-collection/details.js b/javascripts/mon-compte/ma-collection/details.js index 09932ea..2297bdd 100644 --- a/javascripts/mon-compte/ma-collection/details.js +++ b/javascripts/mon-compte/ma-collection/details.js @@ -41,8 +41,8 @@ if (typeof item !== "undefined") { this.shareMessageTransformed = message .replaceAll("{artist}", this.item.artists[0].name) .replaceAll("{format}", this.item.formats[0].name) - .replaceAll("{genres}", this.item.genres.join()) - .replaceAll("{styles}", this.item.styles.join()) + .replaceAll("{genres}", this.item.genres.join(", ")) + .replaceAll("{styles}", this.item.styles.join(", ")) .replaceAll("{year}", this.item.year) .replaceAll("{video}", video) .replaceAll("{album}", this.item.title); diff --git a/src/libs/format.js b/src/libs/format.js index 14dfaf9..4d0da37 100644 --- a/src/libs/format.js +++ b/src/libs/format.js @@ -34,6 +34,23 @@ export const sendResponse = (req, res, data) => { } }; +export const setHashTags = (arr) => { + let hashTags = ""; + + for (let i = 0; i < arr.length; i += 1) { + let currentHash = `${hashTags ? ", " : ""} #`; + const currentItem = arr[i].split(" "); + for (let j = 0; j < currentItem.length; j += 1) { + currentHash += + currentItem[j].toLowerCase().charAt(0).toUpperCase() + + currentItem[j].toLowerCase().slice(1); + } + hashTags += currentHash; + } + + return hashTags; +}; + export default (res, page) => { res.status(200).render("index", page.render()); }; diff --git a/src/middleware/Albums.js b/src/middleware/Albums.js index d3d11b6..3ac5565 100644 --- a/src/middleware/Albums.js +++ b/src/middleware/Albums.js @@ -13,6 +13,7 @@ import UsersModel from "../models/users"; import ErrorEvent from "../libs/error"; import { getAlbumDetails, getAllDistincts } from "../helpers"; +import { setHashTags } from "../libs/format"; /** * Classe permettant la gestion des albums d'un utilisateur @@ -86,8 +87,9 @@ class Albums extends Pages { ) .replaceAll("{artist}", data.artists[0].name) .replaceAll("{format}", data.formats[0].name) - .replaceAll("{genres}", data.genres.join()) - .replaceAll("{styles}", data.styles.join()) + .replaceAll("{#genres}", setHashTags(data.genres)) + .replaceAll("{styles}", data.styles.join(", ")) + .replaceAll("{#styles}", setHashTags(data.styles)) .replaceAll("{year}", data.year) .replaceAll("{video}", video) .replaceAll("{album}", data.title)} diff --git a/src/middleware/Export.js b/src/middleware/Export.js index 513e440..de06604 100644 --- a/src/middleware/Export.js +++ b/src/middleware/Export.js @@ -123,8 +123,8 @@ class Export { ws.cell(currentRow, 1).string(artists_sort).style(style); ws.cell(currentRow, 2).string(title).style(style); - ws.cell(currentRow, 3).string(genres.join()).style(style); - ws.cell(currentRow, 4).string(styles.join()).style(style); + ws.cell(currentRow, 3).string(genres.join(", ")).style(style); + ws.cell(currentRow, 4).string(styles.join(", ")).style(style); if (country) { ws.cell(currentRow, 5).string(country).style(style); } diff --git a/src/middleware/Wantlist.js b/src/middleware/Wantlist.js index fcdd2f3..0f51ec3 100644 --- a/src/middleware/Wantlist.js +++ b/src/middleware/Wantlist.js @@ -13,6 +13,7 @@ import UsersModel from "../models/users"; import ErrorEvent from "../libs/error"; import { getAlbumDetails, getAllDistincts } from "../helpers"; +import { setHashTags } from "../libs/format"; /** * Classe permettant la gestion da la liste de souhaits d'un utilisateur @@ -86,8 +87,10 @@ class Wantlist extends Pages { ) .replaceAll("{artist}", data.artists[0].name) .replaceAll("{format}", data.formats[0].name) - .replaceAll("{genres}", data.genres.join()) - .replaceAll("{styles}", data.styles.join()) + .replaceAll("{genres}", data.genres.join(", ")) + .replaceAll("{#genres}", setHashTags(data.genres)) + .replaceAll("{styles}", data.styles.join(", ")) + .replaceAll("{#styles}", setHashTags(data.styles)) .replaceAll("{year}", data.year) .replaceAll("{video}", video) .replaceAll("{album}", data.title)} diff --git a/views/pages/mon-compte/index.ejs b/views/pages/mon-compte/index.ejs index 52cf376..db007e2 100644 --- a/views/pages/mon-compte/index.ejs +++ b/views/pages/mon-compte/index.ejs @@ -125,7 +125,9 @@
  • {year}, exemple: 1984
  • {video}, exemple : https://www.youtube.com/watch?v=Qx0s8OqgBIw
  • {genres}, exemple : Rock
  • +
  • {#genres}, exemple : #rock
  • {styles}, exemple : Hard Rock, Heavy Metal
  • +
  • {#styles}, exemple : #hardRock, #heavyMetal
  • diff --git a/views/pages/mon-compte/ma-collection/details.ejs b/views/pages/mon-compte/ma-collection/details.ejs index 5ea9036..df52758 100644 --- a/views/pages/mon-compte/ma-collection/details.ejs +++ b/views/pages/mon-compte/ma-collection/details.ejs @@ -80,7 +80,9 @@
  • {year}, exemple: 1984
  • {video}, exemple : https://www.youtube.com/watch?v=Qx0s8OqgBIw
  • {genres}, exemple : Rock
  • +
  • {#genres}, exemple : #rock
  • {styles}, exemple : Hard Rock, Heavy Metal
  • +
  • {#styles}, exemple : #hardRock, #heavyMetal