From 272d3392a1815f6aab79fd66f18bf4f2f4a63fc8 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Sat, 26 Mar 2022 19:04:00 +0700 Subject: [PATCH] improved artist page --- src/main/base/browserwindow.ts | 9 +- src/renderer/less/pages.less | 188 +++++++++++ src/renderer/main/vueapp.js | 2 +- src/renderer/views/app/app-content.ejs | 7 +- .../components/inline-collection-list.ejs | 132 ++++++++ .../views/pages/library-artists copy.ejs | 49 +++ src/renderer/views/pages/library-artists.ejs | 306 +++++++++++++++--- 7 files changed, 643 insertions(+), 50 deletions(-) create mode 100644 src/renderer/views/components/inline-collection-list.ejs create mode 100644 src/renderer/views/pages/library-artists copy.ejs diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts index e71b12c7..999858dd 100644 --- a/src/main/base/browserwindow.ts +++ b/src/main/base/browserwindow.ts @@ -42,6 +42,7 @@ export class BrowserWindow { "pages/apple-account-settings", "pages/library-songs", "pages/library-albums", + "pages/library-artists", "pages/browse", "pages/settings", "pages/listen_now", @@ -83,7 +84,7 @@ export class BrowserWindow { "components/mediaitem-hrect", "components/mediaitem-square", "components/mediaitem-mvview", - "components/libraryartist-item", + // "components/libraryartist-item", "components/listennow-child", "components/mediaitem-mvview-sp", "components/animatedartwork-view", @@ -94,6 +95,7 @@ export class BrowserWindow { "components/castmenu", "components/artist-chip", "components/hello-world", + "components/inline-collection-list", ], appRoutes: [ { @@ -186,6 +188,11 @@ export class BrowserWindow { component: ``, condition: `page == 'library-albums'`, onEnter: `getLibraryAlbumsFull(null, 1); getAlbumSort(); searchLibraryAlbums(1); getLibrarySongsFull() ;searchLibraryAlbums(1);` + }, { + page: "library-artists", + component: ``, + condition: `page == 'library-artists'`, + onEnter: `getLibraryArtistsFull(null, 0);` }, { page: "appleCurator", component: ``, diff --git a/src/renderer/less/pages.less b/src/renderer/less/pages.less index bf79c2b6..91338f8d 100644 --- a/src/renderer/less/pages.less +++ b/src/renderer/less/pages.less @@ -278,6 +278,194 @@ } +// Podcast Page +.content-inner.library-artists-page { + // top: 0; + height: calc(100% - var(--navigationBarHeight)); + padding: 0px; + .inner-container { + display: flex; + height : calc(100% - var(--navigationBarHeight)); + padding: 0px; + height: 100%; + + .list-flat { + border-radius: 0px; + } + + .podcast-artwork { + width : 200px; + margin: 16px auto; + height: 200px; + } + + .podcasts-list { + height : 100%; + width : 280px; + background : rgb(200 200 200 / 10%); + overflow-y : overlay; + border-right: 1px solid var(--color2); + flex : none; + overflow-x : hidden; + + .podcast-list-header { + border-bottom : 1px solid var(--color2); + font-size : 0.7em; + padding : 6px; + background : #ffffff17; + text-transform: uppercase; + font-weight : 600; + opacity : 0.5; + } + + .podcasts-search { + padding : 10px; + position : sticky; + top : 0; + left : 0; + width : 100%; + border-bottom: 1px solid var(--color2); + z-index : 2; + background : #303030; + } + } + + .episodes-list { + height : 100%; + width : 100%; + background: rgb(200 200 200 / 6%); + overflow-y: overlay; + overflow-x: hidden; + + .episodes-inline-info { + padding: 14px 14px 0px 14px; + + .podcast-show-info { + display : flex; + justify-content: center; + flex-direction : column; + } + + .podcast-show-description { + margin : 32px 6px; + font-size : 0.8rem; + white-space: pre-wrap; + display : block; + } + + .podcast-artwork { + width : 120px; + margin: 0px auto; + height: 120px; + } + } + + .podcast-no-search-results { + text-align: center; + margin-top: 40px; + } + } + + .podcasts-details { + width : 300px; + flex : none; + background : rgb(255 255 255 / 5%); + overflow-y : overlay; + overflow-x : hidden; + top : 2%; + z-index : 2; + border-left : 1px solid var(--color2); + padding-bottom: 1em; + + .meta-btn { + font-size: 0.75em; + } + + .podcasts-details-header { + display : flex; + justify-content: end; + align-items : center; + position : sticky; + top : 0; + z-index : 2; + } + + .close-btn { + width : 50px; + height : 42px; + background-image : var(--gfx-closeBtn); + background-position: center; + background-repeat : no-repeat; + -webkit-app-region : no-drag; + appearance : none; + border : 0; + background-color : transparent; + position : absolute; + top : 0; + right : 0; + + &:hover { + background-color: rgb(196, 43, 28) + } + } + + .podcast-genre { + text-align : center; + margin : 6px; + font-size : 0.8em; + font-weight: 500; + opacity : 0.8; + } + + .podcast-metainfo { + text-align: center; + font-size : 0.7em; + opacity : 0.8; + } + + .podcast-header { + text-align: center; + } + + .podcast-play-btn { + width : 50%; + display: block; + margin : 0 auto; + } + + .podcast-description { + margin : 12px; + font-size : 0.75em; + white-space: pre-wrap; + display : block; + line-break : anywhere; + } + + + } + + } + + @media only screen and (max-width: 1230px) { + .content-inner.podcasts-page { + .podcasts-details { + height : 96%; + width : 300px; + flex : none; + background : rgb(20 20 20 / 97%); + overflow-y : overlay; + overflow-x : hidden; + position : absolute; + right : 2%; + top : 2%; + border-radius: 10px; + box-shadow : var(--ciderShadow-Generic); + z-index : 2; + } + } + } +} + @media only screen and (max-width: 1230px) { .content-inner.podcasts-page { .podcasts-details { diff --git a/src/renderer/main/vueapp.js b/src/renderer/main/vueapp.js index e3449711..7cf7e515 100644 --- a/src/renderer/main/vueapp.js +++ b/src/renderer/main/vueapp.js @@ -222,7 +222,7 @@ const app = new Vue({ pluginPages: { page: "hello-world", pages: [], - } + }, }, watch: { cfg: { diff --git a/src/renderer/views/app/app-content.ejs b/src/renderer/views/app/app-content.ejs index 3912c46f..4c220be4 100644 --- a/src/renderer/views/app/app-content.ejs +++ b/src/renderer/views/app/app-content.ejs @@ -46,11 +46,6 @@ - - - + \ No newline at end of file diff --git a/src/renderer/views/components/inline-collection-list.ejs b/src/renderer/views/components/inline-collection-list.ejs new file mode 100644 index 00000000..3f70c930 --- /dev/null +++ b/src/renderer/views/components/inline-collection-list.ejs @@ -0,0 +1,132 @@ + + \ No newline at end of file diff --git a/src/renderer/views/pages/library-artists copy.ejs b/src/renderer/views/pages/library-artists copy.ejs new file mode 100644 index 00000000..f1871d04 --- /dev/null +++ b/src/renderer/views/pages/library-artists copy.ejs @@ -0,0 +1,49 @@ +
+
+
+

{{$root.getLz('term.artists')}}

+
+ +
+
+
+
+
+ +
+
+
+
+ +
+ +
+ +
+
+
+
+ + + +
+
\ No newline at end of file diff --git a/src/renderer/views/pages/library-artists.ejs b/src/renderer/views/pages/library-artists.ejs index f1871d04..2a4397e8 100644 --- a/src/renderer/views/pages/library-artists.ejs +++ b/src/renderer/views/pages/library-artists.ejs @@ -1,49 +1,271 @@ -
-
-
-

{{$root.getLz('term.artists')}}

+ + + + + \ No newline at end of file