diff --git a/package.json b/package.json index d574778..49c965d 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,8 @@ "connect-flash": "^0.1.1", "connect-mongo": "^4.6.0", "cookie-parser": "^1.4.6", + "date-fns": "^2.28.0", + "date-fns-tz": "^1.3.3", "debug": "^4.3.3", "disconnect": "^1.2.2", "ejs": "^3.1.6", @@ -55,8 +57,6 @@ "express-session": "^1.17.2", "joi": "^17.6.0", "knacss": "^8.0.4", - "moment": "^2.29.1", - "moment-timezone": "^0.5.34", "mongoose": "^6.2.1", "mongoose-unique-validator": "^3.0.0", "npm-run-all": "^4.1.5", diff --git a/src/middleware/Albums.js b/src/middleware/Albums.js index 05cc60a..7dd5ae6 100644 --- a/src/middleware/Albums.js +++ b/src/middleware/Albums.js @@ -1,4 +1,4 @@ -import moment from "moment"; +import { format as formatDate } from "date-fns"; import Pages from "./Pages"; import Export from "./Export"; @@ -26,7 +26,7 @@ class Albums extends Pages { User: user._id, }; data.released = data.released - ? moment(data.released.replace("-00", "-01")) + ? new Date(data.released.replace("-00", "-01")) : null; delete data.id; @@ -211,11 +211,16 @@ class Albums extends Pages { async loadItem() { const { itemId: _id } = this.req.params; const { _id: User } = this.req.user; - const item = await AlbumsModel.findOne({ + const album = await AlbumsModel.findOne({ _id, User, }); + const item = { + ...album.toJSON(), + released: formatDate(album.released, "MM/dd/yyyy"), + }; + this.setPageContent("item", item); this.setPageTitle( `Détails de l'album ${item.title} de ${item.artists_sort}` diff --git a/src/middleware/Export.js b/src/middleware/Export.js index 380f025..513e440 100644 --- a/src/middleware/Export.js +++ b/src/middleware/Export.js @@ -1,4 +1,5 @@ -import momenttz from "moment-timezone"; +import { utcToZonedTime } from "date-fns-tz"; +import setHours from "date-fns/setHours"; import xl from "excel4node"; class Export { @@ -132,7 +133,9 @@ class Export { } if (released) { ws.cell(currentRow, 7) - .date(momenttz.tz(released, "Europe/Paris").hour(12)) + .date( + setHours(utcToZonedTime(released, "Europe/Paris"), 12) + ) .style({ numberFormat: "dd/mm/yyyy" }); } ws.cell(currentRow, 8).string(format).style(style);