From 1251ca1e02d53d661bd6b0f0b522edad1e350231 Mon Sep 17 00:00:00 2001 From: Damien Broqua Date: Thu, 3 Mar 2022 17:03:18 +0100 Subject: [PATCH 01/23] #3 (#25) Co-authored-by: dbroqua Reviewed-on: https://git.darkou.fr/dbroqua/MusicTopus/pulls/25 Co-authored-by: Damien Broqua Co-committed-by: Damien Broqua --- public/font/icon.eot | Bin 9132 -> 9408 bytes public/font/icon.svg | 4 + public/font/icon.ttf | Bin 8980 -> 9256 bytes public/font/icon.woff | Bin 5688 -> 5844 bytes public/font/icon.woff2 | Bin 4716 -> 4860 bytes public/js/main.js | 7 +- sass/global.scss | 13 + sass/icons.scss | 2 + sass/index.scss | 3 +- sass/ma-collection-details.scss | 55 ++++ sass/modal.scss | 82 +++--- src/middleware/Albums.js | 14 + src/routes/index.js | 14 + views/pages/ajouter-un-album.ejs | 8 +- views/pages/composants.ejs | 2 + views/pages/mon-compte/ma-collection.ejs | 7 +- .../mon-compte/ma-collection/details.ejs | 260 ++++++++++++++++++ 17 files changed, 416 insertions(+), 55 deletions(-) create mode 100644 sass/ma-collection-details.scss create mode 100644 views/pages/mon-compte/ma-collection/details.ejs diff --git a/public/font/icon.eot b/public/font/icon.eot index 1609d7351cbe182bc43e2b003fee916409870f0a..8664abe7c3bb927c5503dbfc1ac1e0ec80045291 100644 GIT binary patch delta 806 zcmXw0O-NKx6h7y^H*e4Z$qWMU&Z6%}efkc9LDEu=+3Ipovk$8em7PBQ(V zE;53`vbz}~#}H}}EyMvAZF1pCXcs61QoC79p+Zm)W9QAw`}poT-#O==@11);TwJ-V zth4|`T4t3FIkZ%spY47yIR${d0MI{}Hmz3+?FHhC0IY9tJR7Dst$K?#Z^BBZ2af!? zPkf4KP0}2*<38dkvYzDdy+q`6hR(}10JUAIxOqGDH2N06-$VJ16b0PJq<-QLiMOQE z*<9!JwcRoW-cX=>I5TKAHa7GT|3fAG1Ha@q%6Qokg8rgSx!UdL52jyz2E@`O35Q0 zv8dVv_7{e*_{jFVy`WR2BEGY~VvD(T8jO~$W-ncorRy;_K#4$Ip!6T0l7Gs9t+h4d z05pK@X$L^PwjVoyTC%?#(Eq^BoCDB{Ph_r40_?7^ywn2*1iB4GK)gb;Ahm+=K!7Rx z4y&xe&{1hVgsmq#vEz6M8w@s6S;sccV_HzF3}_k_coUCt_P(-FS+BYr=gDG0(_*~I zz8%uZ?&+v|I#(T`U|m&+M2^}bDsAUTDPSwzq5eTFMjDaIMztGtBh~jYwbQ8}g>> zyz8g(nu_hm^%dXwzp?{9WGJDGE>zHs9#oN|hBa7=UewWteo-)5>($|SA{)(E@ew{c QluS9UST!QWAI2x|Kgq4GFaQ7m delta 503 zcmX@$xyGGsjWPp+i1I`>GnRX-8pabHs_SPmFfax%Ffb$}=Oz}+YVJ`4@;5LrFgYZb zl_&tkfj}e%NbscZzDh=JNrmCZu>Ws>0zeBHEOPRb6Gig`p8@$V zfPA^!#EJq&Lq4FKAP11Ike8U7I=SMLE|9MQbl}{A{NfVnGTrwK48kXX@|^`msRec0 zthX^RC{;|Jz!=Rqaq=6+e9b8gj6hiihCT*nFiQtWa{)a$g@J`32`J9Tz`?-8!1jV| zato6#rxXJS$}q@G-o+#f)WEj*ArqqzP#F)%42Csel7WGD@(1Q{S4#$l7eEX&fZ;M8%Y0vV31j#=0Y$7@8%^eTx^@0xRcmqj5S#A#q-;IW#DIi z0kY_x^)nwBJxR!%k#Dkvkiz5yA#LF-<_|0-EH_wN*o=S*Kpy1Vyh!La6HrN=sLbSf PqH2?GifU{UJHQ73hZ}Z7 diff --git a/public/font/icon.svg b/public/font/icon.svg index 67c8d09..9370b56 100644 --- a/public/font/icon.svg +++ b/public/font/icon.svg @@ -20,6 +20,10 @@ + + + + diff --git a/public/font/icon.ttf b/public/font/icon.ttf index cbdbe4d0dbb6c65bbc17942cfc0fe99d48b55f95..1f0de7e581f6d9e5e42b4de9768222fc8c0c1ce2 100644 GIT binary patch delta 777 zcmXw0T}TvB6h3EWcXnrH-JP}34O!Mj#dgW9s8IW%Bt&}XA;JpECC6=l4A&iWlPyAh zv6n)s=|Ljb5Q6AQTJW_VdJ^g>Pza>QB_vdc>}Bnnot(>e&;8E*&iU@#`*PsjeRR&)n5{6P!#VGRlnoLaojG4`k9Q*qad=}J~H74!62A)IoX2%|6 zVrL7ecln4KdUI*xZtIi8TcTh;_PcXPcut7J;E%vNa`|GZXYR)S77}le=o>4fjFy(> zA@CpIZF!?)@+tocQKJhyI&S3CR%tf@-hl%ynuW>Y^q1rsk^UL`%jQJdoL)V*O4R=J z`QB|VS%X}NFA!ss=mm-ORTrXye_S9JWsvuimjsfkUTcdJ@d()?iUA4oB2;dY$ODy( zI+c9XfSN$%g3!RS?Q4GlYf!wI^bl16NU8cCD5B~a2e$3@yaP0%ojC_+Njr}npgHaA zIe-oAE;@kWwx~!mMEjqF1+kxW3iavC#C!z@WwfHHP)LvtAC-k>J-|}i5$-(Q!`&xa zxmg$HYwH|Wl%yI~Ya^=4WhJ5{72$ntqqbgOD!hcqWmQco5&NRxQ#|mI4}7jUM&ZV~ z5loKTCNidra0=N@_s~DACgBmQZPdG=tHPr-!?EW$#~gtzB&z(8(^7b8>qG0E!1>=4 z5UciuZVudcA4IF9^{{5GXi-VPV+(86S1l3h701PIu3N56_a*l)={3amJ8Knx@Vfx@ m&qHAsYaFyBy|YOkOJ|CSf|(vyCPuS4XK8imvC4J*qyHZnkJma^-yVPd4v-rF z<|~00zJIZDl>9SbT&lF11?pV;@9}UJ!&*>2_2(&hoz$**%OUkq@;SzIt^Q>3+ruvk zF#CYL;8(qcBdyUHrbPZ(pF--id7pfR{DdDg+tY(ve|IQwAkNnt6)(T!Zj<-O4+ma5 zlxc^anKX@I39WfZjU~lZM$3V7gCoI+dX_eLZ zOfk9jAb0UMa%L|Yv^BeZ{eRTHdrlnv!7b=bcWUgB*-tbR-;*!Z8D>OZce>WTAI2d^ i3^64kNl}uLw2X))8L=fRj^wn;Pw30}V%N`qb^ZY-&v9J< diff --git a/public/font/icon.woff b/public/font/icon.woff index 4bed2250d5963c8db111617e457a68efddb52d4a..6474d86873d5600e7ce9e3cfcd9dd17133cfb3d1 100644 GIT binary patch delta 3408 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 diff --git a/public/font/icon.woff2 b/public/font/icon.woff2 index b39dcc983d5e8f168d5e1d77acf8205406d5bdf9..72207f36852f065f781663c05bf57befdcce483f 100644 GIT binary patch literal 4860 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 literal 4716 zcmV-y5|izBPew8T0RR9101|8f4*&oF03#Ft01_1d0RR9100000000000000000000 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 diff --git a/public/js/main.js b/public/js/main.js index 710d84b..0422e77 100644 --- a/public/js/main.js +++ b/public/js/main.js @@ -1,7 +1,7 @@ /** - * Fonction permettant d'afficher un message dans un toastr - * @param {String} message - */ + * Fonction permettant d'afficher un message dans un toastr + * @param {String} message + */ function showToastr(message) { let x = document.getElementById("toastr"); if ( message ) { @@ -124,7 +124,6 @@ document.addEventListener('DOMContentLoaded', () => { if ( currentThemeIsDark === 'false' && window.matchMedia ) { currentThemeIsDark = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; } - console.log('currentThemeIsDark:', currentThemeIsDark); switchTheme({target: {checked: currentThemeIsDark === 'dark'}}); toggleSwitch.checked = currentThemeIsDark === 'dark'; }); \ No newline at end of file diff --git a/sass/global.scss b/sass/global.scss index 2165147..491b9ca 100644 --- a/sass/global.scss +++ b/sass/global.scss @@ -1,5 +1,6 @@ html { min-height: 100vh; + scroll-behavior: smooth; body { background-color: var(--bg-color); @@ -69,4 +70,16 @@ html { .is-hidden { display: none; +} + +.ml-4 { + margin-left: 1rem; +} + +.sm-hidden { + display: none; + + @include respond-to("small-up") { + display: initial; + } } \ No newline at end of file diff --git a/sass/icons.scss b/sass/icons.scss index ec219a8..05250a2 100644 --- a/sass/icons.scss +++ b/sass/icons.scss @@ -39,6 +39,8 @@ .icon-link:before { content: '\e804'; } /* '' */ .icon-heart:before { content: '\e805'; } /* '' */ .icon-eye:before { content: '\e806'; } /* '' */ +.icon-left-open:before { content: '\e807'; } /* '' */ +.icon-right-open:before { content: '\e808'; } /* '' */ .icon-spin:before { content: '\e839'; } /* '' */ .icon-link-ext:before { content: '\f08e'; } /* '' */ .icon-sun:before { content: '\f185'; } /* '' */ diff --git a/sass/index.scss b/sass/index.scss index a2d268e..7ff8d31 100644 --- a/sass/index.scss +++ b/sass/index.scss @@ -43,4 +43,5 @@ @import './error'; @import './home'; @import './ajouter-un-album'; -@import './ma-collection'; \ No newline at end of file +@import './ma-collection'; +@import './ma-collection-details'; \ No newline at end of file diff --git a/sass/ma-collection-details.scss b/sass/ma-collection-details.scss new file mode 100644 index 0000000..6d4ba32 --- /dev/null +++ b/sass/ma-collection-details.scss @@ -0,0 +1,55 @@ +.ma-collection-details { + .galerie { + display: flex; + flex-wrap: wrap; + + div { + width: 80px; + height: 80px; + margin: 0.25rem; + padding: 0.25rem; + border: 2px solid var(--font-color); + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + + img { + max-width: 90%; + } + } + } + + .modal { + button.close { + height: 36px; + max-height: 36px; + max-width: 36px; + min-height: 36px; + min-width: 36px; + width: 36px; + position: absolute; + background-color: rgba(10,10,10,.6); + right: 12px; + top: 12px; + } + + .navigation { + position: absolute; + top: 50%; + cursor: pointer; + z-index: 10; + + &.previous { + left: 12px; + } + &.next { + right: 12px; + } + i { + font-size: 2rem; + color: $nord4; + } + } + } +} \ No newline at end of file diff --git a/sass/modal.scss b/sass/modal.scss index ffe0571..e44de67 100644 --- a/sass/modal.scss +++ b/sass/modal.scss @@ -24,6 +24,47 @@ top: 0; } + button.close { + user-select: none; + background-color: rgba(10,10,10,.2); + border: none; + border-radius: 9999px; + cursor: pointer; + pointer-events: auto; + display: inline-block; + flex-grow: 0; + flex-shrink: 0; + font-size: 0; + height: 20px; + max-height: 20px; + max-width: 20px; + min-height: 20px; + min-width: 20px; + outline: none; + position: relative; + width: 20px; + + &::before, + &::after { + background-color: var(--default-color); + content: ""; + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + transform-origin: center center; + } + &::before { + height: 2px; + width: 50%; + } + &::after { + height: 50%; + width: 2px; + } + } + .modal-card { position: relative; width: 300px; @@ -62,47 +103,6 @@ justify-content: space-between; font-size: 1.5rem; @include transition() {} - - button { - user-select: none; - background-color: rgba(10,10,10,.2); - border: none; - border-radius: 9999px; - cursor: pointer; - pointer-events: auto; - display: inline-block; - flex-grow: 0; - flex-shrink: 0; - font-size: 0; - height: 20px; - max-height: 20px; - max-width: 20px; - min-height: 20px; - min-width: 20px; - outline: none; - position: relative; - width: 20px; - - &::before, - &::after { - background-color: var(--default-color); - content: ""; - display: block; - left: 50%; - position: absolute; - top: 50%; - transform: translateX(-50%) translateY(-50%) rotate(45deg); - transform-origin: center center; - } - &::before { - height: 2px; - width: 50%; - } - &::after { - height: 50%; - width: 2px; - } - } } section { background-color: var(--default-color); diff --git a/src/middleware/Albums.js b/src/middleware/Albums.js index fe795c3..7e4d5d7 100644 --- a/src/middleware/Albums.js +++ b/src/middleware/Albums.js @@ -137,6 +137,20 @@ class Albums extends Pages { this.setPageContent("artists", artists); this.setPageContent("formats", formats); } + + /** + * Méthode permettant d'afficher le détails d'un album + */ + async loadItem() { + const { itemId: _id } = this.req.params; + const { _id: User } = this.req.user; + const item = await AlbumsModel.findOne({ + _id, + User, + }); + + this.setPageContent("item", item); + } } export default Albums; diff --git a/src/routes/index.js b/src/routes/index.js index 8a340a0..fca9847 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -107,6 +107,20 @@ router } }); +router + .route("/ma-collection/:itemId") + .get(ensureLoggedIn("/connexion"), async (req, res, next) => { + try { + const page = new Albums(req, "mon-compte/ma-collection/details"); + + await page.loadItem(); + + render(res, page); + } catch (err) { + next(err); + } + }); + router.route("/nous-contacter").get(async (req, res, next) => { try { const page = new Pages(req, "nous-contacter"); diff --git a/views/pages/ajouter-un-album.ejs b/views/pages/ajouter-un-album.ejs index 8a26488..bdebb4e 100644 --- a/views/pages/ajouter-un-album.ejs +++ b/views/pages/ajouter-un-album.ejs @@ -52,12 +52,12 @@ -