diff --git a/fontello.json b/fontello.json new file mode 100644 index 0000000..11e03d9 --- /dev/null +++ b/fontello.json @@ -0,0 +1,118 @@ +{ + "name": "icon", + "css_prefix_text": "icon-", + "css_use_suffix": false, + "hinting": true, + "units_per_em": 1000, + "ascent": 850, + "glyphs": [ + { + "uid": "44e04715aecbca7f266a17d5a7863c68", + "css": "plus", + "code": 59392, + "src": "fontawesome" + }, + { + "uid": "8b80d36d4ef43889db10bc1f0dc9a862", + "css": "user", + "code": 59393, + "src": "fontawesome" + }, + { + "uid": "9dd9e835aebe1060ba7190ad2b2ed951", + "css": "search", + "code": 59394, + "src": "fontawesome" + }, + { + "uid": "bf882b30900da12fca090d9796bc3030", + "css": "mail", + "code": 59395, + "src": "fontawesome" + }, + { + "uid": "0ddd3e8201ccc7d41f7b7c9d27eca6c1", + "css": "link", + "code": 59396, + "src": "fontawesome" + }, + { + "uid": "e15f0d620a7897e2035c18c80142f6d9", + "css": "link-ext", + "code": 61582, + "src": "fontawesome" + }, + { + "uid": "9bc2902722abb366a213a052ade360bc", + "css": "spin", + "code": 59449, + "src": "fontelico" + }, + { + "uid": "bbfb51903f40597f0b70fd75bc7b5cac", + "css": "trash", + "code": 61944, + "src": "fontawesome" + }, + { + "uid": "d73eceadda1f594cec0536087539afbf", + "css": "heart", + "code": 59397, + "src": "fontawesome" + }, + { + "uid": "cce5e05853d0798a4d10077ef613387c", + "css": "blind", + "code": 62109, + "src": "fontawesome" + }, + { + "uid": "567e3e257f2cc8fba2c12bf691c9f2d8", + "css": "moon", + "code": 61830, + "src": "fontawesome" + }, + { + "uid": "aa035df0908c4665c269b7b09a5596f3", + "css": "sun", + "code": 61829, + "src": "fontawesome" + }, + { + "uid": "c5fd349cbd3d23e4ade333789c29c729", + "css": "eye", + "code": 59398, + "src": "fontawesome" + }, + { + "uid": "d870630ff8f81e6de3958ecaeac532f2", + "css": "left-open", + "code": 59399, + "src": "fontawesome" + }, + { + "uid": "399ef63b1e23ab1b761dfbb5591fa4da", + "css": "right-open", + "code": 59400, + "src": "fontawesome" + }, + { + "uid": "895405dfac8a3b7b2f23b183c6608ee6", + "css": "export", + "code": 59401, + "src": "fontawesome" + }, + { + "uid": "4aad6bb50b02c18508aae9cbe14e784e", + "css": "share", + "code": 61920, + "src": "fontawesome" + }, + { + "uid": "a73c5deb486c8d66249811642e5d719a", + "css": "refresh", + "code": 59402, + "src": "fontawesome" + } + ] +} \ No newline at end of file diff --git a/public/font/icon.eot b/public/font/icon.eot index a17c0f6..424368f 100644 Binary files a/public/font/icon.eot and b/public/font/icon.eot differ diff --git a/public/font/icon.svg b/public/font/icon.svg index d5ac2f6..52ad914 100644 --- a/public/font/icon.svg +++ b/public/font/icon.svg @@ -26,6 +26,8 @@ + + diff --git a/public/font/icon.ttf b/public/font/icon.ttf index 4ccfa6d..6688a79 100644 Binary files a/public/font/icon.ttf and b/public/font/icon.ttf differ diff --git a/public/font/icon.woff b/public/font/icon.woff index 3262198..9543cf5 100644 Binary files a/public/font/icon.woff and b/public/font/icon.woff differ diff --git a/public/font/icon.woff2 b/public/font/icon.woff2 index f73baf4..c2acb70 100644 Binary files a/public/font/icon.woff2 and b/public/font/icon.woff2 differ diff --git a/sass/icons.scss b/sass/icons.scss index 4250307..7b2150b 100644 --- a/sass/icons.scss +++ b/sass/icons.scss @@ -1,11 +1,11 @@ @font-face { font-family: 'icon'; - src: url('/font/icon.eot?80770511'); - src: url('/font/icon.eot?80770511#iefix') format('embedded-opentype'), - url('/font/icon.woff2?80770511') format('woff2'), - url('/font/icon.woff?80770511') format('woff'), - url('/font/icon.ttf?80770511') format('truetype'), - url('/font/icon.svg?80770511#icon') format('svg'); + src: url('/font/icon.eot?41426785'); + src: url('/font/icon.eot?41426785#iefix') format('embedded-opentype'), + url('/font/icon.woff2?41426785') format('woff2'), + url('/font/icon.woff?41426785') format('woff'), + url('/font/icon.ttf?41426785') format('truetype'), + url('/font/icon.svg?41426785#icon') format('svg'); font-weight: normal; font-style: normal; } @@ -42,6 +42,7 @@ .icon-left-open:before { content: '\e807'; } /* '' */ .icon-right-open:before { content: '\e808'; } /* '' */ .icon-export:before { content: '\e809'; } /* '' */ +.icon-refresh:before { content: '\e80a'; } /* '' */ .icon-spin:before { content: '\e839'; } /* '' */ .icon-link-ext:before { content: '\f08e'; } /* '' */ .icon-sun:before { content: '\f185'; } /* '' */ diff --git a/sass/ma-collection-details.scss b/sass/ma-collection-details.scss index 952a026..00a8946 100644 --- a/sass/ma-collection-details.scss +++ b/sass/ma-collection-details.scss @@ -1,4 +1,26 @@ .ma-collection-details { + h1 { + i { + cursor: pointer; + + &.icon-trash { + color: $danger-color; + @include transition() {} + + &:hover { + color: $danger-color-hl; + } + } + &.icon-refresh { + color: $primary-color; + @include transition() {} + + &:hover { + color: $primary-color-hl; + } + } + } + } .galerie { display: flex; flex-wrap: wrap; diff --git a/src/middleware/Albums.js b/src/middleware/Albums.js index 312675c..5363c2c 100644 --- a/src/middleware/Albums.js +++ b/src/middleware/Albums.js @@ -7,7 +7,8 @@ import AlbumsModel from "../models/albums"; import JobsModel from "../models/jobs"; import UsersModel from "../models/users"; import ErrorEvent from "../libs/error"; -// import { uploadFromUrl } from "../libs/aws"; + +import { getAlbumDetails } from "../helpers"; /** * Classe permettant la gestion des albums d'un utilisateur @@ -182,6 +183,30 @@ class Albums extends Pages { } } + /** + * Méthode permettant de mettre à jour un album + * + * @return {Object} + */ + async patchOne() { + const { itemId: _id } = this.req.params; + const { _id: User } = this.req.user; + const album = await AlbumsModel.findOne({ + _id, + User, + }); + + if (!album) { + throw new ErrorEvent(404, "Impossible de trouver cet album"); + } + + const values = await getAlbumDetails(album.discogsId); + + await album.updateOne(values); + + return album; + } + /** * Méthode permettant de supprimer un élément d'une collection * @return {Boolean} diff --git a/src/routes/api/v1/albums.js b/src/routes/api/v1/albums.js index e1caa1f..596b502 100644 --- a/src/routes/api/v1/albums.js +++ b/src/routes/api/v1/albums.js @@ -47,6 +47,16 @@ router router .route("/:itemId") + .patch(ensureLoggedIn("/connexion"), async (req, res, next) => { + try { + const albums = new Albums(req); + const data = await albums.patchOne(); + + sendResponse(req, res, data); + } catch (err) { + next(err); + } + }) .delete(ensureLoggedIn("/connexion"), async (req, res, next) => { try { const albums = new Albums(req); diff --git a/views/pages/composants.ejs b/views/pages/composants.ejs index 1cba4e5..cdd1776 100644 --- a/views/pages/composants.ejs +++ b/views/pages/composants.ejs @@ -355,6 +355,7 @@ .icon-left-open .icon-right-open .icon-export + .icon-refresh .icon-share .icon-spin .icon-sun diff --git a/views/pages/mon-compte/ma-collection/details.ejs b/views/pages/mon-compte/ma-collection/details.ejs index bd97f90..9385544 100644 --- a/views/pages/mon-compte/ma-collection/details.ejs +++ b/views/pages/mon-compte/ma-collection/details.ejs @@ -1,6 +1,10 @@
-

{{item.artists_sort}} - {{item.title}}

+

+ {{item.artists_sort}} - {{item.title}} + + +

@@ -153,6 +157,20 @@
+ +
\ No newline at end of file